[scripts] ext-toolchain.sh: support --wrap with src == dest

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29944 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jo-Philipp Wich 2012-01-29 17:42:10 +00:00
parent dc9a8df928
commit 5da516bb55
1 changed files with 9 additions and 3 deletions

View File

@ -205,11 +205,17 @@ wrap_bins() {
for cmd in "${CC%-*}-"*; do
if [ -x "$cmd" ]; then
local out="$1/${cmd##*/}"
local bin="$cmd"
if [ -x "$out" ] && ! grep -q STAGING_DIR "$out"; then
mv "$out" "$out.bin"
bin='$(dirname "$0")/'"${out##*/}"'.bin'
fi
echo '#!/bin/sh' > "$out"
case "${cmd##*/}" in
*-*cc|*-*cc-*|*-*++|*-*++-*|*-cpp)
echo -n 'exec "'"$cmd"'" '"$CFLAGS"' ' >> "$out"
echo -n 'exec "'"$bin"'" '"$CFLAGS"' ' >> "$out"
echo -n '${STAGING_DIR:+-idirafter ' >> "$out"
echo -n '"$STAGING_DIR/usr/include" ' >> "$out"
echo -n '-L "$STAGING_DIR/usr/lib" ' >> "$out"
@ -217,13 +223,13 @@ wrap_bins() {
echo '"$STAGING_DIR/usr/lib"} "$@"' >> "$out"
;;
*-ld)
echo -n 'exec "'"$cmd"'" ${STAGING_DIR:+' >> "$out"
echo -n 'exec "'"$bin"'" ${STAGING_DIR:+' >> "$out"
echo -n '-L "$STAGING_DIR/usr/lib" ' >> "$out"
echo -n '-rpath-link ' >> "$out"
echo '"$STAGING_DIR/usr/lib"} "$@"' >> "$out"
;;
*)
echo "exec '$cmd' \"\$@\"" >> "$out"
echo 'exec "'"$bin"'" "$@"' >> "$out"
;;
esac
chmod +x "$out"