diff options
Diffstat (limited to 'pkgs/development/compilers/ghc/8.8.3.nix')
-rw-r--r-- | pkgs/development/compilers/ghc/8.8.3.nix | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/pkgs/development/compilers/ghc/8.8.3.nix b/pkgs/development/compilers/ghc/8.8.3.nix index aa4c378f200..e26eacca204 100644 --- a/pkgs/development/compilers/ghc/8.8.3.nix +++ b/pkgs/development/compilers/ghc/8.8.3.nix @@ -55,19 +55,28 @@ let (targetPlatform != hostPlatform) "${targetPlatform.config}-"; - buildMK = '' + buildMK = dontStrip: '' BuildFlavour = ${ghcFlavour} ifneq \"\$(BuildFlavour)\" \"\" include mk/flavours/\$(BuildFlavour).mk endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} - '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + '' + # We only need to build stage1 on most cross-compilation because + # we will be running the compiler on the native system. In some + # situations, like native Musl compilation, we need the compiler + # to actually link to our new Libc. The iOS simulator is a special + # exception because we can’t actually run simulators binaries + # ourselves. + + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"} CrossCompilePrefix = ${targetPrefix} HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO BUILD_SPHINX_PDF = NO + '' + stdenv.lib.optionalString dontStrip '' + STRIP_CMD = : '' + stdenv.lib.optionalString (!enableProfiledLibs) '' GhcLibWays = "v dyn" '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' @@ -127,7 +136,7 @@ stdenv.mkDerivation (rec { export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" - echo -n "${buildMK}" > mk/build.mk + echo -n "${buildMK dontStrip}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" @@ -240,8 +249,9 @@ stdenv.mkDerivation (rec { inherit (ghc.meta) license platforms; }; -} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { - dontStrip = true; + dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm); + +} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt{ dontPatchELF = true; noAuditTmpdir = true; }) |