yann@635: #!/bin/sh yann@635: # (C) 2008 Yann E. MORIN yann@635: # Licensed under the GPL v.2 yann@635: yann@635: LIBDUMA_SO= yann@635: yann@635: case "$1" in yann@635: -on) yann@635: case "${LD_PRELOAD}" in yann@635: *${LIBDUMA_SO}*) ;; yann@635: *) LD_PRELOAD="${LIBDUMA_SO} ${LD_PRELOAD}";; yann@635: esac yann@635: shift yann@635: ;; yann@635: -off) yann@635: LD_PRELOAD="${LD_PRELOAD//${LIBDUMA_SO}/}" yann@635: shift yann@635: ;; yann@635: -show) yann@635: case "${LD_PRELOAD}" in yann@635: *${LIBDUMA_SO}*) echo "duma is enabled";; yann@635: *) echo "duma is disabled";; yann@635: esac yann@635: exit 0 yann@635: ;; yann@635: "") yann@635: cat <<_EOF_ yann@635: Usage: yann@635: . $0 <-on|-off|-show> yann@635: Sets, unsets or show DUMA usage. yann@635: $0 yann@635: Execute 'executable' (with arguments 'args') using DUMA. yann@635: _EOF_ yann@635: false # Don't 'exit', we could well be source'd yann@635: ;; yann@635: *) yann@635: exec "$0" -on "$@" yann@635: ;; yann@635: esac yann@635: yann@635: export LD_PRELOAD yann@635: if [ -n "$1" ]; then yann@635: exec "$@" yann@635: fi