cc-wrapper: expose wrapper script as overridable attribute (#65813)
This commit is contained in:
parent
fa383dcb7c
commit
4d26c18306
@ -132,6 +132,8 @@ stdenv.mkDerivation {
|
|||||||
src=$PWD
|
src=$PWD
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
wrapper = ./cc-wrapper.sh;
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
mkdir -p $out/bin $out/nix-support
|
mkdir -p $out/bin $out/nix-support
|
||||||
@ -171,42 +173,42 @@ stdenv.mkDerivation {
|
|||||||
export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
|
export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
|
||||||
|
|
||||||
if [ -e $ccPath/${targetPrefix}gcc ]; then
|
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
|
ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
|
||||||
export named_cc=${targetPrefix}gcc
|
export named_cc=${targetPrefix}gcc
|
||||||
export named_cxx=${targetPrefix}g++
|
export named_cxx=${targetPrefix}g++
|
||||||
elif [ -e $ccPath/clang ]; then
|
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
|
ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
|
||||||
export named_cc=${targetPrefix}clang
|
export named_cc=${targetPrefix}clang
|
||||||
export named_cxx=${targetPrefix}clang++
|
export named_cxx=${targetPrefix}clang++
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e $ccPath/${targetPrefix}g++ ]; then
|
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++
|
ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
|
||||||
elif [ -e $ccPath/clang++ ]; then
|
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++
|
ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e $ccPath/cpp ]; then
|
if [ -e $ccPath/cpp ]; then
|
||||||
wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
|
wrap ${targetPrefix}cpp $wrapper $ccPath/cpp
|
||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
|
|
||||||
+ optionalString cc.langFortran or false ''
|
+ 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}g77
|
||||||
ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
|
ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
|
||||||
''
|
''
|
||||||
|
|
||||||
+ optionalString cc.langJava or false ''
|
+ 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 ''
|
+ optionalString cc.langGo or false ''
|
||||||
wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
|
wrap ${targetPrefix}gccgo $wrapper $ccPath/${targetPrefix}gccgo
|
||||||
'';
|
'';
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user