Merged revisions 2255-2256,2278 via svnmerge from

http://peter@svn.freepascal.org/svn/fpc/trunk

........
r2255 | florian | 2006-01-11 22:20:55 +0100 (Wed, 11 Jan 2006) | 2 lines

+ make shared implemented

........
r2256 | florian | 2006-01-11 22:38:52 +0100 (Wed, 11 Jan 2006) | 2 lines

* proper handling of build units and implicit units for shared libs

........
r2278 | florian | 2006-01-13 20:36:53 +0100 (Fri, 13 Jan 2006) | 2 lines

* install shared library only if it exists

........

git-svn-id: branches/fixes_2_0@2306 -
This commit is contained in:
peter 2006-01-16 13:50:42 +00:00
parent 00070abb4b
commit 8f0631ecc5
4 changed files with 679 additions and 513 deletions

View File

@ -1,5 +1,5 @@
# #
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/11/08] # Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/01/16]
# #
default: all default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-wince powerpc64-linux MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-wince powerpc64-linux
@ -747,6 +747,9 @@ endif
ifndef INSTALL_DATADIR ifndef INSTALL_DATADIR
INSTALL_DATADIR=$(INSTALL_BASEDIR) INSTALL_DATADIR=$(INSTALL_BASEDIR)
endif endif
ifndef INSTALL_SHAREDDIR
INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
endif
ifdef CROSSCOMPILE ifdef CROSSCOMPILE
ifndef CROSSBINDIR ifndef CROSSBINDIR
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX)) CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
@ -793,6 +796,7 @@ ASMEXT=.s
SMARTEXT=.sl SMARTEXT=.sl
STATICLIBEXT=.a STATICLIBEXT=.a
SHAREDLIBEXT=.so SHAREDLIBEXT=.so
SHAREDLIBPREFIX=libfp
STATICLIBPREFIX=libp STATICLIBPREFIX=libp
RSTEXT=.rst RSTEXT=.rst
ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
@ -1321,6 +1325,7 @@ endif
override REQUIRE_PACKAGES=rtl fcl override REQUIRE_PACKAGES=rtl fcl
ifeq ($(FULL_TARGET),i386-linux) ifeq ($(FULL_TARGET),i386-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1335,6 +1340,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),i386-go32v2) ifeq ($(FULL_TARGET),i386-go32v2)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1343,6 +1349,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-win32) ifeq ($(FULL_TARGET),i386-win32)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
@ -1356,6 +1363,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-os2) ifeq ($(FULL_TARGET),i386-os2)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
@ -1364,6 +1372,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-freebsd) ifeq ($(FULL_TARGET),i386-freebsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1378,6 +1387,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),i386-beos) ifeq ($(FULL_TARGET),i386-beos)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1386,6 +1396,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-netbsd) ifeq ($(FULL_TARGET),i386-netbsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1399,6 +1410,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),i386-solaris) ifeq ($(FULL_TARGET),i386-solaris)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1407,6 +1419,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-qnx) ifeq ($(FULL_TARGET),i386-qnx)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1415,6 +1428,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-netware) ifeq ($(FULL_TARGET),i386-netware)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1423,6 +1437,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-openbsd) ifeq ($(FULL_TARGET),i386-openbsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1436,6 +1451,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),i386-wdosx) ifeq ($(FULL_TARGET),i386-wdosx)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1444,6 +1460,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-emx) ifeq ($(FULL_TARGET),i386-emx)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
@ -1452,6 +1469,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-watcom) ifeq ($(FULL_TARGET),i386-watcom)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1460,6 +1478,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-netwlibc) ifeq ($(FULL_TARGET),i386-netwlibc)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1468,14 +1487,19 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),i386-wince) ifeq ($(FULL_TARGET),i386-wince)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_POSTGRES=1
REQUIRE_PACKAGES_SQLITE=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),m68k-linux) ifeq ($(FULL_TARGET),m68k-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1490,6 +1514,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),m68k-freebsd) ifeq ($(FULL_TARGET),m68k-freebsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1504,6 +1529,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),m68k-netbsd) ifeq ($(FULL_TARGET),m68k-netbsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1517,6 +1543,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),m68k-amiga) ifeq ($(FULL_TARGET),m68k-amiga)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1525,6 +1552,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),m68k-atari) ifeq ($(FULL_TARGET),m68k-atari)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1533,6 +1561,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),m68k-openbsd) ifeq ($(FULL_TARGET),m68k-openbsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1546,6 +1575,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),m68k-palmos) ifeq ($(FULL_TARGET),m68k-palmos)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1554,6 +1584,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),powerpc-linux) ifeq ($(FULL_TARGET),powerpc-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1568,6 +1599,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),powerpc-netbsd) ifeq ($(FULL_TARGET),powerpc-netbsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1581,6 +1613,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),powerpc-macos) ifeq ($(FULL_TARGET),powerpc-macos)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1589,6 +1622,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),powerpc-darwin) ifeq ($(FULL_TARGET),powerpc-darwin)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1603,6 +1637,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),powerpc-morphos) ifeq ($(FULL_TARGET),powerpc-morphos)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1611,6 +1646,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),sparc-linux) ifeq ($(FULL_TARGET),sparc-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1625,6 +1661,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),sparc-netbsd) ifeq ($(FULL_TARGET),sparc-netbsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1638,6 +1675,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),sparc-solaris) ifeq ($(FULL_TARGET),sparc-solaris)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1646,6 +1684,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),x86_64-linux) ifeq ($(FULL_TARGET),x86_64-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1660,6 +1699,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1674,6 +1714,7 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),x86_64-win64) ifeq ($(FULL_TARGET),x86_64-win64)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
@ -1682,6 +1723,7 @@ REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),arm-linux) ifeq ($(FULL_TARGET),arm-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1696,14 +1738,19 @@ REQUIRE_PACKAGES_SQLITE=1
endif endif
ifeq ($(FULL_TARGET),arm-wince) ifeq ($(FULL_TARGET),arm-wince)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_PASJPEG=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_IBASE=1
REQUIRE_PACKAGES_POSTGRES=1
REQUIRE_PACKAGES_SQLITE=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
endif endif
ifeq ($(FULL_TARGET),powerpc64-linux) ifeq ($(FULL_TARGET),powerpc64-linux)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_NETDB=1
REQUIRE_PACKAGES_LIBASYNC=1 REQUIRE_PACKAGES_LIBASYNC=1
@ -1742,6 +1789,32 @@ ifdef UNITDIR_RTL
override COMPILER_UNITDIR+=$(UNITDIR_RTL) override COMPILER_UNITDIR+=$(UNITDIR_RTL)
endif endif
endif endif
ifdef REQUIRE_PACKAGES_HASH
PACKAGEDIR_HASH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /hash/Makefile.fpc,$(PACKAGESDIR))))))
ifneq ($(PACKAGEDIR_HASH),)
ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)),)
UNITDIR_HASH=$(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)
else
UNITDIR_HASH=$(PACKAGEDIR_HASH)
endif
ifdef CHECKDEPEND
$(PACKAGEDIR_HASH)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_HASH) $(FPCMADE)
override ALLDEPENDENCIES+=$(PACKAGEDIR_HASH)/$(FPCMADE)
endif
else
PACKAGEDIR_HASH=
UNITDIR_HASH:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /hash/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_HASH),)
UNITDIR_HASH:=$(firstword $(UNITDIR_HASH))
else
UNITDIR_HASH=
endif
endif
ifdef UNITDIR_HASH
override COMPILER_UNITDIR+=$(UNITDIR_HASH)
endif
endif
ifdef REQUIRE_PACKAGES_PASZLIB ifdef REQUIRE_PACKAGES_PASZLIB
PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR)))))) PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
ifneq ($(PACKAGEDIR_PASZLIB),) ifneq ($(PACKAGEDIR_PASZLIB),)
@ -2135,6 +2208,14 @@ ifeq ($(FPC_VERSION),1.0.6)
override FPCOPTDEF+=HASUNIX override FPCOPTDEF+=HASUNIX
endif endif
endif endif
ifdef CREATESHARED
override FPCOPT+=-Cg
ifeq ($(CPU_TARGET),i386)
override FPCOPT+=-Aas
endif
endif
ifdef LINKSHARED
endif
ifdef GCCLIBDIR ifdef GCCLIBDIR
override FPCOPT+=-Fl$(GCCLIBDIR) override FPCOPT+=-Fl$(GCCLIBDIR)
endif endif
@ -2155,6 +2236,14 @@ override FPCEXTCMD:=$(FPCOPT)
override FPCOPT:=!FPCEXTCMD override FPCOPT:=!FPCEXTCMD
export FPCEXTCMD export FPCEXTCMD
endif endif
override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
override ACROSSCOMPILE=1
endif
ifdef ACROSSCOMPILE
override FPCOPT+=$(CROSSOPT)
endif
override COMPILER:=$(FPC) $(FPCOPT) override COMPILER:=$(FPC) $(FPCOPT)
ifeq (,$(findstring -s ,$(COMPILER))) ifeq (,$(findstring -s ,$(COMPILER)))
EXECPPAS= EXECPPAS=
@ -2184,7 +2273,7 @@ ifdef TARGET_RSTS
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
override CLEANRSTFILES+=$(RSTFILES) override CLEANRSTFILES+=$(RSTFILES)
endif endif
.PHONY: fpc_all fpc_smart fpc_debug fpc_release .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
@$(ECHOREDIR) Compiled > $(FPCMADE) @$(ECHOREDIR) Compiled > $(FPCMADE)
fpc_all: $(FPCMADE) fpc_all: $(FPCMADE)
@ -2225,6 +2314,38 @@ vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
.PHONY: fpc_shared
override INSTALLTARGET+=fpc_shared_install
ifndef SHARED_LIBVERSION
SHARED_LIBVERSION=$(FPC_VERSION)
endif
ifndef SHARED_LIBNAME
SHARED_LIBNAME=$(PACKAGE_NAME)
endif
ifndef SHARED_FULLNAME
SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
endif
ifndef SHARED_LIBUNITS
SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
endif
fpc_shared:
ifdef HASSHAREDLIB
$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
ifneq ($(SHARED_BUILD),n)
$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
endif
else
@$(ECHO) Shared Libraries not supported
endif
fpc_shared_install:
ifneq ($(SHARED_BUILD),n)
ifneq ($(SHARED_LIBUNITS),)
ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
endif
endif
endif
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
ifdef INSTALL_UNITS ifdef INSTALL_UNITS
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
@ -2483,7 +2604,7 @@ smart: fpc_smart
release: fpc_release release: fpc_release
units: fpc_units units: fpc_units
examples: examples:
shared: shared: fpc_shared
install: fpc_install install: fpc_install
sourceinstall: fpc_sourceinstall sourceinstall: fpc_sourceinstall
exampleinstall: fpc_exampleinstall exampleinstall: fpc_exampleinstall

