mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 20:33:13 +02:00
* Move rtl.cfg content to system.cfg
+ New rtl.cfg containg non-feature options of former file (i8086 only) * Use system.cfg for system unit compilation + add @rtl.cfg option for i8086 CPU git-svn-id: trunk@37920 -
This commit is contained in:
parent
6d072872d0
commit
bdd3b4e695
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -9093,6 +9093,7 @@ rtl/embedded/sysfile.inc svneol=native#text/plain
|
||||
rtl/embedded/sysheap.inc svneol=native#text/plain
|
||||
rtl/embedded/sysos.inc svneol=native#text/plain
|
||||
rtl/embedded/sysosh.inc svneol=native#text/plain
|
||||
rtl/embedded/system.cfg svneol=native#text/plain
|
||||
rtl/embedded/system.pp svneol=native#text/plain
|
||||
rtl/embedded/systhrd.inc svneol=native#text/plain
|
||||
rtl/embedded/sysutils.pp svneol=native#text/pascal
|
||||
|
@ -349,6 +349,9 @@ endif
|
||||
ifdef RELEASE
|
||||
override FPCOPT+=-Ur
|
||||
endif
|
||||
ifeq ($(ARCH),i8086)
|
||||
override FPCOPT+=@rtl.cfg
|
||||
endif
|
||||
CPU_UNITS=
|
||||
SYSINIT_UNITS=
|
||||
CPU_SPECIFIC_COMMON_UNITS=
|
||||
@ -2692,7 +2695,7 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
||||
startup$(OEXT) : $(CPU_TARGET)/startup.s
|
||||
$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)startup$(OEXT) $(CPU_TARGET)/startup.s -mabi=32 -march=pic32mx -mtune=pic32mx -W -EL -msym32
|
||||
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) $(INC)/softfpu.pp
|
||||
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp @rtl.cfg $(REDIR)
|
||||
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp @system.cfg $(REDIR)
|
||||
uuchar$(PPUEXT): $(INC)/uuchar.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
$(COMPILER) $<
|
||||
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
|
||||
|
@ -59,6 +59,11 @@ ifdef RELEASE
|
||||
override FPCOPT+=-Ur
|
||||
endif
|
||||
|
||||
# Always include rtl.cfg config file for i8086
|
||||
ifeq ($(ARCH),i8086)
|
||||
override FPCOPT+=@rtl.cfg
|
||||
endif
|
||||
|
||||
CPU_UNITS=
|
||||
SYSINIT_UNITS=
|
||||
CPU_SPECIFIC_COMMON_UNITS=
|
||||
@ -197,7 +202,7 @@ startup$(OEXT) : $(CPU_TARGET)/startup.s
|
||||
#
|
||||
|
||||
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS) $(INC)/softfpu.pp
|
||||
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp @rtl.cfg $(REDIR)
|
||||
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp @system.cfg $(REDIR)
|
||||
|
||||
uuchar$(PPUEXT): $(INC)/uuchar.pp $(SYSTEMUNIT)$(PPUEXT)
|
||||
$(COMPILER) $<
|
||||
|
@ -1,206 +1,10 @@
|
||||
# first, disable all
|
||||
-Sf-
|
||||
# enable required ones
|
||||
# they don't add much additional code or data
|
||||
-SfTEXTIO
|
||||
-SfFILEIO
|
||||
-SfHEAP
|
||||
|
||||
# uncomment to enable the stuff you want to use
|
||||
|
||||
# include full heap management into the rtl
|
||||
# -SfHEAP
|
||||
|
||||
# include support for init final code of units into the rtl
|
||||
# -SfINITFINAL
|
||||
|
||||
# -SfCLASSES
|
||||
# -SfEXCEPTIONS
|
||||
# -SfEXITCODE
|
||||
# -SfANSISTRINGS
|
||||
# -SfWIDESTRINGS
|
||||
# -SfTEXTIO
|
||||
# -SfCONSOLEIO
|
||||
# -SfFILEIO
|
||||
# -SfRANDOM
|
||||
# -SfVARIANTS
|
||||
# -SfOBJECTS
|
||||
# -SfDYNARRAYS
|
||||
# -SfTHREADING
|
||||
# -SfCOMMANDARGS
|
||||
# -SfPROCESSES
|
||||
# -SfSTACKCHECK
|
||||
# -SfDYNLIBS
|
||||
|
||||
# include exit code support
|
||||
-SfEXITCODE
|
||||
|
||||
# i386 is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUI386
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUI386
|
||||
|
||||
# x86_64 is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUX86_64
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUX86_64
|
||||
|
||||
# arm is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUARM
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUARM
|
||||
|
||||
# mipsel is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUMIPSEL
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUMIPSEL
|
||||
|
||||
# mips is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUMIPS
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUMIPS
|
||||
|
||||
# powerpc is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUPOWERPC
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUPOWERPC
|
||||
|
||||
# powerpc64 is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUPOWERPC64
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUPOWERPC64
|
||||
|
||||
# does not require extra memory, neither code nor data
|
||||
# in programs not using e. g. writeln based I/O which is the common case for AVR
|
||||
#ifdef CPUAVR
|
||||
-SfOBJECTS
|
||||
-SfEXCEPTIONS
|
||||
-SfCLASSES
|
||||
-SfRTTI
|
||||
# AVR6 has normally more memory, so enable more functions
|
||||
#ifdef CPUAVR6
|
||||
-SfANSISTRINGS
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
# Minimal set for m68k, copied from AVR above
|
||||
# does not require extra memory, neither code nor data
|
||||
# in programs not using e. g. writeln based I/O
|
||||
#ifdef CPUM68K
|
||||
-SfSOFTFPU
|
||||
-SfOBJECTS
|
||||
-SfEXCEPTIONS
|
||||
-SfCLASSES
|
||||
-SfRTTI
|
||||
#endif
|
||||
# Keep only options that are not features
|
||||
# as those are now restricted to system unit compilation only
|
||||
|
||||
# Minimal set for i8086, copied from AVR above
|
||||
# does not require extra memory, neither code nor data
|
||||
# in programs not using e. g. writeln based I/OR
|
||||
#ifdef CPUI8086
|
||||
-SfOBJECTS
|
||||
-SfEXCEPTIONS
|
||||
-SfCLASSES
|
||||
-SfRTTI
|
||||
-Cs2048
|
||||
-CX
|
||||
-XX
|
||||
|
207
rtl/embedded/system.cfg
Normal file
207
rtl/embedded/system.cfg
Normal file
@ -0,0 +1,207 @@
|
||||
# first, disable all
|
||||
-Sf-
|
||||
# enable required ones
|
||||
# they don't add much additional code or data
|
||||
-SfTEXTIO
|
||||
-SfFILEIO
|
||||
-SfHEAP
|
||||
|
||||
# uncomment to enable the stuff you want to use
|
||||
|
||||
# include full heap management into the rtl
|
||||
# -SfHEAP
|
||||
|
||||
# include support for init final code of units into the rtl
|
||||
# -SfINITFINAL
|
||||
|
||||
# -SfCLASSES
|
||||
# -SfEXCEPTIONS
|
||||
# -SfEXITCODE
|
||||
# -SfANSISTRINGS
|
||||
# -SfWIDESTRINGS
|
||||
# -SfTEXTIO
|
||||
# -SfCONSOLEIO
|
||||
# -SfFILEIO
|
||||
# -SfRANDOM
|
||||
# -SfVARIANTS
|
||||
# -SfOBJECTS
|
||||
# -SfDYNARRAYS
|
||||
# -SfTHREADING
|
||||
# -SfCOMMANDARGS
|
||||
# -SfPROCESSES
|
||||
# -SfSTACKCHECK
|
||||
# -SfDYNLIBS
|
||||
|
||||
# include exit code support
|
||||
-SfEXITCODE
|
||||
|
||||
# i386 is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUI386
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUI386
|
||||
|
||||
# x86_64 is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUX86_64
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUX86_64
|
||||
|
||||
# arm is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUARM
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUARM
|
||||
|
||||
# mipsel is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUMIPSEL
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUMIPSEL
|
||||
|
||||
# mips is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUMIPS
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUMIPS
|
||||
|
||||
# powerpc is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUPOWERPC
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUPOWERPC
|
||||
|
||||
# powerpc64 is powerful enough to handle most object pascal constructs
|
||||
# it is only a matter of size
|
||||
#ifdef CPUPOWERPC64
|
||||
-SfSOFTFPU
|
||||
-SfCLASSES
|
||||
-SfEXCEPTIONS
|
||||
-SfANSISTRINGS
|
||||
-SfRTTI
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif CPUPOWERPC64
|
||||
|
||||
# does not require extra memory, neither code nor data
|
||||
# in programs not using e. g. writeln based I/O which is the common case for AVR
|
||||
#ifdef CPUAVR
|
||||
-SfOBJECTS
|
||||
-SfEXCEPTIONS
|
||||
-SfCLASSES
|
||||
-SfRTTI
|
||||
# AVR6 has normally more memory, so enable more functions
|
||||
#ifdef CPUAVR6
|
||||
-SfANSISTRINGS
|
||||
-SfWIDESTRINGS
|
||||
-SfDYNARRAYS
|
||||
-SfTHREADING
|
||||
-SfVARIANTS
|
||||
-SfOBJECTS
|
||||
-SfCOMMANDARGS
|
||||
-SfRANDOM
|
||||
-SfRESOURCES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
# Minimal set for m68k, copied from AVR above
|
||||
# does not require extra memory, neither code nor data
|
||||
# in programs not using e. g. writeln based I/O
|
||||
#ifdef CPUM68K
|
||||
-SfSOFTFPU
|
||||
-SfOBJECTS
|
||||
-SfEXCEPTIONS
|
||||
-SfCLASSES
|
||||
-SfRTTI
|
||||
#endif
|
||||
|
||||
# Minimal set for i8086, copied from AVR above
|
||||
# does not require extra memory, neither code nor data
|
||||
# in programs not using e. g. writeln based I/OR
|
||||
#ifdef CPUI8086
|
||||
-SfOBJECTS
|
||||
-SfEXCEPTIONS
|
||||
-SfCLASSES
|
||||
-SfRTTI
|
||||
-Cs2048
|
||||
-CX
|
||||
-XX
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user