summaryrefslogtreecommitdiff
path: root/compiler/utils
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils')
-rw-r--r--compiler/utils/Makefile61
-rw-r--r--compiler/utils/fpc.pp14
-rw-r--r--compiler/utils/ppuutils/ppudump.pp25
-rw-r--r--compiler/utils/samplecfg2
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