From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43584) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uhays-0003mW-C6 for qemu-devel@nongnu.org; Wed, 29 May 2013 03:39:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uhayn-0006Um-FQ for qemu-devel@nongnu.org; Wed, 29 May 2013 03:39:34 -0400 Received: from mail-ee0-f43.google.com ([74.125.83.43]:49765) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uhayn-0006Uh-9V for qemu-devel@nongnu.org; Wed, 29 May 2013 03:39:29 -0400 Received: by mail-ee0-f43.google.com with SMTP id d41so5272798eek.16 for ; Wed, 29 May 2013 00:39:28 -0700 (PDT) Date: Wed, 29 May 2013 09:39:25 +0200 From: Stefan Hajnoczi Message-ID: <20130529073925.GA20199@stefanha-thinkpad.redhat.com> References: <20130523122221.GL9093@stefanha-thinkpad.redhat.com> <20130528210125.GB7662@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130528210125.GB7662@localhost.localdomain> Subject: Re: [Qemu-devel] [RFC PATCH v3 05/11] qemu-ga: Add Windows VSS provider to quiesce applications on fsfreeze List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody Cc: "qemu-devel@nongnu.org" , "mdroth@linux.vnet.ibm.com" , "lcapitulino@redhat.com" , "vrozenfe@redhat.com" , Tomoki Sekiyama , "pbonzini@redhat.com" , Seiji Aguchi , "areis@redhat.com" On Tue, May 28, 2013 at 05:01:25PM -0400, Jeff Cody wrote: > On Thu, May 23, 2013 at 06:36:35PM +0000, Tomoki Sekiyama wrote: > > On 5/23/13 8:22 , "Stefan Hajnoczi" wrote: > > > > >On Tue, May 21, 2013 at 11:33:52AM -0400, Tomoki Sekiyama wrote: > > >> diff --git a/qga/vss-win32-provider/Makefile.objs > > >>b/qga/vss-win32-provider/Makefile.objs > > >> new file mode 100644 > > >> index 0000000..73ef752 > > >> --- /dev/null > > >> +++ b/qga/vss-win32-provider/Makefile.objs > > >> @@ -0,0 +1,21 @@ > > >> +# rules to build qga-provider.dll > > >> + > > >> +qga-obj-y += qga-provider.dll > > >> +qga-prv-obj-y += provider.o install.o > > >> + > > >> +obj-qga-prv-obj-y = $(addprefix $(obj)/, $(qga-prv-obj-y)) > > >> +$(obj-qga-prv-obj-y): QEMU_CXXFLAGS = $(filter-out -Wstrict-prototypes > > >>-Wmissing-prototypes -Wnested-externs -Wold-style-declaration > > >>-Wold-style-definition -Wredundant-decls -fstack-protector-all, > > >>$(QEMU_CFLAGS)) -Wno-unknown-pragmas -Wno-delete-non-virtual-dtor > > >> + > > >> +$(obj)/qga-provider.dll: LDFLAGS = -shared > > >>-Wl,--add-stdcall-alias,--enable-stdcall-fixup -lole32 -loleaut32 > > >>-lshlwapi -luuid -static > > >> +$(obj)/qga-provider.dll: $(obj-qga-prv-obj-y) > > >>$(SRC_PATH)/$(obj)/qga-provider.def $(obj)/qga-provider.tlb > > >> + $(call quiet-command,$(CXX) -o $@ $(qga-prv-obj-y) > > >>$(SRC_PATH)/qga/vss-win32-provider/qga-provider.def $(CXXFLAGS) > > >>$(LDFLAGS)," LINK $(TARGET_DIR)$@") > > >> + > > >> + > > >> +# rules to build qga-provider.tlb > > >> +# Currently, only native build is supported because building .tlb > > >> +# (TypeLibrary) from .idl requires WindowsSDK and MIDL (included in > > >>VC++). > > >> +MIDL=midl > > >> +WINSDK="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Include" > > > > > >This needs to be a ./configure option. > > > > OK. I will add something like --with-winsdk="\\path\to\windows\sdk" to > > configure this. > > > > Patch 9/11 adds a binary tlb in, so that midl is not required. I would > like to see patch 09/11 just be squashed into this patch, so the build > will always work without requiring midl. Otherwise, from this patch > up through patch 9, qemu-ga.exe will fail to build unless you have the > Windows SDK installed. Good idea. > And if that is done, I don't know if this needs a ./configure option > or not, because you will only build the .tlb if you explicitly purge > the existing binary. Stefan, would you still like to see it in > ./configure option, in that case? It still feels weird to hardcode an install path to a specific version of the Windows SDK. Please make it a configure option - that way it can be automated in a clean way by anyone who builds the tlb from source (downstream). Stefan