File diff suppressed because it is too large Load Diff

View File

@ -660,6 +660,10 @@ ifndef INSTALL_DATADIR
INSTALL_DATADIR=$(INSTALL_BASEDIR) INSTALL_DATADIR=$(INSTALL_BASEDIR)
endif endif
ifndef INSTALL_SHAREDDIR
INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
endif
##################################################################### #####################################################################
# Cross compile dirs # Cross compile dirs
##################################################################### #####################################################################
@ -1367,6 +1371,11 @@ endif
endif endif
ifdef LINKSHARED
#!!! deactived for testing override FPCOPT+=-XD
endif
[command_libc] [command_libc]
# Add GCC lib path if asked # Add GCC lib path if asked
ifdef GCCLIBDIR ifdef GCCLIBDIR
@ -1557,7 +1566,7 @@ fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
# General compile rules # General compile rules
##################################################################### #####################################################################
.PHONY: fpc_all fpc_smart fpc_debug fpc_release .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
@$(ECHOREDIR) Compiled > $(FPCMADE) @$(ECHOREDIR) Compiled > $(FPCMADE)
@ -1618,38 +1627,51 @@ vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
[libraryrules] [sharedrules]
##################################################################### #####################################################################
# Library # Library
##################################################################### #####################################################################
.PHONY: fpc_shared .PHONY: fpc_shared
override INSTALLTARGET+=fpc_shared_install
ifndef SHARED_LIBVERSION ifndef SHARED_LIBVERSION
SHARED_LIBVERSION=$(FPC_VERSION) SHARED_LIBVERSION=$(FPC_VERSION)
endif endif
ifndef $(SHARED_LIBNAME) ifndef SHARED_LIBNAME
SHARED_LIBNAME=$(PACKAGE_NAME) SHARED_LIBNAME=$(PACKAGE_NAME)
endif endif
ifndef LIB_FULLNAME ifndef SHARED_FULLNAME
SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION) SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
endif endif
# Default sharedlib units are all unit objects # Default sharedlib units are all unit objects
ifndef SHARED_LIBUNITS ifndef SHARED_LIBUNITS
SHARED_LIBUNITS:=$(TARGET_UNITS) SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
endif endif
fpc_shared: fpc_shared:
ifdef HASSHAREDLIB ifdef HASSHAREDLIB
$(MAKE) all CREATESHARED=1 LINKSMART=1 CREATESMART=1 $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) ifneq ($(SHARED_BUILD),n)
$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
endif
else else
@$(ECHO) Shared Libraries not supported @$(ECHO) Shared Libraries not supported
endif endif
fpc_shared_install:
ifneq ($(SHARED_BUILD),n)
ifneq ($(SHARED_LIBUNITS),)
ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
endif
endif
endif
[installrules] [installrules]
##################################################################### #####################################################################

