summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2021-11-25 19:58:55 +0100
committerJonathan Ringer <jonringer@users.noreply.github.com>2021-12-02 19:40:03 -0800
commitc64c17e8380337294309671b4fb34758aac84537 (patch)
tree877b7e35e5d54a71b31f4b55d544cc7c58d45eb1
parenthaskell.compiler.*: don't useLLVM if aarch64-darwin NCG is available (diff)
downloadnixpkgs-c64c17e8380337294309671b4fb34758aac84537.tar.gz
haskell.compiler.*: disable useLLVM also for SPARC and PowerPC
These targets also have NCG support, but they are tested less (in fact SPARC seems to be untested atm) and may have issues. In such cases being able to fallback to -fllvm without rebuilding the compiler could be useful. OTOH GHC will default to -fasm and the backends probably work well enough in most cases. (cherry picked from commit 8f1a52ac33fb9a441713261c35cecab7b5331512)
-rw-r--r--pkgs/development/compilers/ghc/8.10.7.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.8.4.nix4
-rw-r--r--pkgs/development/compilers/ghc/9.0.1.nix4
-rw-r--r--pkgs/development/compilers/ghc/9.2.1.nix2
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
5 files changed, 13 insertions, 3 deletions
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index 78c0652d922f..95c9f735c2c3 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -11,7 +11,9 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
index eb41305515d2..9c06273fb357 100644
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/pkgs/development/compilers/ghc/8.8.4.nix
@@ -10,7 +10,9 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.0.1.nix b/pkgs/development/compilers/ghc/9.0.1.nix
index e986d72ad447..c4e425ca94d3 100644
--- a/pkgs/development/compilers/ghc/9.0.1.nix
+++ b/pkgs/development/compilers/ghc/9.0.1.nix
@@ -12,7 +12,9 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.2.1.nix b/pkgs/development/compilers/ghc/9.2.1.nix
index 2673e1ce7880..923dc7957d08 100644
--- a/pkgs/development/compilers/ghc/9.2.1.nix
+++ b/pkgs/development/compilers/ghc/9.2.1.nix
@@ -13,6 +13,8 @@
libffi ? null
, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 13a252e7630b..16e2efde12b7 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -18,6 +18,8 @@
, elfutils # for DWARF support
, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a