dpdk_driver_classes = ['common',
'bus',
'mempool', # depends on common and bus.
- 'raw', # depends on common and bus.
- 'net', # depends on common, bus, mempool and raw.
+ 'net', # depends on common, bus, mempool
+ 'raw', # depends on common, bus and net.
'crypto', # depends on common, bus and mempool (net in future).
'compress', # depends on common, bus, mempool.
'vdpa', # depends on common, bus and mempool.
'event', # depends on common, bus, mempool and net.
'baseband'] # depends on common and bus.
-disabled_drivers = get_option('disable_drivers').split(',')
+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
build = true # set to false to disable, e.g. missing deps
reason = '<unknown reason>' # set if build == false to explain
name = drv
- allow_experimental_apis = false
+ fmt_name = ''
sources = []
objs = []
cflags = default_cflags
else
class_drivers += name
- dpdk_conf.set(config_flag_fmt.format(name.to_upper()),1)
- lib_name = driver_name_fmt.format(name)
-
- if allow_experimental_apis
- cflags += '-DALLOW_EXPERIMENTAL_API'
+ if fmt_name == ''
+ fmt_name = name
endif
+ dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)
+ lib_name = driver_name_fmt.format(fmt_name)
dpdk_extra_ldflags += pkgconfig_extra_libs
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
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,