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