fpc/compiler/systems.inc
Jonas Maebe 1e2c70796e + jvm (cpu architecure) and java ("OS"/target) identifiers
+ basic target information for jvm target (assembling/linking
    helpers are still dummies for now)
  + basic jasmin assembler writer
  + cpunode and cputarg units to include the target units in the
    compiler

git-svn-id: branches/jvmbackend@18309 -
2011-08-20 07:37:33 +00:00

220 lines
7.9 KiB
PHP

{
Copyright (c) 1998-2008 by Florian Klaempfl
This include contains the enumeration
information about the target systems supported
(these are not processor specific)
This program is free software; you can redistribute it and/or modify
iu under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge- MA 02139, USA.
****************************************************************************
}
type
tendian = (endian_little,endian_big);
(*
IMPORTANT NOTE:
The value of this enumeration is stored in PPU files.
Therefore adding new CPU targets should not change the
values of the pre-existing targets. (CEC)
FURTHERMORE : Make sure that this branch values, are
consistant with the main branch version always.
*)
tsystemcpu=
(
cpu_no, { 0 }
cpu_i386, { 1 }
cpu_m68k, { 2 }
cpu_alpha, { 3 }
cpu_powerpc, { 4 }
cpu_sparc, { 5 }
cpu_vm, { 6 }
cpu_iA64, { 7 }
cpu_x86_64, { 8 }
cpu_mips, { 9 }
cpu_arm, { 10 }
cpu_powerpc64, { 11 }
cpu_avr, { 12 }
cpu_mipsel, { 13 }
cpu_jvm { 14 }
);
tasmmode= (asmmode_none
{ standard assembler (cpu dependant) with full parsing }
,asmmode_standard
,asmmode_i386_att
,asmmode_i386_intel
,asmmode_ppc_gas
,asmmode_ppc_motorola
,asmmode_arm_gas
,asmmode_sparc_gas
,asmmode_x86_64_gas
,asmmode_m68k_mot
,asmmode_x86_64_intel
,asmmode_x86_64_att
,asmmode_avr_gas
);
(* IMPORTANT NOTE:
the integer value of this enum is stored in PPU
files to recognize the target, so if you add new targets
allways add them at end PM
FURTHERMORE : Make sure that this branch values are
consistant with the main branch version always. (CEC)
*)
type
tsystem =
(
system_none, { 0 }
obsolete_system_i386_GO32V1,{ 1 }
system_i386_GO32V2, { 2 }
system_i386_linux, { 3 }
system_i386_OS2, { 4 }
system_i386_Win32, { 5 }
system_i386_freebsd, { 6 }
system_m68k_Amiga, { 7 }
system_m68k_Atari, { 8 }
system_m68k_Mac, { 9 }
system_m68k_linux, { 10 }
system_m68k_PalmOS, { 11 }
system_alpha_linux, { 12 }
system_powerpc_linux, { 13 }
system_powerpc_macos, { 14 }
system_i386_solaris, { 15 }
system_i386_beos, { 16 }
system_i386_netbsd, { 17 }
system_m68k_netbsd, { 18 }
system_i386_Netware, { 19 }
system_i386_qnx, { 20 }
system_i386_wdosx, { 21 }
system_sparc_solaris, { 22 }
system_sparc_linux, { 23 }
system_i386_openbsd, { 24 }
system_m68k_openbsd, { 25 }
system_x86_64_linux, { 26 }
system_powerpc_darwin, { 27 }
system_i386_EMX, { 28 }
system_powerpc_netbsd, { 29 }
system_powerpc_openbsd, { 30 }
system_arm_linux, { 31 }
system_i386_watcom, { 32 }
system_powerpc_MorphOS, { 33 }
system_x86_64_freebsd, { 34 }
system_i386_netwlibc, { 35 }
system_powerpc_Amiga, { 36 }
system_x86_64_win64, { 37 }
system_arm_wince, { 38 }
system_ia64_win64, { 39 }
system_i386_wince, { 40 }
system_x86_6432_linux, { 41 }
system_arm_gba, { 42 }
system_powerpc64_linux, { 43 }
system_i386_darwin, { 44 }
system_arm_palmos, { 45 }
system_powerpc64_darwin, { 46 }
system_arm_nds, { 47 }
system_i386_embedded, { 48 }
system_m68k_embedded, { 49 }
system_alpha_embedded, { 50 }
system_powerpc_embedded, { 51 }
system_sparc_embedded, { 52 }
system_vm_embedded, { 53 }
system_iA64_embedded, { 54 }
system_x86_64_embedded, { 55 }
system_mips_embedded, { 56 }
system_arm_embedded, { 57 }
system_powerpc64_embedded, { 58 }
system_i386_symbian, { 59 }
system_arm_symbian, { 60 }
system_x86_64_darwin, { 61 }
system_avr_embedded, { 62 }
system_i386_haiku, { 63 }
system_arm_darwin, { 64 }
system_x86_64_solaris, { 65 }
system_mips_linux, { 66 }
system_mipsel_linux, { 67 }
system_i386_nativent, { 68 }
system_i386_iphonesim, { 69 }
system_powerpc_wii, { 70 }
system_jvm_java32 { 71 }
);
type
tasm = (as_none
,as_gas { standard gnu assembler }
,as_i386_as_aout
,as_i386_nasmcoff
,as_i386_nasmwin32
,as_i386_nasmwdosx
,as_i386_nasmelf
,as_i386_nasmobj
,as_i386_nasmbeos
,as_i386_tasm
,as_i386_masm
,as_i386_wasm
,as_i386_coff
,as_i386_pecoff
,as_i386_elf32
,as_i386_pecoffwdosx
,as_m68k_mit
,as_powerpc_mpw
,as_darwin
,as_i386_macho
,as_x86_64_masm
,as_x86_64_pecoff
,as_i386_pecoffwince
,as_arm_pecoffwince
,as_x86_64_elf64
,as_sparc_elf32
,as_ggas { gnu assembler called "gas" instead of "as" }
,as_i386_nasmhaiku
,as_powerpc_vasm
,as_i386_nlmcoff
,as_jvm_jasmin
);
tar = (ar_none
,ar_gnu_ar
,ar_mpw_ar
,ar_gnu_ar_scripted
,ar_gnu_gar
);
tres = (res_none
,res_gnu_windres,res_watcom_wrc_os2
,res_m68k_palmos,res_m68k_mpw
,res_powerpc_mpw,res_elf
,res_win64_gorc, res_macho, res_ext
);
tresinfoflags = (res_external_file,res_arch_in_file_name
,res_single_file);
tdbg = (dbg_none
,dbg_stabs,dbg_dwarf2,dbg_dwarf3,dbg_dwarf4
);
tscripttype = (script_none
,script_dos,script_unix,script_amiga,
script_mpw
);
tabi = (abi_default
,abi_powerpc_sysv,abi_powerpc_aix
,abi_eabi,abi_armeb
);