Skip to content
This repository has been archived by the owner on Apr 12, 2021. It is now read-only.

Commit

Permalink
cc-wrapper: expose wrapper script as overridable attribute (#65813)
Browse files Browse the repository at this point in the history
  • Loading branch information
davidtwco authored and veprbl committed Nov 27, 2019
1 parent fa383dc commit 4d26c18
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions pkgs/build-support/cc-wrapper/default.nix
Expand Up @@ -132,6 +132,8 @@ stdenv.mkDerivation {
src=$PWD
'';

wrapper = ./cc-wrapper.sh;

installPhase =
''
mkdir -p $out/bin $out/nix-support
Expand Down Expand Up @@ -171,42 +173,42 @@ stdenv.mkDerivation {
export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
if [ -e $ccPath/${targetPrefix}gcc ]; then
wrap ${targetPrefix}gcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcc
wrap ${targetPrefix}gcc $wrapper $ccPath/${targetPrefix}gcc
ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
export named_cc=${targetPrefix}gcc
export named_cxx=${targetPrefix}g++
elif [ -e $ccPath/clang ]; then
wrap ${targetPrefix}clang ${./cc-wrapper.sh} $ccPath/clang
wrap ${targetPrefix}clang $wrapper $ccPath/clang
ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
export named_cc=${targetPrefix}clang
export named_cxx=${targetPrefix}clang++
fi
if [ -e $ccPath/${targetPrefix}g++ ]; then
wrap ${targetPrefix}g++ ${./cc-wrapper.sh} $ccPath/${targetPrefix}g++
wrap ${targetPrefix}g++ $wrapper $ccPath/${targetPrefix}g++
ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
elif [ -e $ccPath/clang++ ]; then
wrap ${targetPrefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
wrap ${targetPrefix}clang++ $wrapper $ccPath/clang++
ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
fi
if [ -e $ccPath/cpp ]; then
wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
wrap ${targetPrefix}cpp $wrapper $ccPath/cpp
fi
''

+ optionalString cc.langFortran or false ''
wrap ${targetPrefix}gfortran ${./cc-wrapper.sh} $ccPath/${targetPrefix}gfortran
wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
''

+ optionalString cc.langJava or false ''
wrap ${targetPrefix}gcj ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcj
wrap ${targetPrefix}gcj $wrapper $ccPath/${targetPrefix}gcj
''

+ optionalString cc.langGo or false ''
wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
wrap ${targetPrefix}gccgo $wrapper $ccPath/${targetPrefix}gccgo
'';

strictDeps = true;
Expand Down

0 comments on commit 4d26c18

Please sign in to comment.