build: add internal tag check
[dpdk.git] / drivers / meson.build
index 5502bf9..dc293b2 100644 (file)
@@ -21,6 +21,9 @@ disabled_drivers = run_command(list_dir_globs, get_option('disable_drivers'),
                ).stdout().split()
 
 default_cflags = machine_args
+default_cflags += ['-DALLOW_EXPERIMENTAL_API']
+default_cflags += ['-DALLOW_INTERNAL_API']
+
 if cc.has_argument('-Wno-format-truncation')
        default_cflags += '-Wno-format-truncation'
 endif
@@ -44,7 +47,6 @@ foreach class:dpdk_driver_classes
                reason = '<unknown reason>' # set if build == false to explain
                name = drv
                fmt_name = ''
-               allow_experimental_apis = false
                sources = []
                objs = []
                cflags = default_cflags
@@ -106,10 +108,6 @@ foreach class:dpdk_driver_classes
                        dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)
                        lib_name = driver_name_fmt.format(fmt_name)
 
-                       if allow_experimental_apis
-                               cflags += '-DALLOW_EXPERIMENTAL_API'
-                       endif
-
                        dpdk_extra_ldflags += pkgconfig_extra_libs
 
                        # generate pmdinfo sources by building a temporary
@@ -133,15 +131,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
@@ -170,14 +168,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,