Prepends the hsenv arguments instead of appending them.

This commit is contained in:
Nicolas Dudebout 2013-01-21 10:50:07 -05:00
parent e056d5169c
commit 34474f9844

View File

@ -54,7 +54,7 @@ import Util (consIORef, looksLikeModuleName)
getBuildFlags :: IO [Located String]
getBuildFlags = do
argv0 <- fmap read $ readFile "yesod-devel/ghcargs.txt" -- generated by yesod-ghc-wrapper
argv0' <- addHsenvArgs argv0
argv0' <- prependHsenvArgv argv0
let (minusB_args, argv1) = partition ("-B" `isPrefixOf`) argv0'
mbMinusB | null minusB_args = Nothing
| otherwise = Just (drop 2 (last minusB_args))
@ -63,12 +63,12 @@ getBuildFlags = do
(argv2, staticFlagWarnings) <- GHC.parseStaticFlags argv1'
return argv2
addHsenvArgs :: [String] -> IO [String]
addHsenvArgs argv = do
prependHsenvArgv :: [String] -> IO [String]
prependHsenvArgv argv = do
env <- getEnvironment
return $ case (lookup "HSENV" env) of
Nothing -> argv
_ -> argv ++ hsenvArgv
_ -> hsenvArgv ++ argv
where hsenvArgv = words $ fromMaybe "" (lookup "PACKAGE_DB_FOR_GHC" env)
buildPackage :: [Located String] -> FilePath -> FilePath -> IO Bool