aboutsummaryrefslogtreecommitdiff
path: root/libevent-2.0.20-stable/test/rpcgen_wrapper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'libevent-2.0.20-stable/test/rpcgen_wrapper.sh')
-rwxr-xr-xlibevent-2.0.20-stable/test/rpcgen_wrapper.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/libevent-2.0.20-stable/test/rpcgen_wrapper.sh b/libevent-2.0.20-stable/test/rpcgen_wrapper.sh
new file mode 100755
index 0000000..a60331c
--- /dev/null
+++ b/libevent-2.0.20-stable/test/rpcgen_wrapper.sh
@@ -0,0 +1,41 @@
+#!/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 ${srcdir}/regress.rpc
+case "$?" in
+ 0)
+ exit_updated
+ ;;
+ *)
+ test -r ${srcdir}/regress.gen.c -a -r ${srcdir}/regress.gen.h && \
+ exit_reuse
+ exit_failed
+ ;;
+esac