X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FMain.hs;h=ad8d1f44c76fa60400f58342fd650e9623133b08;hb=1168a37f6bfad3d7025ecb21b9917799937936f3;hp=bc18dae09ff3859470738bf1bf1d53f1016e95ca;hpb=d8e154531c4bb14e1ebe96b7d3c067430a363360;p=ghc-hetmet.git diff --git a/compiler/main/Main.hs b/compiler/main/Main.hs index bc18dae..ad8d1f4 100644 --- a/compiler/main/Main.hs +++ b/compiler/main/Main.hs @@ -1,4 +1,11 @@ {-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + ----------------------------------------------------------------------------- -- -- GHC Driver program @@ -164,6 +171,7 @@ main = ShowUsage -> showGhcUsage dflags cli_mode PrintLibdir -> putStrLn (topDir dflags) ShowSupportedLanguages -> alreadyHandled + ShowDocDir -> showDocDir (topDir dflags) ShowVersion -> alreadyHandled ShowNumVersion -> alreadyHandled ShowInterface f -> doShowIface dflags f @@ -298,6 +306,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 +366,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 +475,12 @@ showSupportedLanguages :: IO () showSupportedLanguages = do mapM_ putStrLn supportedLanguages exitWith ExitSuccess +showDocDir :: FilePath -> IO () +showDocDir topdir = putStrLn docDir + where docDir = if cRelocatableBuild + then topdir ++ "/doc" + else cDocDir + showVersion :: IO () showVersion = do putStrLn (cProjectName ++ ", version " ++ cProjectVersion)