]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/sntp/libevent/test/rpcgen_wrapper.sh
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / ntp / sntp / libevent / test / rpcgen_wrapper.sh
1 #!/bin/sh
2 # libevent rpcgen_wrapper.sh
3 # Transforms event_rpcgen.py failure into success for make, only if
4 # regress.gen.c and regress.gen.h already exist in $srcdir.  This
5 # is needed for "make distcheck" to pass the read-only $srcdir build,
6 # as with read-only sources fresh from tarball, regress.gen.[ch] will
7 # be correct in $srcdir but unwritable.  This previously triggered
8 # Makefile.am to create stub regress.gen.c and regress.gen.h in the
9 # distcheck _build directory, which were then detected as leftover
10 # files in the build tree after distclean, breaking distcheck.
11 # Note that regress.gen.[ch] are not in fresh git clones, making
12 # working Python a requirement for make distcheck of a git tree.
13
14 exit_updated() {
15 #    echo "Updated ${srcdir}/regress.gen.c and ${srcdir}/regress.gen.h"
16     exit 0
17 }
18
19 exit_reuse() {
20     echo "event_rpcgen.py failed, ${srcdir}/regress.gen.\[ch\] will be reused." >&2
21     exit 0
22 }
23
24 exit_failed() {
25     echo "Could not generate regress.gen.\[ch\] using event_rpcgen.sh" >&2
26     exit 1
27 }
28
29 if [ -x /usr/bin/python2 ] ; then
30   PYTHON2=/usr/bin/python2
31 elif [ "x`which python2`" != x ] ; then
32   PYTHON2=python2
33 else
34   PYTHON2=python
35 fi
36
37 srcdir=$1
38 srcdir=${srcdir:-.}
39
40 ${PYTHON2} ${srcdir}/../event_rpcgen.py --quiet ${srcdir}/regress.rpc \
41                test/regress.gen.h test/regress.gen.c
42
43 case "$?" in
44  0)
45     exit_updated
46     ;;
47  *)
48     test -r ${srcdir}/regress.gen.c -a -r ${srcdir}/regress.gen.h && \
49         exit_reuse
50     exit_failed
51     ;;
52 esac