fpc.cft 5.7 KB

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