diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-06-02 13:27:23 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-06-02 13:27:23 +0000 |
commit | aab9ffeacc558abb1a9cb088fc526868c3f46bb5 (patch) | |
tree | 8670ea50f52ece15771aac079df594e5e3db93f9 /scripts/bundle-libraries.sh | |
parent | 290d01379e230766e3186a276851b08298fee27a (diff) | |
download | upstream-aab9ffeacc558abb1a9cb088fc526868c3f46bb5.tar.gz upstream-aab9ffeacc558abb1a9cb088fc526868c3f46bb5.tar.bz2 upstream-aab9ffeacc558abb1a9cb088fc526868c3f46bb5.zip |
scripts/bundle-libraries: fall back to only copying binaries if ldd is unavailable (e.g. non-linux system)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40967
Diffstat (limited to 'scripts/bundle-libraries.sh')
-rwxr-xr-x | scripts/bundle-libraries.sh | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh index 869286bdba..508fe787f2 100755 --- a/scripts/bundle-libraries.sh +++ b/scripts/bundle-libraries.sh @@ -46,10 +46,7 @@ for LDD in ${PATH//://ldd }/ldd; do LDD="" done -[ -n "$LDD" -a -x "$LDD" ] || { - echo "Unable to find working ldd" >&2 - exit 4 -} +[ -n "$LDD" -a -x "$LDD" ] || LDD= for BIN in "$@"; do [ -n "$BIN" -a -x "$BIN" -a -n "$DIR" ] || { @@ -66,22 +63,24 @@ for BIN in "$@"; do LDSO="" echo "Bundling ${BIN##*/}" - for token in $("$LDD" "$BIN" 2>/dev/null); do - case "$token" in */*.so*) - case "$token" in - *ld-*.so*) LDSO="${token##*/}" ;; - *) echo " * lib: ${token##*/}" ;; - esac - - dest="$DIR/bundled/lib/${token##*/}" - ddir="${dest%/*}" - - [ -f "$token" -a ! -f "$dest" ] && { - _md "$ddir" - _cp "$token" "$dest" - } - ;; esac - done + [ -n "$LDD" ] && { + for token in $("$LDD" "$BIN" 2>/dev/null); do + case "$token" in */*.so*) + case "$token" in + *ld-*.so*) LDSO="${token##*/}" ;; + *) echo " * lib: ${token##*/}" ;; + esac + + dest="$DIR/bundled/lib/${token##*/}" + ddir="${dest%/*}" + + [ -f "$token" -a ! -f "$dest" ] && { + _md "$ddir" + _cp "$token" "$dest" + } + ;; esac + done + } _md "$DIR" @@ -105,7 +104,7 @@ for BIN in "$@"; do # is a static executable or non-elf binary else - echo " * not dynamically linked" + [ -n "$LDD" ] && echo " * not dynamically linked" _cp "$BIN" "$DIR/${BIN##*/}" fi done |