Browse Source

Merge branch 'response-files' of git://github.com/corngood/nixpkgs into staging

nixos-19.03
Shea Levy 6 years ago
parent
commit
225602d9f2
  1. 2
      pkgs/build-support/cc-wrapper/cc-wrapper.sh
  2. 2
      pkgs/build-support/cc-wrapper/ld-wrapper.sh
  3. 24
      pkgs/build-support/cc-wrapper/utils.sh

2
pkgs/build-support/cc-wrapper/cc-wrapper.sh

@ -24,7 +24,7 @@ nonFlagArgs=0
[[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0
cppInclude=1
params=("$@")
expandResponseParams "$@"
n=0
while [ $n -lt ${#params[*]} ]; do
p=${params[n]}

2
pkgs/build-support/cc-wrapper/ld-wrapper.sh

@ -16,7 +16,7 @@ source @out@/nix-support/utils.sh
# Optionally filter out paths not refering to the store.
params=("$@")
expandResponseParams "$@"
if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" \
-a \( -z "$NIX_IGNORE_LD_THROUGH_GCC" -o -z "$NIX_LDFLAGS_SET" \) ]; then
rest=()

24
pkgs/build-support/cc-wrapper/utils.sh

@ -22,3 +22,27 @@ badPath() {
"${p:0:4}" != "/tmp" -a \
"${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
}
expandResponseParams() {
local inparams=("$@")
local n=0
local p
params=()
while [ $n -lt ${#inparams[*]} ]; do
p=${inparams[n]}
case $p in
@*)
if [ -e "${p:1}" ]; then
args=$(<"${p:1}")
eval 'for arg in '$args'; do params+=("$arg"); done'
else
params+=("$p")
fi
;;
*)
params+=("$p")
;;
esac
n=$((n + 1))
done
}

Loading…
Cancel
Save