diff --git a/config/meson.build b/config/meson.build index 9ba7b9a..bbdad71 100644 --- a/config/meson.build +++ b/config/meson.build @@ -95,7 +95,9 @@ eal_pmd_path = join_paths(get_option('prefix'), driver_install_path) # driver .so files often depend upon the bus drivers for their connect bus, # e.g. ixgbe depends on librte_bus_pci. This means that the bus drivers need # to be in the library path, so symlink the drivers from the main lib directory. -if not is_windows +if get_option('default_library') == 'static' + # skip +elif not is_windows # skip symlink-drivers-solibs.sh execution on no sub directory if pmd_subdir_opt != '' and pmd_subdir_opt != '.' meson.add_install_script('../buildtools/symlink-drivers-solibs.sh', diff --git a/drivers/meson.build b/drivers/meson.build index 6ae102e..9a593b7 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -322,7 +322,7 @@ foreach subpath:subdirs include_directories: includes, dependencies: static_deps, c_args: cflags, - install: true) + install: get_option('default_library') == 'static') # now build the shared driver if is_ms_linker @@ -359,7 +359,7 @@ foreach subpath:subdirs output: lib_name + '.sym_chk', depends: [version_map]) endif - + if get_option('default_library') == 'shared' shared_lib = shared_library(lib_name, sources_pmd_info, objects: objs, include_directories: includes, @@ -377,10 +377,14 @@ foreach subpath:subdirs shared_dep = declare_dependency(link_with: shared_lib, include_directories: includes, dependencies: shared_deps) + endif static_dep = declare_dependency( include_directories: includes, dependencies: static_deps) + if get_option('default_library') == 'static' + shared_dep = static_dep + endif dpdk_drivers += static_lib set_variable('shared_@0@'.format(lib_name), shared_dep) diff --git a/lib/meson.build b/lib/meson.build index 8f5cfd2..907a46a 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -270,7 +270,7 @@ foreach l:libraries c_args: cflags, dependencies: static_deps, include_directories: includes, - install: true) + install: get_option('default_library') == 'static') static_dep = declare_dependency( include_directories: includes, dependencies: static_deps) @@ -320,6 +320,7 @@ foreach l:libraries cflags += '-DRTE_BUILD_SHARED_LIB' endif + if get_option('default_library') == 'shared' shared_lib = shared_library(libname, sources, objects: objs, @@ -336,6 +337,9 @@ foreach l:libraries dependencies: shared_deps) dpdk_libraries = [shared_lib] + dpdk_libraries + else + shared_dep = static_dep + endif dpdk_static_libraries = [static_lib] + dpdk_static_libraries set_variable('shared_rte_' + name, shared_dep)