Cause "make install" to install dynamic libraries (#8194)
authorBryan O'Sullivan <bos@serpentine.com>
Fri, 13 Sep 2013 20:13:04 +0000 (13:13 -0700)
committerBryan O'Sullivan <bryano@fb.com>
Sun, 15 Sep 2013 17:07:39 +0000 (10:07 -0700)
Our special ghc-cabal command needs to be told that we are building with
dynamic library support when it does its copying. We do so by passing an
extra parameter from ghc.mk.

ghc.mk
utils/ghc-cabal/Main.hs

diff --git a/ghc.mk b/ghc.mk
index 82e9e5c..2597ee9 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -918,7 +918,8 @@ install_packages: rts/dist/package.conf.install
                                          '$(DESTDIR)'                \
                                          '$(prefix)'                 \
                                          '$(ghclibdir)'              \
-                                         '$(docdir)/html/libraries'))
+                                         '$(docdir)/html/libraries'  \
+                                         '$(GhcLibWays)'))
        "$(INSTALLED_GHC_PKG_REAL)" --force --global-package-db "$(INSTALLED_PACKAGE_CONF)" update rts/dist/package.conf.install
        $(foreach p, $(INSTALL_PACKAGES),                             \
            $(call make-command,                                      \
index 7d1d9bc..8fa2c29 100644 (file)
@@ -40,9 +40,10 @@ main = do hSetBuffering stdout LineBuffering
                   doCheck dir
               "copy" : dir : distDir
                      : strip : myDestDir : myPrefix : myLibdir : myDocdir
-                     : args' ->
+                     : ghcLibWays : args' ->
                   doCopy dir distDir
                          strip myDestDir myPrefix myLibdir myDocdir
+                         ("dyn" `elem` words ghcLibWays)
                          args'
               "register" : dir : distDir : ghc : ghcpkg : topdir
                          : myDestDir : myPrefix : myLibdir : myDocdir
@@ -127,11 +128,11 @@ runHsColour directory distdir args
  $ defaultMainArgs ("hscolour" : "--builddir" : distdir : args)
 
 doCopy :: FilePath -> FilePath
-       -> FilePath -> FilePath -> FilePath -> FilePath -> FilePath
+       -> FilePath -> FilePath -> FilePath -> FilePath -> FilePath -> Bool
        -> [String]
        -> IO ()
 doCopy directory distDir
-       strip myDestDir myPrefix myLibdir myDocdir
+       strip myDestDir myPrefix myLibdir myDocdir withSharedLibs
        args
  = withCurrentDirectory directory $ do
      let copyArgs = ["copy", "--builddir", distDir]
@@ -172,7 +173,8 @@ doCopy directory distDir
             progs' <- configureProgram verbosity stripProgram' progs
             let lbi' = lbi {
                                withPrograms = progs',
-                               installDirTemplates = idts
+                               installDirTemplates = idts,
+                               withSharedLib = withSharedLibs
                            }
             f pd lbi' us flags