summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/Makefile1
-rw-r--r--compiler/main/Main.hs24
2 files changed, 18 insertions, 7 deletions
diff --git a/compiler/Makefile b/compiler/Makefile
index 9ddef07d33..11407885f4 100644
--- a/compiler/Makefile
+++ b/compiler/Makefile
@@ -262,6 +262,7 @@ endif
@echo "cUSER_WAY_NAMES = \"$(USER_WAY_NAMES)\"" >> $(CONFIG_HS)
@echo "cUSER_WAY_OPTS = \"$(USER_WAY_OPTS)\"" >> $(CONFIG_HS)
@echo "cDEFAULT_TMPDIR = \"$(DEFAULT_TMPDIR)\"" >> $(CONFIG_HS)
+ @echo "cDocDir = \"$(docdir)\"" >> $(CONFIG_HS)
@echo done.
CLEAN_FILES += $(CONFIG_HS)
diff --git a/compiler/main/Main.hs b/compiler/main/Main.hs
index bc18dae09f..038a7b9238 100644
--- a/compiler/main/Main.hs
+++ b/compiler/main/Main.hs
@@ -89,6 +89,8 @@ main =
exitWith ExitSuccess
ShowSupportedLanguages -> do showSupportedLanguages
exitWith ExitSuccess
+ ShowDocDir -> do showDocDir
+ exitWith ExitSuccess
ShowVersion -> do showVersion
exitWith ExitSuccess
ShowNumVersion -> do putStrLn cProjectVersion
@@ -164,6 +166,7 @@ main =
ShowUsage -> showGhcUsage dflags cli_mode
PrintLibdir -> putStrLn (topDir dflags)
ShowSupportedLanguages -> alreadyHandled
+ ShowDocDir -> alreadyHandled
ShowVersion -> alreadyHandled
ShowNumVersion -> alreadyHandled
ShowInterface f -> doShowIface dflags f
@@ -298,6 +301,7 @@ verifyOutputFiles dflags = do
data CmdLineMode
= ShowUsage -- ghc -?
| PrintLibdir -- ghc --print-libdir
+ | ShowDocDir -- ghc --print-docdir
| ShowInfo -- ghc --info
| ShowSupportedLanguages -- ghc --supported-languages
| ShowVersion -- ghc -V/--version
@@ -357,13 +361,14 @@ type ModeM a = CmdLineP (CmdLineMode, String, [String]) a
mode_flags :: [(String, OptKind (CmdLineP (CmdLineMode, String, [String])))]
mode_flags =
[ ------- help / version ----------------------------------------------
- ( "?" , PassFlag (setMode ShowUsage))
- , ( "-help" , PassFlag (setMode ShowUsage))
- , ( "-print-libdir" , PassFlag (setMode PrintLibdir))
- , ( "V" , PassFlag (setMode ShowVersion))
- , ( "-version" , PassFlag (setMode ShowVersion))
- , ( "-numeric-version", PassFlag (setMode ShowNumVersion))
- , ( "-info", PassFlag (setMode ShowInfo))
+ ( "?" , PassFlag (setMode ShowUsage))
+ , ( "-help" , PassFlag (setMode ShowUsage))
+ , ( "-print-libdir" , PassFlag (setMode PrintLibdir))
+ , ( "-print-docdir" , PassFlag (setMode ShowDocDir))
+ , ( "V" , PassFlag (setMode ShowVersion))
+ , ( "-version" , PassFlag (setMode ShowVersion))
+ , ( "-numeric-version" , PassFlag (setMode ShowNumVersion))
+ , ( "-info" , PassFlag (setMode ShowInfo))
, ( "-supported-languages", PassFlag (setMode ShowSupportedLanguages))
------- interfaces ----------------------------------------------------
@@ -465,6 +470,11 @@ showSupportedLanguages :: IO ()
showSupportedLanguages = do mapM_ putStrLn supportedLanguages
exitWith ExitSuccess
+showDocDir :: IO ()
+showDocDir = do
+ putStrLn cDocDir
+ exitWith ExitSuccess
+
showVersion :: IO ()
showVersion = do
putStrLn (cProjectName ++ ", version " ++ cProjectVersion)