David Eichmann pushed to branch wip/davide/windows-dlls at Glasgow Haskell Compiler / GHC
Commits:
-
88bfe824
by David Eichmann at 2026-07-10T18:47:46+01:00
5 changed files:
- compiler/GHC/Linker/Dynamic.hs
- hadrian/src/Rules/Library.hs
- hadrian/src/Rules/Rts.hs
- libraries/Cabal
- utils/ghc-pkg/Main.hs
Changes:
| ... | ... | @@ -121,7 +121,7 @@ linkDynLib logger tmpfs dflags0 unit_env o_files dep_packages |
| 121 | 121 | , FileOption "" output_fn
|
| 122 | 122 | , Option "-shared"
|
| 123 | 123 | ] ++
|
| 124 | - [ FileOption "-Wl,--out-implib=" (output_fn ++ ".a")
|
|
| 124 | + [ FileOption "-Wl,--out-implib=" (output_fn -<.> ".lib")
|
|
| 125 | 125 | | gopt Opt_SharedImplib dflags
|
| 126 | 126 | ]
|
| 127 | 127 | ++ map (FileOption "") o_files
|
| ... | ... | @@ -221,7 +221,7 @@ extraObjects context |
| 221 | 221 | }
|
| 222 | 222 | |
| 223 | 223 | builddir <- buildPath context
|
| 224 | - return [ builddir -/- ghcInternalDllName <> ".a"]
|
|
| 224 | + return [ builddir -/- ghcInternalDllName <.> "lib"]
|
|
| 225 | 225 | |
| 226 | 226 | | otherwise = return []
|
| 227 | 227 |
| ... | ... | @@ -14,7 +14,7 @@ rtsRules = priority 3 $ do |
| 14 | 14 | forM_ [Stage1, Stage2, Stage3 ] $ \ stage -> do
|
| 15 | 15 | let buildPath = root -/- buildDir (rtsContext stage)
|
| 16 | 16 | buildPath -/- "libHSghc-internal-*.def" %> buildGhcInternalImportDef
|
| 17 | - buildPath -/- "libHSghc-internal-*.dll.a" %> buildGhcInternalImportLib
|
|
| 17 | + buildPath -/- "libHSghc-internal-*.lib" %> buildGhcInternalImportLib
|
|
| 18 | 18 | |
| 19 | 19 | buildGhcInternalImportDef :: FilePath -> Action ()
|
| 20 | 20 | buildGhcInternalImportDef target = do
|
| ... | ... | @@ -26,6 +26,6 @@ buildGhcInternalImportDef target = do |
| 26 | 26 | buildGhcInternalImportLib :: FilePath -> Action ()
|
| 27 | 27 | buildGhcInternalImportLib target = do
|
| 28 | 28 | let input = dropExtension (dropExtension target) <.> "def" -- the .def file
|
| 29 | - output = target -- the .dll.a import lib
|
|
| 29 | + output = target -- the .lib import lib
|
|
| 30 | 30 | need [input]
|
| 31 | 31 | runBuilder Dlltool ["-d", input, "-l", output] [input] [output] |
| 1 | -Subproject commit 8d1f5a33662be0db0654061fb53fb00e3f4417e0 |
|
| 1 | +Subproject commit ec4e372d52709709661131501da0abbe4b9481f4 |
| ... | ... | @@ -2058,8 +2058,8 @@ checkHSLib _verbosity dirs lib = do |
| 2058 | 2058 | "lib" ++ lib ++ "_p" ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".so",
|
| 2059 | 2059 | "lib" ++ lib ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".dylib",
|
| 2060 | 2060 | "lib" ++ lib ++ "_p" ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".dylib",
|
| 2061 | - lib ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".dll",
|
|
| 2062 | - lib ++ "_p" ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".dll",
|
|
| 2061 | + lib ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".lib",
|
|
| 2062 | + lib ++ "_p" ++ "-ghc" ++ GHC.Version.cProjectVersion ++ ".lib",
|
|
| 2063 | 2063 | lib ++ ".bytecodelib"
|
| 2064 | 2064 | ]
|
| 2065 | 2065 | b <- liftIO $ doesFileExistOnPath filenames dirs
|