Loading pkgs/build-support/cc-wrapper/cc-wrapper.sh +18 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ cInclude=1 expandResponseParams "$@" linkType=$(checkLinkType "${params[@]}") declare -ag positionalArgs=() declare -i n=0 nParams=${#params[@]} while (( "$n" < "$nParams" )); do Loading @@ -54,6 +55,17 @@ while (( "$n" < "$nParams" )); do c++*) isCxx=1 ;; esac ;; --) # Everything else is positional args! # See: https://github.com/llvm/llvm-project/commit/ed1d07282cc9d8e4c25d585e03e5c8a1b6f63a74 # Any positional arg (i.e. any argument after `--`) will be # interpreted as a "non flag" arg: if [[ -v "params[$n]" ]]; then nonFlagArgs=1; fi positionalArgs=("${params[@]:$n}") params=("${params[@]:0:$((n - 1))}") break; ;; -?*) ;; *) nonFlagArgs=1 ;; # Includes a solitary dash (`-`) which signifies standard input; it is not a flag esac Loading Loading @@ -207,6 +219,12 @@ if [ "$cc1" = 1 ]; then extraBefore=() fi # Finally, if we got any positional args, append them to `extraAfter` # now: if [[ "${#positionalArgs[@]}" -gt 0 ]]; then extraAfter+=(-- "${positionalArgs[@]}") fi # Optionally print debug info. if (( "${NIX_DEBUG:-0}" >= 1 )); then # Old bash workaround, see ld-wrapper for explanation. Loading Loading
pkgs/build-support/cc-wrapper/cc-wrapper.sh +18 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ cInclude=1 expandResponseParams "$@" linkType=$(checkLinkType "${params[@]}") declare -ag positionalArgs=() declare -i n=0 nParams=${#params[@]} while (( "$n" < "$nParams" )); do Loading @@ -54,6 +55,17 @@ while (( "$n" < "$nParams" )); do c++*) isCxx=1 ;; esac ;; --) # Everything else is positional args! # See: https://github.com/llvm/llvm-project/commit/ed1d07282cc9d8e4c25d585e03e5c8a1b6f63a74 # Any positional arg (i.e. any argument after `--`) will be # interpreted as a "non flag" arg: if [[ -v "params[$n]" ]]; then nonFlagArgs=1; fi positionalArgs=("${params[@]:$n}") params=("${params[@]:0:$((n - 1))}") break; ;; -?*) ;; *) nonFlagArgs=1 ;; # Includes a solitary dash (`-`) which signifies standard input; it is not a flag esac Loading Loading @@ -207,6 +219,12 @@ if [ "$cc1" = 1 ]; then extraBefore=() fi # Finally, if we got any positional args, append them to `extraAfter` # now: if [[ "${#positionalArgs[@]}" -gt 0 ]]; then extraAfter+=(-- "${positionalArgs[@]}") fi # Optionally print debug info. if (( "${NIX_DEBUG:-0}" >= 1 )); then # Old bash workaround, see ld-wrapper for explanation. Loading