DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: "Abdullah Ömer Yamaç" <omer.yamac@ceng.metu.edu.tr>
Cc: <dev@dpdk.org>, Ferruh Yigit <ferruh.yigit@amd.com>
Subject: Re: [PATCH 1/2] drivers: suggestion on meson without version file
Date: Fri, 7 Oct 2022 11:30:12 +0100	[thread overview]
Message-ID: <Yz//tNRcvqZ/XJYH@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <20221006071923.755507-1-omer.yamac@ceng.metu.edu.tr>

The title of this patch needs an update - I would suggest something
like:

"build: make version file optional for drivers"

More comments inline below.

On Thu, Oct 06, 2022 at 10:19:22AM +0300, Abdullah Ömer Yamaç wrote:
> 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ç <omer.yamac@ceng.metu.edu.tr>
> Suggested-by: Ferruh Yigit <ferruh.yigit@amd.com>
> 
> ---
> Depends on: patch-116222 ("build: increase minimum meson version to 0.53")
> ---

Thanks for splitting the patch. It is a lot easier to review now,
especially if we apply and use "diff -w".

For any other reviewers, the "diff -w" for this patch is:

--- 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,6 +195,7 @@ foreach subpath:subdirs
         version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), drv_path)
         implib = 'lib' + lib_name + '.dll.a'
 
+        if fs.is_file(version_map)
             def_file = custom_target(lib_name + '_def',
                     command: [map_to_win_cmd, '@INPUT@', '@OUTPUT@'],
                     input: version_map,
@@ -227,6 +230,8 @@ foreach subpath:subdirs
                 endif
             endif
 
+        endif
+
         shared_lib = shared_library(lib_name, sources,
                 objects: objs,
                 include_directories: includes,


>  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'
>  
<snip>
> +                            capture: true,
> +                            input: static_lib,
> +                            output: lib_name + '.sym_chk')
> +                endif
>              endif
> +
>          endif
>  
>          shared_lib = shared_library(lib_name, sources,

Beware that the shared_lib calls use both lk_deps and lk_args parameters,
which are only set inside the "if" block you added.
This will cause problems in that:
1. If the first driver doesn't have a version.map file, these variables
   will be undefined and you'll get a build error.
2. For any subsequent drivers that don't have a version.map file, the old
   values of the variables from the previous driver will be used.

Therefore, at the start of processing each driver, you need to assign empty
values to these variable.

Regards,
/Bruce

  parent reply	other threads:[~2022-10-07 10:30 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-03  6:52 [PATCH] drivers: suggestion on removing empty version.map files Abdullah Ömer Yamaç
2022-10-03  9:19 ` Bruce Richardson
2022-10-03 13:59   ` Omer Yamac
2022-10-03 14:01     ` Bruce Richardson
2022-10-04  6:30       ` Omer Yamac
2022-10-04  8:07         ` Bruce Richardson
2022-10-06  7:19           ` [PATCH 1/2] drivers: suggestion on meson without version file Abdullah Ömer Yamaç
2022-10-06  7:19             ` [PATCH 2/2] drivers: remove the unnecessary version.map Abdullah Ömer Yamaç
2022-10-07 10:30             ` Bruce Richardson [this message]
2022-10-10  7:41               ` [PATCH 1/2] drivers: suggestion on meson without version file Omer Yamac
2022-10-10  8:34                 ` Bruce Richardson
2022-10-11 11:08                   ` [PATCH v2 1/2] build: make version file optional for drivers Abdullah Ömer Yamaç
2022-10-11 11:08                     ` [PATCH v2 2/2] drivers: remove the unnecessary version.map Abdullah Ömer Yamaç
2022-10-11 13:10                       ` David Marchand
2022-10-11 19:21                         ` Omer Yamac
2022-10-12 10:29                           ` [PATCH v3 1/2] build: make version file optional for drivers Abdullah Ömer Yamaç
2022-10-12 10:29                             ` [PATCH v3 2/2] " Abdullah Ömer Yamaç
2022-10-12 10:42                               ` [PATCH v4 1/2] " Abdullah Ömer Yamaç
2022-10-12 10:42                                 ` [PATCH v4 2/2] drivers: remove the unnecessary Abdullah Ömer Yamaç
2022-10-12 11:32                                 ` [PATCH v4 1/2] build: make version file optional for drivers Ferruh Yigit
2022-11-14 14:19                                   ` David Marchand
2022-10-11 12:00                     ` [PATCH v2 " Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yz//tNRcvqZ/XJYH@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=omer.yamac@ceng.metu.edu.tr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).