net/ice/base: avoid undefined behavior
[dpdk.git] / drivers / meson.build
index f3dd23d..cfb6a83 100644 (file)
@@ -62,17 +62,14 @@ foreach class:dpdk_driver_classes
                ext_deps = []
                pkgconfig_extra_libs = []
 
-               # pull in driver directory which should assign to each of the above
-               subdir(drv_path)
-
-               # skip disabled drivers. For meson 0.49 change this to use
-               # "in" keyword
-               foreach disable_path: disabled_drivers
-                       if drv_path == disable_path
-                               build = false
-                               reason = 'Explicitly disabled via build config'
-                       endif
-               endforeach
+               if disabled_drivers.contains(drv_path)
+                       build = false
+                       reason = 'Explicitly disabled via build config'
+               else
+                       # pull in driver directory which should update all the local variables
+                       subdir(drv_path)
+               endif
+
                if build
                        # get dependency objs from strings
                        shared_deps = ext_deps
@@ -131,15 +128,15 @@ foreach class:dpdk_driver_classes
                                        meson.current_source_dir(),
                                        drv_path, lib_name)
 
-                       is_experimental = run_command(is_experimental_cmd,
-                               files(version_map)).returncode()
+                       is_stable = run_command(is_stable_cmd,
+                               files(version_map)).returncode() == 0
 
-                       if is_experimental != 0
-                               lib_version = experimental_abi_version
-                               so_version = experimental_so_version
-                       else
+                       if is_stable
                                lib_version = abi_version
                                so_version = stable_so_version
+                       else
+                               lib_version = experimental_abi_version
+                               so_version = experimental_so_version
                        endif
 
                        # now build the static driver
@@ -168,14 +165,14 @@ foreach class:dpdk_driver_classes
                        else
                                lk_args = ['-Wl,--version-script=' + version_map]
                                # on unix systems check the output of the
-                               # experimental syms script, using it as a
+                               # check-symbols.sh script, using it as a
                                # dependency of the .so build
-                               lk_deps += custom_target(lib_name + '.exp_chk',
-                                       command: [check_experimental_syms,
+                               lk_deps += custom_target(lib_name + '.sym_chk',
+                                       command: [check_symbols,
                                                version_map, '@INPUT@'],
                                        capture: true,
                                        input: static_lib,
-                                       output: lib_name + '.exp_chk')
+                                       output: lib_name + '.sym_chk')
                        endif
 
                        shared_lib = shared_library(lib_name,