implement --gfo-dir. before it was recognized but ignored

This commit is contained in:
krasimir
2009-05-09 18:00:11 +00:00
parent 4b8f868975
commit 37aa3947a5
2 changed files with 6 additions and 4 deletions

View File

@@ -160,7 +160,9 @@ compileOne opts env@(_,srcgr,_) file = do
-- for gf source, do full compilation and generate code
_ -> do
let gfo = gfoFile (dropExtension file)
let gfo = maybe (gfoFile (dropExtension file))
(\dir -> dir </> gfoFile (dropExtension (takeFileName file)))
(flag optGFODir opts)
b1 <- ioeIO $ doesFileExist file
if not b1
then compileOne opts env $ gfo

View File

@@ -146,11 +146,11 @@ data Flags = Flags {
optVerbosity :: Verbosity,
optShowCPUTime :: Bool,
optEmitGFO :: Bool,
optGFODir :: FilePath,
optOutputFormats :: [OutputFormat],
optSISR :: Maybe SISRFormat,
optHaskellOptions :: Set HaskellOption,
optLexicalCats :: Set String,
optGFODir :: Maybe FilePath,
optOutputFile :: Maybe FilePath,
optOutputDir :: Maybe FilePath,
optGFLibPath :: Maybe FilePath,
@@ -239,11 +239,11 @@ defaultFlags = Flags {
optVerbosity = Normal,
optShowCPUTime = False,
optEmitGFO = True,
optGFODir = ".",
optOutputFormats = [],
optSISR = Nothing,
optHaskellOptions = Set.empty,
optLexicalCats = Set.empty,
optGFODir = Nothing,
optOutputFile = Nothing,
optOutputDir = Nothing,
optGFLibPath = Nothing,
@@ -373,7 +373,7 @@ optDescr =
Nothing -> fail $ "Bad verbosity: " ++ show v
cpu x = set $ \o -> o { optShowCPUTime = x }
emitGFO x = set $ \o -> o { optEmitGFO = x }
gfoDir x = set $ \o -> o { optGFODir = x }
gfoDir x = set $ \o -> o { optGFODir = Just x }
outFmt x = readOutputFormat x >>= \f ->
set $ \o -> o { optOutputFormats = optOutputFormats o ++ [f] }
sisrFmt x = case x of