Many times, we don't notice a bug in src/libvirt_private.syms
until someone attempts a build with modules enabled. Likewise,
some gcc warnings about no % in a printf format string only
appear under --disable-nls. And configure.ac should automatically
be excluding modules on mingw without us having to be explicit.
Improving autobuild.sh to stress more combinations can only help.
* autobuild.sh: Add --with-driver-modules and --disable-nls. Update
mingw build to rely more on configure.ac detection.
---
Wow, I've been sitting on this one for a while, and dusted it off
from one of my side branches. This might not address all of Daniel's
comments on v1, but it is better than nothing.
v1:
https://www.redhat.com/archives/libvir-list/2011-March/msg01072.html
v2: in response to:
https://www.redhat.com/archives/libvir-list/2011-December/msg00620.html
autobuild.sh | 23 ++++++-----------------
1 files changed, 6 insertions(+), 17 deletions(-)
diff --git a/autobuild.sh b/autobuild.sh
index 9853287..eef67f4 100755
--- a/autobuild.sh
+++ b/autobuild.sh
@@ -15,8 +15,12 @@ rm -rf build
mkdir build
cd build
+# Run with options not normally exercised by the rpm build, for
+# more complete code coverage.
../autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
+ --with-driver-modules \
--enable-test-coverage \
+ --disable-nls \
--enable-compile-warnings=error
# If the MAKEFLAGS envvar does not yet include a -j option,
@@ -61,6 +65,7 @@ if [ -f /usr/bin/rpmbuild ]; then
-ba --clean libvirt.spec
fi
+# Test mingw cross-compile
if [ -x /usr/bin/i686-pc-mingw32-gcc ]; then
make distclean
@@ -71,23 +76,7 @@ if [ -x /usr/bin/i686-pc-mingw32-gcc ]; then
--host=i686-pc-mingw32 \
--prefix="$AUTOBUILD_INSTALL_ROOT/i686-pc-mingw32/sys-root/mingw" \
--enable-compile-warnings=error \
- --without-xen \
- --without-qemu \
- --without-openvz \
- --without-lxc \
- --without-vbox \
- --without-xenapi \
- --without-uml \
- --without-sasl \
- --without-avahi \
- --without-polkit \
- --without-python \
- --without-libvirtd \
- --without-phyp \
- --without-hyperv \
- --without-netcf \
- --without-audit \
- --without-dtrace \
+ --without-libvirtd
It turns out we don't disable dtrace correctly on mingw32, if the build
host has it present for native. So we either need to fix configure.ac
or add --without-dtrace back in.
Daniel
--
|: