Keep the progress/cancel toolbar permanently visible
[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 ./autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
13   --enable-werror \
14   --enable-gtk-doc
15
16 # If the MAKEFLAGS envvar does not yet include a -j option,
17 # add -jN where N depends on the number of processors.
18 case $MAKEFLAGS in
19   *-j*) ;;
20   *) n=$(getconf _NPROCESSORS_ONLN 2> /dev/null)
21     test "$n" -gt 0 || n=1
22     n=$(expr $n + 1)
23     MAKEFLAGS="$MAKEFLAGS -j$n"
24     export MAKEFLAGS
25     ;;
26 esac
27
28 make
29 make install
30
31 # set -o pipefail is a bashism; this use of exec is the POSIX alternative
32 exec 3>&1
33 st=$(
34   exec 4>&1 >&3
35   { make syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
36 )
37 exec 3>&-
38 test "$st" = 0
39
40 rm -f *.tar.gz
41 make distcheck
42
43 if [ -n "$AUTOBUILD_COUNTER" ]; then
44   EXTRA_RELEASE=".auto$AUTOBUILD_COUNTER"
45 else
46   NOW=`date +"%s"`
47   EXTRA_RELEASE=".$USER$NOW"
48 fi
49
50 if [ -f /usr/bin/rpmbuild ]; then
51   rpmbuild --nodeps \
52      --define "extra_release $EXTRA_RELEASE" \
53      --define "_sourcedir `pwd`" \
54      -ba --clean entangle.spec
55 fi