mirror of
https://github.com/cuberite/libevent.git
synced 2025-08-04 01:36:23 -04:00
Try to fix 'make distcheck' errors when building out-of-tree
This commit is contained in:
parent
e067d0e3ac
commit
04656ea85a
1
.gitignore
vendored
1
.gitignore
vendored
@ -85,6 +85,7 @@ libevent_openssl.pc
|
||||
/test/regress
|
||||
/test/regress.gen.c
|
||||
/test/regress.gen.h
|
||||
/test/rpcgen-attempted
|
||||
/test/test-eof
|
||||
/test/test-init
|
||||
/test/test-ratelim
|
||||
|
@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/compat -I$(top_srcdir)/include -I../include -DTINYTEST_LOCAL
|
||||
|
||||
EXTRA_DIST = regress.rpc regress.gen.h regress.gen.c test.sh
|
||||
EXTRA_DIST = regress.rpc regress.gen.h regress.gen.c rpcgen_wrapper.sh test.sh
|
||||
|
||||
noinst_PROGRAMS = test-init test-eof test-weof test-time \
|
||||
bench bench_cascade bench_http bench_httpclient test-ratelim \
|
||||
@ -71,15 +71,20 @@ bench_http_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent.la
|
||||
bench_httpclient_SOURCES = bench_httpclient.c
|
||||
bench_httpclient_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent_core.la
|
||||
|
||||
regress.gen.c regress.gen.h: regress.rpc $(top_srcdir)/event_rpcgen.py
|
||||
if $(top_srcdir)/event_rpcgen.py $(srcdir)/regress.rpc ; then \
|
||||
echo "HI"; \
|
||||
regress.gen.c regress.gen.h: rpcgen-attempted
|
||||
|
||||
rpcgen-attempted: $(srcdir)/regress.rpc $(srcdir)/../event_rpcgen.py $(srcdir)/rpcgen_wrapper.sh
|
||||
date -u > $@
|
||||
if $(srcdir)/rpcgen_wrapper.sh $(srcdir); then \
|
||||
echo "rpcgen okay"; \
|
||||
else \
|
||||
echo "No Python installed; can't test RPC."; \
|
||||
echo "No Python installed; stubbing out RPC test." >&2; \
|
||||
echo " "> regress.gen.c; \
|
||||
echo "#define NO_PYTHON_EXISTS" > regress.gen.h; \
|
||||
fi
|
||||
|
||||
CLEANFILES = rpcgen-attempted
|
||||
|
||||
DISTCLEANFILES = *~
|
||||
|
||||
verify: check
|
||||
|
41
test/rpcgen_wrapper.sh
Executable file
41
test/rpcgen_wrapper.sh
Executable file
@ -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
|
Loading…
x
Reference in New Issue
Block a user