[project @ 2005-10-29 18:13:52 by krasimir]
authorkrasimir <unknown>
Sat, 29 Oct 2005 18:13:52 +0000 (18:13 +0000)
committerkrasimir <unknown>
Sat, 29 Oct 2005 18:13:52 +0000 (18:13 +0000)
The guessed output file should have ".exe" extension on Windows. ld tends to
add .exe automatically if the output file doesn't have extension but if
we don't add the extension explicitly then the doesFileExists check in
DriverPipeline.link will fail.

ghc/compiler/main/GHC.hs

index 2ff5229..fec3dfc 100644 (file)
@@ -365,7 +365,11 @@ guessOutputFile s = modifySession s $ \env ->
             let isMain = (== mainModIs dflags) . ms_mod
             [ms] <- return (filter isMain mod_graph)
             ml_hs_file (ms_location ms)
+#if defined(mingw32_HOST_OS)
+        guessedName = fmap (\fname -> basenameOf fname `joinFileExt` "exe") mainModuleSrcPath
+#else
         guessedName = fmap basenameOf mainModuleSrcPath
+#endif
     in
     case outputFile dflags of
         Just _ -> env