+ fpcres (Darwin/)AArch64 support

o also use $elseif to stop endless $endif sequence at the end

git-svn-id: trunk@29949 -
This commit is contained in:
Jonas Maebe 2015-02-23 22:54:37 +00:00
parent bff3feae7b
commit fcfa8f3826
2 changed files with 26 additions and 37 deletions

View File

@ -73,7 +73,7 @@ begin
writeln(' i386, x86_64, arm (coff)');
writeln(' i386, x86_64, powerpc, powerpc64, arm, armeb, m68k,');
writeln(' sparc, alpha, ia64, mips, mipsel (elf)');
writeln(' i386, x86_64, powerpc, powerpc64, arm (mach-o)');
writeln(' i386, x86_64, powerpc, powerpc64, arm, aarch64 (mach-o)');
writeln(' bigendian, littleendian (external)');
writeln(' --subarch, -s <name> Set object file sub-architecture. Supported values:');
writeln(' arm: all, v4t, v6, v5tej, xscale, v7');
@ -312,6 +312,11 @@ begin
Result.MachineType:=mmtarm;
MachOSubMachineType.fArmSubType:=ArmSubMachine2MachOSubMachine[CurrentTarget.submachine.subarm];
end;
mtaarch64 :
begin
Result.MachineType:=mmtarm64;
MachOSubMachineType.fArm64SubType:=msmaarch64_all;
end;
end;
Result.SubMachineType:=MachOSubMachineType;
end;

View File

@ -22,7 +22,7 @@ interface
type
TMachineType = (mtnone, mti386,mtx86_64,mtppc,mtppc64,mtarm,mtarmeb,mtm68k,
mtsparc,mtalpha,mtia64,mtmips,mtmipsel,
mtsparc,mtalpha,mtia64,mtmips,mtmipsel,mtaarch64,
mtBigEndian,mtLittleEndian);
TMachineTypes = set of TMachineType;
@ -34,7 +34,7 @@ type
mtarm,mtarmeb:
(subarm: TSubMachineTypeArm);
mtnone, mti386,mtx86_64,mtppc,mtppc64,mtm68k,
mtsparc,mtalpha,mtia64,mtmips,mtmipsel,
mtsparc,mtalpha,mtia64,mtmips,mtmipsel,mtaarch64,
mtBigEndian,mtLittleEndian:
(subgen: TSubMachineTypeGeneric);
end;
@ -83,6 +83,7 @@ var
(name : 'ia64'; formats : [ofElf]), //mtia64
(name : 'mips'; formats : [ofElf]; alias : 'mipseb'), //mtmips
(name : 'mipsel'; formats : [ofElf]), //mtmipsel
(name : 'aarch64'; formats : [ofMachO]), //mtaarch64
(name : 'bigendian'; formats : [ofExt]), //mtBigEndian
(name : 'littleendian'; formats : [ofExt]) //mtLittleEndian
);
@ -104,30 +105,26 @@ var
mtppc,mtppc64]),
(name : 'xcoff'; ext : '.o'; machines : [mtppc{,mtppc64}]),
(name : 'mach-o'; ext : '.or'; machines : [mti386,mtx86_64,mtppc,
mtppc64,mtarm]),
mtppc64,mtarm,mtaarch64]),
(name : 'external'; ext : '.fpcres'; machines : [mtBigEndian,mtLittleEndian])
);
CurrentTarget : TResTarget =
(
{$IFDEF CPUI386}
{$if defined(CPUI386)}
machine : mti386;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUX86_64}
{$elseif defined(CPUX86_64)}
machine : mtx86_64;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUPOWERPC32}
{$elseif defined(CPUPOWERPC32)}
machine : mtppc;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUPOWERPC64}
{$elseif defined(CPUPOWERPC64)}
machine : mtppc64;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUARM}
{$elseif defined(CPUARM)}
{$IFDEF ENDIAN_LITTLE}
machine : mtarm;
submachine : (subarm: smtarm_all);
@ -135,44 +132,31 @@ var
machine : mtarmeb;
submachine : (subarm: smtarm_all);
{$ENDIF}
{$ELSE}
{$IFDEF CPU68K}
{$elseif defined(CPU68K)}
machine : mtm68k;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUSPARC}
{$elseif defined(CPUSPARC)}
machine : mtsparc;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUALPHA}
{$elseif defined(CPUALPHA)}
machine : mtalpha;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUIA64}
{$elseif defined(CPUIA64)}
machine : mtia64;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUMIPSEL}
{$elseif defined(CPUMIPSEL)}
machine : mtmipsel;
submachine : (subgen: smtgen_all);
{$ELSE}
{$IFDEF CPUMIPS}
{$elseif defined(CPUMIPS)}
machine : mtmips;
submachine : (subgen: smtgen_all);
{$ELSE}
{$elseif defined(CPUAARCH64)}
machine : mtaarch64;
submachine : (subgen: smtgen_all);
{$else}
machine : mti386; //default i386
submachine : (subgen: smtgen_all);
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$endif}
{$IFDEF WINDOWS}
objformat : ofCoff;