diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-07 13:07:19 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-07 15:10:37 -0400 |
commit | 2110c0bd3009279ceec291f07bfbf063cb5ba6a0 (patch) | |
tree | 7c981653734d64a2b9c1859233b9902aa36f4ab1 /pkgs/development/compilers/llvm/6 | |
parent | 34a3233a2e1e8ed2f005a3a86cfca02d5f2769ae (diff) | |
download | nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.tar nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.tar.gz nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.tar.bz2 nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.tar.lz nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.tar.xz nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.tar.zst nixlib-2110c0bd3009279ceec291f07bfbf063cb5ba6a0.zip |
treewide: Use pkgs/build-support/roles.bash to remove copy pasta
Also fix some setup hooks that unnecessarily used environment hooks, which revolted in the same variable being modified too many times.
Diffstat (limited to 'pkgs/development/compilers/llvm/6')
-rw-r--r-- | pkgs/development/compilers/llvm/6/libc++/default.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/6/libc++/setup-hook.sh | 16 |
2 files changed, 8 insertions, 13 deletions
diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libc++/default.nix index 3c6c009a58fa..27d8cd18b666 100644 --- a/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/pkgs/development/compilers/llvm/6/libc++/default.nix @@ -40,7 +40,10 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; - setupHook = ./setup-hook.sh; + setupHooks = [ + ../../../../../build-support/setup-hooks/role.bash + ./setup-hook.sh + ]; meta = { homepage = http://libcxx.llvm.org/; diff --git a/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh index bcd93cf486ff..6611259165ae 100644 --- a/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh +++ b/pkgs/development/compilers/llvm/6/libc++/setup-hook.sh @@ -1,14 +1,6 @@ -# The `hostOffset` describes how the host platform of the dependencies -# relative to the depending package. It is brought into scope of the setup hook -# defined as the role of the dependency whose hooks is being run. -case $hostOffset in - -1) local role='BUILD_' ;; - 0) local role='' ;; - 1) local role='TARGET_' ;; - *) echo "cc-wrapper: Error: Cannot be used with $hostOffset-offset deps" >2; - return 1 ;; -esac +# See pkgs/build-support/setup-hooks/role.bash +getHostRole linkCxxAbi="@linkCxxAbi@" -export NIX_${role}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1" -export NIX_${role}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}" +export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1" +export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}" |