systems.inc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. {
  2. Copyright (c) 1998-2008 by Florian Klaempfl
  3. This include contains the enumeration
  4. information about the target systems supported
  5. (these are not processor specific)
  6. This program is free software; you can redistribute it and/or modify
  7. iu under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 675 Mass Ave, Cambridge- MA 02139, USA.
  17. ****************************************************************************
  18. }
  19. type
  20. tendian = (endian_little,endian_big);
  21. (*
  22. IMPORTANT NOTE:
  23. The value of this enumeration is stored in PPU files.
  24. Therefore adding new CPU targets should not change the
  25. values of the pre-existing targets. (CEC)
  26. FURTHERMORE : Make sure that this branch values, are
  27. consistant with the main branch version always.
  28. *)
  29. tsystemcpu=
  30. (
  31. cpu_no, { 0 }
  32. cpu_i386, { 1 }
  33. cpu_m68k, { 2 }
  34. cpu_alpha, { 3 }
  35. cpu_powerpc, { 4 }
  36. cpu_sparc, { 5 }
  37. cpu_vm, { 6 }
  38. cpu_iA64, { 7 }
  39. cpu_x86_64, { 8 }
  40. cpu_mipseb, { 9 }
  41. cpu_arm, { 10 }
  42. cpu_powerpc64, { 11 }
  43. cpu_avr, { 12 }
  44. cpu_mipsel, { 13 }
  45. cpu_jvm, { 14 }
  46. cpu_i8086, { 15 }
  47. cpu_aarch64 { 16 }
  48. );
  49. tasmmode= (asmmode_none
  50. { standard assembler (cpu dependant) with full parsing }
  51. ,asmmode_standard
  52. ,asmmode_i386_att
  53. ,asmmode_i386_intel
  54. ,asmmode_ppc_gas
  55. ,asmmode_ppc_motorola
  56. ,asmmode_arm_gas
  57. ,asmmode_sparc_gas
  58. ,asmmode_x86_64_gas
  59. ,asmmode_m68k_mot
  60. ,asmmode_x86_64_intel
  61. ,asmmode_x86_64_att
  62. ,asmmode_avr_gas
  63. ,asmmode_i8086_intel
  64. ,asmmode_i8086_att
  65. );
  66. (* IMPORTANT NOTE:
  67. the integer value of this enum is stored in PPU
  68. files to recognize the target, so if you add new targets
  69. allways add them at end PM
  70. FURTHERMORE : Make sure that this branch values are
  71. consistant with the main branch version always. (CEC)
  72. *)
  73. type
  74. tsystem =
  75. (
  76. system_none, { 0 }
  77. obsolete_system_i386_GO32V1,{ 1 }
  78. system_i386_GO32V2, { 2 }
  79. system_i386_linux, { 3 }
  80. system_i386_OS2, { 4 }
  81. system_i386_Win32, { 5 }
  82. system_i386_freebsd, { 6 }
  83. system_m68k_Amiga, { 7 }
  84. system_m68k_Atari, { 8 }
  85. system_m68k_Mac, { 9 }
  86. system_m68k_linux, { 10 }
  87. system_m68k_PalmOS, { 11 }
  88. system_alpha_linux, { 12 }
  89. system_powerpc_linux, { 13 }
  90. system_powerpc_macos, { 14 }
  91. system_i386_solaris, { 15 }
  92. system_i386_beos, { 16 }
  93. system_i386_netbsd, { 17 }
  94. system_m68k_netbsd, { 18 }
  95. system_i386_Netware, { 19 }
  96. system_i386_qnx, { 20 }
  97. system_i386_wdosx, { 21 }
  98. system_sparc_solaris, { 22 }
  99. system_sparc_linux, { 23 }
  100. system_i386_openbsd, { 24 }
  101. system_m68k_openbsd, { 25 }
  102. system_x86_64_linux, { 26 }
  103. system_powerpc_darwin, { 27 }
  104. system_i386_EMX, { 28 }
  105. system_powerpc_netbsd, { 29 }
  106. system_powerpc_openbsd, { 30 }
  107. system_arm_linux, { 31 }
  108. system_i386_watcom, { 32 }
  109. system_powerpc_MorphOS, { 33 }
  110. system_x86_64_freebsd, { 34 }
  111. system_i386_netwlibc, { 35 }
  112. system_powerpc_Amiga, { 36 }
  113. system_x86_64_win64, { 37 }
  114. system_arm_wince, { 38 }
  115. system_ia64_win64, { 39 }
  116. system_i386_wince, { 40 }
  117. system_x86_6432_linux, { 41 }
  118. system_arm_gba, { 42 }
  119. system_powerpc64_linux, { 43 }
  120. system_i386_darwin, { 44 }
  121. system_arm_palmos, { 45 }
  122. system_powerpc64_darwin, { 46 }
  123. system_arm_nds, { 47 }
  124. system_i386_embedded, { 48 }
  125. system_m68k_embedded, { 49 }
  126. system_alpha_embedded, { 50 }
  127. system_powerpc_embedded, { 51 }
  128. system_sparc_embedded, { 52 }
  129. system_vm_embedded, { 53 }
  130. system_iA64_embedded, { 54 }
  131. system_x86_64_embedded, { 55 }
  132. system_mips_embedded, { 56 }
  133. system_arm_embedded, { 57 }
  134. system_powerpc64_embedded, { 58 }
  135. system_i386_symbian, { 59 }
  136. system_arm_symbian, { 60 }
  137. system_x86_64_darwin, { 61 }
  138. system_avr_embedded, { 62 }
  139. system_i386_haiku, { 63 }
  140. system_arm_darwin, { 64 }
  141. system_x86_64_solaris, { 65 }
  142. system_mipseb_linux, { 66 }
  143. system_mipsel_linux, { 67 }
  144. system_i386_nativent, { 68 }
  145. system_i386_iphonesim, { 69 }
  146. system_powerpc_wii, { 70 }
  147. system_x86_64_openbsd, { 71 }
  148. system_x86_64_netbsd, { 72 }
  149. system_powerpc_aix, { 73 }
  150. system_powerpc64_aix, { 74 }
  151. system_jvm_java32, { 75 }
  152. system_jvm_android32, { 76 }
  153. system_arm_android, { 77 }
  154. system_i386_android, { 78 }
  155. system_i8086_msdos, { 79 }
  156. system_mipsel_android, { 80 }
  157. system_mipseb_embedded, { 81 }
  158. system_mipsel_embedded, { 82 }
  159. system_i386_aros, { 83 }
  160. system_x86_64_aros, { 84 }
  161. system_x86_64_dragonfly, { 85 }
  162. system_aarch64_darwin, { 85 }
  163. system_x86_64_iphonesim { 86 }
  164. );
  165. type
  166. tasm = (as_none
  167. ,as_gas { standard gnu assembler }
  168. ,as_i386_as_aout
  169. ,as_i386_nasmcoff
  170. ,as_i386_nasmwin32
  171. ,as_i386_nasmwdosx
  172. ,as_i386_nasmelf
  173. ,as_i386_nasmobj
  174. ,as_i386_nasmbeos
  175. ,as_i386_tasm
  176. ,as_i386_masm
  177. ,as_i386_wasm
  178. ,as_i386_coff
  179. ,as_i386_pecoff
  180. ,as_i386_elf32
  181. ,as_i386_pecoffwdosx
  182. ,as_m68k_mit
  183. ,as_powerpc_mpw
  184. ,as_darwin
  185. ,as_i386_macho
  186. ,as_x86_64_masm
  187. ,as_x86_64_pecoff
  188. ,as_i386_pecoffwince
  189. ,as_arm_pecoffwince
  190. ,as_x86_64_elf64
  191. ,as_sparc_elf32
  192. ,as_ggas { gnu assembler called "gas" instead of "as" }
  193. ,as_i386_nasmhaiku
  194. ,as_powerpc_vasm
  195. ,as_i386_nlmcoff
  196. ,as_powerpc_xcoff
  197. ,as_jvm_jasmin
  198. ,as_yasm
  199. ,as_i386_nasm
  200. ,as_i386_nasmdarwin
  201. ,as_x86_64_nasm
  202. ,as_x86_64_nasmwin64
  203. ,as_x86_64_nasmelf
  204. ,as_x86_64_nasmdarwin
  205. ,as_i8086_nasm
  206. ,as_i8086_nasmobj
  207. ,as_gas_powerpc_xcoff
  208. );
  209. tlink = (ld_none,
  210. ld_aix, { external linkers (one per OS, handles all CPUs) }
  211. ld_amiga,
  212. ld_aros,
  213. ld_atari,
  214. ld_android,
  215. ld_beos,
  216. ld_bsd,
  217. ld_embedded,
  218. ld_emx,
  219. ld_gba,
  220. ld_go32v2,
  221. ld_haiku,
  222. ld_jvm,
  223. ld_linux,
  224. ld_morphos,
  225. ld_mpw,
  226. ld_msdos,
  227. ld_nds,
  228. ld_netwlibc,
  229. ld_netware,
  230. ld_os2,
  231. ld_palmos,
  232. ld_solaris,
  233. ld_watcom,
  234. ld_wdosx,
  235. ld_wii,
  236. ld_windows,
  237. ld_int_go32v2, { implemented internal linkers }
  238. ld_int_linux,
  239. ld_int_nativent,
  240. ld_int_netware,
  241. ld_int_windows
  242. );
  243. tar = (ar_none
  244. ,ar_gnu_ar
  245. ,ar_mpw_ar
  246. ,ar_gnu_ar_scripted
  247. ,ar_gnu_gar
  248. ,ar_watcom_wlib_omf
  249. ,ar_watcom_wlib_omf_scripted
  250. );
  251. tres = (res_none
  252. ,res_gnu_windres,res_watcom_wrc_os2
  253. ,res_m68k_palmos,res_m68k_mpw
  254. ,res_powerpc_mpw,res_elf,res_xcoff
  255. ,res_win64_gorc, res_macho, res_ext
  256. ,res_jvm_raw
  257. );
  258. tresinfoflags = (res_external_file,res_arch_in_file_name
  259. ,res_single_file,res_no_compile);
  260. tdbg = (dbg_none
  261. ,dbg_stabs,dbg_stabx,dbg_dwarf2,dbg_dwarf3,dbg_dwarf4,dbg_jasmin
  262. );
  263. tscripttype = (script_none
  264. ,script_dos,script_unix,script_amiga,
  265. script_mpw,
  266. script_fpcres
  267. );
  268. tabi = (abi_default
  269. ,abi_powerpc_sysv,abi_powerpc_aix
  270. ,abi_eabi,abi_armeb,abi_eabihf
  271. ,abi_old_win32_gnu
  272. ,abi_aarch64_darwin
  273. );