From 0a284ae9b9585d7ff0606092d1df2c01301c2ed5 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 1 Aug 2022 16:11:33 +0000 Subject: compiler-rt: Fix "bare metal" case boolean logic It is possible to both be bare metal and have a libc (newlib). This libc doesn't provide very much --- not enough for CMake to think the C toolchain works. We therefore adjust our logic so we hit the "bare metal" case with or without libc. The "use LLVM" bootstrap is intentionally not affected. (cherry picked from commit bf39e322721e581f972a14e18310797260f7f35f) (cherry picked from commit c820cd8cee30f09431d8ce78dee613360052727a) --- pkgs/development/compilers/llvm/12/compiler-rt/default.nix | 2 +- pkgs/development/compilers/llvm/13/compiler-rt/default.nix | 2 +- pkgs/development/compilers/llvm/14/compiler-rt/default.nix | 2 +- pkgs/development/compilers/llvm/git/compiler-rt/default.nix | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix index 4b2907ed30788..d1497e6db1e34 100644 --- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" "-DCOMPILER_RT_BUILD_MEMPROF=OFF" - ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" diff --git a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix index 10b89b91b96f7..7b9312eecf247 100644 --- a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_PROFILE=OFF" "-DCOMPILER_RT_BUILD_MEMPROF=OFF" "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix index 59ca5348fed44..cc1a8dc0481f7 100644 --- a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_PROFILE=OFF" "-DCOMPILER_RT_BUILD_MEMPROF=OFF" "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix index 019148039d175..628d0a108dfc4 100644 --- a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_BUILD_PROFILE=OFF" "-DCOMPILER_RT_BUILD_MEMPROF=OFF" "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary - ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" "-DCOMPILER_RT_BAREMETAL_BUILD=ON" -- cgit 1.4.1