summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2009-07-05 18:04:14 +0000
committerIan Lynagh <igloo@earth.li>2009-07-05 18:04:14 +0000
commit8464822fd829e63b2301ced2c2027edeb788f527 (patch)
tree247794e4b5ea1dbca31ca156afd64bde49d219ba
parent682eb17762dcd9d2eefaea86f83fda131eef9597 (diff)
downloadhaskell-8464822fd829e63b2301ced2c2027edeb788f527.tar.gz
Follow Cabal changes
-rw-r--r--utils/ghc-cabal/ghc-cabal.hs18
1 files changed, 11 insertions, 7 deletions
diff --git a/utils/ghc-cabal/ghc-cabal.hs b/utils/ghc-cabal/ghc-cabal.hs
index bd4efc4aa8..851136978b 100644
--- a/utils/ghc-cabal/ghc-cabal.hs
+++ b/utils/ghc-cabal/ghc-cabal.hs
@@ -9,16 +9,14 @@ import Distribution.Simple
import Distribution.Simple.Configure
import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.Program
-import Distribution.Simple.Utils (defaultPackageDesc)
+import Distribution.Simple.Utils (defaultPackageDesc, writeFileAtomic)
import Distribution.Simple.Build (writeAutogenFiles)
-import Distribution.Simple.Register (writeInstalledConfig)
+import Distribution.Simple.Register
import Distribution.Simple.PackageIndex
import Distribution.Text
import Distribution.Verbosity
import qualified Distribution.InstalledPackageInfo as Installed
- ( InstalledPackageInfo_(..) )
import qualified Distribution.Simple.PackageIndex as PackageIndex
- ( topologicalOrder, lookupPackageName, insert )
import Control.Monad
import Data.Maybe
@@ -182,9 +180,15 @@ generate config_args distdir directory
writeAutogenFiles verbosity pd lbi
-- generate inplace-pkg-config
- when (isJust $ library pd) $
- writeInstalledConfig distdir pd lbi True
- (distdir </> "inplace-pkg-config")
+ case (library pd, libraryConfig lbi) of
+ (Nothing, Nothing) -> return ()
+ (Just lib, Just clbi) -> do
+ cwd <- getCurrentDirectory
+ let installedPkgInfo = inplaceInstalledPackageInfo cwd distdir
+ pd lib lbi clbi
+ content = Installed.showInstalledPackageInfo installedPkgInfo ++ "\n"
+ writeFileAtomic (distdir </> "inplace-pkg-config") content
+ _ -> error "Inconsistent lib components; can't happen?"
let
libBiModules lib = (libBuildInfo lib, libModules lib)