2007-02-07 17:46:44 +00:00
#!/bin/sh
set -e
2007-02-14 02:12:41 +00:00
set -v
2007-02-07 17:46:44 +00:00
# Make things clean.
2008-08-21 19:31:55 +00:00
test -n " $1 " && RESULTS = $1 || RESULTS = results.log
2010-04-30 10:57:10 -06:00
: ${ AUTOBUILD_INSTALL_ROOT = $HOME /builder }
2007-02-07 17:46:44 +00:00
test -f Makefile && make -k distclean || :
2007-02-14 02:12:41 +00:00
rm -rf coverage
2007-02-07 17:46:44 +00:00
2010-04-30 08:52:54 -06:00
rm -rf build
mkdir build
cd build
2007-02-07 17:46:44 +00:00
2011-03-22 09:40:35 -06:00
# Run with options not normally exercised by the rpm build, for
# more complete code coverage.
2010-04-30 08:52:54 -06:00
../autogen.sh --prefix= " $AUTOBUILD_INSTALL_ROOT " \
2007-03-08 21:32:18 +00:00
--enable-test-coverage \
2011-03-22 09:40:35 -06:00
--disable-nls \
2010-11-08 17:32:02 +01:00
--enable-compile-warnings= error
2007-02-07 17:46:44 +00:00
2008-08-28 09:08:44 +00: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 17:46:44 +00:00
make
make install
2010-06-03 21:07:09 -06: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-10 15:30:56 -07:00
{ make check syntax-check 2>& 1 3>& - 4>& -; echo $? >& 4; } | tee " $RESULTS "
2010-06-03 21:07:09 -06:00
)
exec 3>& -
2010-11-17 10:38:59 -07:00
test " $st " = 0
2008-05-29 20:43:08 +00:00
test -x /usr/bin/lcov && make cov
2007-02-07 17:46:44 +00:00
rm -f *.tar.gz
make dist
2008-10-10 11:33:10 +00:00
if [ -n " $AUTOBUILD_COUNTER " ] ; then
EXTRA_RELEASE = " .auto $AUTOBUILD_COUNTER "
else
NOW = ` date +"%s" `
EXTRA_RELEASE = " . $USER $NOW "
fi
2008-09-05 12:03:45 +00:00
2008-10-10 11:33:10 +00:00
if [ -f /usr/bin/rpmbuild ] ; then
2008-09-05 12:03:45 +00:00
rpmbuild --nodeps \
--define " extra_release $EXTRA_RELEASE " \
--define "_sourcedir `pwd`" \
-ba --clean libvirt.spec
fi
2011-03-22 09:40:35 -06:00
# Test mingw cross-compile
2008-09-05 12:03:45 +00: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 08:52:54 -06:00
../configure \
2008-09-05 12:03:45 +00:00
--build= $( uname -m) -pc-linux \
--host= i686-pc-mingw32 \
--prefix= " $AUTOBUILD_INSTALL_ROOT /i686-pc-mingw32/sys-root/mingw " \
2009-01-20 17:13:33 +00:00
--enable-compile-warnings= error \
2011-12-19 13:44:18 +00:00
--without-libvirtd \
--without-python
2008-09-05 12:03:45 +00:00
make
make install
#set -o pipefail
#make check 2>&1 | tee "$RESULTS"
2008-10-10 11:33:10 +00: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 17:46:44 +00:00
fi