Browse Source

* make shared support

git-svn-id: trunk@2228 -
florian 19 years ago
parent
commit
4e6f4e5cb4
2 changed files with 143 additions and 13 deletions
  1. 135 3
      rtl/linux/Makefile
  2. 8 10
      rtl/linux/Makefile.fpc

+ 135 - 3
rtl/linux/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/12/29]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/01/08]
 #
 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
@@ -238,13 +238,13 @@ INC=$(RTL)/inc
 COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 UNIXINC=$(RTL)/unix
+UNITPREFIX=rtl
 ifeq ($(CPU_TARGET),i386)
 CRT21=cprt21 gprt21
 CPU_UNITS=x86 ports cpu mmx
 else
 CPU_UNITS=
 endif
-UNITPREFIX=rtl
 ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
 SYSTEMUNIT=system
 LINUXUNIT1=
@@ -1040,6 +1040,117 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 override COMPILER_TARGETDIR+=.
 endif
+ifeq ($(FULL_TARGET),i386-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override SHARED_LIBUNITS+=$(SYSTEMUNIT) objpas strings dos unix baseunix unixtype unixutil sysutils typinfo math $(CPU_UNITS) getopts errors sockets varutils classes variants sysconst rtlconsts
+endif
 ifdef REQUIRE_UNITSDIR
 override UNITSDIR+=$(REQUIRE_UNITSDIR)
 endif
@@ -1243,6 +1354,7 @@ ASMEXT=.s
 SMARTEXT=.sl
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
+SHAREDLIBPREFIX=libfp
 STATICLIBPREFIX=libp
 RSTEXT=.rst
 ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
@@ -1986,6 +2098,26 @@ vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
 vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
 vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
+.PHONY: fpc_shared
+ifndef SHARED_LIBVERSION
+SHARED_LIBVERSION=$(FPC_VERSION)
+endif
+ifndef $(SHARED_LIBNAME)
+SHARED_LIBNAME=$(PACKAGE_NAME)
+endif
+ifndef LIB_FULLNAME
+SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)
+endif
+ifndef SHARED_LIBUNITS
+SHARED_LIBUNITS:=$(TARGET_UNITS)
+endif
+fpc_shared:
+ifdef HASSHAREDLIB
+	$(MAKE) all $(SHAREDOPTS)
+	$(PPUMOVE) $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME)
+else
+	@$(ECHO) Shared Libraries not supported
+endif
 .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
 ifdef INSTALL_UNITS
 override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
@@ -2235,7 +2367,7 @@ smart: fpc_smart
 release: fpc_release
 units: fpc_units
 examples:
-shared:
+shared: fpc_shared
 install: fpc_install
 sourceinstall: fpc_sourceinstall
 exampleinstall: fpc_exampleinstall

+ 8 - 10
rtl/linux/Makefile.fpc

@@ -37,15 +37,13 @@ includedir=$(INC) $(PROCINC) $(UNIXINC) $(CPU_TARGET)
 sourcedir=$(INC) $(PROCINC) $(UNIXINC) $(CPU_TARGET) $(COMMON)
 targetdir=.
 
-[lib]
-libname=libfprtl.so
-libversion=2.0.0
-libunits=$(SYSTEMUNIT) objpas strings \
-      unix  ports \
-      dos crt objects printer \
+[shared]
+libunits=$(SYSTEMUNIT) objpas strings dos \
+      unix baseunix unixtype unixutil \
       sysutils typinfo math \
-      cpu mmx getopts heaptrc \
-      errors sockets ipc dl dynlibs varutils
+      $(CPU_UNITS) getopts \
+      errors sockets varutils \
+      classes variants sysconst rtlconsts \
 
 [prerules]
 RTL=..
@@ -54,6 +52,8 @@ COMMON=$(RTL)/common
 PROCINC=$(RTL)/$(CPU_TARGET)
 UNIXINC=$(RTL)/unix
 
+UNITPREFIX=rtl
+
 ifeq ($(CPU_TARGET),i386)
 CRT21=cprt21 gprt21
 CPU_UNITS=x86 ports cpu mmx
@@ -61,8 +61,6 @@ else
 CPU_UNITS=
 endif
 
-UNITPREFIX=rtl
-
 ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
 SYSTEMUNIT=system
 LINUXUNIT1=