|
@@ -118,7 +118,7 @@ Type
|
|
// Please keep this order, see OSCPUSupported below
|
|
// Please keep this order, see OSCPUSupported below
|
|
TCpu=(cpuNone,
|
|
TCpu=(cpuNone,
|
|
i386,m68k,powerpc,sparc,x86_64,arm,powerpc64,avr,armeb,
|
|
i386,m68k,powerpc,sparc,x86_64,arm,powerpc64,avr,armeb,
|
|
- mips,mipsel,mips64,mips64el,jvm,i8086,aarch64,wasm32,sparc64,riscv32,riscv64,xtensa,z80
|
|
|
|
|
|
+ mips,mipsel,mips64,mips64el,jvm,i8086,aarch64,wasm32,sparc64,riscv32,riscv64,xtensa,z80,loongarch64
|
|
);
|
|
);
|
|
TCPUS = Set of TCPU;
|
|
TCPUS = Set of TCPU;
|
|
|
|
|
|
@@ -194,53 +194,53 @@ Const
|
|
|
|
|
|
{ This table is kept OS,Cpu because it is easier to maintain (PFV) }
|
|
{ This table is kept OS,Cpu because it is easier to maintain (PFV) }
|
|
OSCPUSupported : array[TOS,TCpu] of boolean = (
|
|
OSCPUSupported : array[TOS,TCpu] of boolean = (
|
|
- { os none i386 m68k ppc sparc x86_64 arm ppc64 avr armeb mips mipsel mips64 mips64el jvm i8086 aarch64 wasm32 sparc64 riscv32 riscv64 xtensa z80}
|
|
|
|
- { none } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { linux } ( false, true, true, true, true, true, true, true, false, true , true , true , true , true , false, false, true , false, true , true , true, true , false),
|
|
|
|
- { go32v2 } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { win32 } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { os2 } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { freebsd } ( false, true, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { beos } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { netbsd } ( false, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { amiga } ( false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { atari } ( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { solaris } ( false, true, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { qnx } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { netware } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { openbsd } ( false, true, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { wdosx } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { palmos } ( false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
-{ macosclassic }( false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { darwin } ( false, true, false, true, false, true, false, true, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false),
|
|
|
|
- { emx } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { watcom } ( false, true, false, false, false ,false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { morphos } ( false, false, false, true, false ,false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { netwlibc }( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { win64 } ( false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false),
|
|
|
|
- { wince }( false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { gba } ( false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { nds } ( false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { embedded }( false, true, true, true, true, true, true, true, true, true , false, true, false, true, false, true , false, true, false, true, true, true , false),
|
|
|
|
- { symbian } ( false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { haiku } ( false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { iphonesim}( false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { aix } ( false, false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { java } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false, false),
|
|
|
|
- { android } ( false, true, false, false, false, true, true, false, false, false, false, true, false, true, true , false, true, false, false, false, false, false, false),
|
|
|
|
- { nativent }( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { msdos } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false),
|
|
|
|
- { wii } ( false, false, false, true , false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { aros } ( false, true, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { dragonfly}( false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { win16 } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false),
|
|
|
|
- { freertos }( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false),
|
|
|
|
- {zxspectrum}( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true ),
|
|
|
|
- { msxdos } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true ),
|
|
|
|
- { ios } ( false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false),
|
|
|
|
- {amstradcpc}( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true ),
|
|
|
|
- {sinclairql}( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
- { wasi } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false)
|
|
|
|
|
|
+ { os none i386 m68k ppc sparc x86_64 arm ppc64 avr armeb mips mipsel mips64 mips64el jvm i8086 aarch64 wasm32 sparc64 riscv32 riscv64 xtensa z80, loongarch64}
|
|
|
|
+ { none } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { linux } ( false, true, true, true, true, true, true, true, false, true , true , true , true , true , false, false, true , false, true , true , true, true , false, true),
|
|
|
|
+ { go32v2 } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { win32 } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { os2 } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { freebsd } ( false, true, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { beos } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { netbsd } ( false, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { amiga } ( false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { atari } ( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { solaris } ( false, true, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { qnx } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { netware } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { openbsd } ( false, true, true, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { wdosx } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { palmos } ( false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+{ macosclassic }( false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { darwin } ( false, true, false, true, false, true, false, true, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false),
|
|
|
|
+ { emx } ( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { watcom } ( false, true, false, false, false ,false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { morphos } ( false, false, false, true, false ,false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { netwlibc }( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { win64 } ( false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false),
|
|
|
|
+ { wince }( false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { gba } ( false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { nds } ( false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { embedded }( false, true, true, true, true, true, true, true, true, true , false, true, false, true, false, true , false, true, false, true, true, true , false, false),
|
|
|
|
+ { symbian } ( false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { haiku } ( false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { iphonesim}( false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { aix } ( false, false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { java } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { android } ( false, true, false, false, false, true, true, false, false, false, false, true, false, true, true , false, true, false, false, false, false, false, false, false),
|
|
|
|
+ { nativent }( false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { msdos } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false, false),
|
|
|
|
+ { wii } ( false, false, false, true , false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { aros } ( false, true, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { dragonfly}( false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { win16 } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false, false),
|
|
|
|
+ { freertos }( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true , false, false),
|
|
|
|
+ {zxspectrum}( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false),
|
|
|
|
+ { msxdos } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false),
|
|
|
|
+ { ios } ( false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, true , false, false, false, false, false, false, false),
|
|
|
|
+ {amstradcpc}( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false),
|
|
|
|
+ {sinclairql}( false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
|
|
|
|
+ { wasi } ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false)
|
|
);
|
|
);
|
|
|
|
|
|
// Useful
|
|
// Useful
|
|
@@ -3053,20 +3053,21 @@ begin
|
|
end
|
|
end
|
|
else if OS = linux then
|
|
else if OS = linux then
|
|
case CPU of
|
|
case CPU of
|
|
- i386: result := GetGccDirArch('cpui386',['-m32']);
|
|
|
|
- x86_64: result := GetGccDirArch('cpux86_64',['-m64']);
|
|
|
|
- powerpc: result := GetGccDirArch('cpupowerpc',['-m32']);
|
|
|
|
- powerpc64:result := GetGccDirArch('cpupowerpc64',['-m64']);
|
|
|
|
- arm: result := GetGccDirArch('cpuarm',['-marm','-march=armv2']);
|
|
|
|
- aarch64: result := GetGccDirArch('cpuaarch64',['-march=aarch64','-mcmodel=large']);
|
|
|
|
- m68k: result := GetGccDirArch('cpum68k',['-march=68020']);
|
|
|
|
- mips: result := GetGccDirArch('cpumips',['-mips32','-EB','-mabi=32']);
|
|
|
|
- mipsel: result := GetGccDirArch('cpumipsel',['-mips32','-EL','-mabi=32']);
|
|
|
|
- riscv32: result := GetGccDirArch('cpuriscv32',['-march=rv32imafdc']);
|
|
|
|
- riscv64: result := GetGccDirArch('cpuriscv64',['-march=rv64imafdc']);
|
|
|
|
- sparc: result := GetGccDirArch('cpusparc',['-m32']);
|
|
|
|
- sparc64: result := GetGccDirArch('cpusparc64',['-m64']);
|
|
|
|
- xtensa: result := GetGccDirArch('cpuxtensa',[]);
|
|
|
|
|
|
+ i386: result := GetGccDirArch('cpui386',['-m32']);
|
|
|
|
+ x86_64: result := GetGccDirArch('cpux86_64',['-m64']);
|
|
|
|
+ powerpc: result := GetGccDirArch('cpupowerpc',['-m32']);
|
|
|
|
+ powerpc64: result := GetGccDirArch('cpupowerpc64',['-m64']);
|
|
|
|
+ arm: result := GetGccDirArch('cpuarm',['-marm','-march=armv2']);
|
|
|
|
+ aarch64: result := GetGccDirArch('cpuaarch64',['-march=aarch64','-mcmodel=large']);
|
|
|
|
+ m68k: result := GetGccDirArch('cpum68k',['-march=68020']);
|
|
|
|
+ mips: result := GetGccDirArch('cpumips',['-mips32','-EB','-mabi=32']);
|
|
|
|
+ mipsel: result := GetGccDirArch('cpumipsel',['-mips32','-EL','-mabi=32']);
|
|
|
|
+ riscv32: result := GetGccDirArch('cpuriscv32',['-march=rv32imafdc']);
|
|
|
|
+ riscv64: result := GetGccDirArch('cpuriscv64',['-march=rv64imafdc']);
|
|
|
|
+ sparc: result := GetGccDirArch('cpusparc',['-m32']);
|
|
|
|
+ sparc64: result := GetGccDirArch('cpusparc64',['-m64']);
|
|
|
|
+ xtensa: result := GetGccDirArch('cpuxtensa',[]);
|
|
|
|
+ loongarch64: result := GetGccDirArch('cpuloongarch64',[]);
|
|
else
|
|
else
|
|
; // avoid compiler warning
|
|
; // avoid compiler warning
|
|
end {case}
|
|
end {case}
|