ea47a12384b56ed67032e965a1e9c73e67530f99
[bpt/coccinelle.git] / scripts / spatch.sh.in
1 #!/bin/sh -e
2
3 # generic wrapper script to invoke 'spatch' or 'spatch.opt'
4 # it sets the python variables (if relevant)
5 # and OCCINELLE_HOME
6
7 SHAREDIR="@prefix@/share/coccinelle"
8 LIBDIR="@prefix@/lib"
9
10 COCCINELLE_HOME="${COCCINELLE_HOME:=$SHAREDIR}"
11 #echo setting COCCINELLE_HOME=${COCCINELLE_HOME:=$SHAREDIR}
12
13 if [ ! -d "${COCCINELLE_HOME}" ]; then
14 echo "\$COCCINELLE_HOME is not a directory: ${COCCINELLE_HOME}" 1>&2
15 fi
16
17 if [ ! -r "${COCCINELLE_HOME}/standard.iso" ] ; then
18 echo "There is no standard.iso in ${COCCINELLE_HOME}." 1>&2
19 echo "Are you sure you run a properly installed version of spatch ?\n" 1>&2
20 else
21
22 export COCCINELLE_HOME
23
24 export LD_LIBRARY_PATH="${LIBDIR}:$LD_LIBRARY_PATH"
25 export PYTHONPATH="${COCCINELLE_HOME}/python:$PYTHONPATH"
26
27 # echo setting LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
28 # echo setting PYTHONPATH="$PYTHONPATH"
29
30 fi
31
32 extension="${0##*.}"
33 if [ "x$extension" = "xopt" ]; then
34 TOOL="spatch.opt"
35 elif [ "x$extension" = "xbyte" ]; then
36 TOOL="spatch"
37 else
38 # autodetect
39 if [ -f "${COCCINELLE_HOME}/spatch.opt" ]; then
40 TOOL="spatch.opt"
41 elif [ -f "${COCCINELLE_HOME}/spatch" ]; then
42 TOOL="spatch"
43 else
44 echo "No 'spatch' nor 'spatch.opt' found in ${COCCINELLE_HOME}" 1>&2
45 exit 1
46 fi
47 fi
48
49 exec "${COCCINELLE_HOME}/${TOOL}" "$@"