system.cfg 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  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. # m68k is powerful enough to handle most object pascal constructs
  191. #ifdef CPUM68K
  192. -SfSOFTFPU
  193. -SfOBJECTS
  194. -SfEXCEPTIONS
  195. -SfCLASSES
  196. -SfRTTI
  197. -SfANSISTRINGS
  198. -SfWIDESTRINGS
  199. -SfDYNARRAYS
  200. -SfTHREADING
  201. -SfVARIANTS
  202. -SfOBJECTS
  203. -SfCOMMANDARGS
  204. -SfRANDOM
  205. -SfRESOURCES
  206. #endif
  207. # Minimal set for i8086, copied from AVR above
  208. # does not require extra memory, neither code nor data
  209. # in programs not using e. g. writeln based I/OR
  210. #ifdef CPUI8086
  211. -SfOBJECTS
  212. -SfEXCEPTIONS
  213. -SfCLASSES
  214. -SfRTTI
  215. -Cs2048
  216. -CX
  217. -XX
  218. #endif
  219. #ifdef CPURISCV32
  220. -SfSOFTFPU
  221. -SfCLASSES
  222. -SfEXCEPTIONS
  223. -SfANSISTRINGS
  224. -SfRTTI
  225. -SfWIDESTRINGS
  226. -SfDYNARRAYS
  227. -SfTHREADING
  228. -SfVARIANTS
  229. -SfOBJECTS
  230. -SfCOMMANDARGS
  231. -SfRANDOM
  232. -SfRESOURCES
  233. #endif CPURISCV32
  234. #ifdef CPURISCV64
  235. -SfSOFTFPU
  236. -SfCLASSES
  237. -SfEXCEPTIONS
  238. -SfANSISTRINGS
  239. -SfRTTI
  240. -SfWIDESTRINGS
  241. -SfDYNARRAYS
  242. -SfTHREADING
  243. -SfVARIANTS
  244. -SfOBJECTS
  245. -SfCOMMANDARGS
  246. -SfRANDOM
  247. -SfRESOURCES
  248. #endif CPURISCV64
  249. # Xtensa is powerful enough to handle most object pascal constructs
  250. # it is only a matter of size
  251. #ifdef CPUXTENSA
  252. -SfSOFTFPU
  253. -SfCLASSES
  254. -SfEXCEPTIONS
  255. -SfANSISTRINGS
  256. -SfRTTI
  257. -SfWIDESTRINGS
  258. -SfDYNARRAYS
  259. -SfTHREADING
  260. -SfVARIANTS
  261. -SfOBJECTS
  262. -SfCOMMANDARGS
  263. -SfRANDOM
  264. -SfRESOURCES
  265. #endif CPUXTENSA
  266. # does not require extra memory, neither code nor data
  267. # in programs not using e. g. writeln based I/O which is the common case
  268. #ifdef CPUZ80
  269. -SfOBJECTS
  270. -SfEXCEPTIONS
  271. -SfCLASSES
  272. -SfRTTI
  273. -SfSOFTFPU
  274. #endif
  275. # wasm32 is powerful enough to handle most object pascal constructs
  276. # it is only a matter of size, it does not need softfpu
  277. #ifdef CPUWASM32
  278. -SfCLASSES
  279. -SfEXCEPTIONS
  280. -SfANSISTRINGS
  281. -SfRTTI
  282. -SfWIDESTRINGS
  283. -SfDYNARRAYS
  284. -SfTHREADING
  285. -SfVARIANTS
  286. -SfOBJECTS
  287. -SfCOMMANDARGS
  288. -SfRANDOM
  289. -SfRESOURCES
  290. #endif CPUWASM32