system.cfg 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. # first, disable all
  2. -Sf-
  3. # enable required ones
  4. # they don't add much additional code or data
  5. -SfTEXTIO
  6. -SfFILEIO
  7. -SfHEAP
  8. # uncomment to enable the stuff you want to use
  9. # include full heap management into the rtl
  10. # -SfHEAP
  11. # include support for init final code of units into the rtl
  12. # -SfINITFINAL
  13. # -SfCLASSES
  14. # -SfEXCEPTIONS
  15. # -SfEXITCODE
  16. # -SfANSISTRINGS
  17. # -SfWIDESTRINGS
  18. # -SfTEXTIO
  19. # -SfCONSOLEIO
  20. # -SfFILEIO
  21. # -SfRANDOM
  22. # -SfVARIANTS
  23. # -SfOBJECTS
  24. # -SfDYNARRAYS
  25. # -SfTHREADING
  26. # -SfCOMMANDARGS
  27. # -SfPROCESSES
  28. # -SfSTACKCHECK
  29. # -SfDYNLIBS
  30. # include exit code support
  31. -SfEXITCODE
  32. #ifdef CPUAVR
  33. -SfRANDOM
  34. #endif CPUAVR
  35. # i386 is powerful enough to handle most object pascal constructs
  36. # it is only a matter of size
  37. #ifdef CPUI386
  38. -SfSOFTFPU
  39. -SfCLASSES
  40. -SfEXCEPTIONS
  41. -SfANSISTRINGS
  42. -SfRTTI
  43. -SfWIDESTRINGS
  44. -SfDYNARRAYS
  45. -SfTHREADING
  46. -SfVARIANTS
  47. -SfOBJECTS
  48. -SfCOMMANDARGS
  49. -SfRANDOM
  50. -SfRESOURCES
  51. #endif CPUI386
  52. # x86_64 is powerful enough to handle most object pascal constructs
  53. # it is only a matter of size
  54. #ifdef CPUX86_64
  55. -SfSOFTFPU
  56. -SfCLASSES
  57. -SfEXCEPTIONS
  58. -SfANSISTRINGS
  59. -SfRTTI
  60. -SfWIDESTRINGS
  61. -SfDYNARRAYS
  62. -SfTHREADING
  63. -SfVARIANTS
  64. -SfOBJECTS
  65. -SfCOMMANDARGS
  66. -SfRANDOM
  67. -SfRESOURCES
  68. #endif CPUX86_64
  69. # arm is powerful enough to handle most object pascal constructs
  70. # it is only a matter of size
  71. #ifdef CPUARM
  72. -SfSOFTFPU
  73. -SfCLASSES
  74. -SfEXCEPTIONS
  75. -SfANSISTRINGS
  76. -SfRTTI
  77. -SfWIDESTRINGS
  78. -SfDYNARRAYS
  79. -SfTHREADING
  80. -SfVARIANTS
  81. -SfOBJECTS
  82. -SfCOMMANDARGS
  83. -SfRANDOM
  84. -SfRESOURCES
  85. #endif CPUARM
  86. # aarch64 is powerful enough to handle most object pascal constructs
  87. #ifdef CPUAARCH64
  88. -SfSOFTFPU
  89. -SfCLASSES
  90. -SfEXCEPTIONS
  91. -SfANSISTRINGS
  92. -SfRTTI
  93. -SfWIDESTRINGS
  94. -SfDYNARRAYS
  95. -SfTHREADING
  96. -SfVARIANTS
  97. -SfOBJECTS
  98. -SfCOMMANDARGS
  99. -SfRANDOM
  100. -SfRESOURCES
  101. #endif CPUAARCH64
  102. # mipsel is powerful enough to handle most object pascal constructs
  103. # it is only a matter of size
  104. #ifdef CPUMIPSEL
  105. -SfSOFTFPU
  106. -SfCLASSES
  107. -SfEXCEPTIONS
  108. -SfANSISTRINGS
  109. -SfRTTI
  110. -SfWIDESTRINGS
  111. -SfDYNARRAYS
  112. -SfTHREADING
  113. -SfVARIANTS
  114. -SfOBJECTS
  115. -SfCOMMANDARGS
  116. -SfRANDOM
  117. -SfRESOURCES
  118. #endif CPUMIPSEL
  119. # mips is powerful enough to handle most object pascal constructs
  120. # it is only a matter of size
  121. #ifdef CPUMIPS
  122. -SfSOFTFPU
  123. -SfCLASSES
  124. -SfEXCEPTIONS
  125. -SfANSISTRINGS
  126. -SfRTTI
  127. -SfWIDESTRINGS
  128. -SfDYNARRAYS
  129. -SfTHREADING
  130. -SfVARIANTS
  131. -SfOBJECTS
  132. -SfCOMMANDARGS
  133. -SfRANDOM
  134. -SfRESOURCES
  135. #endif CPUMIPS
  136. # powerpc is powerful enough to handle most object pascal constructs
  137. # it is only a matter of size
  138. #ifdef CPUPOWERPC
  139. -SfSOFTFPU
  140. -SfCLASSES
  141. -SfEXCEPTIONS
  142. -SfANSISTRINGS
  143. -SfRTTI
  144. -SfWIDESTRINGS
  145. -SfDYNARRAYS
  146. -SfTHREADING
  147. -SfVARIANTS
  148. -SfOBJECTS
  149. -SfCOMMANDARGS
  150. -SfRANDOM
  151. -SfRESOURCES
  152. #endif CPUPOWERPC
  153. # powerpc64 is powerful enough to handle most object pascal constructs
  154. # it is only a matter of size
  155. #ifdef CPUPOWERPC64
  156. -SfSOFTFPU
  157. -SfCLASSES
  158. -SfEXCEPTIONS
  159. -SfANSISTRINGS
  160. -SfRTTI
  161. -SfWIDESTRINGS
  162. -SfDYNARRAYS
  163. -SfTHREADING
  164. -SfVARIANTS
  165. -SfOBJECTS
  166. -SfCOMMANDARGS
  167. -SfRANDOM
  168. -SfRESOURCES
  169. #endif CPUPOWERPC64
  170. # does not require extra memory, neither code nor data
  171. # in programs not using e. g. writeln based I/O which is the common case for AVR
  172. #ifdef CPUAVR
  173. -SfOBJECTS
  174. -SfEXCEPTIONS
  175. -SfCLASSES
  176. -SfRTTI
  177. # AVR6 has normally more memory, so enable more functions
  178. #ifdef CPUAVR6
  179. -SfANSISTRINGS
  180. -SfWIDESTRINGS
  181. -SfDYNARRAYS
  182. -SfTHREADING
  183. -SfVARIANTS
  184. -SfOBJECTS
  185. -SfCOMMANDARGS
  186. -SfRANDOM
  187. -SfRESOURCES
  188. #endif
  189. #endif
  190. # Minimal set for m68k, copied from AVR above
  191. # does not require extra memory, neither code nor data
  192. # in programs not using e. g. writeln based I/O
  193. #ifdef CPUM68K
  194. -SfSOFTFPU
  195. -SfOBJECTS
  196. -SfEXCEPTIONS
  197. -SfCLASSES
  198. -SfRTTI
  199. -SfANSISTRINGS
  200. -SfWIDESTRINGS
  201. -SfDYNARRAYS
  202. -SfTHREADING
  203. -SfVARIANTS
  204. -SfOBJECTS
  205. -SfCOMMANDARGS
  206. -SfRANDOM
  207. -SfRESOURCES
  208. #endif
  209. # Minimal set for i8086, copied from AVR above
  210. # does not require extra memory, neither code nor data
  211. # in programs not using e. g. writeln based I/OR
  212. #ifdef CPUI8086
  213. -SfOBJECTS
  214. -SfEXCEPTIONS
  215. -SfCLASSES
  216. -SfRTTI
  217. -Cs2048
  218. -CX
  219. -XX
  220. #endif
  221. #ifdef CPURISCV32
  222. -SfSOFTFPU
  223. -SfCLASSES
  224. -SfEXCEPTIONS
  225. -SfANSISTRINGS
  226. -SfRTTI
  227. -SfWIDESTRINGS
  228. -SfDYNARRAYS
  229. -SfTHREADING
  230. -SfVARIANTS
  231. -SfOBJECTS
  232. -SfCOMMANDARGS
  233. -SfRANDOM
  234. -SfRESOURCES
  235. #endif CPURISCV32
  236. #ifdef CPURISCV64
  237. -SfSOFTFPU
  238. -SfCLASSES
  239. -SfEXCEPTIONS
  240. -SfANSISTRINGS
  241. -SfRTTI
  242. -SfWIDESTRINGS
  243. -SfDYNARRAYS
  244. -SfTHREADING
  245. -SfVARIANTS
  246. -SfOBJECTS
  247. -SfCOMMANDARGS
  248. -SfRANDOM
  249. -SfRESOURCES
  250. #endif CPURISCV64
  251. # Xtensa is powerful enough to handle most object pascal constructs
  252. # it is only a matter of size
  253. #ifdef CPUXTENSA
  254. -SfSOFTFPU
  255. -SfCLASSES
  256. -SfEXCEPTIONS
  257. -SfANSISTRINGS
  258. -SfRTTI
  259. -SfWIDESTRINGS
  260. -SfDYNARRAYS
  261. -SfTHREADING
  262. -SfVARIANTS
  263. -SfOBJECTS
  264. -SfCOMMANDARGS
  265. -SfRANDOM
  266. -SfRESOURCES
  267. #endif CPUXTENSA
  268. # does not require extra memory, neither code nor data
  269. # in programs not using e. g. writeln based I/O which is the common case
  270. #ifdef CPUZ80
  271. -SfOBJECTS
  272. -SfEXCEPTIONS
  273. -SfCLASSES
  274. -SfRTTI
  275. -SfSOFTFPU
  276. #endif
  277. # wasm32 is powerful enough to handle most object pascal constructs
  278. # it is only a matter of size, it does not need softfpu
  279. #ifdef CPUWASM32
  280. -SfCLASSES
  281. -SfEXCEPTIONS
  282. -SfANSISTRINGS
  283. -SfRTTI
  284. -SfWIDESTRINGS
  285. -SfDYNARRAYS
  286. -SfTHREADING
  287. -SfVARIANTS
  288. -SfOBJECTS
  289. -SfCOMMANDARGS
  290. -SfRANDOM
  291. -SfRESOURCES
  292. #endif CPUWASM32