[commit: ghc] master: Fix ghci on Windows when GHC is dynamically linked (69a343a)

Ian Lynagh igloo at earth.li
Wed May 15 16:30:38 CEST 2013


Repository : http://darcs.haskell.org/ghc.git/

On branch  : master

https://github.com/ghc/ghc/commit/69a343af10f70fcc5a7977968cbceac55114c2ee

>---------------------------------------------------------------

commit 69a343af10f70fcc5a7977968cbceac55114c2ee
Author: Ian Lynagh <ian at well-typed.com>
Date:   Tue May 14 16:41:05 2013 +0100

    Fix ghci on Windows when GHC is dynamically linked
    
    On Windows, we need to prepend "lib" to Haskell DLLs.
    (maybe we should be naming the DLLs without the prefix instead? But this
    works for now).

>---------------------------------------------------------------

 compiler/ghci/Linker.lhs   | 2 +-
 compiler/main/HscTypes.lhs | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/compiler/ghci/Linker.lhs b/compiler/ghci/Linker.lhs
index ffe43e0..2de130a 100644
--- a/compiler/ghci/Linker.lhs
+++ b/compiler/ghci/Linker.lhs
@@ -1195,7 +1195,7 @@ locateLib dflags is_hs dirs lib
      mk_arch_path     dir = dir </> ("lib" ++ lib <.> "a")
 
      hs_dyn_lib_name = lib ++ "-ghc" ++ cProjectVersion
-     mk_hs_dyn_lib_path dir = dir </> mkSOName platform hs_dyn_lib_name
+     mk_hs_dyn_lib_path dir = dir </> mkHsSOName platform hs_dyn_lib_name
 
      so_name = mkSOName platform lib
      mk_dyn_lib_path dir = dir </> so_name
diff --git a/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs
index d9fe88b..28134e1 100644
--- a/compiler/main/HscTypes.lhs
+++ b/compiler/main/HscTypes.lhs
@@ -37,7 +37,7 @@ module HscTypes (
 
         PackageInstEnv, PackageRuleBase,
 
-        mkSOName, soExt,
+        mkSOName, mkHsSOName, soExt,
 
         -- * Annotations
         prepareAnnotations,
@@ -1796,6 +1796,9 @@ mkSOName platform root
       OSMinGW32 ->           root  <.> "dll"
       _         -> ("lib" ++ root) <.> "so"
 
+mkHsSOName :: Platform -> FilePath -> FilePath
+mkHsSOName platform root = ("lib" ++ root) <.> soExt platform
+
 soExt :: Platform -> FilePath
 soExt platform
     = case platformOS platform of





More information about the ghc-commits mailing list