diff options
Diffstat (limited to 'compiler/utils')
-rw-r--r-- | compiler/utils/Makefile | 61 | ||||
-rw-r--r-- | compiler/utils/fpc.pp | 14 | ||||
-rw-r--r-- | compiler/utils/ppuutils/ppudump.pp | 25 | ||||
-rw-r--r-- | compiler/utils/samplecfg | 2 |
4 files changed, 82 insertions, 20 deletions
diff --git a/compiler/utils/Makefile b/compiler/utils/Makefile index 72d50d224c..c4bc0d14b3 100644 --- a/compiler/utils/Makefile +++ b/compiler/utils/Makefile @@ -1,9 +1,9 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-03-19 rev 27188] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-12-07 rev 29213] # 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 i386-nativent i386-iphonesim i386-android 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 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 arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android 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-msdos -BSDs = freebsd netbsd openbsd darwin +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 i386-nativent i386-iphonesim i386-android i386-aros 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 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-dragonfly arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android 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-msdos +BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos OSNeedsComspecToRunBatch = go32v2 watcom @@ -394,6 +394,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mkarmins mkx86ins endif +ifeq ($(FULL_TARGET),i386-aros) +override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mkarmins mkx86ins +endif ifeq ($(FULL_TARGET),m68k-linux) override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mkarmins mkx86ins endif @@ -481,6 +484,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mkarmins mkx86ins endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mkarmins mkx86ins +endif ifeq ($(FULL_TARGET),arm-linux) override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove mkarmins mkx86ins endif @@ -619,6 +625,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override CLEAN_UNITS+=ppu crc endif +ifeq ($(FULL_TARGET),i386-aros) +override CLEAN_UNITS+=ppu crc +endif ifeq ($(FULL_TARGET),m68k-linux) override CLEAN_UNITS+=ppu crc endif @@ -706,6 +715,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override CLEAN_UNITS+=ppu crc endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override CLEAN_UNITS+=ppu crc +endif ifeq ($(FULL_TARGET),arm-linux) override CLEAN_UNITS+=ppu crc endif @@ -845,6 +857,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override COMPILER_UNITDIR+=.. endif +ifeq ($(FULL_TARGET),i386-aros) +override COMPILER_UNITDIR+=.. +endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_UNITDIR+=.. endif @@ -932,6 +947,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override COMPILER_UNITDIR+=.. endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override COMPILER_UNITDIR+=.. +endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_UNITDIR+=.. endif @@ -1070,6 +1088,9 @@ endif ifeq ($(FULL_TARGET),i386-android) override COMPILER_SOURCEDIR+=.. endif +ifeq ($(FULL_TARGET),i386-aros) +override COMPILER_SOURCEDIR+=.. +endif ifeq ($(FULL_TARGET),m68k-linux) override COMPILER_SOURCEDIR+=.. endif @@ -1157,6 +1178,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) override COMPILER_SOURCEDIR+=.. endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +override COMPILER_SOURCEDIR+=.. +endif ifeq ($(FULL_TARGET),arm-linux) override COMPILER_SOURCEDIR+=.. endif @@ -1470,6 +1494,12 @@ EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=lnx endif +ifeq ($(OS_TARGET),dragonfly) +BATCHEXT=.sh +EXEEXT= +HASSHAREDLIB=1 +SHORTSUFFIX=df +endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= @@ -1515,6 +1545,11 @@ EXEEXT= SHAREDLIBEXT=.library SHORTSUFFIX=amg endif +ifeq ($(OS_TARGET),aros) +EXEEXT= +SHAREDLIBEXT=.library +SHORTSUFFIX=aros +endif ifeq ($(OS_TARGET),morphos) EXEEXT= SHAREDLIBEXT=.library @@ -1936,6 +1971,9 @@ endif ifeq ($(FULL_TARGET),i386-android) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),i386-aros) +REQUIRE_PACKAGES_RTL=1 +endif ifeq ($(FULL_TARGET),m68k-linux) REQUIRE_PACKAGES_RTL=1 endif @@ -2023,6 +2061,9 @@ endif ifeq ($(FULL_TARGET),x86_64-embedded) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(FULL_TARGET),x86_64-dragonfly) +REQUIRE_PACKAGES_RTL=1 +endif ifeq ($(FULL_TARGET),arm-linux) REQUIRE_PACKAGES_RTL=1 endif @@ -2243,7 +2284,7 @@ endif ifdef CREATESHARED override FPCOPT+=-Cg endif -ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),) +ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),) ifeq ($(CPU_TARGET),x86_64) override FPCOPT+=-Cg endif @@ -2273,17 +2314,23 @@ ifdef ACROSSCOMPILE override FPCOPT+=$(CROSSOPT) endif override COMPILER:=$(strip $(FPC) $(FPCOPT)) -ifeq (,$(findstring -s ,$(COMPILER))) +ifneq (,$(findstring -sh ,$(COMPILER))) +UseEXECPPAS=1 +endif +ifneq (,$(findstring -s ,$(COMPILER))) +ifeq ($(FULL_SOURCE),$(FULL_TARGET)) +UseEXECPPAS=1 +endif +endif +ifneq ($(UseEXECPPAS),1) EXECPPAS= else -ifeq ($(FULL_SOURCE),$(FULL_TARGET)) ifdef RUNBATCH EXECPPAS:=@$(RUNBATCH) $(PPAS) else EXECPPAS:=@$(PPAS) endif endif -endif .PHONY: fpc_exes ifndef CROSSINSTALL ifneq ($(TARGET_PROGRAMS),) diff --git a/compiler/utils/fpc.pp b/compiler/utils/fpc.pp index 9d2de163ad..7da8dd2e1a 100644 --- a/compiler/utils/fpc.pp +++ b/compiler/utils/fpc.pp @@ -29,19 +29,15 @@ program fpc; {$ifdef UNIX} exeext=''; {$else UNIX} - {$ifdef AMIGA} + {$ifdef HASAMIGA} exeext=''; {$else} - {$ifdef MORPHOS} - exeext=''; - {$else} - {$ifdef NETWARE} + {$ifdef NETWARE} exeext='.nlm'; - {$else} + {$else} exeext='.exe'; - {$endif NETWARE} - {$endif MORPHOS} - {$endif AMIGA} + {$endif NETWARE} + {$endif HASAMIGA} {$endif UNIX} diff --git a/compiler/utils/ppuutils/ppudump.pp b/compiler/utils/ppuutils/ppudump.pp index 9d8d4dd560..24c58cff0d 100644 --- a/compiler/utils/ppuutils/ppudump.pp +++ b/compiler/utils/ppuutils/ppudump.pp @@ -164,7 +164,10 @@ const { 79 } 'MSDOS-i8086', { 80 } 'Android-MIPSel', { 81 } 'Embedded-mipseb', - { 82 } 'Embedded-mipsel' + { 82 } 'Embedded-mipsel', + { 83 } 'AROS-i386', + { 84 } 'AROS-x86-64', + { 85 } 'DragonFly-x86-64' ); const @@ -1100,9 +1103,7 @@ end; disabledircache : boolean; { CPU targets with microcontroller support can add a controller specific unit } -{$if defined(ARM) or defined(AVR) or defined(MIPSEL)} controllertype : tcontrollertype; -{$endif defined(ARM) or defined(AVR) or defined(MIPSEL)} { WARNING: this pointer cannot be written as such in record token } pmessage : pmessagestaterecord; end; @@ -1526,6 +1527,19 @@ begin end; end; + if [df_generic,df_specialization]*defoptions<>[] then + begin + nb:=ppufile.getlongint; + writeln([space,'has ',nb,' parameters']); + if nb>0 then + begin + for i:=0 to nb-1 do + begin + writeln([space,'parameter ',i,': ',ppufile.getstring]); + readderef(space); + end; + end; + end; if df_generic in defoptions then begin tokenbufsize:=ppufile.getlongint; @@ -1724,6 +1738,7 @@ const (mask:po_syscall_basesysv;str:'SyscallBaseSysV'), (mask:po_syscall_sysvbase;str:'SyscallSysVBase'), (mask:po_syscall_r12base; str:'SyscallR12Base'), + (mask:po_syscall_has_libsym; str:'Has LibSym'), (mask:po_inline; str:'Inline'), (mask:po_compilerproc; str:'CompilerProc'), (mask:po_has_importdll; str:'HasImportDLL'), @@ -1804,6 +1819,8 @@ begin i:=ppufile.getbyte; ppufile.getdata(tempbuf,i); end; + if po_syscall_has_libsym in procoptions then + readderef(space); end; @@ -2867,6 +2884,8 @@ begin writeln([space,' Range : ',arrdef.RangeLow,' to ',arrdef.RangeHigh]); write ([space,' Options : ']); readarraydefoptions(arrdef); + if tsystemcpu(ppufile.header.cpu)=cpu_i8086 then + writeln([space,' Huge : ',(getbyte<>0)]); readsymtable('symbols', arrdef); end; diff --git a/compiler/utils/samplecfg b/compiler/utils/samplecfg index c48c0b9e6a..0f08fefd10 100644 --- a/compiler/utils/samplecfg +++ b/compiler/utils/samplecfg @@ -99,4 +99,4 @@ ${FPCMKCFGBIN} -p -3 $compilerconfigdir -o $fppkgfile # Write default echo Writing sample configuration file to $defaultfile -${FPCMKCFGBIN} -p -4 -d "GlobalPrefix=$FPCGLOBALPREFIX" -o $defaultfile +${FPCMKCFGBIN} -p -4 -d "GlobalPrefix=$FPCGLOBALPREFIX" -d "FpcBin=$FPCBIN" -o $defaultfile |