ghc-mod 3.0.1 → 3.0.2
raw patch · 3 files changed
+25/−12 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog +3/−0
- Language/Haskell/GhcMod/CabalApi.hs +21/−11
- ghc-mod.cabal +1/−1
ChangeLog view
@@ -1,3 +1,6 @@+2013-09-16 v3.0.2+ * Fixing a bug of "dist/build/autogen/cabal_macros.h".+ 2013-09-16 v3.0.1 * Exporting more low level APIs. * Adding "-ibuild/autogen"
Language/Haskell/GhcMod/CabalApi.hs view
@@ -28,6 +28,7 @@ import Distribution.Verbosity (silent) import Distribution.Version (versionBranch, Version) import Language.Haskell.GhcMod.Types+import System.Directory (doesFileExist) import System.FilePath ----------------------------------------------------------------@@ -38,21 +39,21 @@ fromCabalFile :: [GHCOption] -> Cradle -> IO ([GHCOption],[IncludeDir],[Package])-fromCabalFile ghcOptions cradle = do- cabal <- parseCabalFile cfile- return $ cookInfo ghcOptions cradle cabal+fromCabalFile ghcOptions cradle =+ parseCabalFile cfile >>= cookInfo ghcOptions cradle where Just cfile = cradleCabalFile cradle cookInfo :: [GHCOption] -> Cradle -> PackageDescription- -> ([GHCOption],[IncludeDir],[Package])-cookInfo ghcOptions cradle cabal = (gopts,idirs,depPkgs)+ -> IO ([GHCOption],[IncludeDir],[Package])+cookInfo ghcOptions cradle cabal = do+ gopts <- getGHCOptions ghcOptions cdir $ head buildInfos+ return (gopts,idirs,depPkgs) where wdir = cradleCurrentDir cradle Just cdir = cradleCabalDir cradle Just cfile = cradleCabalFile cradle buildInfos = cabalAllBuildInfo cabal- gopts = getGHCOptions ghcOptions cdir $ head buildInfos idirs = includeDirectories cdir wdir $ cabalSourceDirs buildInfos depPkgs = removeThem problematicPackages $ removeMe cfile $ cabalDependPackages buildInfos @@ -104,17 +105,26 @@ ---------------------------------------------------------------- -getGHCOptions :: [GHCOption] -> FilePath -> BuildInfo -> [GHCOption]-getGHCOptions ghcOptions cdir binfo = ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs ++ cpps+getGHCOptions :: [GHCOption] -> FilePath -> BuildInfo -> IO [GHCOption]+getGHCOptions ghcOptions cdir binfo = do+ cabalCpp <- cabalCppOptions cdir+ let cpps = map ("-optP" ++) $ cppOptions binfo ++ cabalCpp+ return $ ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs ++ cpps where lang = maybe "-XHaskell98" (("-X" ++) . display) $ defaultLanguage binfo libDirs = map ("-L" ++) $ extraLibDirs binfo exts = map (("-X" ++) . display) $ usedExtensions binfo libs = map ("-l" ++) $ extraLibs binfo- cpps = map ("-optP" ++) $ cppOptions binfo ++ cabalCppOptions cdir -cabalCppOptions :: FilePath -> [String]-cabalCppOptions dir = ["-include", dir </> "dist/build/autogen/cabal_macros.h"]+cabalCppOptions :: FilePath -> IO [String]+cabalCppOptions dir = do+ exist <- doesFileExist cabalMacro+ if exist then+ return ["-include", cabalMacro]+ else+ return []+ where+ cabalMacro = dir </> "dist/build/autogen/cabal_macros.h" ----------------------------------------------------------------
ghc-mod.cabal view
@@ -1,5 +1,5 @@ Name: ghc-mod-Version: 3.0.1+Version: 3.0.2 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3