diff options
| author | krasimir <krasimir@chalmers.se> | 2009-05-09 18:00:11 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-05-09 18:00:11 +0000 |
| commit | 37aa3947a52a608cdb4cc0c6b0afdeb0c4bf1824 (patch) | |
| tree | 6a74166848c559d5e46705d8fa4041f64e0f2c90 /src | |
| parent | 4b8f86897519b8e45c439aee502e3284603ab726 (diff) | |
implement --gfo-dir. before it was recognized but ignored
Diffstat (limited to 'src')
| -rw-r--r-- | src/GF/Compile.hs | 4 | ||||
| -rw-r--r-- | src/GF/Infra/Option.hs | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/GF/Compile.hs b/src/GF/Compile.hs index 67e1d218c..82519aaeb 100644 --- a/src/GF/Compile.hs +++ b/src/GF/Compile.hs @@ -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 diff --git a/src/GF/Infra/Option.hs b/src/GF/Infra/Option.hs index b312dbd66..e27283de1 100644 --- a/src/GF/Infra/Option.hs +++ b/src/GF/Infra/Option.hs @@ -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 |
