drivers: process shared link dependencies as for libs
For the public APIs of DPDK libraries we run checks for correct use of experimental tags, and also do dynamic generation of the version file to its window's equivalent. Although must drivers don't export APIs, some do, so these checks are relevant and should be copied from lib/meson.build to drivers/meson.build. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
This commit is contained in:
parent
ff962da373
commit
5ed3766981
@ -145,14 +145,37 @@ foreach class:dpdk_driver_classes
|
||||
version_map = '@0@/@1@/@2@_version.map'.format(
|
||||
meson.current_source_dir(),
|
||||
drv_path, lib_name)
|
||||
implib = dir_name + '.dll.a'
|
||||
|
||||
def_file = custom_target(lib_name + '_def',
|
||||
command: [map_to_def_cmd, '@INPUT@', '@OUTPUT@'],
|
||||
input: version_map,
|
||||
output: '@0@_exports.def'.format(lib_name))
|
||||
lk_deps = [version_map, def_file]
|
||||
if is_windows
|
||||
lk_args = ['-Wl,/def:' + def_file.full_path(),
|
||||
'-Wl,/implib:lib\\' + implib]
|
||||
else
|
||||
lk_args = ['-Wl,--version-script=' + version_map]
|
||||
# on unix systems check the output of the
|
||||
# experimental syms script, using it as a
|
||||
# dependency of the .so build
|
||||
lk_deps += custom_target(lib_name + '.exp_chk',
|
||||
command: [check_experimental_syms,
|
||||
version_map, '@INPUT@'],
|
||||
capture: true,
|
||||
input: static_lib,
|
||||
output: lib_name + '.exp_chk')
|
||||
endif
|
||||
|
||||
shared_lib = shared_library(lib_name,
|
||||
sources,
|
||||
objects: objs,
|
||||
include_directories: includes,
|
||||
dependencies: shared_deps,
|
||||
c_args: cflags,
|
||||
link_args: '-Wl,--version-script=' + version_map,
|
||||
link_depends: version_map,
|
||||
link_args: lk_args,
|
||||
link_depends: lk_deps,
|
||||
version: lib_version,
|
||||
soversion: so_version,
|
||||
install: true,
|
||||
|
Loading…
Reference in New Issue
Block a user