summaryrefslogtreecommitdiff
path: root/scripts/build/debug/duma.in
blob: 7871100b9a17f7f5fae9cd727476dd90a1cf2393 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh
# (C) 2008 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
# Licensed under the GPL v.2

LIBDUMA_SO=

case "$1" in
  -on)
    case "${LD_PRELOAD}" in
      *${LIBDUMA_SO}*) ;;
      *) LD_PRELOAD="${LIBDUMA_SO} ${LD_PRELOAD}";;
    esac
    shift
    ;;
  -off)
    LD_PRELOAD="${LD_PRELOAD//${LIBDUMA_SO}/}"
    shift
    ;;
  -show)
    case "${LD_PRELOAD}" in
      *${LIBDUMA_SO}*) echo "duma is enabled";;
      *)               echo "duma is disabled";;
    esac
    exit 0
    ;;
  "")
    cat <<_EOF_
Usage:
    . $0 <-on|-off|-show>
        Sets, unsets or show DUMA usage.
    $0 <executable [arg...]>
        Execute 'executable' (with arguments 'args') using DUMA.
_EOF_
    false # Don't 'exit', we could well be source'd
    ;;
  *)
    exec "$0" -on "$@"
    ;;
esac

export LD_PRELOAD
if [ -n "$1" ]; then
  exec "$@"
fi