scripts/wrapper.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Nov 23 21:35:28 2010 +0100 (2010-11-23)
branch1.9
changeset 2198 6d909657dbdf
parent 1434 7e7290acccc1
permissions -rw-r--r--
scripts/xldd: better find sysroot with old gcc

Only starting with 4.4 does gcc have a -print-sysroot option.
For 4.3 or before, we have to play some tricks:
- ask gcc where libc.so is,
(we expect it in ${sysroot}/usr/lib/libc.so)
- trim /usr/lib/libc.so from the result

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from aa2305c5b2a57fbcda9a1b5bb5fb3a476ac49a13)
     1 #!/bin/sh
     2 
     3 # this wrapper will not work under BSD systems or others
     4 # not containig the GNU readlink.
     5 # Under those, wrapper.c will forcibly be used
     6 # regardless of the config file setting.
     7 
     8 canonicalizedname=$(readlink -nm "${0}")
     9 dirname="$(dirname "${canonicalizedname}")"
    10 basename="$(basename "${canonicalizedname}")"
    11 
    12 ld_lib_path="$(dirname "${dirname}")/lib"
    13 
    14 case ":${LD_LIBRARY_PATH}:" in
    15     *":${ld_lib_path}:"*)   ;;
    16     *)  LD_LIBRARY_PATH="${ld_lib_path}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}";;
    17 esac
    18 
    19 export LD_LIBRARY_PATH
    20 exec "${dirname}/.${basename}" "$@"