diff options
Diffstat (limited to 'pkgs/build-support/make-wrapper/make-wrapper.sh')
-rw-r--r-- | pkgs/build-support/make-wrapper/make-wrapper.sh | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/pkgs/build-support/make-wrapper/make-wrapper.sh b/pkgs/build-support/make-wrapper/make-wrapper.sh index 847db8910fd..558ff94c1a0 100644 --- a/pkgs/build-support/make-wrapper/make-wrapper.sh +++ b/pkgs/build-support/make-wrapper/make-wrapper.sh @@ -1,6 +1,7 @@ makeWrapper() { - original=$1 - wrapper=$2 + local original=$1 + local wrapper=$2 + local params varName value command separator n fileNames ensureDir "$(dirname $wrapper)" @@ -17,6 +18,12 @@ makeWrapper() { echo "export $varName=$value" >> $wrapper fi + if test "$p" = "--run"; then + command=${params[$((n + 1))]} + n=$((n + 1)) + echo "$command" >> $wrapper + fi + if test "$p" = "--suffix" -o "$p" = "--prefix"; then varName=${params[$((n + 1))]} separator=${params[$((n + 2))]} @@ -72,3 +79,11 @@ filterExisting() { fi done } + +# Syntax: wrapProgram <PROGRAM> <MAKE-WRAPPER FLAGS...> +wrapProgram() { + local prog="$1" + local hidden="$(dirname "$prog")/.wrapped-$(basename "$prog")" + mv $prog $hidden + makeWrapper $hidden $prog "$@" +} |