2007-02-07 20:46:44 +03:00
#!/bin/sh
set -e
2007-02-14 05:12:41 +03:00
set -v
2007-02-07 20:46:44 +03:00
# Make things clean.
2008-08-21 23:31:55 +04:00
test -n " $1 " && RESULTS = $1 || RESULTS = results.log
2010-04-30 20:57:10 +04:00
: ${ AUTOBUILD_INSTALL_ROOT = $HOME /builder }
2007-02-07 20:46:44 +03:00
test -f Makefile && make -k distclean || :
2007-02-14 05:12:41 +03:00
rm -rf coverage
2007-02-07 20:46:44 +03:00
2010-04-30 18:52:54 +04:00
rm -rf build
mkdir build
cd build
2007-02-07 20:46:44 +03:00
2011-03-22 18:40:35 +03:00
# Run with options not normally exercised by the rpm build, for
# more complete code coverage.
2010-04-30 18:52:54 +04:00
../autogen.sh --prefix= " $AUTOBUILD_INSTALL_ROOT " \
2007-03-09 00:32:18 +03:00
--enable-test-coverage \
2011-03-22 18:40:35 +03:00
--disable-nls \
2010-11-08 19:32:02 +03:00
--enable-compile-warnings= error
2007-02-07 20:46:44 +03:00
2008-08-28 13:08:44 +04:00
# If the MAKEFLAGS envvar does not yet include a -j option,
# add -jN where N depends on the number of processors.
case $MAKEFLAGS in
*-j*) ; ;
*) n = $( getconf _NPROCESSORS_ONLN 2> /dev/null)
test " $n " -gt 0 || n = 1
n = $( expr $n + 1)
MAKEFLAGS = " $MAKEFLAGS -j $n "
export MAKEFLAGS
; ;
esac
2007-02-07 20:46:44 +03:00
make
make install
2010-06-04 07:07:09 +04:00
# set -o pipefail is a bashism; this use of exec is the POSIX alternative
exec 3>& 1
st = $(
exec 4>& 1 >& 3
2010-12-11 01:30:56 +03:00
{ make check syntax-check 2>& 1 3>& - 4>& -; echo $? >& 4; } | tee " $RESULTS "
2010-06-04 07:07:09 +04:00
)
exec 3>& -
2010-11-17 20:38:59 +03:00
test " $st " = 0
2008-05-30 00:43:08 +04:00
test -x /usr/bin/lcov && make cov
2007-02-07 20:46:44 +03:00
rm -f *.tar.gz
make dist
2008-10-10 15:33:10 +04:00
if [ -n " $AUTOBUILD_COUNTER " ] ; then
EXTRA_RELEASE = " .auto $AUTOBUILD_COUNTER "
else
NOW = ` date +"%s" `
EXTRA_RELEASE = " . $USER $NOW "
fi
2008-09-05 16:03:45 +04:00
2008-10-10 15:33:10 +04:00
if [ -f /usr/bin/rpmbuild ] ; then
2008-09-05 16:03:45 +04:00
rpmbuild --nodeps \
--define " extra_release $EXTRA_RELEASE " \
--define "_sourcedir `pwd`" \
-ba --clean libvirt.spec
fi
2011-03-22 18:40:35 +03:00
# Test mingw cross-compile
2008-09-05 16:03:45 +04:00
if [ -x /usr/bin/i686-pc-mingw32-gcc ] ; then
make distclean
PKG_CONFIG_PATH = " $AUTOBUILD_INSTALL_ROOT /i686-pc-mingw32/sys-root/mingw/lib/pkgconfig " \
CC = "i686-pc-mingw32-gcc" \
2010-04-30 18:52:54 +04:00
../configure \
2008-09-05 16:03:45 +04:00
--build= $( uname -m) -pc-linux \
--host= i686-pc-mingw32 \
--prefix= " $AUTOBUILD_INSTALL_ROOT /i686-pc-mingw32/sys-root/mingw " \
2009-01-20 20:13:33 +03:00
--enable-compile-warnings= error \
2011-12-19 17:44:18 +04:00
--without-libvirtd \
--without-python
2008-09-05 16:03:45 +04:00
make
make install
#set -o pipefail
#make check 2>&1 | tee "$RESULTS"
2008-10-10 15:33:10 +04:00
if [ -f /usr/bin/rpmbuild ] ; then
rpmbuild --nodeps \
--define " extra_release $EXTRA_RELEASE " \
--define "_sourcedir `pwd`" \
-ba --clean mingw32-libvirt.spec
fi
2007-02-07 20:46:44 +03:00
fi