diff options
author | Wolfgang Walther <walther@technowledgy.de> | 2024-02-11 18:06:01 +0100 |
---|---|---|
committer | Wolfgang Walther <walther@technowledgy.de> | 2024-02-26 13:23:26 +0100 |
commit | f4f56c7af274170b68f93a9b0561f674a07b5add (patch) | |
tree | 52adc58e61f5c94c1848ba0305f0ffec8fedc369 /pkgs/development/compilers/ghc/9.4.7.nix | |
parent | 12e40910dfebea0ff94f5440342e9eb5a50fe6a1 (diff) |
haskell.compiler: no dynamic way without enableShared/enableProfiledLibs
This disables building dynamic libraries for GHC 9.4.x and before, when enableShared and enableProfiledLibs are set to false. Currently this only disables dynamic linking of GHC itself, but still creates dynamic libraries. The hadrian-based GHC 9.6+ already disable building dynamic libraries via the no_dynamic_libs transformer in this case. The reason for this happening before was, that the default was assumed to be "v p dyn", of which "p" was taken away when profiled libs were disabled. But this would unconditionally enable the dyn way. Using the BUILD_PROF_LIBS flag in this case will let GHC's config.mk.in script make the proper decisions about which GhcLibWays to build.
Diffstat (limited to 'pkgs/development/compilers/ghc/9.4.7.nix')
-rw-r--r-- | pkgs/development/compilers/ghc/9.4.7.nix | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkgs/development/compilers/ghc/9.4.7.nix b/pkgs/development/compilers/ghc/9.4.7.nix index ac060dce91d03..e87f8fc3a9073 100644 --- a/pkgs/development/compilers/ghc/9.4.7.nix +++ b/pkgs/development/compilers/ghc/9.4.7.nix @@ -107,7 +107,7 @@ let Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} CrossCompilePrefix = ${targetPrefix} '' + lib.optionalString (!enableProfiledLibs) '' - GhcLibWays = "v dyn" + BUILD_PROF_LIBS = NO '' + # -fexternal-dynamic-refs apparently (because it's not clear from the documentation) # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell. |