From nobody Mon Feb 9 18:45:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580235738944164.5552500424559; Tue, 28 Jan 2020 10:22:18 -0800 (PST) Received: from localhost ([::1]:35085 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwVVB-00012s-Tg for importer@patchew.org; Tue, 28 Jan 2020 13:22:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58722) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwV4g-0007K5-4g for qemu-devel@nongnu.org; Tue, 28 Jan 2020 12:54:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwV4e-0000in-K6 for qemu-devel@nongnu.org; Tue, 28 Jan 2020 12:54:53 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:46928) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwV4e-0000bW-CG for qemu-devel@nongnu.org; Tue, 28 Jan 2020 12:54:52 -0500 Received: by mail-wr1-x435.google.com with SMTP id z7so17060526wrl.13 for ; Tue, 28 Jan 2020 09:54:51 -0800 (PST) Received: from localhost.localdomain (93-36-56-206.ip58.fastwebnet.it. [93.36.56.206]) by smtp.gmail.com with ESMTPSA id o4sm27046968wrx.25.2020.01.28.09.54.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jan 2020 09:54:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TR04S3RnETVcTsLldX7hxngyg3RqyTsppUyzb3L86pY=; b=E3G0pjBG+sxVU0BEOjJUjmwlD96pFvZAqQr2BSGUQMBO9ULRKdAKARdb9f83CQLv2t 98FmYECcmsAQ/A6Nc3tfBlKENGQieJ14xfUSZwv1a9/x3lsmU2fKGeHnmmKiIr3HI15R wygMIdNKDJ+m6DF0cEEzcP5zycrxfDF7mZG1maKx279hjMfsEf6l4PqqMjVdTlZUFcZ7 Enkj9acEcKoLSFPbf8+ypyhRp1TnN2dZFIFNJ18Xtufr99Vi1Mmd/nISOBZYyN0xE61+ 4oTenOd4nK+/ZMK3YgPejVgy8Ph5X0ztR2Db/0VeVNWkBirokqmBLtfbly8rVpXa/crs 4tVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=TR04S3RnETVcTsLldX7hxngyg3RqyTsppUyzb3L86pY=; b=Ptcw8cLXh7VMkNiiebn9sEf/J7sl9MZ7JQA6K4aNr4eRcy1BOeg121MExgRuJtodcZ 5zDBQ3/o1rEl1rM6CzbsQ3w729SUgWkrOwz/BiTpXY22RdBXTsSLQLeapuRmmV9+25/K 4BwXujMSNjM5bLK62X+LofUnCB5Blsvzcp7aD4EWAUv53/jHqF1r65aWq7GXUxZ8qNTe UEGYoEpTvaxtvixTYdZkkR0PKSt7Rb3R2LbqLwV6MnXOf1hQNPBuU/zntbcZ8n7fVY4y c/MQvuDi6GiEman5x/Fdj5961dyOXPZYRryhAkwXIdeUhvk0Seib8/KKYWarZYl6tmqT V0uA== X-Gm-Message-State: APjAAAXH9CCsdfa5OaB1hFvGtM+V4PS84pjZLe2QfZXrl3Q3zLjbKdGG Y7oGwTLgHVrtk6cLbo36sdSpMQyP X-Google-Smtp-Source: APXvYqy4JTATUTZZSveJGY+DrqVsJfA3e8lbgEnyzJB26WGbZlA1dTL0AjYXZOy27F+tNb8AV7NQoQ== X-Received: by 2002:adf:8297:: with SMTP id 23mr28692517wrc.379.1580234089128; Tue, 28 Jan 2020 09:54:49 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH 025/142] meson: convert vss-win32 Date: Tue, 28 Jan 2020 18:51:45 +0100 Message-Id: <20200128175342.9066-26-pbonzini@redhat.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20200128175342.9066-1-pbonzini@redhat.com> References: <20200128175342.9066-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Paolo Bonzini --- Makefile | 1 - Makefile.objs | 8 -------- meson.build | 4 +++- qga/Makefile.objs | 1 - qga/meson.build | 6 ++++++ qga/vss-win32/Makefile.objs | 23 ----------------------- qga/vss-win32/meson.build | 28 ++++++++++++++++++++++++++++ 7 files changed, 37 insertions(+), 34 deletions(-) delete mode 100644 qga/Makefile.objs delete mode 100644 qga/vss-win32/Makefile.objs create mode 100644 qga/vss-win32/meson.build diff --git a/Makefile b/Makefile index ab007ff60f..5ddec3a5da 100644 --- a/Makefile +++ b/Makefile @@ -284,7 +284,6 @@ endif dummy :=3D $(call unnest-vars,, \ authz-obj-y \ chardev-obj-y \ - qga-vss-dll-obj-y \ block-obj-y \ block-obj-m \ crypto-obj-y \ diff --git a/Makefile.objs b/Makefile.objs index 92321847d1..f1465a620e 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -93,11 +93,3 @@ version-obj-$(CONFIG_WIN32) +=3D $(BUILD_DIR)/version.o ###################################################################### # tracing util-obj-y +=3D trace/ - -###################################################################### -# guest agent - -# FIXME: a few definitions from qapi/qapi-types.o and -# qapi/qapi-visit.o are needed by libqemuutil.a. These should be -# extracted into a QAPI schema module, or perhaps a separate schema. -qga-vss-dll-obj-y =3D qga/ diff --git a/meson.build b/meson.build index 04e11460a0..8709847493 100644 --- a/meson.build +++ b/meson.build @@ -9,12 +9,14 @@ add_project_arguments(config_host['CFLAGS'].split(), language: ['c', 'objc']) add_project_arguments(config_host['QEMU_CFLAGS'].split(), language: 'c') +add_project_arguments(config_host['QEMU_CXXFLAGS'].split(), + language: 'cpp') add_project_link_arguments(config_host['LDFLAGS'].split(), language: ['c', 'cpp', 'objc']) add_project_link_arguments(config_host['QEMU_LDFLAGS'].split(), language: ['c', 'cpp', 'objc']) add_project_arguments(config_host['QEMU_INCLUDES'].split(), - language: 'c') + language: ['c', 'cpp']) =20 configure_file(input: files('scripts/ninjatool.py'), output: 'ninjatool', diff --git a/qga/Makefile.objs b/qga/Makefile.objs deleted file mode 100644 index 9ecf2496da..0000000000 --- a/qga/Makefile.objs +++ /dev/null @@ -1 +0,0 @@ -qga-vss-dll-obj-$(CONFIG_QGA_VSS) +=3D vss-win32/ diff --git a/qga/meson.build b/qga/meson.build index 116102b865..f0ec8cf0d8 100644 --- a/qga/meson.build +++ b/qga/meson.build @@ -41,3 +41,9 @@ qga_ss =3D qga_ss.apply(config_host, strict: false) qga =3D executable('qemu-ga', qga_ss.sources(), link_args: config_host['LIBS_QGA'].split(), dependencies: [qemuutil, libudev]) + +if host_machine.system() =3D=3D 'windows' + if 'CONFIG_QGA_VSS' in config_host + subdir('vss-win32') + endif +endif diff --git a/qga/vss-win32/Makefile.objs b/qga/vss-win32/Makefile.objs deleted file mode 100644 index fd3ba1896b..0000000000 --- a/qga/vss-win32/Makefile.objs +++ /dev/null @@ -1,23 +0,0 @@ -# rules to build qga-vss.dll - -qga-vss-dll-obj-y +=3D requester.o provider.o install.o - -obj-qga-vss-dll-obj-y =3D $(addprefix $(obj)/, $(qga-vss-dll-obj-y)) -$(obj-qga-vss-dll-obj-y): QEMU_CXXFLAGS :=3D $(filter-out -fstack-protecto= r-all -fstack-protector-strong, $(QEMU_CXXFLAGS)) -Wno-unknown-pragmas -Wno= -delete-non-virtual-dtor - -$(obj)/qga-vss.dll: LDFLAGS =3D -shared -Wl,--add-stdcall-alias,--enable-s= tdcall-fixup -lglib-2.0 -lole32 -loleaut32 -lshlwapi -luuid -lintl -lws2_32= -static -$(obj)/qga-vss.dll: $(obj-qga-vss-dll-obj-y) $(SRC_PATH)/$(obj)/qga-vss.def - $(call quiet-command,$(CXX) -o $@ $(qga-vss-dll-obj-y) $(SRC_PATH)/qga/vs= s-win32/qga-vss.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 (and cl.exe in VC++= ). -MIDL=3D$(WIN_SDK)/Bin/midl - -$(obj)/qga-vss.tlb: $(SRC_PATH)/$(obj)/qga-vss.idl -ifeq ($(WIN_SDK),"") - $(call quiet-command,cp $(dir $<)qga-vss.tlb $@,"COPY","$(TARGET_DIR)$@") -else - $(call quiet-command,$(MIDL) -tlb $@ -I $(WIN_SDK)/Include $<,"MIDL","$(T= ARGET_DIR)$@") -endif diff --git a/qga/vss-win32/meson.build b/qga/vss-win32/meson.build new file mode 100644 index 0000000000..a7c865ffde --- /dev/null +++ b/qga/vss-win32/meson.build @@ -0,0 +1,28 @@ +if add_languages('cpp', required: false) + glib_static =3D dependency('glib-2.0', static: true) + link_args =3D cc.get_supported_link_arguments(['-fstack-protector-all', = '-fstack-protector-strong', '-Wl,--add-stdcall-alias', '-Wl,--enable-stdcal= l-fixup']) + + shared_module('qga-vss', ['requester.cpp', 'provider.cpp', 'install.cpp'= ], + name_prefix: '', + cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtua= l-dtor', '-Wno-non-virtual-dtor'], + link_args: link_args, + vs_module_defs: 'qga-vss.def', + dependencies: glib_static) +endif + +# rules to build qga-vss.tlb +# Currently, only native build is supported because building .tlb +# (TypeLibrary) from .idl requires WindowsSDK and MIDL (and cl.exe in VC++= ). +midl =3D find_program('midl', required: false) +if midl.found() + gen_tlb =3D custom_target('gen-tlb', + input: 'qga-vss.idl', + output: 'qga-vss.tlb', + command: [midl, '-tlb', '-I' + config_host['WIN_= SDK'], + '@INPUT@', '@OUTPUT@']) +else + gen_tlb =3D custom_target('gen-tlb', + input: 'qga-vss.tlb', + output: 'qga-vss.tlb', + command: ['cp', '@INPUT@', '@OUTPUT@']) +endif --=20 2.21.0