tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

rpcgen_wrapper.sh (1331B)


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