diff options
| author | sternenseemann <sternenseemann@systemli.org> | 2021-11-25 19:58:55 +0100 |
|---|---|---|
| committer | Jonathan Ringer <jonringer@users.noreply.github.com> | 2021-12-02 19:40:03 -0800 |
| commit | c64c17e8380337294309671b4fb34758aac84537 (patch) | |
| tree | 877b7e35e5d54a71b31f4b55d544cc7c58d45eb1 | |
| parent | haskell.compiler.*: don't useLLVM if aarch64-darwin NCG is available (diff) | |
| download | nixpkgs-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.nix | 4 | ||||
| -rw-r--r-- | pkgs/development/compilers/ghc/8.8.4.nix | 4 | ||||
| -rw-r--r-- | pkgs/development/compilers/ghc/9.0.1.nix | 4 | ||||
| -rw-r--r-- | pkgs/development/compilers/ghc/9.2.1.nix | 2 | ||||
| -rw-r--r-- | pkgs/development/compilers/ghc/head.nix | 2 |
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 |
