Advertisement
Guest User

/etc/fpc.cfg

a guest
Sep 24th, 2016
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.98 KB | None | 0 0
  1. #
  2. # Config file generated by fpcmkcfg on 26-11-15 - 15:28:32
  3. # Example fpc.cfg for Free Pascal Compiler
  4. #
  5.  
  6. # ----------------------
  7. # Defines (preprocessor)
  8. # ----------------------
  9.  
  10. #
  11. # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
  12. #
  13. # -d is the same as #DEFINE
  14. # -u is the same as #UNDEF
  15. #
  16.  
  17. #
  18. # Some examples (for switches see below, and the -? helppages)
  19. #
  20. # Try compiling with the -dRELEASE or -dDEBUG on the commandline
  21. #
  22.  
  23. # For a release compile with optimizes and strip debuginfo
  24. #IFDEF RELEASE
  25. -O2
  26. -Xs
  27. #WRITE Compiling Release Version
  28. #ENDIF
  29.  
  30. # For a debug version compile with debuginfo and all codegeneration checks on
  31. #IFDEF DEBUG
  32. -gl
  33. -Crtoi
  34. #WRITE Compiling Debug Version
  35. #ENDIF
  36.  
  37. # assembling
  38. #ifdef darwin
  39. # use pipes instead of temporary files for assembling
  40. -ap
  41. # path to Xcode 4.3+ utilities (no problem if it doesn't exist)
  42. -FD/Applications/Xcode.app/Contents/Developer/usr/bin
  43. #endif
  44.  
  45. # ----------------
  46. # Parsing switches
  47. # ----------------
  48.  
  49. # Pascal language mode
  50. # -Mfpc free pascal dialect (default)
  51. # -Mobjfpc switch some Delphi 2 extensions on
  52. # -Mdelphi tries to be Delphi compatible
  53. # -Mtp tries to be TP/BP 7.0 compatible
  54. # -Mgpc tries to be gpc compatible
  55. # -Mmacpas tries to be compatible to the macintosh pascal dialects
  56. #
  57. # Turn on Object Pascal extensions by default
  58. #-Mobjfpc
  59.  
  60. # Assembler reader mode
  61. # -Rdefault use default assembler
  62. # -Ratt read AT&T style assembler
  63. # -Rintel read Intel style assembler
  64. #
  65. # All assembler blocks are AT&T styled by default
  66. #-Ratt
  67.  
  68. # Semantic checking
  69. # -S2 same as -Mobjfpc
  70. # -Sc supports operators like C (*=,+=,/= and -=)
  71. # -Sa include assertion code.
  72. # -Sd same as -Mdelphi
  73. # -Se<x> error options. <x> is a combination of the following:
  74. # <n> : compiler stops after <n> errors (default is 1)
  75. # w : compiler stops also after warnings
  76. # n : compiler stops also after notes
  77. # h : compiler stops also after hints
  78. # -Sg allow LABEL and GOTO
  79. # -Sh Use ansistrings
  80. # -Si support C++ styled INLINE
  81. # -Sk load fpcylix unit
  82. # -SI<x> set interface style to <x>
  83. # -SIcom COM compatible interface (default)
  84. # -SIcorba CORBA compatible interface
  85. # -Sm support macros like C (global)
  86. # -So same as -Mtp
  87. # -Sp same as -Mgpc
  88. # -Ss constructor name must be init (destructor must be done)
  89. # -Sx enable exception keywords (default in Delphi/ObjFPC modes)
  90. #
  91. # Allow goto, inline, C-operators, C-vars
  92. -Sgic
  93.  
  94. # ---------------
  95. # Code generation
  96. # ---------------
  97.  
  98. # Uncomment the next line if you always want static/dynamic units by default
  99. # (can be overruled with -CD, -CS at the commandline)
  100. #-CS
  101. #-CD
  102.  
  103. # Set the default heapsize to 8Mb
  104. #-Ch8000000
  105.  
  106. # Set default codegeneration checks (iocheck, overflow, range, stack)
  107. #-Ci
  108. #-Co
  109. #-Cr
  110. #-Ct
  111.  
  112. # Optimizer switches
  113. # -Os generate smaller code
  114. # -Oa=N set alignment to N
  115. # -O1 level 1 optimizations (quick optimizations, debuggable)
  116. # -O2 level 2 optimizations (-O1 + optimizations which make debugging more difficult)
  117. # -O3 level 3 optimizations (-O2 + optimizations which also may make the program slower rather than faster)
  118. # -Oo<x> switch on optimalization x. See fpc -i for possible values
  119. # -OoNO<x> switch off optimalization x. See fpc -i for possible values
  120. # -Op<x> set target cpu for optimizing, see fpc -i for possible values
  121.  
  122. #ifdef darwin
  123. #ifdef cpui386
  124. -Cppentiumm
  125. -Oppentiumm
  126. #endif
  127. #endif
  128.  
  129. # -----------------------
  130. # Set Filenames and Paths
  131. # -----------------------
  132.  
  133. # Both slashes and backslashes are allowed in paths
  134.  
  135. # path to the messagefile, not necessary anymore but can be used to override
  136. # the default language
  137. #-Fr/usr/lib/fpc/$fpcversion/msg/errore.msg
  138. #-Fr/usr/lib/fpc/$fpcversion/msg/errorn.msg
  139. #-Fr/usr/lib/fpc/$fpcversion/msg/errores.msg
  140. #-Fr/usr/lib/fpc/$fpcversion/msg/errord.msg
  141. #-Fr/usr/lib/fpc/$fpcversion/msg/errorr.msg
  142.  
  143. # search path for unicode binary files (FPC 2.x does not know this switch)
  144. #ifndef VER2
  145. -FM/usr/lib/fpc/../../share/fpc/$fpcversion/unicode/
  146. #endif
  147.  
  148. # searchpath for units and other system dependent things
  149. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
  150. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
  151. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
  152.  
  153. #ifdef cpui8086
  154. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel
  155. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/*
  156. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl
  157. #endif
  158.  
  159. #IFDEF FPCAPACHE_1_3
  160. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/
  161. #ELSE
  162. #IFDEF FPCAPACHE_2_0
  163. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20
  164. #ELSE
  165. -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22
  166. #ENDIF
  167. #ENDIF
  168.  
  169. # searchpath for fppkg user-specific packages
  170. -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/*
  171.  
  172. # path to the gcclib
  173. #ifdef cpui386
  174. -Fl/usr/lib/gcc/x86_64-unknown-linux-gnu/5.2.0
  175. #endif
  176. #ifdef cpux86_64
  177. -Fl/usr/lib/gcc/x86_64-unknown-linux-gnu/5.2.0
  178. #endif
  179.  
  180. # searchpath for libraries
  181. #-Fl/usr/lib/fpc/$fpcversion/lib
  182. #-Fl/lib;/usr/lib
  183. -Fl/usr/lib/fpc/$fpcversion/lib/$FPCTARGET
  184.  
  185. # searchpath for tools
  186. -FD/usr/lib/fpc/$fpcversion/bin/$FPCTARGET
  187.  
  188. #IFNDEF CPUI386
  189. #IFNDEF CPUAMD64
  190. #DEFINE NEEDCROSSBINUTILS
  191. #ENDIF
  192. #ENDIF
  193.  
  194. #IFNDEF Linux
  195. #DEFINE NEEDCROSSBINUTILS
  196. #ENDIF
  197.  
  198. # never need cross-prefix when targeting the JVM
  199. # (no native compiler, always cross-compiling)
  200. #ifdef cpujvm
  201. #undef NEEDCROSSBINUTILS
  202. #endif
  203.  
  204. # for android cross-prefix is set by compiler
  205. #ifdef android
  206. #undef NEEDCROSSBINUTILS
  207. #endif
  208.  
  209. # never need cross-prefix when targeting the i8086
  210. # (no native compiler, always cross-compiling)
  211. #ifdef cpui8086
  212. #undef NEEDCROSSBINUTILS
  213. #endif
  214.  
  215. # never need cross-prefix when targeting the i8086
  216. # (no native compiler, always cross-compiling)
  217. #ifdef cpujvm
  218. #undef NEEDCROSSBINUTILS
  219. #endif
  220.  
  221. # binutils prefix for cross compiling
  222. #IFDEF FPC_CROSSCOMPILING
  223. #IFDEF NEEDCROSSBINUTILS
  224. -XP$FPCTARGET-
  225. #ENDIF
  226. #ENDIF
  227.  
  228.  
  229. # -------------
  230. # Linking
  231. # -------------
  232.  
  233. # generate always debugging information for GDB (slows down the compiling
  234. # process)
  235. # -gc generate checks for pointers
  236. # -gd use dbx
  237. # -gg use gsym
  238. # -gh use heap trace unit (for memory leak debugging)
  239. # -gl use line info unit to show more info for backtraces
  240. # -gv generates programs tracable with valgrind
  241. # -gw generate dwarf debugging info
  242. #
  243. # Enable debuginfo and use the line info unit by default
  244. #-gl
  245.  
  246. # always pass an option to the linker
  247. #-k-s
  248.  
  249. # Always strip debuginfo from the executable
  250. -Xs
  251.  
  252. # Always use smartlinking on i8086, because the system unit exceeds the 64kb
  253. # code limit
  254. #ifdef cpui8086
  255. -CX
  256. -XX
  257. #endif
  258.  
  259.  
  260. # -------------
  261. # Miscellaneous
  262. # -------------
  263.  
  264. # Write always a nice FPC logo ;)
  265. -l
  266.  
  267. # Verbosity
  268. # e : Show errors (default) d : Show debug info
  269. # w : Show warnings u : Show unit info
  270. # n : Show notes t : Show tried/used files
  271. # h : Show hints s : Show time stamps
  272. # i : Show general info q : Show message numbers
  273. # l : Show linenumbers c : Show conditionals
  274. # a : Show everything 0 : Show nothing (except errors)
  275. # b : Write file names messages r : Rhide/GCC compatibility mode
  276. # with full path x : Executable info (Win32 only)
  277. # v : write fpcdebug.txt with p : Write tree.log with parse tree
  278. # lots of debugging info
  279. #
  280. # Display Info, Warnings and Notes
  281. -viwn
  282. # If you don't want so much verbosity use
  283. #-vw
  284. #ifdef cpux86_64
  285. # for x86_64 use -fPIC by default
  286. -Cg
  287. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement