1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
diff --git a/config/meson.build b/config/meson.build
index b6b3558e11..34b85f10b5 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -94,7 +94,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 495e21b54a..ff7b5983cb 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -252,7 +252,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
version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), drv_path)
@@ -297,7 +297,7 @@ foreach subpath:subdirs
else
lk_args = ['-Wl,--version-script=' + version_map]
endif
-
+ if get_option('default_library') == 'shared'
shared_lib = shared_library(lib_name, sources,
objects: objs,
include_directories: includes,
@@ -315,10 +315,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 ce92cb5537..40880bbf02 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -249,7 +249,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)
@@ -305,6 +305,7 @@ foreach l:libraries
output: name + '.sym_chk')
endif
+ if get_option('default_library') == 'shared'
shared_lib = shared_library(libname,
sources,
objects: objs,
@@ -321,6 +322,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)
|