[v4,1/2] build: make version file optional for drivers

Message ID 20221012104218.185516-1-omer.yamac@ceng.metu.edu.tr (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v4,1/2] build: make version file optional for drivers |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Abdullah Ömer Yamaç Oct. 12, 2022, 10:42 a.m. UTC
  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>
Series-acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/meson.build | 65 +++++++++++++++++++++++++--------------------
 1 file changed, 36 insertions(+), 29 deletions(-)
  

Comments

Ferruh Yigit Oct. 12, 2022, 11:32 a.m. UTC | #1
On 10/12/2022 11:42 AM, Abdullah Ömer Yamaç wrote:
> 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>
> Series-acked-by: Bruce Richardson <bruce.richardson@intel.com>

Thanks for the patch.

Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>
  
David Marchand Nov. 14, 2022, 2:19 p.m. UTC | #2
On Wed, Oct 12, 2022 at 1:33 PM Ferruh Yigit <ferruh.yigit@amd.com> wrote:
> On 10/12/2022 11:42 AM, Abdullah Ömer Yamaç wrote:
> > 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.
> >
> > Suggested-by: Ferruh Yigit <ferruh.yigit@amd.com>
> > Signed-off-by: Abdullah Ömer Yamaç <omer.yamac@ceng.metu.edu.tr>
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>

I rebased this patch and updated newly added drivers, after running
the new check I proposed at:
https://patchwork.dpdk.org/project/dpdk/patch/20221114141651.1255306-1-david.marchand@redhat.com/

Applied, thanks.
  

Patch

diff --git a/drivers/meson.build b/drivers/meson.build
index 216971f4e2..c0f3ec4037 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',
@@ -202,38 +204,43 @@  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]
+        lk_deps = []
+        lk_args = []
+        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,