Răsfoiți Sursa

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 -
Károly Balogh 7 ani în urmă
părinte
comite
7c3702d3b0
5 a modificat fișierele cu 20 adăugiri și 3 ștergeri
  1. 1 0
      .gitattributes
  2. 2 2
      rtl/palmos/Makefile
  3. 1 1
      rtl/palmos/Makefile.fpc
  4. 8 0
      rtl/palmos/rtl.cfg
  5. 8 0
      rtl/palmos/system.pp

+ 1 - 0
.gitattributes

@@ -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

+ 2 - 2
rtl/palmos/Makefile

@@ -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)

+ 1 - 1
rtl/palmos/Makefile.fpc

@@ -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 - 0
rtl/palmos/rtl.cfg

@@ -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

+ 8 - 0
rtl/palmos/system.pp

@@ -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.