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
#rm -rf build
#mkdir build
#cd build
2008-08-21 23:31:55 +04:00
./autogen.sh --prefix= " $AUTOBUILD_INSTALL_ROOT " \
2007-03-09 00:32:18 +03:00
--enable-test-coverage \
2008-07-25 13:43:23 +04:00
--enable-compile-warnings= error \
--with-xen-proxy
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
{ make check syntax-check 2>& 1; echo $? >& 4; } | tee " $RESULTS "
)
exec 3>& -
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
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" \
./configure \
--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 \
2008-09-05 16:03:45 +04:00
--without-sasl \
--without-avahi \
--without-polkit \
--without-python \
--without-xen \
--without-qemu \
--without-lxc \
2008-11-24 19:50:18 +03:00
--without-uml \
2009-04-19 20:37:15 +04:00
--without-vbox \
2008-09-05 16:03:45 +04:00
--without-openvz \
Fix misc Win32 compile warnings
GCC >= 4.4 assumes the 'printf' attribute refers to the native
runtime libraries format specifiers. Thanks to gnulib, libvirt
has GNU format specifiers everywhere. This means we need to
use 'gnu_printf' with GCC >= 4.4 to get correct compiler
checking of printf format specifiers.
* HACKING: Document new rules for ATTRIBUTE_FMT_PRINTF
* autobuild.sh, mingw32-libvirt.spec.in: Disable OpenNebula
driver on mingw32 builds
* qemud/dispatch.h, qemud/qemu.h, src/buf.h src/internal.h,
src/logging.h, src/security.h, src/sexpr.h, src/util.h,
src/virterror_internal.h, src/xend_internal.c: Change
over to ATTRIBUTE_FMT_PRINTF.
* src/virsh.c: Disable 'cd' and 'pwd' commands on Win32
since they don't compile
* src/threads-win32.c: Add missing return value check
2009-07-23 19:07:32 +04:00
--without-one \
2009-07-24 20:20:50 +04:00
--without-phyp \
2009-07-30 16:07:51 +04:00
--without-netcf \
2008-09-05 16:03:45 +04:00
--without-libvirtd
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