diff --git a/Distribution/Simple/Configure.hs b/Distribution/Simple/Configure.hs index 140e6e79e22..119fee8a2b6 100644 --- a/Distribution/Simple/Configure.hs +++ b/Distribution/Simple/Configure.hs @@ -83,7 +83,7 @@ import Data.List (intersperse, nub, maximumBy, isPrefixOf) import Data.Char (isSpace) import Data.Maybe(fromMaybe) import System.Directory -import Distribution.Compat.FilePath (splitFilePath, joinFileName, joinFileExt) +import Distribution.Compat.FilePath (splitFileName, joinFileName, joinFileExt) import System.Cmd ( system ) import System.Exit ( ExitCode(..) ) import Control.Monad ( when, unless ) @@ -354,8 +354,8 @@ pCheck rs = [ r | (r,s) <- rs, all isSpace s ] guessPkgToolFromHCPath :: Int -> CompilerFlavor -> FilePath -> IO FilePath guessPkgToolFromHCPath verbose flavor path = do let pkgToolName = compilerPkgToolName flavor - (dir,_,ext) = splitFilePath path - pkgtool = dir `joinFileName` pkgToolName `joinFileExt` ext + (dir,name) = splitFileName path + pkgtool = dir `joinFileName` pkgToolName ++ drop (length (compilerBinaryName flavor)) name when (verbose > 0) $ message $ "looking for package tool: " ++ pkgToolName ++ " near compiler in " ++ path exists <- doesFileExist pkgtool when (not exists) $