From patchwork Fri Dec 2 11:09:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 120437 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 12736A0542; Fri, 2 Dec 2022 12:10:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C0BD042B8C; Fri, 2 Dec 2022 12:10:05 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 0374342B8C for ; Fri, 2 Dec 2022 12:10:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669979403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4EA9zsjk5pcTlHYepDCNcdjwhk3VDozWztWRtV5dlHg=; b=XsSgIpeq6YOZGIiP5GBHXvIThLoRaU+UTenzW4aoNq6IUCQ3eljQx7whNkeD/peGjuSG99 oN890Gle6BSJM+GG8oxCb7KetRk7//0wzSfAOHD38kf4P3063OfB+S/r5oIzhaVaVK2DRs PSQVhWgIIvuGo0VLI0hp/e7kqiSqnck= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-522-9cJJxlCwPrm1Vd44w50DoA-1; Fri, 02 Dec 2022 06:10:00 -0500 X-MC-Unique: 9cJJxlCwPrm1Vd44w50DoA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 32B83811E84; Fri, 2 Dec 2022 11:10:00 +0000 (UTC) Received: from localhost.localdomain (ovpn-192-86.brq.redhat.com [10.40.192.86]) by smtp.corp.redhat.com (Postfix) with ESMTP id 61CB3111E3EA; Fri, 2 Dec 2022 11:09:59 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: ferruh.yigit@amd.com, Bruce Richardson Subject: [PATCH v4 2/2] build: generate Windows build artefacts when needed Date: Fri, 2 Dec 2022 12:09:44 +0100 Message-Id: <20221202110945.519708-2-david.marchand@redhat.com> In-Reply-To: <20221202110945.519708-1-david.marchand@redhat.com> References: <20221129140032.35940-1-david.marchand@redhat.com> <20221202110945.519708-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org We have been generating some Windows and mingw artefacts on all OS while there is no need for them. Signed-off-by: David Marchand Reviewed-by: Bruce Richardson --- drivers/meson.build | 27 +++++++++++++-------------- lib/meson.build | 29 +++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/drivers/meson.build b/drivers/meson.build index 5188302057..c6d619200f 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -206,7 +206,6 @@ foreach subpath:subdirs # now build the shared driver version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), drv_path) - implib = 'lib' + lib_name + '.dll.a' lk_deps = [] lk_args = [] @@ -227,25 +226,25 @@ foreach subpath:subdirs endif endif - def_file = custom_target(lib_name + '_def', - command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], - input: version_map, - output: '@0@_exports.def'.format(lib_name)) - - mingw_map = custom_target(lib_name + '_mingw', - command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], - input: version_map, - output: '@0@_mingw.map'.format(lib_name)) - - lk_deps += [def_file, mingw_map] - if is_windows if is_ms_linker + def_file = custom_target(lib_name + '_def', + command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], + input: version_map, + output: '@0@_exports.def'.format(lib_name)) + lk_deps += [def_file] + lk_args = ['-Wl,/def:' + def_file.full_path()] if meson.version().version_compare('<0.54.0') - lk_args += ['-Wl,/implib:drivers\\' + implib] + lk_args += ['-Wl,/implib:drivers\\lib' + lib_name + '.dll.a'] endif else + mingw_map = custom_target(lib_name + '_mingw', + command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], + input: version_map, + output: '@0@_mingw.map'.format(lib_name)) + lk_deps += [mingw_map] + lk_args = ['-Wl,--version-script=' + mingw_map.full_path()] endif else diff --git a/lib/meson.build b/lib/meson.build index fd55925340..a90fee31b7 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -224,34 +224,35 @@ foreach l:libraries # RTE_BUILD_SHARED_LIB defined cflags += '-DRTE_BUILD_SHARED_LIB' endif - version_map = '@0@/@1@/version.map'.format( - meson.current_source_dir(), l) - implib = 'librte_' + l + '.dll.a' - def_file = custom_target(libname + '_def', - command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], - input: version_map, - output: '@0@_exports.def'.format(libname)) - - mingw_map = custom_target(libname + '_mingw', - command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], - input: version_map, - output: '@0@_mingw.map'.format(libname)) + version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), l) + lk_deps = [version_map] if is_ms_linker + def_file = custom_target(libname + '_def', + command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], + input: version_map, + output: '@0@_exports.def'.format(libname)) + lk_deps += [def_file] + lk_args = ['-Wl,/def:' + def_file.full_path()] if meson.version().version_compare('<0.54.0') - lk_args += ['-Wl,/implib:lib\\' + implib] + lk_args += ['-Wl,/implib:lib\\librte_' + l + '.dll.a'] endif else if is_windows + mingw_map = custom_target(libname + '_mingw', + command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'], + input: version_map, + output: '@0@_mingw.map'.format(libname)) + lk_deps += [mingw_map] + lk_args = ['-Wl,--version-script=' + mingw_map.full_path()] else lk_args = ['-Wl,--version-script=' + version_map] endif endif - lk_deps = [version_map, def_file, mingw_map] if developer_mode and not is_windows # on unix systems check the output of the # check-symbols.sh script, using it as a