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