forked from mirrors/nixpkgs
Merge branch 'response-files' of git://github.com/corngood/nixpkgs into staging
This commit is contained in:
commit
225602d9f2
|
@ -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]}
|
||||
|
|
|
@ -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=()
|
||||
|
|
|
@ -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…
Reference in a new issue