diff --git a/Makefile b/Makefile index 27e2b4a128..ab5a78ca05 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by fpcmake v1.99.0 [2001/08/15] +# Don't edit, this file is generated by FPCMake Version 1.1 [2001/11/02] # default: all override PATH:=$(subst \,/,$(PATH)) @@ -34,7 +34,7 @@ inOS2=1 endif endif else -ifneq ($(findstring cygwin,$(MACH_TYPE)),) +ifneq ($(findstring cygwin,$(MACHTYPE)),) inCygWin=1 endif endif @@ -54,34 +54,57 @@ PATHSEP:=$(subst /,\,/) endif ifdef PWD BASEDIR:=$(subst \,/,$(shell $(PWD))) +ifdef inCygWin +ifneq ($(findstring /cygdrive/,$(BASEDIR)),) +BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) +BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) +BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) +endif +endif else BASEDIR=. endif ifndef FPC ifdef PP FPC=$(PP) +endif +endif +ifndef FPC +FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(FPCPROG),) +FPCPROG:=$(firstword $(FPCPROG)) +FPC:=$(shell $(FPCPROG) -PB) +ifneq ($(findstring Error,$(FPC)),) +override FPC=ppc386 +endif else -FPC=ppc386 +override FPC=ppc386 endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) -ifndef OS_TARGET -OS_TARGET:=$(shell $(FPC) -iTO) -endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) +ifndef FPC_VERSION +FPC_VERSION:=$(shell $(FPC) -iV) endif +export FPC FPC_VERSION ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif ifndef CPU_SOURCE CPU_SOURCE:=$(shell $(FPC) -iSP) endif -ifndef FPC_VERSION -FPC_VERSION:=$(shell $(FPC) -iV) +ifndef OS_TARGET +OS_TARGET:=$(shell $(FPC) -iTO) endif -export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) +endif +FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) +FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifneq ($(FULL_TARGET),$(FULL_SOURCE)) +CROSSCOMPILE=1 +endif +export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) @@ -107,7 +130,20 @@ endif endif endif endif +ifndef CROSSDIR +CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) +endif +ifndef CROSSTARGETDIR +CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET) +endif +ifdef CROSSCOMPILE +UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units) +ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif +else +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) override PACKAGE_NAME=lazarus override PACKAGE_VERSION=0.7a @@ -119,9 +155,281 @@ override TARGET_DIRS+=lcl components override TARGET_PROGRAMS+=lazarus override TARGET_EXAMPLEDIRS+=examples override INSTALL_BASEDIR=lib/lazarus +override DIST_DESTDIR=$(BASEDIR)/dist override COMPILER_OPTIONS+=-gl override COMPILER_INCLUDEDIR+=. ./include ./include/$(OS_TARGET) override COMPILER_UNITDIR+=. ./lcl/units ./lcl/units/$(LCLPLATFORM) ./components/units ./designer ./debugger +ifdef REQUIRE_UNITSDIR +override UNITSDIR+=$(REQUIRE_UNITSDIR) +endif +ifdef REQUIRE_PACKAGESDIR +override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) +endif +ifdef ZIPINSTALL +ifeq ($(OS_TARGET),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),netbsd) +UNIXINSTALLDIR=1 +endif +else +ifeq ($(OS_SOURCE),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),netbsd) +UNIXINSTALLDIR=1 +endif +endif +ifndef INSTALL_PREFIX +ifdef UNIXINSTALLDIR +INSTALL_PREFIX=/usr/local +else +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=/pp +else +INSTALL_BASEDIR:=/$(PACKAGE_NAME) +endif +endif +endif +export INSTALL_PREFIX +ifndef DIST_DESTDIR +DIST_DESTDIR:=$(BASEDIR) +endif +export DIST_DESTDIR +ifndef INSTALL_BASEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) +endif +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX) +endif +endif +ifndef INSTALL_BINDIR +ifdef UNIXINSTALLDIR +INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +else +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +ifdef INSTALL_FPCPACKAGE +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) +endif +endif +endif +ifndef INSTALL_UNITDIR +ifdef CROSSCOMPILE +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units +else +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) +endif +ifdef INSTALL_FPCPACKAGE +ifdef PACKAGE_NAME +INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) +endif +endif +endif +ifndef INSTALL_LIBDIR +ifdef UNIXINSTALLDIR +INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib +else +INSTALL_LIBDIR:=$(INSTALL_UNITDIR) +endif +endif +ifndef INSTALL_SOURCEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +endif +endif +endif +ifndef INSTALL_DOCDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc +endif +endif +endif +ifndef INSTALL_EXAMPLEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples +endif +endif +endif +ifndef INSTALL_DATADIR +INSTALL_DATADIR=$(INSTALL_BASEDIR) +endif +ifdef CROSSCOMPILE +ifndef CROSSBINDIR +CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE)) +ifeq ($(CROSSBINDIR),) +CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE)) +endif +endif +else +CROSSBINDIR= +endif +ifdef inUnix +ifndef GCCLIBDIR +GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`) +endif +ifeq ($(OS_TARGET),linux) +ifndef OTHERLIBDIR +OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }') +endif +endif +ifeq ($(OS_TARGET),netbsd) +OTHERLIBDIR+=/usr/pkg/lib +endif +export GCCLIBDIR OTHERLIB +endif +LOADEREXT=.as +EXEEXT=.exe +PPLEXT=.ppl +PPUEXT=.ppu +OEXT=.o +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.so +STATICLIBPREFIX=libp +RSTEXT=.rst +FPCMADE=fpcmade +ifeq ($(OS_TARGET),go32v1) +PPUEXT=.pp1 +OEXT=.o1 +ASMEXT=.s1 +SMARTEXT=.sl1 +STATICLIBEXT=.a1 +SHAREDLIBEXT=.so1 +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),win32) +PPUEXT=.ppw +OEXT=.ow +ASMEXT=.sw +SMARTEXT=.slw +STATICLIBEXT=.aw +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +PPUEXT=.ppo +ASMEXT=.so2 +OEXT=.oo2 +AOUTEXT=.out +SMARTEXT=.so +STATICLIBEXT=.ao2 +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=emx +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +PPUEXT=.ppa +ASMEXT=.asm +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +PPUEXT=.ppt +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -263,15 +571,47 @@ TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ifndef AS -AS=as +ASNAME=as +LDNAME=ld +ARNAME=ar +RCNAME=rc +ifeq ($(OS_TARGET),win32) +ASNAME=asw +LDNAME=ldw +ARNAME=arw endif -ifndef LD -LD=ld +ifndef ASPROG +ifdef CROSSBINDIR +ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) +else +ASPROG=$(ASNAME) endif -ifndef RC -RC=rc endif +ifndef LDPROG +ifdef CROSSBINDIR +LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) +else +LDPROG=$(LDNAME) +endif +endif +ifndef RCPROG +ifdef CROSSBINDIR +RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) +else +RCPROG=$(RCNAME) +endif +endif +ifndef ARPROG +ifdef CROSSBINDIR +ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) +else +ARPROG=$(ARNAME) +endif +endif +AS=$(ASPROG) +LD=$(LDPROG) +RC=$(RCPROG) +AR=$(ARPROG) PPAS=ppas$(BATCHEXT) ifdef inUnix LDCONFIG=ldconfig @@ -311,197 +651,6 @@ else TAROPT=vz TAREXT=.tar.gz endif -LOADEREXT=.as -EXEEXT=.exe -PPLEXT=.ppl -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.so -STATICLIBPREFIX=libp -RSTEXT=.rst -FPCMADE=fpcmade -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -STATICLIBPREFIX= -FPCMADE=fpcmade.v1 -PACKAGESUFFIX=v1 -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -FPCMADE=fpcmade.dos -ZIPSUFFIX=go32 -endif -ifeq ($(OS_TARGET),linux) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.lnx -ZIPSUFFIX=linux -endif -ifeq ($(OS_TARGET),freebsd) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.freebsd -ZIPSUFFIX=freebsd -endif -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.w32 -ZIPSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -AOUTEXT=.out -SMARTEXT=.so -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.os2 -ZIPSUFFIX=emx -endif -ifdef REQUIRE_UNITSDIR -override UNITSDIR+=$(REQUIRE_UNITSDIR) -endif -ifdef REQUIRE_PACKAGESDIR -override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) -endif -ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -endif -ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR -INSTALL_PREFIX=/usr/local -else -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=/pp -else -INSTALL_BASEDIR:=/$(PACKAGE_NAME) -endif -endif -endif -export INSTALL_PREFIX -ifndef DIST_DESTDIR -DIST_DESTDIR:=$(BASEDIR) -endif -export DIST_DESTDIR -ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) -endif -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX) -endif -endif -ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR -INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin -else -INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin -ifdef INSTALL_FPCPACKAGE -INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) -endif -endif -endif -ifndef INSTALL_UNITDIR -INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) -ifdef INSTALL_FPCPACKAGE -ifdef PACKAGE_NAME -INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) -endif -endif -endif -ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR -INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib -else -INSTALL_LIBDIR:=$(INSTALL_UNITDIR) -endif -endif -ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source -endif -endif -endif -ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc -endif -endif -endif -ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples -endif -endif -endif -ifndef INSTALL_DATADIR -INSTALL_DATADIR=$(INSTALL_BASEDIR) -endif -ifdef inUnix -ifndef GCCLIBDIR -GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`) -endif -ifndef OTHERLIBDIR -OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }') -endif -export GCCLIBDIR OTHERLIB -endif ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -560,6 +709,32 @@ REQUIRE_PACKAGES_GTK=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_OPENGL=1 endif +ifeq ($(OS_TARGET),netbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_INET=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_X11=1 +REQUIRE_PACKAGES_OPENGL=1 +endif +ifeq ($(OS_TARGET),amiga) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_OPENGL=1 +endif +ifeq ($(OS_TARGET),atari) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_OPENGL=1 +endif ifdef REQUIRE_PACKAGES_RTL PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))) ifneq ($(PACKAGEDIR_RTL),) @@ -831,7 +1006,9 @@ override COMPILER_UNITDIR+=$(UNITDIR_OPENGL) endif endif .PHONY: package_rtl package_paszlib package_inet package_fcl package_gtk package_regexpr package_mysql package_ibase package_x11 package_opengl +ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) +endif ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif @@ -858,15 +1035,22 @@ override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE -override FPCOPT+=-Xs -OG2p3 -n +ifeq ($(CPU_TARGET),i386) +FPCCPUOPT:=-OG2p3 +else +FPCCPUOPT:= +endif +override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif ifdef STRIP override FPCOPT+=-Xs endif ifdef OPTIMIZE +ifeq ($(CPU_TARGET),i386) override FPCOPT+=-OG2p3 endif +endif ifdef VERBOSE override FPCOPT+=-vwni endif @@ -885,6 +1069,9 @@ endif ifdef COMPILER_INCLUDEDIR override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) endif +ifdef CROSSBINDIR +override FPCOPT+=-FD$(CROSSBINDIR) +endif ifdef COMPILER_TARGETDIR override FPCOPT+=-FE$(COMPILER_TARGETDIR) ifeq ($(COMPILER_TARGETDIR),.) @@ -898,7 +1085,7 @@ override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) ifeq ($(COMPILER_UNITTARGETDIR),.) override UNITTARGETDIRPREFIX= else -override UNITTARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ +override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ endif else ifdef COMPILER_TARGETDIR @@ -998,11 +1185,12 @@ ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES))) +override INSTALL_CREATEPACKAGEFPC=1 endif ifdef INSTALLEXEFILES override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES)) endif -fpc_install: $(INSTALLTARGET) +fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES $(MKDIR) $(INSTALL_BINDIR) ifdef UPXPROG @@ -1010,6 +1198,17 @@ ifdef UPXPROG endif $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) endif +ifdef INSTALL_CREATEPACKAGEFPC +ifdef FPCMAKE +ifdef PACKAGE_VERSION +ifneq ($(wildcard Makefile.fpc),) + $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc + $(MKDIR) $(INSTALL_UNITDIR) + $(INSTALL) Package.fpc $(INSTALL_UNITDIR) +endif +endif +endif +endif ifdef INSTALLPPUFILES $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) @@ -1090,6 +1289,7 @@ ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * endif fpc_zipinstall: $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1 + $(MKDIR) $(DIST_DESTDIR) $(DEL) $(ZIPDESTFILE) ifdef USEZIPWRAPPER ifneq ($(ECHOREDIR),echo) @@ -1150,7 +1350,7 @@ endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -1180,11 +1380,14 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) + @$(ECHO) Full Target.. $(FULL_SOURCE) + @$(ECHO) Full Source.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) + @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @$(ECHO) UnitsDir........ $(UNITSDIR) @$(ECHO) PackagesDir..... $(PACKAGESDIR) @$(ECHO) @@ -1193,7 +1396,11 @@ fpc_info: @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) - @$(ECHO) Pwd....... $(PWD) + @$(ECHO) As........ $(AS) + @$(ECHO) Ld........ $(LD) + @$(ECHO) Ar........ $(AR) + @$(ECHO) Rc........ $(RC) + @$(ECHO) @$(ECHO) Mv........ $(MVPROG) @$(ECHO) Cp........ $(CPPROG) @$(ECHO) Rm........ $(RMPROG) @@ -1372,16 +1579,15 @@ zipexampleinstall: fpc_zipexampleinstall $(addsuffix _zipexampleinstall,$(TARGET zipdistinstall: fpc_zipdistinstall $(addsuffix _zipdistinstall,$(TARGET_DIRS)) clean: fpc_clean $(addsuffix _clean,$(TARGET_DIRS)) $(addsuffix _clean,$(TARGET_EXAMPLEDIRS)) distclean: fpc_distclean $(addsuffix _distclean,$(TARGET_DIRS)) -cleanall: fpc_cleanall $(addsuffix _cleanall,$(TARGET_DIRS)) info: fpc_info -.PHONY: debug smart shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info +.PHONY: debug smart shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean info ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif .SUFFIXES: .rc .res %.res: %.rc windres -i $< -o $@ -.PHONY: examples lcl components ide tools all win32 win32clean makefile makefiles +.PHONY: examples lcl components ide tools all win32 win32clean cleanall makefile makefiles lcl: lcl_all examples: lcl examples_all components: lcl components_all @@ -1389,12 +1595,19 @@ ide: $(MAKE) --assume-new=lazarus.pp lazarus$(EXEEXT) tools: lcl components tools_all all: lcl components ide +cleanall: + $(MAKE) clean LCLPLATFORM=win32 + $(DEL) $(wildcard ./*.ow*) + $(DEL) $(wildcard ./*.res) + $(DEL) $(wildcard ./*$(PPUEXT)) $(wildcard ./*$(OEXT)) + $(DEL) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./debugger/*$(OEXT)) + $(DEL) $(wildcard ./designer/*$(PPUEXT)) $(wildcard ./designer/*$(OEXT)) win32: $(MAKE) lazarus.res $(MAKE) all LCLPLATFORM=win32 OPT=-dSUPPORTS_RESOURCES win32clean: $(MAKE) clean LCLPLATFORM=win32 - $(DEL) $(wildcard *$(EXEEXT) $(wildcard *.ow*) $(wildcard *.res) $(wildcard ./*$(PPUEXT)) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./designer/*$(PPUEXT)) + $(DEL) $(wildcard *$(EXEEXT)) $(wildcard *.ow*) $(wildcard *.res) $(wildcard ./*$(PPUEXT)) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./designer/*$(PPUEXT)) makefile: Makefile.fpc -$(FPCMAKE) -w makefiles: makefile diff --git a/Makefile.fpc b/Makefile.fpc index 1ccf25e2c8..dd3216049d 100644 --- a/Makefile.fpc +++ b/Makefile.fpc @@ -45,7 +45,7 @@ endif windres -i $< -o $@ -.PHONY: examples lcl components ide tools all win32 win32clean makefile makefiles +.PHONY: examples lcl components ide tools all win32 win32clean cleanall makefile makefiles lcl: lcl_all @@ -60,13 +60,19 @@ tools: lcl components tools_all all: lcl components ide +cleanall: + $(MAKE) clean + $(DEL) $(wildcard ./*$(PPUEXT)) $(wildcard ./*$(OEXT)) + $(DEL) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./debugger/*$(OEXT)) + $(DEL) $(wildcard ./designer/*$(PPUEXT)) $(wildcard ./designer/*$(OEXT)) + win32: $(MAKE) lazarus.res $(MAKE) all LCLPLATFORM=win32 OPT=-dSUPPORTS_RESOURCES win32clean: $(MAKE) clean LCLPLATFORM=win32 - $(DEL) $(wildcard *$(EXEEXT) $(wildcard *.ow*) $(wildcard *.res) $(wildcard ./*$(PPUEXT)) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./designer/*$(PPUEXT)) + $(DEL) $(wildcard *$(EXEEXT)) $(wildcard *.ow*) $(wildcard *.res) $(wildcard ./*$(PPUEXT)) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./designer/*$(PPUEXT)) # MWE: moved to a more generic rule #lazarus.res: lazarus.rc diff --git a/components/codetools/basiccodetools.pas b/components/codetools/basiccodetools.pas index 1b414ff6db..6ffe5292c4 100644 --- a/components/codetools/basiccodetools.pas +++ b/components/codetools/basiccodetools.pas @@ -1279,7 +1279,6 @@ begin #10,#13: begin // line end in code found - dec(Result); if (Result>1) and (Source[Result-1] in [#10,#13]) and (Source[Result]<>Source[Result-1]) then dec(Result); // test if it is a comment line (a line without code and at least one @@ -1294,7 +1293,9 @@ begin end else if Source[TestPos] in [#10,#13] then begin // no comment, the line end ist really there :) exit; - end else if OnlySpace and (Source[TestPos] in ['}',')']) then begin + end else if OnlySpace + and ((Source[TestPos]='}') + or ((Source[TestPos]=')') and (Source[TestPos-1]='*'))) then begin // this is a comment line end -> search further break; end else begin diff --git a/components/codetools/codetools.pas b/components/codetools/codetools.pas index 09989f5dbd..cac27ff7c8 100644 --- a/components/codetools/codetools.pas +++ b/components/codetools/codetools.pas @@ -2309,7 +2309,7 @@ writeln('TPascalParserTool.BuildTree B'); until (CurPos.StartPos>SrcLen); FForceUpdateNeeded:=false; {$IFDEF CTDEBUG} -//writeln('[TPascalParserTool.BuildTree] END'); +writeln('[TPascalParserTool.BuildTree] END'); {$ENDIF} {$IFDEF MEM_CHECK} CheckHeap('TBasicCodeTool.BuildTree END '+IntToStr(GetMem_Cnt)); @@ -4773,14 +4773,13 @@ begin Result:=false; if (ResourceCode=nil) or (ResourceName='') or (length(ResourceName)>255) or (ResourceData='') or (SourceChangeCache=nil) then exit; + BuildTree(false); SourceChangeCache.MainScanner:=Scanner; OldPosition:=FindLazarusResourceInBuffer(ResourceCode,ResourceName); if OldPosition.StartPos>0 then begin // replace old resource - FromPos:=FindLineEndOrCodeInFrontOfPosition(Src,OldPosition.StartPos, - Scanner.NestedComments); - ToPos:=FindFirstLineEndAfterInCode(Src,OldPosition.EndPos, - Scanner.NestedComments); + FromPos:=OldPosition.StartPos; + ToPos:=OldPosition.EndPos; if not SourceChangeCache.Replace(gtNewLine,gtNewLine,FromPos,ToPos, ResourceData) then exit; end else begin @@ -4814,6 +4813,7 @@ begin Result:=false; if (ResourceCode=nil) or (ResourceName='') or (length(ResourceName)>255) or (SourceChangeCache=nil) then exit; + BuildTree(false); SourceChangeCache.MainScanner:=Scanner; OldPosition:=FindLazarusResourceInBuffer(ResourceCode,ResourceName); if OldPosition.StartPos>0 then begin diff --git a/components/codetools/linkscanner.pas b/components/codetools/linkscanner.pas index 24694e20fa..867e3aa59a 100644 --- a/components/codetools/linkscanner.pas +++ b/components/codetools/linkscanner.pas @@ -725,6 +725,7 @@ var l,r,m: integer; NewSrcChangeStep: PSourceChangeStep; c: pointer; begin +//writeln('[TLinkScanner.AddSourceChangeStep] ',HexStr(Cardinal(ACode),8)); if ACode=nil then raise ELinkScannerError.Create('TLinkScanner.AddSourceChangeStep ACode=nil'); l:=0; @@ -734,15 +735,16 @@ begin while (l<=r) do begin m:=(l+r) shr 1; c:=PSourceChangeStep(FSourceChangeSteps[m])^.Code; - if cCode then r:=m-1 + if cACode then r:=m-1 else exit; end; New(NewSrcChangeStep); NewSrcChangeStep^.Code:=ACode; NewSrcChangeStep^.ChangeStep:=AChangeStep; - if (FSourceChangeSteps.Count>0) and (c0) and (cnil); SrcLog:=FOnGetSource(Self,PSourceChangeStep(FSourceChangeSteps[i])^.Code); +//writeln('TLinkScanner.UpdateNeeded D ',i,',',PSourceChangeStep(FSourceChangeSteps[i])^.Code<>nil,' ',PSourceChangeStep(FSourceChangeSteps[i])^.ChangeStep,'<>',SrcLog.ChangeStep,' ',HexStr(Cardinal(SrcLog),8)); if PSourceChangeStep(FSourceChangeSteps[i])^.ChangeStep<>SrcLog.ChangeStep then exit; end; diff --git a/components/codetools/sourcelog.pas b/components/codetools/sourcelog.pas index e22c0c2eb1..10d91445db 100644 --- a/components/codetools/sourcelog.pas +++ b/components/codetools/sourcelog.pas @@ -659,6 +659,7 @@ procedure TSourceLog.IncreaseChangeStep; begin if FChangeStep=$7fffffff then FChangeStep:=-$7fffffff else inc(FChangeStep); +//writeln('[TSourceLog.IncreaseChangeStep] ',FChangeStep,',',HexStr(Cardinal(Self),8)); end; function TSourceLog.SaveToFile(const Filename: string): boolean; diff --git a/ide/main.pp b/ide/main.pp index 374567fbef..43fdcea268 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -2170,8 +2170,8 @@ CheckHeap(IntToStr(GetMem_Cnt)); writeln('TMainIDE.DoSaveEditorUnit E ',CompResourceCode); {$ENDIF} // replace lazarus form resource code - if not CodeToolBoss.AddLazarusResource(ResourceCode, - 'T'+ActiveUnitInfo.FormName,CompResourceCode) then + if (not CodeToolBoss.AddLazarusResource(ResourceCode, + 'T'+ActiveUnitInfo.FormName,CompResourceCode)) then begin ACaption:='Resource error'; AText:='Unable to add resource ' @@ -2194,7 +2194,9 @@ writeln('TMainIDE.DoSaveEditorUnit F ',ResourceCode.Modified); end; end else begin // ToDo: calculate a better resource filename +{$IFDEF IDE_DEBUG} writeln('>>>>>>>>>>>>> ',TestFilename,' ',ChangeFileExt(TestFilename,ResourceFileExt)); +{$ENDIF} Result:=DoSaveCodeBufferToFile(ResourceCode, ChangeFileExt(TestFilename,ResourceFileExt),false); if not Result=mrOk then exit; @@ -2322,6 +2324,11 @@ writeln('*** TMainIDE.DoOpenEditorFile START "',AFilename,'"'); CheckHeap(IntToStr(GetMem_Cnt)); {$ENDIF} Result:=mrCancel; + if (Project.IsVirtual) and (Project.Units[Project.MainUnit].Filename=AFilename) + then begin + Result:=DoOpenMainUnit(ProjectLoading); + exit; + end; if (AFileName='') or (not FileExists(AFilename)) or (DirectoryExists(AFilename)) then exit; Ext:=lowercase(ExtractFileExt(AFilename)); @@ -3854,6 +3861,12 @@ function TMainIDE.DoJumpToCompilerMessage(Index:integer; exit; end; // search file in project directory + if (Project.MainUnit>=0) and Project.Units[Project.MainUnit].IsVirtual then + begin + Result:=AFilename; + //ProjectDir:=EnvironmentOptions.TestBuildDirectory; + exit; + end; ProjectDir:=ExtractFilePath(Project.ProjectFile); Result:=ProjectDir+AFilename; if FileExists(Result) then exit; @@ -3918,22 +3931,22 @@ begin if SearchedFilename<>'' then begin // open the file in the source editor Ext:=lowercase(ExtractFileExt(SearchedFilename)); - if (Ext<>'.lfm') or (Ext='.lpi') then begin + if (Ext<>'.lfm') and (Ext<>'.lpi') then begin Result:=(DoOpenEditorFile(SearchedFilename,false)=mrOk); if Result then begin // set caret position SrcEdit:=SourceNoteBook.GetActiveSE; TopLine:=CaretXY.Y-(SrcEdit.EditorComponent.LinesInWindow div 2); if TopLine<1 then TopLine:=1; - SrcEdit.EditorComponent.CaretXY:=CaretXY; - SrcEdit.EditorComponent.TopLine:=TopLine; - SrcEdit.ErrorLine:=CaretXY.Y; if FocusEditor then begin //writeln('[TMainIDE.DoJumpToCompilerMessage] A'); SourceNotebook.BringToFront; //writeln('[TMainIDE.DoJumpToCompilerMessage] B'); SrcEdit.EditorComponent.SetFocus; end; + SrcEdit.EditorComponent.CaretXY:=CaretXY; + SrcEdit.EditorComponent.TopLine:=TopLine; + SrcEdit.ErrorLine:=CaretXY.Y; end; end; end else begin @@ -4058,8 +4071,10 @@ begin ComponentClass.UnitName,''); // add component definition to form source FormClassName:=ActiveForm.ClassName; - if CodeToolBoss.PublishedVariableExists(ActiveUnitInfo.Source,'*', - FormClassName) then begin + if not CodeToolBoss.PublishedVariableExists(ActiveUnitInfo.Source, + FormClassName,Component.Name) then begin + // ! AddPublishedVariable does not rebuild the CodeTree, so we need + // PublishedVariableExists before ! CodeToolBoss.AddPublishedVariable(ActiveUnitInfo.Source,FormClassName, Component.Name, Component.ClassName); end; @@ -4091,10 +4106,8 @@ begin ActiveUnitInfo:=Project.Units[i]; // remove component definition to form source FormClassName:=ActiveForm.ClassName; - if CodeToolBoss.RemovePublishedVariable(ActiveUnitInfo.Source,FormClassName, - Component.Name) then begin - ActiveUnitInfo.Modified:=true; - end; + CodeToolBoss.RemovePublishedVariable(ActiveUnitInfo.Source,FormClassName, + Component.Name); end; procedure TMainIDE.OnDesignerModified(Sender: TObject); @@ -4367,6 +4380,9 @@ end. { ============================================================================= $Log$ + Revision 1.133 2001/11/03 08:37:34 lazarus + MG: fixed errorline showing, resource adding and published var editing and added make cleanall + Revision 1.132 2001/11/01 21:30:32 lazarus Changes to Messagebox. Added line to CodeTools to prevent duplicate USES entries. @@ -8991,6 +9007,9 @@ end. { ============================================================================= $Log$ + Revision 1.133 2001/11/03 08:37:34 lazarus + MG: fixed errorline showing, resource adding and published var editing and added make cleanall + Revision 1.132 2001/11/01 21:30:32 lazarus Changes to Messagebox. Added line to CodeTools to prevent duplicate USES entries. diff --git a/ide/project.pp b/ide/project.pp index 1368c326f0..0686edb0e1 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -256,6 +256,7 @@ type function GetResourceFile(AnUnitInfo: TUnitInfo; Index:integer):TCodeBuffer; function SearchFile(const Filename,SearchPaths,InitialDir:string):string; function GetMainResourceFilename(AnUnitInfo: TUnitInfo): string; + function IsVirtual: boolean; property ActiveEditorIndexAtStart: integer read fActiveEditorIndexAtStart write fActiveEditorIndexAtStart; @@ -1346,6 +1347,11 @@ begin Result:=CodeBuf.Filename; end; +function TProject.IsVirtual: boolean; +begin + Result:=(MainUnit>=0) and Units[MainUnit].IsVirtual; +end; + function TProject.IndexOf(AUnitInfo: TUnitInfo):integer; begin Result:=UnitCount-1; @@ -1470,6 +1476,9 @@ end. { $Log$ + Revision 1.33 2001/11/03 08:37:35 lazarus + MG: fixed errorline showing, resource adding and published var editing and added make cleanall + Revision 1.32 2001/10/23 09:13:52 lazarus MG: fixed TestProject diff --git a/ide/uniteditor.pp b/ide/uniteditor.pp index 330a88eb77..17a5f68560 100644 --- a/ide/uniteditor.pp +++ b/ide/uniteditor.pp @@ -78,6 +78,7 @@ type FPopUpMenu : TPopupMenu; FSyntaxHighlighterType: TLazSyntaxHighlighter; FErrorLine: integer; + FErrorColumn: integer; FExecutionLine: integer; FModified: boolean; @@ -399,6 +400,7 @@ Begin FSyntaxHighlighterType:=lshNone; FErrorLine:=-1; + FErrorColumn:=-1; FExecutionLine:=-1; FControl := nil; @@ -949,8 +951,10 @@ end; procedure TSourceEditor.SetErrorLine(NewLine: integer); begin +writeln('[TSourceEditor.SetErrorLine] ',NewLine,',',fErrorLine); if fErrorLine=NewLine then exit; fErrorLine:=NewLine; + fErrorColumn:=EditorComponent.CaretX; EditorComponent.Invalidate; end; @@ -1521,7 +1525,7 @@ begin MarksImgList.Add(Pixmap1,nil); // load inactive breakpoint image Pixmap1:=TPixMap.Create; - //Pixmap1.TransparentColor:=clBtnFace; + Pixmap1.TransparentColor:=clBtnFace; if not LoadPixmapRes('InactiveBreakPoint',Pixmap1) then LoadPixmapRes('default',Pixmap1); MarksImgList.Add(Pixmap1,nil); @@ -2678,7 +2682,9 @@ begin if not Visible then exit; TempEditor := GetActiveSE; if TempEditor = nil then Exit; - TempEditor.ErrorLine:=-1; + if (TempEditor.EditorComponent.CaretY<>TempEditor.ErrorLine) + or (TempEditor.EditorComponent.CaretX<>TempEditor.fErrorColumn) then + TempEditor.ErrorLine:=-1; Statusbar.Panels[3].Text := TempEditor.Filename; If TempEditor.Modified then diff --git a/lcl/Makefile b/lcl/Makefile index 9da024138a..2145ecf998 100644 --- a/lcl/Makefile +++ b/lcl/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2001/08/22] +# Don't edit, this file is generated by FPCMake Version 1.1 [2001/11/02] # default: all override PATH:=$(subst \,/,$(PATH)) @@ -67,37 +67,44 @@ endif ifndef FPC ifdef PP FPC=$(PP) -else -ifdef inUnix -CPU_SOURCE=$(shell uname -m) -ifeq (m68k,$(CPU_SOURCE)) -FPC=ppc68k -else -FPC=ppc386 +endif +endif +ifndef FPC +FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(FPCPROG),) +FPCPROG:=$(firstword $(FPCPROG)) +FPC:=$(shell $(FPCPROG) -PB) +ifneq ($(findstring Error,$(FPC)),) +override FPC=ppc386 endif else -FPC=ppc386 -endif +override FPC=ppc386 endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) -ifndef OS_TARGET -OS_TARGET:=$(shell $(FPC) -iTO) -endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) +ifndef FPC_VERSION +FPC_VERSION:=$(shell $(FPC) -iV) endif +export FPC FPC_VERSION ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif ifndef CPU_SOURCE CPU_SOURCE:=$(shell $(FPC) -iSP) endif -ifndef FPC_VERSION -FPC_VERSION:=$(shell $(FPC) -iV) +ifndef OS_TARGET +OS_TARGET:=$(shell $(FPC) -iTO) endif -export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) +endif +FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) +FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifneq ($(FULL_TARGET),$(FULL_SOURCE)) +CROSSCOMPILE=1 +endif +export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) @@ -123,7 +130,20 @@ endif endif endif endif +ifndef CROSSDIR +CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) +endif +ifndef CROSSTARGETDIR +CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET) +endif +ifdef CROSSCOMPILE +UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units) +ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif +else +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) override PACKAGE_NAME=lazarus override PACKAGE_VERSION=0.7a @@ -135,6 +155,263 @@ override COMPILER_OPTIONS+=-gl override COMPILER_INCLUDEDIR+=./include override COMPILER_UNITDIR+=$(COMPILER_UNITTARGETDIR) ./interfaces/abstract override COMPILER_UNITTARGETDIR+=./units +ifdef REQUIRE_UNITSDIR +override UNITSDIR+=$(REQUIRE_UNITSDIR) +endif +ifdef REQUIRE_PACKAGESDIR +override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) +endif +ifdef ZIPINSTALL +ifeq ($(OS_TARGET),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),netbsd) +UNIXINSTALLDIR=1 +endif +else +ifeq ($(OS_SOURCE),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),netbsd) +UNIXINSTALLDIR=1 +endif +endif +ifndef INSTALL_PREFIX +ifdef UNIXINSTALLDIR +INSTALL_PREFIX=/usr/local +else +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=/pp +else +INSTALL_BASEDIR:=/$(PACKAGE_NAME) +endif +endif +endif +export INSTALL_PREFIX +ifndef DIST_DESTDIR +DIST_DESTDIR:=$(BASEDIR) +endif +export DIST_DESTDIR +ifndef INSTALL_BASEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) +endif +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX) +endif +endif +ifndef INSTALL_BINDIR +ifdef UNIXINSTALLDIR +INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +else +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +ifdef INSTALL_FPCPACKAGE +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) +endif +endif +endif +ifndef INSTALL_UNITDIR +ifdef CROSSCOMPILE +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units +else +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) +endif +ifdef INSTALL_FPCPACKAGE +ifdef PACKAGE_NAME +INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) +endif +endif +endif +ifndef INSTALL_LIBDIR +ifdef UNIXINSTALLDIR +INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib +else +INSTALL_LIBDIR:=$(INSTALL_UNITDIR) +endif +endif +ifndef INSTALL_SOURCEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +endif +endif +endif +ifndef INSTALL_DOCDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc +endif +endif +endif +ifndef INSTALL_EXAMPLEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples +endif +endif +endif +ifndef INSTALL_DATADIR +INSTALL_DATADIR=$(INSTALL_BASEDIR) +endif +ifdef CROSSCOMPILE +ifndef CROSSBINDIR +CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE)) +ifeq ($(CROSSBINDIR),) +CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE)) +endif +endif +else +CROSSBINDIR= +endif +LOADEREXT=.as +EXEEXT=.exe +PPLEXT=.ppl +PPUEXT=.ppu +OEXT=.o +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.so +STATICLIBPREFIX=libp +RSTEXT=.rst +FPCMADE=fpcmade +ifeq ($(OS_TARGET),go32v1) +PPUEXT=.pp1 +OEXT=.o1 +ASMEXT=.s1 +SMARTEXT=.sl1 +STATICLIBEXT=.a1 +SHAREDLIBEXT=.so1 +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),win32) +PPUEXT=.ppw +OEXT=.ow +ASMEXT=.sw +SMARTEXT=.slw +STATICLIBEXT=.aw +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +PPUEXT=.ppo +ASMEXT=.so2 +OEXT=.oo2 +AOUTEXT=.out +SMARTEXT=.so +STATICLIBEXT=.ao2 +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=emx +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +PPUEXT=.ppa +ASMEXT=.asm +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +PPUEXT=.ppt +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -276,15 +553,47 @@ TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ifndef AS -AS=as +ASNAME=as +LDNAME=ld +ARNAME=ar +RCNAME=rc +ifeq ($(OS_TARGET),win32) +ASNAME=asw +LDNAME=ldw +ARNAME=arw endif -ifndef LD -LD=ld +ifndef ASPROG +ifdef CROSSBINDIR +ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) +else +ASPROG=$(ASNAME) endif -ifndef RC -RC=rc endif +ifndef LDPROG +ifdef CROSSBINDIR +LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) +else +LDPROG=$(LDNAME) +endif +endif +ifndef RCPROG +ifdef CROSSBINDIR +RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) +else +RCPROG=$(RCNAME) +endif +endif +ifndef ARPROG +ifdef CROSSBINDIR +ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) +else +ARPROG=$(ARNAME) +endif +endif +AS=$(ASPROG) +LD=$(LDPROG) +RC=$(RCPROG) +AR=$(ARPROG) PPAS=ppas$(BATCHEXT) ifdef inUnix LDCONFIG=ldconfig @@ -324,219 +633,6 @@ else TAROPT=vz TAREXT=.tar.gz endif -LOADEREXT=.as -EXEEXT=.exe -PPLEXT=.ppl -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.so -STATICLIBPREFIX=libp -RSTEXT=.rst -FPCMADE=fpcmade -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -STATICLIBPREFIX= -FPCMADE=fpcmade.v1 -PACKAGESUFFIX=v1 -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -FPCMADE=fpcmade.dos -ZIPSUFFIX=go32 -endif -ifeq ($(OS_TARGET),linux) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.lnx -ZIPSUFFIX=linux -endif -ifeq ($(OS_TARGET),freebsd) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.freebsd -ZIPSUFFIX=freebsd -endif -ifeq ($(OS_TARGET),netbsd) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.netbsd -ZIPSUFFIX=netbsd -endif -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.w32 -ZIPSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -AOUTEXT=.out -SMARTEXT=.so -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.os2 -ZIPSUFFIX=emx -endif -ifeq ($(OS_TARGET),amiga) -EXEEXT= -PPUEXT=.ppa -ASMEXT=.asm -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.library -FPCMADE=fpcmade.amg -endif -ifeq ($(OS_TARGET),atari) -PPUEXT=.ppt -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT=.ttp -FPCMADE=fpcmade.ata -endif -ifdef REQUIRE_UNITSDIR -override UNITSDIR+=$(REQUIRE_UNITSDIR) -endif -ifdef REQUIRE_PACKAGESDIR -override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) -endif -ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),netbsd) -UNIXINSTALLDIR=1 -endif -else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),netbsd) -UNIXINSTALLDIR=1 -endif -endif -ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR -INSTALL_PREFIX=/usr/local -else -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=/pp -else -INSTALL_BASEDIR:=/$(PACKAGE_NAME) -endif -endif -endif -export INSTALL_PREFIX -ifndef DIST_DESTDIR -DIST_DESTDIR:=$(BASEDIR) -endif -export DIST_DESTDIR -ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) -endif -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX) -endif -endif -ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR -INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin -else -INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin -ifdef INSTALL_FPCPACKAGE -INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) -endif -endif -endif -ifndef INSTALL_UNITDIR -INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) -ifdef INSTALL_FPCPACKAGE -ifdef PACKAGE_NAME -INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) -endif -endif -endif -ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR -INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib -else -INSTALL_LIBDIR:=$(INSTALL_UNITDIR) -endif -endif -ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source -endif -endif -endif -ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc -endif -endif -endif -ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples -endif -endif -endif -ifndef INSTALL_DATADIR -INSTALL_DATADIR=$(INSTALL_BASEDIR) -endif ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 endif @@ -592,7 +688,9 @@ override COMPILER_UNITDIR+=$(UNITDIR_RTL) endif endif .PHONY: package_rtl +ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) +endif ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif @@ -619,15 +717,22 @@ override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE -override FPCOPT+=-Xs -OG2p3 -n +ifeq ($(CPU_TARGET),i386) +FPCCPUOPT:=-OG2p3 +else +FPCCPUOPT:= +endif +override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif ifdef STRIP override FPCOPT+=-Xs endif ifdef OPTIMIZE +ifeq ($(CPU_TARGET),i386) override FPCOPT+=-OG2p3 endif +endif ifdef VERBOSE override FPCOPT+=-vwni endif @@ -646,6 +751,9 @@ endif ifdef COMPILER_INCLUDEDIR override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) endif +ifdef CROSSBINDIR +override FPCOPT+=-FD$(CROSSBINDIR) +endif ifdef COMPILER_TARGETDIR override FPCOPT+=-FE$(COMPILER_TARGETDIR) ifeq ($(COMPILER_TARGETDIR),.) @@ -899,7 +1007,7 @@ endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif - -$(DEL) $(FPCMADE) Package.fpc $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -929,11 +1037,14 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) + @$(ECHO) Full Target.. $(FULL_SOURCE) + @$(ECHO) Full Source.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) + @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @$(ECHO) UnitsDir........ $(UNITSDIR) @$(ECHO) PackagesDir..... $(PACKAGESDIR) @$(ECHO) @@ -942,7 +1053,11 @@ fpc_info: @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) - @$(ECHO) Pwd....... $(PWD) + @$(ECHO) As........ $(AS) + @$(ECHO) Ld........ $(LD) + @$(ECHO) Ar........ $(AR) + @$(ECHO) Rc........ $(RC) + @$(ECHO) @$(ECHO) Mv........ $(MVPROG) @$(ECHO) Cp........ $(CPPROG) @$(ECHO) Rm........ $(RMPROG) diff --git a/lcl/forms.pp b/lcl/forms.pp index 6f34999c82..451e6283b8 100644 --- a/lcl/forms.pp +++ b/lcl/forms.pp @@ -378,6 +378,7 @@ function InitResourceComponent(Instance: TComponent; var CompResource:TLResource; a:integer; begin +//writeln('[InitComponent] ',ClassType.Classname,' ',Instance<>nil); Result:=false; if (ClassType=TComponent) or (ClassType=RootAncestor) then exit; if Assigned(ClassType.ClassParent) then @@ -391,7 +392,7 @@ function InitResourceComponent(Instance: TComponent; try Write(CompResource.Value[1],length(CompResource.Value)); Position:=0; - writeln('Signature=',copy(CompResource.Value,1,4)); + writeln('Form Stream Signature=',copy(CompResource.Value,1,4)); Instance:=ReadComponent(Instance); // MG: workaround til Visible=true is default if Instance is TControl then diff --git a/lcl/interfaces/gtk/Makefile b/lcl/interfaces/gtk/Makefile index fd9a47e932..4240969ca1 100644 --- a/lcl/interfaces/gtk/Makefile +++ b/lcl/interfaces/gtk/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by fpcmake v1.99.0 [2001/08/15] +# Don't edit, this file is generated by FPCMake Version 1.1 [2001/11/02] # default: all override PATH:=$(subst \,/,$(PATH)) @@ -34,7 +34,7 @@ inOS2=1 endif endif else -ifneq ($(findstring cygwin,$(MACH_TYPE)),) +ifneq ($(findstring cygwin,$(MACHTYPE)),) inCygWin=1 endif endif @@ -54,34 +54,57 @@ PATHSEP:=$(subst /,\,/) endif ifdef PWD BASEDIR:=$(subst \,/,$(shell $(PWD))) +ifdef inCygWin +ifneq ($(findstring /cygdrive/,$(BASEDIR)),) +BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) +BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) +BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) +endif +endif else BASEDIR=. endif ifndef FPC ifdef PP FPC=$(PP) +endif +endif +ifndef FPC +FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(FPCPROG),) +FPCPROG:=$(firstword $(FPCPROG)) +FPC:=$(shell $(FPCPROG) -PB) +ifneq ($(findstring Error,$(FPC)),) +override FPC=ppc386 +endif else -FPC=ppc386 +override FPC=ppc386 endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) -ifndef OS_TARGET -OS_TARGET:=$(shell $(FPC) -iTO) -endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) +ifndef FPC_VERSION +FPC_VERSION:=$(shell $(FPC) -iV) endif +export FPC FPC_VERSION ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif ifndef CPU_SOURCE CPU_SOURCE:=$(shell $(FPC) -iSP) endif -ifndef FPC_VERSION -FPC_VERSION:=$(shell $(FPC) -iV) +ifndef OS_TARGET +OS_TARGET:=$(shell $(FPC) -iTO) endif -export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) +endif +FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) +FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifneq ($(FULL_TARGET),$(FULL_SOURCE)) +CROSSCOMPILE=1 +endif +export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) @@ -107,7 +130,20 @@ endif endif endif endif +ifndef CROSSDIR +CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) +endif +ifndef CROSSTARGETDIR +CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET) +endif +ifdef CROSSCOMPILE +UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units) +ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif +else +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) override PACKAGE_NAME=lazarus override PACKAGE_VERSION=0.7a @@ -117,6 +153,277 @@ override COMPILER_OPTIONS+=-gl override COMPILER_INCLUDEDIR+=. override COMPILER_UNITDIR+=$(COMPILER_UNITTARGETDIR) ../../units override COMPILER_UNITTARGETDIR+=../../units/gtk +ifdef REQUIRE_UNITSDIR +override UNITSDIR+=$(REQUIRE_UNITSDIR) +endif +ifdef REQUIRE_PACKAGESDIR +override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) +endif +ifdef ZIPINSTALL +ifeq ($(OS_TARGET),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_TARGET),netbsd) +UNIXINSTALLDIR=1 +endif +else +ifeq ($(OS_SOURCE),linux) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),freebsd) +UNIXINSTALLDIR=1 +endif +ifeq ($(OS_SOURCE),netbsd) +UNIXINSTALLDIR=1 +endif +endif +ifndef INSTALL_PREFIX +ifdef UNIXINSTALLDIR +INSTALL_PREFIX=/usr/local +else +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=/pp +else +INSTALL_BASEDIR:=/$(PACKAGE_NAME) +endif +endif +endif +export INSTALL_PREFIX +ifndef DIST_DESTDIR +DIST_DESTDIR:=$(BASEDIR) +endif +export DIST_DESTDIR +ifndef INSTALL_BASEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) +endif +else +INSTALL_BASEDIR:=$(INSTALL_PREFIX) +endif +endif +ifndef INSTALL_BINDIR +ifdef UNIXINSTALLDIR +INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +else +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +ifdef INSTALL_FPCPACKAGE +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) +endif +endif +endif +ifndef INSTALL_UNITDIR +ifdef CROSSCOMPILE +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units +else +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) +endif +ifdef INSTALL_FPCPACKAGE +ifdef PACKAGE_NAME +INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) +endif +endif +endif +ifndef INSTALL_LIBDIR +ifdef UNIXINSTALLDIR +INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib +else +INSTALL_LIBDIR:=$(INSTALL_UNITDIR) +endif +endif +ifndef INSTALL_SOURCEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +else +INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +endif +endif +endif +ifndef INSTALL_DOCDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) +else +INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc +endif +endif +endif +ifndef INSTALL_EXAMPLEDIR +ifdef UNIXINSTALLDIR +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +endif +else +ifdef INSTALL_FPCPACKAGE +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) +else +INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples +endif +endif +endif +ifndef INSTALL_DATADIR +INSTALL_DATADIR=$(INSTALL_BASEDIR) +endif +ifdef CROSSCOMPILE +ifndef CROSSBINDIR +CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE)) +ifeq ($(CROSSBINDIR),) +CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE)) +endif +endif +else +CROSSBINDIR= +endif +ifdef inUnix +ifndef GCCLIBDIR +GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`) +endif +ifeq ($(OS_TARGET),linux) +ifndef OTHERLIBDIR +OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }') +endif +endif +ifeq ($(OS_TARGET),netbsd) +OTHERLIBDIR+=/usr/pkg/lib +endif +export GCCLIBDIR OTHERLIB +endif +LOADEREXT=.as +EXEEXT=.exe +PPLEXT=.ppl +PPUEXT=.ppu +OEXT=.o +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.so +STATICLIBPREFIX=libp +RSTEXT=.rst +FPCMADE=fpcmade +ifeq ($(OS_TARGET),go32v1) +PPUEXT=.pp1 +OEXT=.o1 +ASMEXT=.s1 +SMARTEXT=.sl1 +STATICLIBEXT=.a1 +SHAREDLIBEXT=.so1 +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),win32) +PPUEXT=.ppw +OEXT=.ow +ASMEXT=.sw +SMARTEXT=.slw +STATICLIBEXT=.aw +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +PPUEXT=.ppo +ASMEXT=.so2 +OEXT=.oo2 +AOUTEXT=.out +SMARTEXT=.so +STATICLIBEXT=.ao2 +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=emx +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +PPUEXT=.ppa +ASMEXT=.asm +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +PPUEXT=.ppt +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +PPUEXT=.ppu +ASMEXT=.s +OEXT=.o +SMARTEXT=.sl +STATICLIBEXT=.a +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -258,15 +565,47 @@ TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ifndef AS -AS=as +ASNAME=as +LDNAME=ld +ARNAME=ar +RCNAME=rc +ifeq ($(OS_TARGET),win32) +ASNAME=asw +LDNAME=ldw +ARNAME=arw endif -ifndef LD -LD=ld +ifndef ASPROG +ifdef CROSSBINDIR +ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) +else +ASPROG=$(ASNAME) endif -ifndef RC -RC=rc endif +ifndef LDPROG +ifdef CROSSBINDIR +LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) +else +LDPROG=$(LDNAME) +endif +endif +ifndef RCPROG +ifdef CROSSBINDIR +RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) +else +RCPROG=$(RCNAME) +endif +endif +ifndef ARPROG +ifdef CROSSBINDIR +ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) +else +ARPROG=$(ARNAME) +endif +endif +AS=$(ASPROG) +LD=$(LDPROG) +RC=$(RCPROG) +AR=$(ARPROG) PPAS=ppas$(BATCHEXT) ifdef inUnix LDCONFIG=ldconfig @@ -306,197 +645,6 @@ else TAROPT=vz TAREXT=.tar.gz endif -LOADEREXT=.as -EXEEXT=.exe -PPLEXT=.ppl -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.so -STATICLIBPREFIX=libp -RSTEXT=.rst -FPCMADE=fpcmade -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -STATICLIBPREFIX= -FPCMADE=fpcmade.v1 -PACKAGESUFFIX=v1 -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -FPCMADE=fpcmade.dos -ZIPSUFFIX=go32 -endif -ifeq ($(OS_TARGET),linux) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.lnx -ZIPSUFFIX=linux -endif -ifeq ($(OS_TARGET),freebsd) -EXEEXT= -HASSHAREDLIB=1 -FPCMADE=fpcmade.freebsd -ZIPSUFFIX=freebsd -endif -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.w32 -ZIPSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -AOUTEXT=.out -SMARTEXT=.so -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -FPCMADE=fpcmade.os2 -ZIPSUFFIX=emx -endif -ifdef REQUIRE_UNITSDIR -override UNITSDIR+=$(REQUIRE_UNITSDIR) -endif -ifdef REQUIRE_PACKAGESDIR -override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) -endif -ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -endif -ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR -INSTALL_PREFIX=/usr/local -else -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=/pp -else -INSTALL_BASEDIR:=/$(PACKAGE_NAME) -endif -endif -endif -export INSTALL_PREFIX -ifndef DIST_DESTDIR -DIST_DESTDIR:=$(BASEDIR) -endif -export DIST_DESTDIR -ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) -endif -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX) -endif -endif -ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR -INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin -else -INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin -ifdef INSTALL_FPCPACKAGE -INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) -endif -endif -endif -ifndef INSTALL_UNITDIR -INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) -ifdef INSTALL_FPCPACKAGE -ifdef PACKAGE_NAME -INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) -endif -endif -endif -ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR -INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib -else -INSTALL_LIBDIR:=$(INSTALL_UNITDIR) -endif -endif -ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source -endif -endif -endif -ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc -endif -endif -endif -ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples -endif -endif -endif -ifndef INSTALL_DATADIR -INSTALL_DATADIR=$(INSTALL_BASEDIR) -endif -ifdef inUnix -ifndef GCCLIBDIR -GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`) -endif -ifndef OTHERLIBDIR -OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }') -endif -export GCCLIBDIR OTHERLIB -endif ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -549,6 +697,29 @@ REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_GTK=1 REQUIRE_PACKAGES_OPENGL=1 endif +ifeq ($(OS_TARGET),netbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_INET=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_X11=1 +REQUIRE_PACKAGES_OPENGL=1 +endif +ifeq ($(OS_TARGET),amiga) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_OPENGL=1 +endif +ifeq ($(OS_TARGET),atari) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_OPENGL=1 +endif ifdef REQUIRE_PACKAGES_RTL PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))) ifneq ($(PACKAGEDIR_RTL),) @@ -793,7 +964,9 @@ override COMPILER_UNITDIR+=$(UNITDIR_OPENGL) endif endif .PHONY: package_rtl package_paszlib package_inet package_fcl package_gtk package_mysql package_ibase package_x11 package_opengl +ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) +endif ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif @@ -820,15 +993,22 @@ override FPCOPT+=-gl override FPCOPTDEF+=DEBUG endif ifdef RELEASE -override FPCOPT+=-Xs -OG2p3 -n +ifeq ($(CPU_TARGET),i386) +FPCCPUOPT:=-OG2p3 +else +FPCCPUOPT:= +endif +override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif ifdef STRIP override FPCOPT+=-Xs endif ifdef OPTIMIZE +ifeq ($(CPU_TARGET),i386) override FPCOPT+=-OG2p3 endif +endif ifdef VERBOSE override FPCOPT+=-vwni endif @@ -847,6 +1027,9 @@ endif ifdef COMPILER_INCLUDEDIR override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) endif +ifdef CROSSBINDIR +override FPCOPT+=-FD$(CROSSBINDIR) +endif ifdef COMPILER_TARGETDIR override FPCOPT+=-FE$(COMPILER_TARGETDIR) ifeq ($(COMPILER_TARGETDIR),.) @@ -860,7 +1043,7 @@ override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) ifeq ($(COMPILER_UNITTARGETDIR),.) override UNITTARGETDIRPREFIX= else -override UNITTARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ +override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ endif else ifdef COMPILER_TARGETDIR @@ -941,11 +1124,12 @@ ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES))) +override INSTALL_CREATEPACKAGEFPC=1 endif ifdef INSTALLEXEFILES override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES)) endif -fpc_install: $(INSTALLTARGET) +fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES $(MKDIR) $(INSTALL_BINDIR) ifdef UPXPROG @@ -953,6 +1137,17 @@ ifdef UPXPROG endif $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) endif +ifdef INSTALL_CREATEPACKAGEFPC +ifdef FPCMAKE +ifdef PACKAGE_VERSION +ifneq ($(wildcard Makefile.fpc),) + $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc + $(MKDIR) $(INSTALL_UNITDIR) + $(INSTALL) Package.fpc $(INSTALL_UNITDIR) +endif +endif +endif +endif ifdef INSTALLPPUFILES $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) @@ -1033,6 +1228,7 @@ ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * endif fpc_zipinstall: $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1 + $(MKDIR) $(DIST_DESTDIR) $(DEL) $(ZIPDESTFILE) ifdef USEZIPWRAPPER ifneq ($(ECHOREDIR),echo) @@ -1093,7 +1289,7 @@ endif ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -1123,11 +1319,14 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) + @$(ECHO) Full Target.. $(FULL_SOURCE) + @$(ECHO) Full Source.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) + @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @$(ECHO) UnitsDir........ $(UNITSDIR) @$(ECHO) PackagesDir..... $(PACKAGESDIR) @$(ECHO) @@ -1136,7 +1335,11 @@ fpc_info: @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) - @$(ECHO) Pwd....... $(PWD) + @$(ECHO) As........ $(AS) + @$(ECHO) Ld........ $(LD) + @$(ECHO) Ar........ $(AR) + @$(ECHO) Rc........ $(RC) + @$(ECHO) @$(ECHO) Mv........ $(MVPROG) @$(ECHO) Cp........ $(CPPROG) @$(ECHO) Rm........ $(RMPROG) @@ -1204,6 +1407,7 @@ endif .PHONY: all makefile makefiles clean: $(DEL) $(COMPILER_UNITTARGETDIR)/*$(PPUEXT) + $(DEL) $(COMPILER_UNITTARGETDIR)/*$(OEXT) all: $(MAKE) --assume-new=interfaces.pp interfaces$(PPUEXT) makefile: Makefile.fpc diff --git a/lcl/interfaces/gtk/Makefile.fpc b/lcl/interfaces/gtk/Makefile.fpc index 7fb5de75b3..360c7a6b71 100644 --- a/lcl/interfaces/gtk/Makefile.fpc +++ b/lcl/interfaces/gtk/Makefile.fpc @@ -28,6 +28,7 @@ DIST_DESTDIR=$(BASEDIR)/../../../dist clean: $(DEL) $(COMPILER_UNITTARGETDIR)/*$(PPUEXT) + $(DEL) $(COMPILER_UNITTARGETDIR)/*$(OEXT) all: $(MAKE) --assume-new=interfaces.pp interfaces$(PPUEXT)