Fix support for VPATH builds
[entangle:entangle.git] / autobuild.sh
1 #!/bin/sh
2
3 set -e
4 set -v
5
6 # Make things clean.
7
8 test -n "$1" && RESULTS=$1 || RESULTS=results.log
9
10 test -f Makefile && make -k distclean || :
11
12 rm -rf build
13 mkdir build
14 cd build
15
16 ../autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
17   --enable-werror \
18   --enable-gtk-doc
19
20 # If the MAKEFLAGS envvar does not yet include a -j option,
21 # add -jN where N depends on the number of processors.
22 case $MAKEFLAGS in
23   *-j*) ;;
24   *) n=$(getconf _NPROCESSORS_ONLN 2> /dev/null)
25     test "$n" -gt 0 || n=1
26     n=$(expr $n + 1)
27     MAKEFLAGS="$MAKEFLAGS -j$n"
28     export MAKEFLAGS
29     ;;
30 esac
31
32 make
33 make install
34
35 # set -o pipefail is a bashism; this use of exec is the POSIX alternative
36 exec 3>&1
37 st=$(
38   exec 4>&1 >&3
39   { make syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
40 )
41 exec 3>&-
42 test "$st" = 0
43
44 rm -f *.tar.gz
45 make distcheck
46
47 if [ -n "$AUTOBUILD_COUNTER" ]; then
48   EXTRA_RELEASE=".auto$AUTOBUILD_COUNTER"
49 else
50   NOW=`date +"%s"`
51   EXTRA_RELEASE=".$USER$NOW"
52 fi
53
54 if [ -f /usr/bin/rpmbuild ]; then
55   rpmbuild --nodeps \
56      --define "extra_release $EXTRA_RELEASE" \
57      --define "_sourcedir `pwd`" \
58      -ba --clean entangle.spec
59 fi