palmos: make it easy to disable certain features, also disable some which are not needed now. hello, world! is about 6K with these settings, about 5K smaller than otherwise

git-svn-id: trunk@37937 -
This commit is contained in:
Károly Balogh 2018-01-09 15:17:10 +00:00
parent 31ad24023f
commit 7c3702d3b0
5 changed files with 20 additions and 3 deletions

1
.gitattributes vendored
View File

@ -10092,6 +10092,7 @@ rtl/palmos/m68k/prt0.as svneol=native#text/plain
rtl/palmos/palmos.inc svneol=native#text/plain
rtl/palmos/pilot.pp svneol=native#text/plain
rtl/palmos/readme -text
rtl/palmos/rtl.cfg svneol=native#text/plain
rtl/palmos/rtldefs.inc svneol=native#text/plain
rtl/palmos/si_prc.pp svneol=native#text/plain
rtl/palmos/sysdir.inc svneol=native#text/plain

View File

@ -1,5 +1,5 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2018/01/04]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2018/01/09]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-aros x86_64-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin wasm-wasm sparc64-linux
@ -2843,7 +2843,7 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
$(PRT0)$(OEXT) : $(CPU_TARGET)/$(PRT0).as
$(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)$(PRT0)$(OEXT) $(CPU_TARGET)/$(PRT0).as
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp
si_prc$(PPUEXT): si_prc.pp palmos.inc $(SYSTEMUNIT)$(PPUEXT)
uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)

View File

@ -108,7 +108,7 @@ $(PRT0)$(OEXT) : $(CPU_TARGET)/$(PRT0).as
#
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(SYSTEMUNIT).pp
$(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp
si_prc$(PPUEXT): si_prc.pp palmos.inc $(SYSTEMUNIT)$(PPUEXT)

8
rtl/palmos/rtl.cfg Normal file
View File

@ -0,0 +1,8 @@
# Some optional features for PalmOS
# Disabled because the RTL has no code for these right now
-SfNOCONSOLEIO
-SfNOCOMMANDARGS
# Disabled to reduce binary sizes. Can be enabled when necessary.
-SfNOUNICODESTRINGS

View File

@ -143,18 +143,26 @@ begin
end;
begin
{$ifdef FPC_HAS_FEATURE_STACKCHECK}
StackLength := CheckInitialStkLen(InitialStkLen);
{$endif FPC_HAS_FEATURE_STACKCHECK}
{ Initialize ExitProc }
ExitProc:=Nil;
{$ifdef FPC_HAS_FEATURE_EXCEPTIONS}
SysInitExceptions;
{$endif FPC_HAS_FEATURE_EXCEPTIONS}
{$ifdef FPC_HAS_FEATURE_UNICODESTRINGS}
InitUnicodeStringManager;
{$endif FPC_HAS_FEATURE_UNICODESTRINGS}
{$ifdef FPC_HAS_FEATURE_CONSOLEIO}
{ Setup stdin, stdout and stderr }
SysInitStdIO;
{$endif FPC_HAS_FEATURE_CONSOLEIO}
{ Reset IO Error }
InOutRes:=0;
{$ifdef FPC_HAS_FEATURE_COMMANDARGS}
{ Setup command line arguments }
SysInitParamsAndEnv;
{$endif FPC_HAS_FEATURE_COMMANDARGS}
end.