From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUjGo-0006SJ-4Y for qemu-devel@nongnu.org; Wed, 26 Aug 2015 18:34:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUjGm-0001L9-V6 for qemu-devel@nongnu.org; Wed, 26 Aug 2015 18:34:14 -0400 Received: from mail-ob0-x231.google.com ([2607:f8b0:4003:c01::231]:32965) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUjGm-0001Kw-Q3 for qemu-devel@nongnu.org; Wed, 26 Aug 2015 18:34:12 -0400 Received: by obbhe7 with SMTP id he7so5913796obb.0 for ; Wed, 26 Aug 2015 15:34:12 -0700 (PDT) Sender: fluxion From: Michael Roth Date: Wed, 26 Aug 2015 17:21:33 -0500 Message-Id: <1440627694-25096-4-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1440627694-25096-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1440627694-25096-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 3/4] build: qemu-ga: fix VSS dependencies List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: marcandre.lureau@redhat.com, yhindin@redhat.com, leonid@daynix.com, pbonzini@redhat.com Currently VSS dll/tlb files for use in w32 builds are only built as a result of having been added to the general 'tools' target alongside qemu-ga. This is fine for default make target, but if we build qemu-ga directly via `make qemu-ga.exe`, the VSS files are not created. Fix this by moving the VSS dependencies to qemu-ga.exe directly. With this move we can move the VSS files back out of 'tools', and drop the extra handling from MSI target in Makefile. Now we can build qemu-ga MSI package with: ./configure ... make qemu-ga.exe make msi or simply: ./configure ... make msi and no longer need to do a full build beforehand. Signed-off-by: Michael Roth --- Makefile | 8 ++------ configure | 5 ++--- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index c13a83d..137beb9 100644 --- a/Makefile +++ b/Makefile @@ -290,8 +290,8 @@ $(qapi-modules) $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py) QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h) $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) -qemu-ga$(EXESUF): $(qga-obj-y) libqemuutil.a libqemustub.a - $(call LINK, $^) +qemu-ga$(EXESUF): $(qga-obj-y) libqemuutil.a libqemustub.a $(QGA_VSS_PROVIDER) + $(call LINK, $(filter-out %.tlb %.dll, $^)) ifdef QEMU_GA_MSI_ENABLED QEMU_GA_MSI=qemu-ga-$(ARCH).msi @@ -300,10 +300,6 @@ msi: $(QEMU_GA_MSI) $(QEMU_GA_MSI): qemu-ga.exe -ifdef QEMU_GA_MSI_WITH_VSS -$(QEMU_GA_MSI): qga/vss-win32/qga-vss.dll -endif - $(QEMU_GA_MSI): config-host.mak $(QEMU_GA_MSI): $(SRC_PATH)/qga/installer/qemu-ga.wxs diff --git a/configure b/configure index 90e5351..db88b0d 100755 --- a/configure +++ b/configure @@ -3851,6 +3851,7 @@ EOF guest_agent_with_vss="yes" QEMU_CFLAGS="$QEMU_CFLAGS $vss_win32_include" libs_qga="-lole32 -loleaut32 -lshlwapi -luuid -lstdc++ -Wl,--enable-stdcall-fixup $libs_qga" + qga_vss_provider="qga/vss-win32/qga-vss.dll qga/vss-win32/qga-vss.tlb" else if test "$vss_win32_sdk" != "" ; then echo "ERROR: Please download and install Microsoft VSS SDK:" @@ -4350,9 +4351,6 @@ fi if [ "$guest_agent" != "no" ]; then if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" -o "$mingw32" = "yes" ] ; then tools="qemu-ga\$(EXESUF) $tools" - if [ "$mingw32" = "yes" -a "$guest_agent_with_vss" = "yes" ]; then - tools="qga/vss-win32/qga-vss.dll qga/vss-win32/qga-vss.tlb $tools" - fi guest_agent=yes elif [ "$guest_agent" != yes ]; then guest_agent=no @@ -4660,6 +4658,7 @@ if test "$mingw32" = "yes" ; then echo "CONFIG_PRODUCTVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak if test "$guest_agent_with_vss" = "yes" ; then echo "CONFIG_QGA_VSS=y" >> $config_host_mak + echo "QGA_VSS_PROVIDER=$qga_vss_provider" >> $config_host_mak echo "WIN_SDK=\"$win_sdk\"" >> $config_host_mak fi if test "$guest_agent_ntddscsi" = "yes" ; then -- 1.9.1