diff --git a/hadrian/bindist/Makefile b/hadrian/bindist/Makefile index 34d07ef3ae95a8d430b05012d56adb24b53d0791..d76c2da3cf63b3364a6c3e7e0bc79fae31ee177a 100644 --- a/hadrian/bindist/Makefile +++ b/hadrian/bindist/Makefile @@ -224,7 +224,7 @@ install_wrappers: install_bin_libdir install_hsc2hs_wrapper .PHONY: install_hsc2hs_wrapper install_hsc2hs_wrapper: @echo Copying hsc2hs wrapper - cp mk/hsc2hs wrappers/hsc2hs-ghc-$(ProjectVersion) + cp mk/hsc2hs wrappers/$(CrossCompilePrefix)hsc2hs-ghc-$(ProjectVersion) PKG_CONFS = $(shell find "$(DESTDIR)$(ActualLibsDir)/package.conf.d" -name '*.conf' | sed "s: :\0xxx\0:g") update_package_db: install_bin install_lib diff --git a/hadrian/src/Rules/BinaryDist.hs b/hadrian/src/Rules/BinaryDist.hs index 7bbc37b62af647d51da66b13dc002d557b8c1f3d..770521b429a859cdc6ea090ce84dc30d0ea0e4f2 100644 --- a/hadrian/src/Rules/BinaryDist.hs +++ b/hadrian/src/Rules/BinaryDist.hs @@ -389,13 +389,14 @@ pkgToWrappers pkg = do | otherwise -> pure [] wrapper :: FilePath -> Action String -wrapper "ghc" = ghcWrapper -wrapper "ghc-pkg" = ghcPkgWrapper -wrapper "ghci" = ghciScriptWrapper -wrapper "haddock" = haddockWrapper -wrapper "hsc2hs" = hsc2hsWrapper -wrapper "runghc" = runGhcWrapper -wrapper "runhaskell" = runGhcWrapper +wrapper wrapper_name + | "runghc" `isSuffixOf` wrapper_name = runGhcWrapper + | "ghc" `isSuffixOf` wrapper_name = ghcWrapper + | "ghc-pkg" `isSuffixOf` wrapper_name = ghcPkgWrapper + | "ghci" `isSuffixOf` wrapper_name = ghciScriptWrapper + | "haddock" `isSuffixOf` wrapper_name = haddockWrapper + | "hsc2hs" `isSuffixOf` wrapper_name = hsc2hsWrapper + | "runhaskell" `isSuffixOf` wrapper_name = runGhcWrapper wrapper _ = commonWrapper -- | Wrapper scripts for different programs. Common is default wrapper. @@ -425,9 +426,10 @@ runGhcWrapper = pure $ "exec \"$executablename\" -f \"$exedir/ghc\" ${1+\"$@\"}\ -- | --interactive flag. ghciScriptWrapper :: Action String ghciScriptWrapper = do + prefix <- crossPrefix version <- setting ProjectVersion pure $ unlines - [ "executable=\"$bindir/ghc-" ++ version ++ "\"" + [ "executable=\"$bindir/" ++ prefix ++ "ghc-" ++ version ++ "\"" , "exec $executable --interactive \"$@\"" ] -- | When not on Windows, we want to ship the 3 flavours of the iserv program @@ -500,4 +502,3 @@ createGhcii outDir = do [ "#!/bin/sh" , "exec \"$(dirname \"$0\")\"/ghc --interactive \"$@\"" ] -