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" <stefa...@gmail.com> 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