Feature proposal: ghc --full-flag-help ?
Simon Marlow
simonmarhaskell at gmail.com
Wed Mar 14 07:18:20 EDT 2007
Marc Weber wrote:
> On Tue, Mar 13, 2007 at 01:57:10PM +0100, Marc Weber wrote:
>> Hi
>>
>> I did notice a lot of times that I just didn't remember the name of
>> option X. How to look it up? Walk through html or pdf documentation?
>
> Just printing a link to ghc online docs is not enough because:
> * maybe no internet availible
> * internet slow?
> * You still need to search/ scroll (too much effort)
> * getting help on flags is default behaviour of any linux application
> and most haskell developers are working on this os I think.
> Have you ever tried info bash, info grep, info whatsoever and got
> the result "please visit http:// .. ?
> That's like invoking ghc printing "This is only a fake. Please
> execute realghc instead"
>
> I'd love to implement this. But I might need some time.
> I already know where to start (hacking on ghc intro on the ghc
> documentation site .. ;-)
>
> How should it look like?
We already have support for man pages, I think we should try to avoid
duplication here. If your GHC man page is installed correctly, then 'man ghc'
should give you a nice consise list of options (see attached file, and scripts
in docs/man in a GHC tree).
So I think if we are to have a 'ghc --full-help' then it should just output the
man page, as Ketil suggested. But we should make this work and output the
correct man page regardless of whether 'man ghc' works, because you might have
multiple GHC versions installed, and/or the system might not even have a man
command (Windows). So every GHC installation should include a text version of
the man page, that should be fairly easy to arrange.
Cheers,
Simon
-------------- next part --------------
GHC(1) Glasgow Haskell Compiler GHC(1)
NNAAMMEE
GHC - the Glasgow Haskell Compiler
SSYYNNOOPPSSIISS
gghhcc [_o_p_t_i_o_n|_f_i_l_e_n_a_m_e]...
gghhccii [_o_p_t_i_o_n|_f_i_l_e_n_a_m_e]...
DDEESSCCRRIIPPTTIIOONN
This manual page documents briefly the gghhcc and gghhccii commands. Note
that gghhccii is not yet available on all architectures. Extensive docu-
mentation is available in various other formats including DVI,
PostScript and HTML; see below.
Each of GHC's command line options is classified as either _s_t_a_t_i_c or
_d_y_n_a_m_i_c. A static flag may only be specified on the command line,
whereas a dynamic flag may also be given in an OPTIONS pragma in a
source file or set from the GHCi command-line with :set.
As a rule of thumb, all the language options are dynamic, as are the
warning options and the debugging options.
The rest are static, with the notable exceptions of --vv, --ccpppp, --ffaassmm,
--ffvviiaa--CC, and --##iinncclluuddee. The OPTIONS sections lists the status of each
flag.
Common suffixes of file names for Haskell are:
..hhss Haskell source code; preprocess, compile
..llhhss literate Haskell source; unlit, preprocess, compile
..hhii Interface file; contains information about exported symbols
..hhcc intermediate C files
.._x__oo way _x object files; common ways are: pp, uu, ss
.._x__hhii way _x interface files
OOPPTTIIOONNSS
HHeellpp aanndd vveerrbboossiittyy ooppttiioonnss
-? -help -n -v -v_n -V --version --numeric-version
--print-libdir -ferror-spans -H_s_i_z_e -Rghc-timing
WWhhiicchh pphhaasseess ttoo rruunn
-E -C -S -c -x _s_u_f_f_i_x
AAlltteerrnnaattiivvee mmooddeess ooff ooppeerraattiioonn
--interactive --make -e expr -M
RReeddiirreeccttiinngg oouuttppuutt
-hcsuf _s_u_f_f_i_x -hidir _d_i_r -hisuf _s_u_f_f_i_x -o _f_i_l_e_n_a_m_e -odir _d_i_r -ohi
_f_i_l_e_n_a_m_e -osuf _s_u_f_f_i_x -stubdir _d_i_r
KKeeeeppiinngg iinntteerrmmeeddiiaattee ffiilleess
-keep-hc-file -keep-s-file -keep-raw-s-file -keep-tmp-files
TTeemmppoorraarryy ffiilleess
-tmpdir
FFiinnddiinngg iimmppoorrttss
-i_d_i_r_1:_d_i_r_2:... -i
IInntteerrffaaccee ffiillee ooppttiioonnss
-ddump-hi -ddump-hi-diffs -ddump-minimal-imports --show-iface _f_i_l_e
RReeccoommppiillaattiioonn cchheecckkiinngg
-fforce-recomp -fno-force-recomp
IInntteerraaccttiivvee--mmooddee ooppttiioonnss
-ignore-dot-ghci -read-dot-ghci -fdebugging -fno-debugging
PPaacckkaaggeess
-package-name _P -package _P -hide-all-packages -hide-package _n_a_m_e
-ignore-package _n_a_m_e -package-conf _f_i_l_e -no-user-package-conf
LLaanngguuaaggee ooppttiioonnss
-fallow-overlapping-instances -fno-allow-overlapping-instances
-fallow-incoherent-instances -fno-allow-incoherent-instances
-fallow-undecidable-instances -fno-allow-undecidable-instances
-fcontext-stack=N_n 20 -farrows -fno-arrows -ffi or -fffi -fno-ffi
-fgenerics -fno-fgenerics -fglasgow-exts -fno-glasgow-exts
-fimplicit-params -fno-implicit-params -firrefutable-tuples
-fno-irrefutable-tuples -fno-implicit-prelude -fimplicit-prelude
-fno-monomorphism-restriction -fmonomorphism-restriction
-fno-mono-pat-binds -fmono-pat-binds -fextended-default-rules
-fno-extended-default-rules -foverloaded-strings
-fno-overloaded-strings -fscoped-type-variables
-fno-scoped-type-variables -fth -fno-th -fbang-patterns
-fno-bang-patterns
WWaarrnniinnggss
-W -w -w -Wall -w -Werror -fwarn-deprecations
-fno-warn-deprecations -fwarn-duplicate-exports
-fno-warn-duplicate-exports -fwarn-hi-shadowing -fno-warn-hi-shadowing
-fwarn-incomplete-patterns -fno-warn-incomplete-patterns
-fwarn-incomplete-record-updates -fno-warn-incomplete-record-updates
-fwarn-missing-fields -fno-warn-missing-fields -fwarn-missing-methods
-fno-warn-missing-methods -fwarn-missing-signatures
-fno-warn-missing-signatures -fwarn-name-shadowing
-fno-warn-name-shadowing -fwarn-orphans -fno-warn-orphans
-fwarn-overlapping-patterns -fno-warn-overlapping-patterns
-fwarn-simple-patterns -fno-warn-simple-patterns -fwarn-tabs
-fno-warn-tabs -fwarn-type-defaults -fno-warn-type-defaults
-fwarn-unused-binds -fno-warn-unused-binds -fwarn-unused-imports
-fno-warn-unused-imports -fwarn-unused-matches
-fno-warn-unused-matches
OOppttiimmiissaattiioonn lleevveellss
-O -O0 -O_n -O0
IInnddiivviidduuaall ooppttiimmiissaattiioonnss
-fcase-merge -fno-case-merge -fdicts-strict -fno-dicts-strict
-fdo-eta-reduction -fno-do-eta-reduction -fdo-lambda-eta-expansion
-fno-do-lambda-eta-expansion -fexcess-precision -fno-excess-precision
-frules-off -frules-off -fignore-asserts -fno-ignore-asserts
-fignore-interface-pragmas -fno-ignore-interface-pragmas
-fliberate-case-threshold -fno-liberate-case-threshold
-fomit-interface-pragmas -fno-omit-interface-pragmas -fmax-worker-args
-fmax-simplifier-iterations -fno-state-hack -fno-cse
-fno-full-laziness -fno-pre-inlining -fno-strictness
-funbox-strict-fields -fno-unbox-strict-fields
-funfolding-creation-threshold -fno-unfolding-creation-threshold
-funfolding-fun-discount -fno-unfolding-fun-discount
-funfolding-keeness-factor -fno-unfolding-keeness-factor
-funfolding-update-in-place -fno-unfolding-update-in-place
-funfolding-use-threshold -fno-unfolding-use-threshold
PPrrooffiilliinngg ooppttiioonnss
-auto -no-auto -auto-all -no-auto-all -caf-all -no-caf-all -prof
-ticky
HHaasskkeellll pprree--pprroocceessssoorr ooppttiioonnss
-F
CC pprree--pprroocceessssoorr ooppttiioonnss
-cpp -D_s_y_m_b_o_l=_v_a_l_u_e -U -U_s_y_m_b_o_l -I_d_i_r
CC ccoommppiilleerr ooppttiioonnss
-#include _f_i_l_e
CCooddee ggeenneerraattiioonn ooppttiioonnss
-fasm -fvia-C -fno-code
LLiinnkkiinngg ooppttiioonnss
-fPIC -dynamic -framework _n_a_m_e -framework-path _n_a_m_e -l_l_i_b -L_d_i_r
-main-is --mk-dll -no-hs-main -no-link -split-objs -static
-threaded -debug
RReeppllaacciinngg pphhaasseess
-pgmL _c_m_d -pgmP _c_m_d -pgmc _c_m_d -pgmm _c_m_d -pgms _c_m_d -pgma _c_m_d -pgml
_c_m_d -pgmdll _c_m_d -pgmF _c_m_d
FFoorrcciinngg ooppttiioonnss ttoo ppaarrttiiccuullaarr pphhaasseess
-optL _o_p_t_i_o_n -optP _o_p_t_i_o_n -optF _o_p_t_i_o_n -optc _o_p_t_i_o_n -optm _o_p_t_i_o_n
-opta _o_p_t_i_o_n -optl _o_p_t_i_o_n -optdll _o_p_t_i_o_n -optdep _o_p_t_i_o_n
PPllaattffoorrmm--ssppeecciiffiicc ooppttiioonnss
-monly-[432]-regs
EExxtteerrnnaall ccoorree ffiillee ooppttiioonnss
-fext-core
CCoommppiilleerr ddeebbuuggggiinngg ooppttiioonnss
-dcore-lint -ddump-asm -ddump-bcos -ddump-cmm -ddump-cpranal
-ddump-cse -ddump-deriv -ddump-ds -ddump-flatC -ddump-foreign
-ddump-inlinings -ddump-occur-anal -ddump-opt-cmm -ddump-parsed
-ddump-prep -ddump-rn -ddump-rules -ddump-simpl
-ddump-simpl-iterations -ddump-spec -ddump-splices -ddump-stg
-ddump-stranal -ddump-tc -ddump-types -ddump-worker-wrapper
-ddump-if-trace -ddump-tc-trace -ddump-rn-trace -ddump-rn-stats
-ddump-simpl-stats -dppr-debug -dppr-noprags -dppr-user-length
-dsource-stats -dcmm-lint -dstg-lint -dstg-stats
-dverbose-core2core -dverbose-stg2stg -dshow-passes
-dfaststring-stats -unreg
MMiisscc ccoommppiilleerr ooppttiioonnss
-fno-hi-version-check -dno-black-holing -fno-method-sharing
-fhistory-size -funregisterised -fno-asm-mangling
-fno-print-bind-result
HHEELLPP AANNDD VVEERRBBOOSSIITTYY OOPPTTIIOONNSS
--?? help
[mode]
--hheellpp help
[mode]
--nn do a dry run
[dynamic]
--vv verbose mode (equivalent to --vv33)
[dynamic]
--vv_n set verbosity level
[dynamic]
--VV display GHC version
[mode]
----vveerrssiioonn
display GHC version
[mode]
----nnuummeerriicc--vveerrssiioonn
display GHC version (numeric only)
[mode]
----pprriinntt--lliibbddiirr
display GHC library directory
[mode]
--ffeerrrroorr--ssppaannss
output full span in error messages
[static]
--HH_s_i_z_e Set the minimum heap size to _s_i_z_e
[static]
--RRgghhcc--ttiimmiinngg
Summarise timing stats for GHC (same as +RTS -tstderr)
[static]
WWHHIICCHH PPHHAASSEESS TTOO RRUUNN
--EE Stop after preprocessing (.hspp file)
[mode]
--CC Stop after generating C (.hc file)
[mode]
--SS Stop after generating assembly (.s file)
[mode]
--cc Do not link
[dynamic]
--xx _s_u_f_f_i_x
Override default behaviour for source files
[static]
AALLTTEERRNNAATTIIVVEE MMOODDEESS OOFF OOPPEERRAATTIIOONN
----iinntteerraaccttiivvee
Interactive mode - normally used by just running ghci
[mode]
----mmaakkee Build a multi-module Haskell program, automatically figuring out
dependencies. Likely to be much easier, and faster, than using
make.
[mode]
--ee eexxpprr
Evaluate _e_x_p_r
[mode]
--MM Generate dependency information suitable for use in a Makefile.
[mode]
RREEDDIIRREECCTTIINNGG OOUUTTPPUUTT
--hhccssuuff _s_u_f_f_i_x
set the suffix to use for intermediate C files
[dynamic]
--hhiiddiirr _d_i_r
set directory for interface files
[dynamic]
--hhiissuuff _s_u_f_f_i_x
set the suffix to use for interface files
[dynamic]
--oo _f_i_l_e_n_a_m_e
set output filename
[dynamic]
--ooddiirr _d_i_r
set output directory
[dynamic]
--oohhii _f_i_l_e_n_a_m_e
set the filename in which to put the interface
[dynamic]
--oossuuff _s_u_f_f_i_x
set the output file suffix
[dynamic]
--ssttuubbddiirr _d_i_r
redirect FFi stub files
[dynamic]
KKEEEEPPIINNGG IINNTTEERRMMEEDDIIAATTEE FFIILLEESS
--kkeeeepp--hhcc--ffiillee
retain intermediate .hc files
[dynamic]
--kkeeeepp--ss--ffiillee
retain intermediate .s files
[dynamic]
--kkeeeepp--rraaww--ss--ffiillee
retain intermediate .raw_s files
[dynamic]
--kkeeeepp--ttmmpp--ffiilleess
retain all intermediate temporary files
[dynamic]
TTEEMMPPOORRAARRYY FFIILLEESS
--ttmmppddiirr
set the directory for temporary files
[dynamic]
FFIINNDDIINNGG IIMMPPOORRTTSS
--ii_d_i_r_1:_d_i_r_2:...
add _d_i_r, _d_i_r_2, etc. to import path
[static/:set]
--ii Empty the import directory list
[static/:set]
IINNTTEERRFFAACCEE FFIILLEE OOPPTTIIOONNSS
--dddduummpp--hhii
Dump the new interface to stdout
[dynamic]
--dddduummpp--hhii--ddiiffffss
Show the differences vs. the old interface
[dynamic]
--dddduummpp--mmiinniimmaall--iimmppoorrttss
Dump a minimal set of imports
[dynamic]
----sshhooww--iiffaaccee _f_i_l_e
Read the interface in _f_i_l_e and dump it as text to stdout.
[mode]
RREECCOOMMPPIILLAATTIIOONN CCHHEECCKKIINNGG
--ffffoorrccee--rreeccoommpp
Turn off recompilation checking; implied by any --dddduummpp--XX option
[dynamic]
IINNTTEERRAACCTTIIVVEE--MMOODDEE OOPPTTIIOONNSS
--iiggnnoorree--ddoott--gghhccii
Disable reading of .ghci files
[static]
--rreeaadd--ddoott--gghhccii
Enable reading of .ghci files
[static]
--ffddeebbuuggggiinngg
Generate bytecode enabled for debugging
[dynamic]
--ffnnoo--ddeebbuuggggiinngg
Do not include debugging information in bytecodes
[dynamic]
PPAACCKKAAGGEESS
--ppaacckkaaggee--nnaammee _P
Compile to be part of package _P
[dynamic]
--ppaacckkaaggee _P
Expose package _P
[static/:set]
--hhiiddee--aallll--ppaacckkaaggeess
Hide all packages by default
[static]
--hhiiddee--ppaacckkaaggee _n_a_m_e
Hide package _P
[static/:set]
--iiggnnoorree--ppaacckkaaggee _n_a_m_e
Ignore package _P
[static/:set]
--ppaacckkaaggee--ccoonnff _f_i_l_e
Load more packages from _f_i_l_e
[static]
--nnoo--uusseerr--ppaacckkaaggee--ccoonnff
Don't load the user's package config file.
[static]
LLAANNGGUUAAGGEE OOPPTTIIOONNSS
--ffaallllooww--oovveerrllaappppiinngg--iinnssttaanncceess
Enable overlapping instances
[dynamic]
--ffaallllooww--iinnccoohheerreenntt--iinnssttaanncceess
Enable incoherent instances. Implies --ffaallllooww--oovveerrllaappppiinngg--iinn--
ssttaanncceess
[dynamic]
--ffaallllooww--uunnddeecciiddaabbllee--iinnssttaanncceess
Enable undecidable instances
[dynamic]
--ffccoonntteexxtt--ssttaacckk==NN_n
set the limit for context reduction
[dynamic]
--ffaarrrroowwss
Enable arrow notation extension
[dynamic]
--ffffii or --ffffffii
Enable foreign function interface (implied by --ffggllaassggooww--eexxttss)
[dynamic]
--ffggeenneerriiccss
Enable generic classes
[dynamic]
--ffggllaassggooww--eexxttss
Enable most language extensions
[dynamic]
--ffiimmpplliicciitt--ppaarraammss
Enable Implicit Parameters. Implied by --ffggllaassggooww--eexxttss.
[dynamic]
--ffiirrrreeffuuttaabbllee--ttuupplleess
Make tuple pattern matching irrefutable
[dynamic]
--ffnnoo--iimmpplliicciitt--pprreelluuddee
Don't implicitly import Prelude
[dynamic]
--ffnnoo--mmoonnoommoorrpphhiissmm--rreessttrriiccttiioonn
Disable the monomorphism restriction
[dynamic]
--ffnnoo--mmoonnoo--ppaatt--bbiinnddss
Make pattern bindings polymorphic
[dynamic]
--ffeexxtteennddeedd--ddeeffaauulltt--rruulleess
Use GHCi's extended default rules in a normal module
[dynamic]
--ffoovveerrllooaaddeedd--ssttrriinnggss
Enable overloaded string literals.
[dynamic]
--ffssccooppeedd--ttyyppee--vvaarriiaabblleess
Enable lexically-scoped type variables. Implied by --ffggllaass--
ggooww--eexxttss.
[dynamic]
--fftthh Enable Template Haskell. No longer implied by --ffggllaassggooww--eexxttss.
[dynamic]
--ffbbaanngg--ppaatttteerrnnss
Enable bang patterns.
[dynamic]
WWAARRNNIINNGGSS
--WW enable normal warnings
[dynamic]
--ww disable all warnings
[dynamic]
--WWaallll enable all warnings
[dynamic]
--WWeerrrroorr
make warnings fatal
[dynamic]
--ffwwaarrnn--ddeepprreeccaattiioonnss
warn about uses of functions & types that are deprecated
[dynamic]
--ffwwaarrnn--dduupplliiccaattee--eexxppoorrttss
warn when an entity is exported multiple times
[dynamic]
--ffwwaarrnn--hhii--sshhaaddoowwiinngg
warn when a .hi file in the current directory shadows a library
[dynamic]
--ffwwaarrnn--iinnccoommpplleettee--ppaatttteerrnnss
warn when a pattern match could fail
[dynamic]
--ffwwaarrnn--iinnccoommpplleettee--rreeccoorrdd--uuppddaatteess
warn when a record update could fail
[dynamic]
--ffwwaarrnn--mmiissssiinngg--ffiieellddss
warn when fields of a record are uninitialised
[dynamic]
--ffwwaarrnn--mmiissssiinngg--mmeetthhooddss
warn when class methods are undefined
[dynamic]
--ffwwaarrnn--mmiissssiinngg--ssiiggnnaattuurreess
warn about top-level functions without signatures
[dynamic]
--ffwwaarrnn--nnaammee--sshhaaddoowwiinngg
warn when names are shadowed
[dynamic]
--ffwwaarrnn--oorrpphhaannss
warn when the module contains "orphan" instance declarations or
rewrite rules
[dynamic]
--ffwwaarrnn--oovveerrllaappppiinngg--ppaatttteerrnnss
warn about overlapping patterns
[dynamic]
--ffwwaarrnn--ssiimmppllee--ppaatttteerrnnss
warn about lambda-patterns that can fail
[dynamic]
--ffwwaarrnn--ttaabbss
warn if there are tabs in the source file
[dynamic]
--ffwwaarrnn--ttyyppee--ddeeffaauullttss
warn when defaulting happens
[dynamic]
--ffwwaarrnn--uunnuusseedd--bbiinnddss
warn about bindings that are unused
[dynamic]
--ffwwaarrnn--uunnuusseedd--iimmppoorrttss
warn about unnecessary imports
[dynamic]
--ffwwaarrnn--uunnuusseedd--mmaattcchheess
warn about variables in patterns that aren't used
[dynamic]
OOPPTTIIMMIISSAATTIIOONN LLEEVVEELLSS
--OO Enable default optimisation (level 1)
[dynamic]
--OO_n Set optimisation level _n
[dynamic]
IINNDDIIVVIIDDUUAALL OOPPTTIIMMIISSAATTIIOONNSS
--ffccaassee--mmeerrggee
Enable case-merging
[dynamic]
--ffddiiccttss--ssttrriicctt
Make dictionaries strict
[static]
--ffddoo--eettaa--rreedduuccttiioonn
Enable eta-reduction
[dynamic]
--ffddoo--llaammbbddaa--eettaa--eexxppaannssiioonn
Enable lambda eta-reduction
[dynamic]
--ffeexxcceessss--pprreecciissiioonn
Enable excess intermediate precision
[dynamic]
--ffrruulleess--ooffff
Switch off all rewrite rules (including rules generated by auto-
matic specialisation of overloaded functions)
[static]
--ffiiggnnoorree--aasssseerrttss
Ignore assertions in the source
[dynamic]
--ffiiggnnoorree--iinntteerrffaaccee--pprraaggmmaass
Ignore pragmas in interface files
[dynamic]
--fflliibbeerraattee--ccaassee--tthhrreesshhoolldd
Tweak the liberate-case optimisation (default: 10)
[static]
--ffoommiitt--iinntteerrffaaccee--pprraaggmmaass
Don't generate interface pragmas
[dynamic]
--ffmmaaxx--wwoorrkkeerr--aarrggss
If a worker has that many arguments, none will be unpacked any-
more (default: 10)
[static]
--ffmmaaxx--ssiimmpplliiffiieerr--iitteerraattiioonnss
Set the max iterations for the simplifier
[dynamic]
--ffnnoo--ssttaattee--hhaacckk
Turn off the "state hack" whereby any lambda with a real-world
state token as argument is considered to be single-entry. Hence
OK to inline things inside it.
[static]
--ffnnoo--ccssee
Turn off common sub-expression
[dynamic]
--ffnnoo--ffuullll--llaazziinneessss
Turn off full laziness (floating bindings outwards).
[dynamic]
--ffnnoo--pprree--iinnlliinniinngg
Turn off pre-inlining
[static]
--ffnnoo--ssttrriiccttnneessss
Turn off strictness analysis
[dynamic]
--ffuunnbbooxx--ssttrriicctt--ffiieellddss
Flatten strict constructor fields
[dynamic]
--ffuunnffoollddiinngg--ccrreeaattiioonn--tthhrreesshhoolldd
Tweak unfolding settings
[static]
--ffuunnffoollddiinngg--ffuunn--ddiissccoouunntt
Tweak unfolding settings
[static]
--ffuunnffoollddiinngg--kkeeeenneessss--ffaaccttoorr
Tweak unfolding settings
[static]
--ffuunnffoollddiinngg--uuppddaattee--iinn--ppllaaccee
Tweak unfolding settings
[static]
--ffuunnffoollddiinngg--uussee--tthhrreesshhoolldd
Tweak unfolding settings
[static]
PPRROOFFIILLIINNGG OOPPTTIIOONNSS
--aauuttoo Auto-add _scc_s to all exported functions
[static]
--aauuttoo--aallll
Auto-add _scc_s to all top-level functions
[static]
--ccaaff--aallll
Auto-add _scc_s to all CAFs
[static]
--pprrooff Turn on profiling
[static]
--ttiicckkyy Turn on ticky-ticky profiling
[static]
HHAASSKKEELLLL PPRREE--PPRROOCCEESSSSOORR OOPPTTIIOONNSS
--FF Enable the use of a pre-processor (set with --ppggmmFF)
[dynamic]
CC PPRREE--PPRROOCCEESSSSOORR OOPPTTIIOONNSS
--ccpppp Run the C pre-processor on Haskell source files
[dynamic]
--DD_s_y_m_b_o_l=_v_a_l_u_e
Define a symbol in the C pre-processor
[dynamic]
--UU_s_y_m_b_o_l
Undefine a symbol in the C pre-processor
[dynamic]
--II_d_i_r Add _d_i_r to the directory search list for #include files
[dynamic]
CC CCOOMMPPIILLEERR OOPPTTIIOONNSS
--##iinncclluuddee _f_i_l_e
Include _f_i_l_e when compiling the .hc file
[dynamic]
CCOODDEE GGEENNEERRAATTIIOONN OOPPTTIIOONNSS
--ffaassmm Use the native code generator
[dynamic]
--ffvviiaa--CC
Compile via C
[dynamic]
--ffnnoo--ccooddee
Omit code generation
[mode]
LLIINNKKIINNGG OOPPTTIIOONNSS
--ffPPIICC Generate position-independent code (where available)
[static]
--ddyynnaammiicc
Use dynamic Haskell libraries (if available)
[static]
--ffrraammeewwoorrkk _n_a_m_e
On Darwin/MacOS X only, link in the framework _n_a_m_e. This option
corresponds to the --ffrraammeewwoorrkk option for Apple's Linker.
[dynamic]
--ffrraammeewwoorrkk--ppaatthh _n_a_m_e
On Darwin/MacOS X only, add _d_i_r to the list of directories
searched for frameworks. This option corresponds to the --FF op-
tion for Apple's Linker.
[dynamic]
--ll_l_i_b Link in library _l_i_b
[dynamic]
--LL_d_i_r Add _d_i_r to the list of directories searched for libraries
[dynamic]
--mmaaiinn--iiss
Set main module and function
[dynamic]
----mmkk--ddllll
DLL-creation mode (Windows only)
[dynamic]
--nnoo--hhss--mmaaiinn
Don't assume this program contains main
[dynamic]
--nnoo--lliinnkk
Omit linking
[dynamic]
--sspplliitt--oobbjjss
Split objects (for libraries)
[dynamic]
--ssttaattiicc
Use static Haskell libraries
[static]
--tthhrreeaaddeedd
Use the threaded runtime
[static]
--ddeebbuugg Use the debugging runtime
[static]
RREEPPLLAACCIINNGG PPHHAASSEESS
--ppggmmLL _c_m_d
Use _c_m_d as the literate pre-processor
[dynamic]
--ppggmmPP _c_m_d
Use _c_m_d as the C pre-processor (with --ccpppp only)
[dynamic]
--ppggmmcc _c_m_d
Use _c_m_d as the C compiler
[dynamic]
--ppggmmmm _c_m_d
Use _c_m_d as the mangler
[dynamic]
--ppggmmss _c_m_d
Use _c_m_d as the splitter
[dynamic]
--ppggmmaa _c_m_d
Use _c_m_d as the assembler
[dynamic]
--ppggmmll _c_m_d
Use _c_m_d as the linker
[dynamic]
--ppggmmddllll _c_m_d
Use _c_m_d as the DLL generator
[dynamic]
--ppggmmFF _c_m_d
Use _c_m_d as the pre-processor (with --FF only)
[dynamic]
FFOORRCCIINNGG OOPPTTIIOONNSS TTOO PPAARRTTIICCUULLAARR PPHHAASSEESS
--ooppttLL _o_p_t_i_o_n
pass _o_p_t_i_o_n to the literate pre-processor
[dynamic]
--ooppttPP _o_p_t_i_o_n
pass _o_p_t_i_o_n to cpp (with --ccpppp only)
[dynamic]
--ooppttFF _o_p_t_i_o_n
pass _o_p_t_i_o_n to the custom pre-processor
[dynamic]
--ooppttcc _o_p_t_i_o_n
pass _o_p_t_i_o_n to the C compiler
[dynamic]
--ooppttmm _o_p_t_i_o_n
pass _o_p_t_i_o_n to the mangler
[dynamic]
--ooppttaa _o_p_t_i_o_n
pass _o_p_t_i_o_n to the assembler
[dynamic]
--ooppttll _o_p_t_i_o_n
pass _o_p_t_i_o_n to the linker
[dynamic]
--ooppttddllll _o_p_t_i_o_n
pass _o_p_t_i_o_n to the DLL generator
[dynamic]
--ooppttddeepp _o_p_t_i_o_n
pass _o_p_t_i_o_n to the dependency generator
[dynamic]
PPLLAATTFFOORRMM--SSPPEECCIIFFIICC OOPPTTIIOONNSS
--mmoonnllyy--[[443322]]--rreeggss
(x86 only) give some registers back to the C compiler
[dynamic]
EEXXTTEERRNNAALL CCOORREE FFIILLEE OOPPTTIIOONNSS
--ffeexxtt--ccoorree
Generate .hcr external Core files
[static]
CCOOMMPPIILLEERR DDEEBBUUGGGGIINNGG OOPPTTIIOONNSS
--ddccoorree--lliinntt
Turn on internal sanity checking
[dynamic]
--dddduummpp--aassmm
Dump assembly
[dynamic]
--dddduummpp--bbccooss
Dump interpreter byte code
[dynamic]
--dddduummpp--ccmmmm
Dump C-- output
[dynamic]
--dddduummpp--ccpprraannaall
Dump output from CPR analysis
[dynamic]
--dddduummpp--ccssee
Dump CSE output
[dynamic]
--dddduummpp--ddeerriivv
Dump deriving output
[dynamic]
--dddduummpp--ddss
Dump desugarer output
[dynamic]
--dddduummpp--ffllaattCC
Dump 'flat' C
[dynamic]
--dddduummpp--ffoorreeiiggnn
Dump foreign export stubs
[dynamic]
--dddduummpp--iinnlliinniinnggss
Dump inlining info
[dynamic]
--dddduummpp--ooccccuurr--aannaall
Dump occurrence analysis output
[dynamic]
--dddduummpp--oopptt--ccmmmm
Dump the results of C-- to C-- optimising passes
[dynamic]
--dddduummpp--ppaarrsseedd
Dump parse tree
[dynamic]
--dddduummpp--pprreepp
Dump prepared core
[dynamic]
--dddduummpp--rrnn
Dump renamer output
[dynamic]
--dddduummpp--rruulleess
Dump rules
[dynamic]
--dddduummpp--ssiimmppll
Dump final simplifier output
[dynamic]
--dddduummpp--ssiimmppll--iitteerraattiioonnss
Dump output from each simplifier iteration
[dynamic]
--dddduummpp--ssppeecc
Dump specialiser output
[dynamic]
--dddduummpp--sspplliicceess
Dump TH splided expressions, and what they evaluate to
[dynamic]
--dddduummpp--ssttgg
Dump final STG
[dynamic]
--dddduummpp--ssttrraannaall
Dump strictness analyser output
[dynamic]
--dddduummpp--ttcc
Dump typechecker output
[dynamic]
--dddduummpp--ttyyppeess
Dump type signatures
[dynamic]
--dddduummpp--wwoorrkkeerr--wwrraappppeerr
Dump worker-wrapper output
[dynamic]
--dddduummpp--iiff--ttrraaccee
Trace interface files
[dynamic]
--dddduummpp--ttcc--ttrraaccee
Trace typechecker
[dynamic]
--dddduummpp--rrnn--ttrraaccee
Trace renamer
[dynamic]
--dddduummpp--rrnn--ssttaattss
Renamer stats
[dynamic]
--dddduummpp--ssiimmppll--ssttaattss
Dump simplifier stats
[dynamic]
--ddpppprr--ddeebbuugg
Turn on debug printing (more verbose)
[static]
--ddpppprr--nnoopprraaggss
Don't output pragma info in dumps
[static]
--ddpppprr--uusseerr--lleennggtthh
Set the depth for printing expressions in error msgs
[static]
--ddssoouurrccee--ssttaattss
Dump haskell source stats
[dynamic]
--ddccmmmm--lliinntt
C-- pass sanity checking
[dynamic]
--ddssttgg--lliinntt
STG pass sanity checking
[dynamic]
--ddssttgg--ssttaattss
Dump STG stats
[dynamic]
--ddvveerrbboossee--ccoorree22ccoorree
Show output from each core-to-core pass
[dynamic]
--ddvveerrbboossee--ssttgg22ssttgg
Show output from each STG-to-STG pass
[dynamic]
--ddsshhooww--ppaasssseess
Print out each pass name as it happens
[dynamic]
--ddffaassttssttrriinngg--ssttaattss
Show statistics for fast string usage when finished
[dynamic]
--uunnrreegg Enable unregisterised compilation
[static]
MMIISSCC CCOOMMPPIILLEERR OOPPTTIIOONNSS
--ffnnoo--hhii--vveerrssiioonn--cchheecckk
Don't complain about .hi file mismatches
[static]
--ddnnoo--bbllaacckk--hhoolliinngg
Turn off black holing (probably doesn't work)
[static]
--ffnnoo--mmeetthhoodd--sshhaarriinngg
Don't share specialisations of overloaded functions
[static]
--ffhhiissttoorryy--ssiizzee
Set simplification history size
[static]
--ffuunnrreeggiisstteerriisseedd
Unregisterised compilation (use --uunnrreegg instead)
[static]
--ffnnoo--aassmm--mmaanngglliinngg
Turn off assembly mangling (use --uunnrreegg instead)
[dynamic]
--ffnnoo--pprriinntt--bbiinndd--rreessuulltt
Turn off printing of binding results in GHCi
[dynamic]
FFIILLEESS
_/_6_4_p_l_a_y_p_e_n_/_b_u_i_l_d_b_o_t_/_x_8_6___6_4_-_l_i_n_u_x_-
_h_e_a_d_/_b_u_i_l_d_/_g_h_c_-_6_._7_._2_0_0_7_0_3_0_9_/_l_i_b_/_x_8_6___6_4_-_u_n_k_n_o_w_n_-_l_i_n_u_x
CCOOPPYYRRIIGGHHTT
Copyright 2002, The University Court of the University of Glasgow.
All rights reserved.
AAUUTTHHOORR
This manual page was generated from the XML documentation of GHC with
blood, sweat, tears and a breaks-if-you-look-at-it-the-wrong-way XSL
stylesheet originally written by Michael Weber <michaelw at debian.org>
for the Debian GNU/Linux system (but may be used by others).
Glasgow FP Suite 2002-10-25 GHC(1)
More information about the Glasgow-haskell-users
mailing list