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 \
2013-04-02 19:52:31 +04:00
--enable-werror \
--enable-static
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
2012-06-15 20:13:11 +04:00
if test -n " $AUTOBUILD_COUNTER " ; then
2008-10-10 15:33:10 +04:00
EXTRA_RELEASE = " .auto $AUTOBUILD_COUNTER "
else
NOW = ` date +"%s" `
EXTRA_RELEASE = " . $USER $NOW "
fi
2008-09-05 16:03:45 +04:00
2012-06-15 20:13:11 +04:00
if test -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
2012-06-15 20:13:11 +04:00
# Test mingw32 cross-compile
if test -x /usr/bin/i686-w64-mingw32-gcc ; then
2008-09-05 16:03:45 +04:00
make distclean
2013-05-17 16:29:12 +04:00
PKG_CONFIG_LIBDIR = "/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig" \
2012-06-15 20:13:11 +04:00
PKG_CONFIG_PATH = " $AUTOBUILD_INSTALL_ROOT /i686-w64-mingw32/sys-root/mingw/lib/pkgconfig " \
CC = "i686-w64-mingw32-gcc" \
2010-04-30 18:52:54 +04:00
../configure \
2012-06-15 20:13:11 +04:00
--build= $( uname -m) -w64-linux \
--host= i686-w64-mingw32 \
--prefix= " $AUTOBUILD_INSTALL_ROOT /i686-w64-mingw32/sys-root/mingw " \
2012-03-27 19:47:11 +04:00
--enable-werror \
2011-12-19 17:44:18 +04:00
--without-libvirtd \
--without-python
2008-09-05 16:03:45 +04:00
make
make install
2012-06-15 20:13:11 +04:00
fi
# Test mingw64 cross-compile
if test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
make distclean
2013-05-17 16:29:12 +04:00
PKG_CONFIG_LIBDIR = "/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig" \
2012-06-15 20:13:11 +04:00
PKG_CONFIG_PATH = " $AUTOBUILD_INSTALL_ROOT /x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig " \
CC = "x86_64-w64-mingw32-gcc" \
../configure \
--build= $( uname -m) -w64-linux \
--host= x86_64-w64-mingw32 \
--prefix= " $AUTOBUILD_INSTALL_ROOT /x86_64-w64-mingw32/sys-root/mingw " \
--enable-werror \
--without-libvirtd \
--without-python
make
make install
fi
2008-09-05 16:03:45 +04:00
2012-06-15 20:13:11 +04:00
if test -x /usr/bin/i686-w64-mingw32-gcc && test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
if test -f /usr/bin/rpmbuild ; then
2008-10-10 15:33:10 +04:00
rpmbuild --nodeps \
--define " extra_release $EXTRA_RELEASE " \
--define "_sourcedir `pwd`" \
2012-06-15 20:13:11 +04:00
-ba --clean mingw-libvirt.spec
2008-10-10 15:33:10 +04:00
fi
2007-02-07 20:46:44 +03:00
fi