xref: /netbsd-src/external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh (revision 897be3a4bac39d8b2e92077bf29f4a2e67d31983)
18585484eSchristos#!/bin/sh
28585484eSchristos# libevent rpcgen_wrapper.sh
38585484eSchristos# Transforms event_rpcgen.py failure into success for make, only if
48585484eSchristos# regress.gen.c and regress.gen.h already exist in $srcdir.  This
58585484eSchristos# is needed for "make distcheck" to pass the read-only $srcdir build,
68585484eSchristos# as with read-only sources fresh from tarball, regress.gen.[ch] will
78585484eSchristos# be correct in $srcdir but unwritable.  This previously triggered
88585484eSchristos# Makefile.am to create stub regress.gen.c and regress.gen.h in the
98585484eSchristos# distcheck _build directory, which were then detected as leftover
108585484eSchristos# files in the build tree after distclean, breaking distcheck.
118585484eSchristos# Note that regress.gen.[ch] are not in fresh git clones, making
128585484eSchristos# working Python a requirement for make distcheck of a git tree.
138585484eSchristos
148585484eSchristosexit_updated() {
158585484eSchristos#    echo "Updated ${srcdir}/regress.gen.c and ${srcdir}/regress.gen.h"
168585484eSchristos    exit 0
178585484eSchristos}
188585484eSchristos
198585484eSchristosexit_reuse() {
208585484eSchristos    echo "event_rpcgen.py failed, ${srcdir}/regress.gen.\[ch\] will be reused." >&2
218585484eSchristos    exit 0
228585484eSchristos}
238585484eSchristos
248585484eSchristosexit_failed() {
258585484eSchristos    echo "Could not generate regress.gen.\[ch\] using event_rpcgen.sh" >&2
268585484eSchristos    exit 1
278585484eSchristos}
288585484eSchristossrcdir=$1
298585484eSchristossrcdir=${srcdir:-.}
308585484eSchristos
31*897be3a4Schristos${srcdir}/../event_rpcgen.py --quiet ${srcdir}/regress.rpc \
32b8ecfcfeSchristos               test/regress.gen.h test/regress.gen.c
338585484eSchristos
348585484eSchristoscase "$?" in
358585484eSchristos 0)
368585484eSchristos    exit_updated
378585484eSchristos    ;;
388585484eSchristos *)
398585484eSchristos    test -r ${srcdir}/regress.gen.c -a -r ${srcdir}/regress.gen.h && \
408585484eSchristos	exit_reuse
418585484eSchristos    exit_failed
428585484eSchristos    ;;
438585484eSchristosesac
44