Edit

kc3-lang/libevent/test/rpcgen_wrapper.sh

Branch :

  • Show log

    Commit

  • Author : Nick Mathewson
    Date : 2012-11-16 10:29:37
    Hash : efb644ed
    Message : Merge remote-tracking branch 'origin/patches-2.0' Conflicts: test/rpcgen_wrapper.sh

  • test/rpcgen_wrapper.sh
  • #!/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
    }
    
    if [ -x /usr/bin/python2 ] ; then
      PYTHON2=/usr/bin/python2
    elif [ "x`which python2`" != x ] ; then
      PYTHON2=python2
    else
      PYTHON2=python
    fi
    
    srcdir=$1
    srcdir=${srcdir:-.}
    
    ${PYTHON2} ${srcdir}/../event_rpcgen.py --quiet ${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