Yet another try to support Stack.

This commit is contained in:
scturtle
2015-08-17 13:41:46 +08:00
committed by Daniel Gröber
parent e360f7eb44
commit 320b404a8c
6 changed files with 45 additions and 2 deletions

View File

@@ -149,6 +149,7 @@ targetGhcOptions crdl sefnmn = do
case cradleProjectType crdl of
CabalProject -> cabalOpts crdl
StackProject -> stackOpts crdl
_ -> sandboxOpts crdl
where
zipMap f l = l `zip` (f `map` l)
@@ -264,8 +265,17 @@ packageGhcOptions = do
crdl <- cradle
case cradleProjectType crdl of
CabalProject -> getGhcMergedPkgOptions
StackProject -> stackOpts crdl
_ -> sandboxOpts crdl
stackOpts :: MonadIO m => Cradle -> m [String]
stackOpts crdl = do
pkgDbStack <- liftIO getStackPackageDbStack
let pkgOpts = ghcDbStackOpts pkgDbStack
return $ ["-i" ++ d | d <- [wdir,rdir]] ++ pkgOpts ++ ["-Wall"]
where
(wdir, rdir) = (cradleCurrentDir crdl, cradleRootDir crdl)
-- also works for plain projects!
sandboxOpts :: MonadIO m => Cradle -> m [String]
sandboxOpts crdl = do