X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fghc-cabal%2Fghc-cabal.hs;fp=utils%2Fghc-cabal%2Fghc-cabal.hs;h=41abd390e114a574e25ec1c6d2131d54a5939b03;hb=4a82c60e35612612921c74b3448e79b0a60de780;hp=25c94a1f80cbda325ab307422493a174f3815240;hpb=d710c3a401d90bd1535193985a1c83cd5f4164dc;p=ghc-hetmet.git diff --git a/utils/ghc-cabal/ghc-cabal.hs b/utils/ghc-cabal/ghc-cabal.hs index 25c94a1..41abd39 100644 --- a/utils/ghc-cabal/ghc-cabal.hs +++ b/utils/ghc-cabal/ghc-cabal.hs @@ -328,7 +328,16 @@ generate config_args distdir directory -- GHC's rts package: hackRtsPackage index = case PackageIndex.lookupPackageName index (PackageName "rts") of - [(_,[rts])] -> PackageIndex.insert rts{ Installed.ldOptions = [] } index + [(_,[rts])] -> + PackageIndex.insert rts{ + Installed.ldOptions = [], + Installed.libraryDirs = filter (not . ("gcc-lib" `isSuffixOf`)) (Installed.libraryDirs rts)} index + -- GHC <= 6.12 had $topdir/gcc-lib in their + -- library-dirs for the rts package, which causes + -- problems when we try to use the in-tree mingw, + -- due to accidentally picking up the incompatible + -- libraries there. So we filter out gcc-lib from + -- the RTS's library-dirs here. _ -> error "No (or multiple) ghc rts package is registered!!" dep_ids = map snd (externalPackageDeps lbi)