* Accept weak for Solaris targets

git-svn-id: trunk@14224 -
This commit is contained in:
pierre 2009-11-20 11:06:50 +00:00
parent db8f8e2637
commit 0687f16a04
4 changed files with 84 additions and 54 deletions

View File

@ -1,10 +1,10 @@
# #
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/11/05] # Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/11/17]
# #
default: all default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
BSDs = freebsd netbsd openbsd darwin BSDs = freebsd netbsd openbsd darwin
UNIXs = linux $(BSDs) solaris qnx UNIXs = linux $(BSDs) solaris qnx haiku
LIMIT83fs = go32v2 os2 emx watcom LIMIT83fs = go32v2 os2 emx watcom
OSNeedsComspecToRunBatch = go32v2 watcom OSNeedsComspecToRunBatch = go32v2 watcom
FORCE: FORCE:
@ -524,6 +524,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_DIRS+=utils override TARGET_DIRS+=utils
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_DIRS+=utils
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_DIRS+=utils override TARGET_DIRS+=utils
endif endif
@ -698,6 +701,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_PROGRAMS+=pp override TARGET_PROGRAMS+=pp
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override TARGET_PROGRAMS+=pp
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_PROGRAMS+=pp override TARGET_PROGRAMS+=pp
endif endif
@ -873,6 +879,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_INCLUDEDIR+=$(CPC_TARGET) override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_INCLUDEDIR+=$(CPC_TARGET) override COMPILER_INCLUDEDIR+=$(CPC_TARGET)
endif endif
@ -1047,6 +1056,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR) override COMPILER_UNITDIR+=$(COMPILERSOURCEDIR)
endif endif
@ -1221,6 +1233,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_TARGETDIR+=. override COMPILER_TARGETDIR+=.
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_TARGETDIR+=.
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_TARGETDIR+=. override COMPILER_TARGETDIR+=.
endif endif
@ -1395,6 +1410,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET) override COMPILER_UNITTARGETDIR+=$(CPU_UNITDIR)/units/$(FULL_TARGET)
endif endif
@ -2336,6 +2354,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_RTL=1
endif endif
@ -2396,9 +2417,9 @@ else
UNITDIR_RTL=$(PACKAGEDIR_RTL) UNITDIR_RTL=$(PACKAGEDIR_RTL)
endif endif
ifdef CHECKDEPEND ifdef CHECKDEPEND
$(PACKAGEDIR_RTL)/$(FPCMADE): $(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE):
$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE) $(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE)
override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE) override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE)
endif endif
else else
PACKAGEDIR_RTL= PACKAGEDIR_RTL=
@ -3113,6 +3134,9 @@ endif
ifeq ($(FULL_TARGET),x86_64-freebsd) ifeq ($(FULL_TARGET),x86_64-freebsd)
TARGET_DIRS_UTILS=1 TARGET_DIRS_UTILS=1
endif endif
ifeq ($(FULL_TARGET),x86_64-solaris)
TARGET_DIRS_UTILS=1
endif
ifeq ($(FULL_TARGET),x86_64-darwin) ifeq ($(FULL_TARGET),x86_64-darwin)
TARGET_DIRS_UTILS=1 TARGET_DIRS_UTILS=1
endif endif

View File

@ -933,6 +933,8 @@ implementation
end; end;
AB_EXTERNAL : AB_EXTERNAL :
elfsym.st_info:=STB_GLOBAL shl 4; elfsym.st_info:=STB_GLOBAL shl 4;
AB_WEAK_EXTERNAL :
elfsym.st_info:=STB_WEAK shl 4;
AB_GLOBAL : AB_GLOBAL :
begin begin
elfsym.st_value:=objsym.address; elfsym.st_value:=objsym.address;

View File

@ -404,6 +404,10 @@ interface
system_powerpc64_darwin,system_x86_64_darwin, system_powerpc64_darwin,system_x86_64_darwin,
system_arm_darwin]; system_arm_darwin];
{all solaris systems }
systems_solaris = [system_sparc_solaris, system_i386_solaris,
system_x86_64_solaris];
{ systems supporting Objective-C } { systems supporting Objective-C }
system_objc_supported = systems_darwin; system_objc_supported = systems_darwin;
@ -428,7 +432,7 @@ interface
system_ia64_win64]+system_linux; system_ia64_win64]+system_linux;
{ all systems for which weak linking has been tested/is supported } { all systems for which weak linking has been tested/is supported }
system_weak_linking = systems_darwin; system_weak_linking = systems_darwin + systems_solaris;
system_internal_sysinit = [system_i386_linux,system_i386_win32]; system_internal_sysinit = [system_i386_linux,system_i386_win32];

View File

@ -3,51 +3,51 @@ const fpcfg : array[0..3] of string[240]=(
{$else Delphi} {$else Delphi}
const fpcfg : array[0..3,1..240] of char=( const fpcfg : array[0..3,1..240] of char=(
{$endif Delphi} {$endif Delphi}
'#IFDEF NORMAL'#013#010+ '#IFDEF NORMAL'#010+
' -Ci'#013#010+ ' -Ci'#010+
' -XS'#013#010+ ' -XS'#010+
' -T%fpctargetos%'#013#010+ ' -T%fpctargetos%'#010+
' -Sg'#013#010+ ' -Sg'#010+
' -O1'#013#010+ ' -O1'#010+
' -Oppentium3'#013#010+ ' -Oppentium3'#010+
' -Ratt'#013#010+ ' -Ratt'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\*'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\*'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\rtl'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\rtl'#010+
' -g-'#013#010+ ' -g-'#010+
' -p-'#013,#010+ ' -p-'#010+
' -b-'#013#010+ ' -b-'#010+
'#ENDIF'#013#010+ '#ENDIF'#010,
#013#010+ #010+
'#IFDEF DEBUG'#013#010+ '#IFDEF DEBUG'#010+
' -Ci'#013#010+ ' -Ci'#010+
' -XS'#013#010+ ' -XS'#010+
' -T%fpctargetos%'#013#010+ ' -T%fpctargetos%'#010+
' -Sg'#013#010+ ' -Sg'#010+
' -Cr'#013#010+ ' -Cr'#010+
' -Co'#013#010+ ' -Co'#010+
' -Oppentium3'#013#010+ ' -Oppentium3'#010+
' -Ratt'#013#010+ ' -Ratt'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\*'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\*'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctarg','etos%\rtl'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\rtl'#010+
' -g'#013#010+ ' -g'#010+
' -p-'#013#010+ ' -p-'#010+
' -b-'#013#010+ ' -b-'#010+
'#ENDIF'#013#010+ '#EN','DIF'#010+
#013#010+ #010+
'#IFDEF RELEASE'#013#010+ '#IFDEF RELEASE'#010+
' -XS'#013#010+ ' -XS'#010+
' -T%fpctargetos%'#013#010+ ' -T%fpctargetos%'#010+
' -Sg'#013#010+ ' -Sg'#010+
' -O2'#013#010+ ' -O2'#010+
' -Oppentium3'#013#010+ ' -Oppentium3'#010+
' -Ratt'#013#010+ ' -Ratt'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%'#010+
' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\*'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\*'#010+
' -Fu%basepath%\units\%fpctarge','t%-%fpctargetos%\rtl'#013#010+ ' -Fu%basepath%\units\%fpctarget%-%fpctargetos%\rtl'#010+
' -g-'#013#010+ ' -g-'#010+
' -p-'#013#010+ ' -p-'#010+
' -b-'#013#010+ ' -b-'#010+
'#ENDIF'#013#010 '#ENDIF',#010
); );