* libvirt.spec.in (%configure): Drop unused %{one} macro.
* mingw32-libvirt.spec.in (%{rhel}): Compile ESX but not HyperV on
mingw build for RHEL.
(%build): Make configure honor spec conditionals. Reorder to
match libvirt.spec.
* autobuild.sh (mingw): Update list to match.
Suggested by Daniel P. Berrange.
---
No comment when buried in a thread, so I'll resend:
https://www.redhat.com/archives/libvir-list/2011-September/msg01072.html
autobuild.sh | 16 +++++++-----
libvirt.spec.in | 3 +-
mingw32-libvirt.spec.in | 58 ++++++++++++++++++++++++++++++++++++++++------
3 files changed, 60 insertions(+), 17 deletions(-)
diff --git a/autobuild.sh b/autobuild.sh
index 491f1b8..9853287 100755
--- a/autobuild.sh
+++ b/autobuild.sh
@@ -71,21 +71,23 @@ 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-sasl \
- --without-avahi \
- --without-polkit \
- --without-python \
--without-xen \
--without-qemu \
+ --without-openvz \
--without-lxc \
- --without-uml \
--without-vbox \
- --without-openvz \
+ --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
make
make install
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 7c63710..03bd7c7 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -47,7 +47,7 @@
%define with_libxl 0%{!?_without_libxl:%{server_drivers}}
%define with_vmware 0%{!?_without_vmware:%{server_drivers}}
-# Then the hypervisor drivers that talk a native remote protocol
+# Then the hypervisor drivers that talk via a native remote protocol
%define with_phyp 0%{!?_without_phyp:1}
%define with_esx 0%{!?_without_esx:1}
%define with_hyperv 0%{!?_without_hyperv:1}
@@ -711,7 +711,6 @@ of recent versions of Linux (and other OSes).
%{?_without_python} \
%{?_without_libvirtd} \
%{?_without_uml} \
- %{?_without_one} \
%{?_without_phyp} \
%{?_without_esx} \
%{?_without_hyperv} \
diff --git a/mingw32-libvirt.spec.in b/mingw32-libvirt.spec.in
index f651d11..57c67ae 100644
--- a/mingw32-libvirt.spec.in
+++ b/mingw32-libvirt.spec.in
@@ -5,6 +5,21 @@
%define __find_provides %{_mingw32_findprovides}
%define __debug_install_post %{_mingw32_debug_install_post}
+# The mingw build is client only. Set up defaults for hypervisor drivers
+# that talk via a native remote protocol, and for which prereq mingw
+# libraries exist.
+%define with_phyp 0%{!?_without_phyp:1}
+%define with_esx 0%{!?_without_esx:1}
+%define with_hyperv 0%{!?_without_hyperv:0} # missing libwsman
+%define with_xenapi 0%{!?_without_xenapi:1}
+
+# RHEL ships ESX but not PowerHypervisor, HyperV, or libxenserver (xenapi)
+%if 0%{?rhel}
+%define with_phyp 0
+%define with_xenapi 0
+%define with_hyperv 0
+%endif
+
Name: mingw32-libvirt
Version: @VERSION@
Release: 3%{?dist}%{?extra_release}
@@ -29,6 +44,13 @@ BuildRequires: pkgconfig
# Need native version for msgfmt
BuildRequires: gettext
+%if %{with_phyp}
+BuildRequires: mingw32-libssh2
+%endif
+%if %{with_esx}
+BuildRequires: mingw32-curl
+%endif
+
BuildArch: noarch
%{?_mingw32_debug_package}
@@ -42,23 +64,43 @@ MinGW Windows libvirt virtualization library.
%build
+%if ! %{with_phyp}
+%define _without_phyp --without-phyp
+%endif
+
+%if ! %{with_esx}
+%define _without_esx --without-esx
+%endif
+
+%if ! %{with_hyperv}
+%define _without_hyperv --without-hyperv
+%endif
+
+%if ! %{with_xenapi}
+%define _without_xenapi --without-xenapi
+%endif
+
# XXX enable SASL in future
%{_mingw32_configure} \
+ --without-xen \
+ --without-qemu \
+ --without-openvz \
+ --without-lxc \
+ --without-vbox \
+ %{?_without_xenapi} \
--without-sasl \
--without-avahi \
--without-polkit \
--without-python \
- --without-xen \
- --without-qemu \
- --without-lxc \
+ --without-libvirtd \
--without-uml \
- --without-vbox \
- --without-openvz \
- --without-phyp \
+ %{?_without_phyp} \
+ %{?_without_esx} \
+ %{?_without_hyperv} \
+ --without-vmware \
--without-netcf \
--without-audit \
- --without-dtrace \
- --without-libvirtd
+ --without-dtrace
make