system.cfg 5.0 KB

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