4064f46bdfbf1825894b3104f814781dce8fd04c
[ghc.git] / docs / users_guide / flags.rst
1 .. _flag-reference:
2
3 Flag reference
4 ==============
5
6 This section is a quick-reference for GHC's command-line flags. For each
7 flag, we also list its static/dynamic status (see
8 :ref:`static-dynamic-flags`), and the flag's opposite (if available).
9
10 Verbosity options
11 -----------------
12
13 More details in :ref:`options-help`
14
15 .. include:: flags-verbosity.gen.rst
16
17 Alternative modes of operation
18 ------------------------------
19
20 More details in :ref:`modes`
21
22 .. include:: flags-modes.gen.rst
23
24 Which phases to run
25 -------------------
26
27 More details in :ref:`options-order`
28
29 .. include:: flags-phases.gen.rst
30
31 Redirecting output
32 ------------------
33
34 More details in :ref:`options-output`
35
36 .. include:: flags-redirecting-output.gen.rst
37
38 Keeping intermediate files
39 --------------------------
40
41 More details in :ref:`keeping-intermediates`
42
43 .. include:: flags-keeping-intermediates.gen.rst
44
45 Temporary files
46 ---------------
47
48 More details in :ref:`temp-files`
49
50 .. include:: flags-temporary-files.gen.rst
51
52 Finding imports
53 ---------------
54
55 More details in :ref:`search-path`
56
57 .. include:: flags-finding-imports.gen.rst
58
59 Interface file options
60 ----------------------
61
62 More details in :ref:`hi-options`
63
64 .. include:: flags-interface-files.gen.rst
65
66 Recompilation checking
67 ----------------------
68
69 More details in :ref:`recomp`
70
71 .. include:: flags-recompilation-checking.gen.rst
72
73 .. _interactive-mode-options:
74
75 Interactive-mode options
76 ------------------------
77
78 More details in :ref:`ghci-dot-files`
79
80 .. include:: flags-interactive.gen.rst
81
82 Packages
83 --------
84
85 More details in :ref:`packages`
86
87 .. include:: flags-packages.gen.rst
88
89 Language options
90 ----------------
91
92 Language options can be enabled either by a command-line option
93 ``-Xblah``, or by a ``{-# LANGUAGE blah #-}`` pragma in the file itself.
94 See :ref:`options-language`. Some options are enabled using ``-f*``
95 flags.
96
97 .. include:: flags-language.gen.rst
98
99 Warnings
100 --------
101
102 More details in :ref:`options-sanity`
103
104 .. include:: flags-warnings.gen.rst
105
106 Optimisation levels
107 -------------------
108
109 These options are described in more detail in :ref:`options-optimise`.
110
111 See :ref:`options-f-compact` for a list of optimisations enabled on
112 level 1 and level 2.
113
114 .. include:: flags-optimization-levels.gen.rst
115
116 .. _options-f-compact:
117
118 Individual optimisations
119 ------------------------
120
121 These options are described in more detail in :ref:`options-f`. If a
122 flag is implied by ``-O`` then it is also implied by ``-O2`` (unless
123 flag description explicitly says otherwise). If a flag is implied by
124 ``-O0`` only then the flag is not implied by ``-O`` and ``-O2``.
125
126 .. include:: flags-optimization.gen.rst
127
128 Profiling options
129 -----------------
130
131 More details in :ref:`profiling`
132
133 .. include:: flags-profiling.gen.rst
134
135 Program coverage options
136 ------------------------
137
138 More details in :ref:`hpc`
139
140 .. include:: flags-program-coverage.gen.rst
141
142 C pre-processor options
143 -----------------------
144
145 More details in :ref:`c-pre-processor`
146
147 .. include:: flags-cpp.gen.rst
148
149 Code generation options
150 -----------------------
151
152 More details in :ref:`options-codegen`
153
154 .. include:: flags-codegen.gen.rst
155
156 Linking options
157 ---------------
158
159 More details in :ref:`options-linker`
160
161 .. include:: flags-linking.gen.rst
162
163 Plugin options
164 --------------
165
166 More details in :ref:`compiler-plugins`
167
168 .. include:: flags-plugin.gen.rst
169
170 Replacing phases
171 ----------------
172
173 More details in :ref:`replacing-phases`
174
175 .. include:: flags-phase-programs.gen.rst
176
177 .. index::
178    single: -pgmL
179    single: -pgmP
180    single: -pgmc
181    single: -pgmlo
182    single: -pgmlc
183    single: -pgma
184    single: -pgml
185    single: -pgmdll
186    single: -pgmF
187
188 Forcing options to particular phases
189 ------------------------------------
190
191 More details in :ref:`forcing-options-through`
192
193 .. include:: flags-phase-specific.gen.rst
194
195 Platform-specific options
196 -------------------------
197
198 More details in :ref:`options-platform`
199
200 .. include:: flags-platform-specific.gen.rst
201
202 Compiler debugging options
203 --------------------------
204
205 More details in :ref:`options-debugging`
206
207 .. include:: flags-compiler-debugging.gen.rst
208
209 Miscellaneous compiler options
210 ------------------------------
211
212 .. include:: flags-misc.gen.rst