From patchwork Thu Oct 6 07:19:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?QWJkdWxsYWggw5ZtZXIgWWFtYcOn?= X-Patchwork-Id: 117437 X-Patchwork-Delegate: thomas@monjalon.net 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 6159AA00C2; Thu, 6 Oct 2022 09:19:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 02F674280E; Thu, 6 Oct 2022 09:19:42 +0200 (CEST) Received: from guvercin.ceng.metu.edu.tr (guvercin.ceng.metu.edu.tr [144.122.171.43]) by mails.dpdk.org (Postfix) with ESMTP id CB87E41153 for ; Thu, 6 Oct 2022 09:19:40 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by guvercin.ceng.metu.edu.tr (Postfix) with ESMTP id DC5452C171; Thu, 6 Oct 2022 10:19:38 +0300 (+03) X-Virus-Scanned: Debian amavisd-new at ceng.metu.edu.tr Received: from guvercin.ceng.metu.edu.tr ([127.0.0.1]) by localhost (guvercin.ceng.metu.edu.tr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iAfGw4AEZzOJ; Thu, 6 Oct 2022 10:19:27 +0300 (+03) Received: from dmu.otak.ist (unknown [212.156.37.190]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: e1885458) by guvercin.ceng.metu.edu.tr (Postfix) with ESMTPSA id 1C3222C061; Thu, 6 Oct 2022 10:19:25 +0300 (+03) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ceng.metu.edu.tr; s=mail; t=1665040767; bh=TV71SxeUI1HXwQujbarM6ZBZaeyTeWnlihuCfFT3gS4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hHZXdY616CY/e+84tHzYaCTkV5AL5058kBXMhbPe+ozhmqEOXje3I+o+Xiw3rBSNf o3TAG6HjasfzIZYp1D+2mJBMS+F1xm8ZDGJ7qzDgNJ7RF4gwDMaCFJmsH4x4kQ3jIv y8tQWrTGamBUNSonB8kCGk1ctMSS5x/zxYQx6cU4= From: =?utf-8?b?QWJkdWxsYWggw5ZtZXIgWWFtYcOn?= To: dev@dpdk.org Cc: =?utf-8?b?QWJkdWxsYWggw5ZtZXIgWWFtYcOn?= , Ferruh Yigit Subject: [PATCH 1/2] drivers: suggestion on meson without version file Date: Thu, 6 Oct 2022 10:19:22 +0300 Message-Id: <20221006071923.755507-1-omer.yamac@ceng.metu.edu.tr> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 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 Most of the drivers don't have a special version.map file. They just included due to the compilation issue and needs to be updated for each release. These version.map files include: DPDK_23 { local: *; }; In this patch, we removed the necessity of the version files and you don't need to update these files for each release, you can just remove them. Signed-off-by: Abdullah Ömer Yamaç Suggested-by: Ferruh Yigit --- Depends on: patch-116222 ("build: increase minimum meson version to 0.53") --- drivers/meson.build | 63 ++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/drivers/meson.build b/drivers/meson.build index f6ba5ba4fb..6ef03e14c7 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -1,6 +1,8 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017-2019 Intel Corporation +fs = import('fs') + # Defines the order of dependencies evaluation subdirs = [ 'common', @@ -193,38 +195,41 @@ foreach subpath:subdirs version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), drv_path) implib = 'lib' + lib_name + '.dll.a' - 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 = [version_map, def_file, mingw_map] - if is_windows - if is_ms_linker - lk_args = ['-Wl,/def:' + def_file.full_path()] - if meson.version().version_compare('<0.54.0') - lk_args += ['-Wl,/implib:drivers\\' + implib] + if fs.is_file(version_map) + 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 = [version_map, def_file, mingw_map] + if is_windows + if is_ms_linker + lk_args = ['-Wl,/def:' + def_file.full_path()] + if meson.version().version_compare('<0.54.0') + lk_args += ['-Wl,/implib:drivers\\' + implib] + endif + else + lk_args = ['-Wl,--version-script=' + mingw_map.full_path()] endif else - lk_args = ['-Wl,--version-script=' + mingw_map.full_path()] - endif - else - lk_args = ['-Wl,--version-script=' + version_map] - if developer_mode - # on unix systems check the output of the - # check-symbols.sh script, using it as a - # dependency of the .so build - lk_deps += custom_target(lib_name + '.sym_chk', - command: [check_symbols, version_map, '@INPUT@'], - capture: true, - input: static_lib, - output: lib_name + '.sym_chk') + lk_args = ['-Wl,--version-script=' + version_map] + if developer_mode + # on unix systems check the output of the + # check-symbols.sh script, using it as a + # dependency of the .so build + lk_deps += custom_target(lib_name + '.sym_chk', + command: [check_symbols, version_map, '@INPUT@'], + capture: true, + input: static_lib, + output: lib_name + '.sym_chk') + endif endif + endif shared_lib = shared_library(lib_name, sources,