View File

@ -24,7 +24,7 @@ interface
tsections=(sec_none, tsections=(sec_none,
sec_units,sec_exes,sec_loaders,sec_examples,sec_rsts, sec_units,sec_exes,sec_loaders,sec_examples,sec_rsts,
sec_compile,sec_install, sec_compile,sec_install,
sec_distinstall,sec_zipinstall,sec_clean,sec_libs, sec_distinstall,sec_zipinstall,sec_clean,sec_shared,
sec_command,sec_exts,sec_dirs,sec_tools,sec_info,sec_makefile sec_command,sec_exts,sec_dirs,sec_tools,sec_info,sec_makefile
); );
@ -53,7 +53,7 @@ interface
rule2sec : array[trules] of tsections=( rule2sec : array[trules] of tsections=(
sec_compile,sec_compile,sec_compile,sec_compile,sec_compile, sec_compile,sec_compile,sec_compile,sec_compile,sec_compile,
sec_examples, sec_examples,
sec_libs, sec_shared,
sec_install,sec_install,sec_install,sec_distinstall, sec_install,sec_install,sec_install,sec_distinstall,
sec_zipinstall,sec_zipinstall,sec_zipinstall,sec_zipinstall, sec_zipinstall,sec_zipinstall,sec_zipinstall,sec_zipinstall,
sec_clean,sec_clean,sec_clean, sec_clean,sec_clean,sec_clean,
@ -641,9 +641,7 @@ implementation
FHasSection[sec_zipinstall]:=false; FHasSection[sec_zipinstall]:=false;
FHasSection[sec_distinstall]:=false; FHasSection[sec_distinstall]:=false;
end; end;
{ can't get shared lib generation working without it (FK)
FHasSection[sec_libs]:=FInput.HasVariable('lib_name');
}
{ Remove unused sections for targets } { Remove unused sections for targets }
SkippedSecs:=0; SkippedSecs:=0;
if (not FInput.HasTargetVariable('target_units')) then if (not FInput.HasTargetVariable('target_units')) then
@ -673,6 +671,7 @@ implementation
generic compile rules } generic compile rules }
if SkippedSecs=4 then if SkippedSecs=4 then
begin begin
FHasSection[sec_shared]:=false;
FHasSection[sec_compile]:=false; FHasSection[sec_compile]:=false;
if (not FInput.HasTargetVariable('package_name')) and if (not FInput.HasTargetVariable('package_name')) and
(not FInput.HasTargetVariable('install_units')) and (not FInput.HasTargetVariable('install_units')) and
@ -782,9 +781,11 @@ implementation
AddTargetVariable('compiler_targetdir'); AddTargetVariable('compiler_targetdir');
AddTargetVariable('compiler_unittargetdir'); AddTargetVariable('compiler_unittargetdir');
{ shared } { shared }
AddTargetVariable('shared_libname'); AddVariable('shared_build');
AddTargetVariable('shared_libversion'); AddVariable('shared_libname');
AddTargetVariable('shared_libunits'); AddVariable('shared_libversion');
AddVariable('shared_libunits');
AddVariable('shared_build');
{ default Dirs and extensions } { default Dirs and extensions }
AddIniSection('defaultdirs'); AddIniSection('defaultdirs');
if FInput.CheckLibcRequire then if FInput.CheckLibcRequire then
@ -813,8 +814,8 @@ implementation
AddIniSection('examplerules'); AddIniSection('examplerules');
if FHasSection[sec_compile] then if FHasSection[sec_compile] then
AddIniSection('compilerules'); AddIniSection('compilerules');
if FHasSection[sec_libs] then if FHasSection[sec_shared] then
AddIniSection('libraryrules'); AddIniSection('sharedrules');
{ install } { install }
if FHasSection[sec_install] then if FHasSection[sec_install] then
AddIniSection('installrules'); AddIniSection('installrules');