#!/bin/sh
# libevent rpcgen_wrapper.sh
# Transforms event_rpcgen.py failure into success for make, only if
# regress.gen.c and regress.gen.h already exist in $srcdir.  This
# is needed for "make distcheck" to pass the read-only $srcdir build,
# as with read-only sources fresh from tarball, regress.gen.[ch] will
# be correct in $srcdir but unwritable.  This previously triggered
# Makefile.am to create stub regress.gen.c and regress.gen.h in the
# distcheck _build directory, which were then detected as leftover
# files in the build tree after distclean, breaking distcheck.
# Note that regress.gen.[ch] are not in fresh git clones, making
# working Python a requirement for make distcheck of a git tree.

exit_updated() {
#    echo "Updated ${srcdir}/regress.gen.c and ${srcdir}/regress.gen.h"
    exit 0
}

exit_reuse() {
    echo "event_rpcgen.py failed, ${srcdir}/regress.gen.\[ch\] will be reused." >&2
    exit 0
}

exit_failed() {
    echo "Could not generate regress.gen.\[ch\] using event_rpcgen.sh" >&2
    exit 1
}
srcdir=$1
srcdir=${srcdir:-.}

${srcdir}/../event_rpcgen.py --quiet ${srcdir}/regress.rpc \
               test/regress.gen.h test/regress.gen.c

case "$?" in
 0)
    exit_updated
    ;;
 *)
    test -r ${srcdir}/regress.gen.c -a -r ${srcdir}/regress.gen.h && \
	exit_reuse
    exit_failed
    ;;
esac
