aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2013-01-28 15:54:27 +0000
committerJo-Philipp Wich <jow@openwrt.org>2013-01-28 15:54:27 +0000
commit509f39a10a4295c85d2a6f63573bb0698a067241 (patch)
tree28a8faf8c9a3e508a91a4a6c2e56c86acda8fc5c /scripts
parent839f3ab0e72df77d6264349801cd7f512b567fe5 (diff)
downloadupstream-509f39a10a4295c85d2a6f63573bb0698a067241.tar.gz
upstream-509f39a10a4295c85d2a6f63573bb0698a067241.tar.bz2
upstream-509f39a10a4295c85d2a6f63573bb0698a067241.zip
scripts: bundle-libraries.sh: support mixing 32bit and 64bit binaries
SVN-Revision: 35349
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bundle-libraries.sh13
1 files changed, 7 insertions, 6 deletions
diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh
index 08b52b9906..869286bdba 100755
--- a/scripts/bundle-libraries.sh
+++ b/scripts/bundle-libraries.sh
@@ -1,9 +1,8 @@
#!/usr/bin/env bash
#
# Script to install host system binaries along with required libraries.
-# Refer to the --help output for more information.
#
-# Copyright (C) 2012 Jo-Philipp Wich <jow@openwrt.org>
+# Copyright (C) 2012-2013 Jo-Philipp Wich <jow@openwrt.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -90,17 +89,19 @@ for BIN in "$@"; do
if [ -n "$LDSO" ]; then
_cp "$BIN" "$DIR/bundled/${BIN##*/}"
- [ -x "$DIR/bundled/run.sh" ] || {
- cat <<-EOF > "$DIR/bundled/run.sh"
+ RUN="${LDSO#ld-}"; RUN="run-${RUN%%.so*}.sh"
+
+ [ -x "$DIR/bundled/$RUN" ] || {
+ cat <<-EOF > "$DIR/bundled/$RUN"
#!/usr/bin/env bash
dir="\$(dirname "\$0")"
bin="\$(basename "\$0")"
exec -a "\$0" "\$dir/bundled/lib/$LDSO" --library-path "\$dir/bundled/lib" "\$dir/bundled/\$bin" "\$@"
EOF
- chmod ${VERBOSE:+-v} 0755 "$DIR/bundled/run.sh"
+ chmod ${VERBOSE:+-v} 0755 "$DIR/bundled/$RUN"
}
- _ln "./bundled/run.sh" "$DIR/${BIN##*/}"
+ _ln "./bundled/$RUN" "$DIR/${BIN##*/}"
# is a static executable or non-elf binary
else