Implement new `-fwarn-noncanonical-monad-instances`
[ghc.git] / utils / mkUserGuidePart / Options.hs
1 module Options (Group(..), groups) where
2
3 import Types
4
5 import Options.CodeGen
6 import Options.CompilerDebugging
7 import Options.Cpp
8 import Options.FindingImports
9 import Options.Interactive
10 import Options.InterfaceFiles
11 import Options.KeepingIntermediates
12 import Options.Language
13 import Options.Linking
14 import Options.Misc
15 import Options.Modes
16 import Options.Optimizations
17 import Options.OptimizationLevels
18 import Options.Packages
19 import Options.Phases
20 import Options.PhasePrograms
21 import Options.PhaseSpecific
22 import Options.PlatformSpecific
23 import Options.Plugin
24 import Options.Profiling
25 import Options.ProgramCoverage
26 import Options.RecompilationChecking
27 import Options.RedirectingOutput
28 import Options.TemporaryFiles
29 import Options.Verbosity
30 import Options.Warnings
31
32 -- | A group of flags
33 data Group = Group { grpName :: String -- ^ Internal name
34 , grpTitle :: String -- ^ Human-readable title
35 , grpFlags :: [Flag] -- ^ Flags in group
36 }
37
38 groups :: [Group]
39 groups =
40 [ Group "codegen" "Code generation" codegenOptions
41 , Group "compiler-debugging" "Debugging the compiler" compilerDebuggingOptions
42 , Group "cpp" "C pre-processor" cppOptions
43 , Group "finding-imports" "Finding imports" findingImportsOptions
44 , Group "interactive" "Interactive mode" interactiveOptions
45 , Group "interface-files" "Interface files" interfaceFilesOptions
46 , Group "keeping-intermediates" "Keeping intermediate files" keepingIntermediatesOptions
47 , Group "language" "Language options" languageOptions
48 , Group "linking" "Linking options" linkingOptions
49 , Group "misc" "Miscellaneous options" miscOptions
50 , Group "modes" "Modes of operation" modeOptions
51 , Group "optimization" "Individual optimizations " optimizationsOptions
52 , Group "optimization-levels" "Optimization levels" optimizationLevelsOptions
53 , Group "packages" "Package options" packagesOptions
54 , Group "phases" "Phases of compilation" phaseOptions
55 , Group "phase-programs" "Overriding external programs" phaseProgramsOptions
56 , Group "phase-specific" "Phase-specific options" phaseSpecificOptions
57 , Group "platform-specific" "Platform-specific options" platformSpecificOptions
58 , Group "plugin" "Compiler plugins" pluginOptions
59 , Group "profiling" "Profiling" profilingOptions
60 , Group "program-coverage" "Program coverage" programCoverageOptions
61 , Group "recompilation-checking" "Recompilation checking" recompilationCheckingOptions
62 , Group "redirecting-output" "Redirecting output" redirectingOutputOptions
63 , Group "temporary-files" "Temporary files" temporaryFilesOptions
64 , Group "verbosity" "Verbosity options" verbosityOptions
65 , Group "warnings" "Warnings" warningsOptions
66 ]