summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-06-02 13:27:23 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-06-02 13:27:23 +0000
commitaab9ffeacc558abb1a9cb088fc526868c3f46bb5 (patch)
tree8670ea50f52ece15771aac079df594e5e3db93f9
parent290d01379e230766e3186a276851b08298fee27a (diff)
downloadmtk-20170518-aab9ffeacc558abb1a9cb088fc526868c3f46bb5.zip
mtk-20170518-aab9ffeacc558abb1a9cb088fc526868c3f46bb5.tar.gz
mtk-20170518-aab9ffeacc558abb1a9cb088fc526868c3f46bb5.tar.bz2
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
-rwxr-xr-xscripts/bundle-libraries.sh41
1 files changed, 20 insertions, 21 deletions
diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh
index 869286b..508fe78 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