aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
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
commitab9efa1b909da40569f55555ae4282f1eb16282e (patch)
tree70155432a781b509a6cd2b12e2fe43c98300d5c6 /scripts
parent2915a6b90dbd7a11de7897386dc055b809216587 (diff)
downloadupstream-ab9efa1b909da40569f55555ae4282f1eb16282e.tar.gz
upstream-ab9efa1b909da40569f55555ae4282f1eb16282e.tar.bz2
upstream-ab9efa1b909da40569f55555ae4282f1eb16282e.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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40967 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'scripts')
-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 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