fpccfg.inc 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. {$ifdef Delphi}
  2. const DefaultConfig : array[0..23] of string[240]=(
  3. {$else Delphi}
  4. const DefaultConfig : array[0..23,1..240] of char=(
  5. {$endif Delphi}
  6. '#'#010+
  7. '# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%'#010+
  8. '# Example fpc.cfg for Free Pascal Compiler'#010+
  9. '#'#010+
  10. #010+
  11. '# ----------------------'#010+
  12. '# Defines (preprocessor)'#010+
  13. '# ----------------------'#010+
  14. #010+
  15. '#'#010+
  16. '# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE,',' #UNDEF are allowed'+
  17. #010+
  18. '#'#010+
  19. '# -d is the same as #DEFINE'#010+
  20. '# -u is the same as #UNDEF'#010+
  21. '#'#010+
  22. #010+
  23. '#'#010+
  24. '# Some examples (for switches see below, and the -? helppages)'#010+
  25. '#'#010+
  26. '# Try compiling with the -dRELEASE or -dDEBUG on the commandline'#010+
  27. '#'#010+
  28. #010+
  29. '# For a release compile w','ith optimizes and strip debuginfo'#010+
  30. '#IFDEF RELEASE'#010+
  31. ' -O2'#010+
  32. ' -Xs'#010+
  33. ' #WRITE Compiling Release Version'#010+
  34. '#ENDIF'#010+
  35. #010+
  36. '# For a debug version compile with debuginfo and all codegeneration ch'+
  37. 'ecks on'#010+
  38. '#IFDEF DEBUG'#010+
  39. ' -glh'#010+
  40. ' -Crtoi'#010+
  41. ' #WRITE Compiling Debug Vers','ion'#010+
  42. '#ENDIF'#010+
  43. #010+
  44. '# ----------------'#010+
  45. '# Parsing switches'#010+
  46. '# ----------------'#010+
  47. #010+
  48. '# Pascal language mode'#010+
  49. '# -Mfpc free pascal dialect (default)'#010+
  50. '# -Mobjfpc switch some Delphi 2 extensions on'#010+
  51. '# -Mdelphi tries to be Delphi compatibl','e'#010+
  52. '# -Mtp tries to be TP/BP 7.0 compatible'#010+
  53. '# -Mgpc tries to be gpc compatible'#010+
  54. '# -Mmacpas tries to be compatible to the macintosh pascal diale'+
  55. 'cts'#010+
  56. '#'#010+
  57. '# Turn on Object Pascal extensions by default'#010+
  58. '#-Mobjfpc'#010+
  59. #010+
  60. '# Assembl','er reader mode'#010+
  61. '# -Rdefault use default assembler'#010+
  62. '# -Ratt read AT&T style assembler'#010+
  63. '# -Rintel read Intel style assembler'#010+
  64. '#'#010+
  65. '# All assembler blocks are AT&T styled by default'#010+
  66. '#-Ratt'#010+
  67. #010+
  68. '# Semantic checking'#010+
  69. '# -S2 ',' same as -Mobjfpc'#010+
  70. '# -Sc supports operators like C (*=,+=,/= and -=)'#010+
  71. '# -Sa include assertion code.'#010+
  72. '# -Sd same as -Mdelphi'#010+
  73. '# -Se<x> compiler stops after the <x> errors (default is 1)'#010+
  74. '# -Sg ',' allow LABEL and GOTO'#010+
  75. '# -Sh Use ansistrings'#010+
  76. '# -Si support C++ styled INLINE'#010+
  77. '# -SI<x> set interface style to <x>'#010+
  78. '# -SIcomCOM compatible interface (default)'#010+
  79. '# -SIcorbaCORBA compatible inter','face'#010+
  80. '# -Sm support macros like C (global)'#010+
  81. '# -So same as -Mtp'#010+
  82. '# -Sp same as -Mgpc'#010+
  83. '# -Ss constructor name must be init (destructor must be do'+
  84. 'ne)'#010+
  85. '# -St allow static keyword in objects',#010+
  86. '#'#010+
  87. '# Allow goto, inline, C-operators, C-vars'#010+
  88. '-Sgic'#010+
  89. #010+
  90. '# ---------------'#010+
  91. '# Code generation'#010+
  92. '# ---------------'#010+
  93. #010+
  94. '# Uncomment the next line if you always want static/dynamic units by d'+
  95. 'efault'#010+
  96. '# (can be overruled with -CD, -CS at the commandline)'#010+
  97. '#-','CS'#010+
  98. '#-CD'#010+
  99. #010+
  100. '# Set the default heapsize to 8Mb'#010+
  101. '#-Ch8000000'#010+
  102. #010+
  103. '# Set default codegeneration checks (iocheck, overflow, range, stack)'#010+
  104. '#-Ci'#010+
  105. '#-Co'#010+
  106. '#-Cr'#010+
  107. '#-Ct'#010+
  108. #010+
  109. '# Optimizer switches for i386 compiler'#010+
  110. '# -Os generate smaller code'#010+
  111. '# -O1 level ','1 optimizations (quick optimizations)'#010+
  112. '# -O2 level 2 optimizations (-O1 + slower optimizations)'#010+
  113. '# -O3 level 3 optimizations (same as -O2u)'#010+
  114. '# -Oa=N set alignment to N'#010+
  115. '# -OoX switch on optimalization X. '#010+
  116. '# -OoNOX s','witch off optimalization X.'#010+
  117. '# X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCS'+
  118. 'E LOOPUNROLL'#010+
  119. '# -OpCPU set target processor.'#010+
  120. '# CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4'+
  121. ', PENTIUMM '#010+
  122. #010+
  123. #010+
  124. '# --------','---------------'#010+
  125. '# Set Filenames and Paths'#010+
  126. '# -----------------------'#010+
  127. #010+
  128. '# Both slashes and backslashes are allowed in paths'#010+
  129. #010+
  130. '# path to the messagefile, not necessary anymore but can be used to ov'+
  131. 'erride'#010+
  132. '# the default language'#010+
  133. '#-Fr%basepath%/msg','/errore.msg'#010+
  134. '#-Fr%basepath%/msg/errorn.msg'#010+
  135. '#-Fr%basepath%/msg/errores.msg'#010+
  136. '#-Fr%basepath%/msg/errord.msg'#010+
  137. '#-Fr%basepath%/msg/errorr.msg'#010+
  138. #010+
  139. '# path to the gcclib'#010+
  140. '#-Fl%basepath%/lib'#010+
  141. #010+
  142. '# searchpath for includefiles'#010+
  143. '#-Fi/pp/inc;/pp/rtl/inc'#010+
  144. #010+
  145. '# searchpa','th for includefiles'#010+
  146. '# release them only if you know what you do'#010+
  147. '# because this could cause a rebuild of the runtime library'#010+
  148. '# if you tell them compiler/ide to build the project (FK)'#010+
  149. '#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+
  150. #010,
  151. '# searchpath for objectfiles'#010+
  152. '#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+
  153. #010+
  154. '# searchpath for units and other system dependent things'#010+
  155. '-Fu%basepath%/units/$FPCTARGET/'#010+
  156. '-Fu%basepath%/units/$FPCTARGET/*'#010+
  157. '-Fu%basepath%/units/$FPCTARGET/','rtl'#010+
  158. #010+
  159. '# searchpath for libraries'#010+
  160. '#-Fl%basepath%/lib'#010+
  161. '#-Fl/lib;/usr/lib'#010+
  162. #010+
  163. '# searchpath for tools'#010+
  164. '-FD%basepath%/bin/$FPCTARGET'#010+
  165. #010+
  166. '# binutils prefix for cross compiling'#010+
  167. '#IFDEF FPC_CROSSCOMPILING'#010+
  168. ' -XP$FPCTARGET-'#010+
  169. '#ENDIF'#010+
  170. #010+
  171. #010+
  172. '# -------------'#010+
  173. '# Linking'#010+
  174. '#',' -------------'#010+
  175. #010+
  176. '# generate always debugging information for GDB (slows down the compil'+
  177. 'ing'#010+
  178. '# process)'#010+
  179. '# -gc generate checks for pointers'#010+
  180. '# -gd use dbx'#010+
  181. '# -gg use gsym'#010+
  182. '# -gh use heap trace unit (','for memory leak debugging)'#010+
  183. '# -gl use line info unit to show more info for backtraces'#010+
  184. '# -gv generates programs tracable with valgrind'#010+
  185. '# -gw generate dwarf debugging info'#010+
  186. '#'#010+
  187. '# Enable debuginfo and use the li','ne info unit by default'#010+
  188. '#-gl'#010+
  189. #010+
  190. '# always pass an option to the linker'#010+
  191. '#-k-s'#010+
  192. #010+
  193. '# Always strip debuginfo from the executable'#010+
  194. '-Xs'#010+
  195. #010+
  196. #010+
  197. '# -------------'#010+
  198. '# Miscellaneous'#010+
  199. '# -------------'#010+
  200. #010+
  201. '# Write always a nice FPC logo ;)'#010+
  202. '-l'#010+
  203. #010+
  204. '# Verbosity'#010+
  205. '# e : Show',' errors (default) d : Show debug info'#010+
  206. '# w : Show warnings u : Show unit info'#010+
  207. '# n : Show notes t : Show tried/used files'#010+
  208. '# h : Show hints m : Show defined macros'#010+
  209. '# i :',' Show general info p : Show compiled procedures'#010+
  210. '# l : Show linenumbers c : Show conditionals'#010+
  211. '# a : Show everything 0 : Show nothing (except errors'+
  212. ')'#010+
  213. '# b : Show all procedure r : Rhide/','GCC compatibility m'+
  214. 'ode'#010+
  215. '# declarations if an error x : Executable info (Win32 only'+
  216. ')'#010+
  217. '# occurs'#010+
  218. '#'#010+
  219. '# Display Info, Warnings, Notes and Hints'#010+
  220. '-viwn'#010+
  221. '# If you don'#039't want so much verbosity use'#010+
  222. '#-vw'#010
  223. );