about summary refs log tree commit diff
path: root/pkgs/build-support/setup-hooks
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2021-12-21 14:36:14 +0100
committerNaïm Favier <n@monade.li>2021-12-21 18:22:49 +0100
commitffdf9681ab4a5fbb09655238f2aea8c7434fe0e6 (patch)
tree0fba8a449b738387da8a67ab52c99a6c05b97671 /pkgs/build-support/setup-hooks
parent395879c28386e1abf20c7ecacd45880759548391 (diff)
makeBinaryWrapper: create destination directory
Diffstat (limited to 'pkgs/build-support/setup-hooks')
-rw-r--r--pkgs/build-support/setup-hooks/make-binary-wrapper.sh13
1 files changed, 10 insertions, 3 deletions
diff --git a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
index abc929cb89dbc..986be5b9e1137 100644
--- a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
@@ -33,13 +33,20 @@ assertExecutable() {
 # To troubleshoot a binary wrapper after you compiled it,
 # use the `strings` command or open the binary file in a text editor.
 makeWrapper() {
-    assertExecutable "$1"
-    makeDocumentedCWrapper "$1" "${@:3}" | \
+    local original="$1"
+    local wrapper="$2"
+    shift 2
+
+    assertExecutable "$original"
+
+    mkdir -p "$(dirname "$wrapper")"
+
+    makeDocumentedCWrapper "$original" "$@" | \
       @CC@ \
         -Wall -Werror -Wpedantic \
         -Os \
         -x c \
-        -o "$2" -
+        -o "$wrapper" -
 }
 
 # Syntax: wrapProgram <PROGRAM> <MAKE-WRAPPER FLAGS...>