scripts/build/debug/duma.in
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
parent 635 0d7348cb7faa
child 2908 dcdb309b7967
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
     1 #!/bin/sh
     2 # (C) 2008 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
     3 # Licensed under the GPL v.2
     4 
     5 LIBDUMA_SO=
     6 
     7 case "$1" in
     8   -on)
     9     case "${LD_PRELOAD}" in
    10       *${LIBDUMA_SO}*) ;;
    11       *) LD_PRELOAD="${LIBDUMA_SO} ${LD_PRELOAD}";;
    12     esac
    13     shift
    14     ;;
    15   -off)
    16     # We use a suposedly POSIX-compliant shell: /bin/sh
    17     #  -> we can't use "${LD_PRELOAD//${LIBDUMA_SO}/}", it's not POSIX
    18     # We don't know if sed will be present on the target
    19     #  -> we can't use $(echo "${LD_PRELOAD}" |sed -r -e "s|${LIBDUMA_SO}||;")
    20     # So, iterate through LD_PRELOAD, and keep only those libs that
    21     # are not "${LIBDUMA_SO}"
    22     old_LD_PRELOAD="${LD_PRELOAD}"
    23     LD_PRELOAD=
    24     for lib in ${old_LD_PRELOAD}; do
    25       [ "${lib}" = "${LIBDUMA_SO}" ] || LD_PRELOAD="${LD_PRELOAD} ${lib}"
    26     done
    27     unset old_LD_PRELOAD
    28     shift
    29     ;;
    30   -show)
    31     case "${LD_PRELOAD}" in
    32       *${LIBDUMA_SO}*) echo "duma is enabled";;
    33       *)               echo "duma is disabled";;
    34     esac
    35     exit 0
    36     ;;
    37   "")
    38     cat <<_EOF_
    39 Usage:
    40     . $0 <-on|-off|-show>
    41         Sets, unsets or show DUMA usage.
    42     $0 <executable [arg...]>
    43         Execute 'executable' (with arguments 'args') using DUMA.
    44 _EOF_
    45     false # Don't 'exit', we could well be source'd
    46     ;;
    47   *)
    48     exec "$0" -on "$@"
    49     ;;
    50 esac
    51 
    52 export LD_PRELOAD
    53 if [ -n "$1" ]; then
    54   exec "$@"
    55 fi