[dpdk-dev] [RFCv2 27/40] build: track dependencies recursively
Bruce Richardson
bruce.richardson at intel.com
Mon Aug 14 11:51:55 CEST 2017
Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
drivers/mempool/meson.build | 3 ++-
drivers/net/meson.build | 6 ++++--
lib/librte_eal/bsdapp/eal/meson.build | 5 ++++-
lib/librte_eal/linuxapp/eal/meson.build | 5 ++++-
lib/meson.build | 3 ++-
5 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
index daaabc5b6..d998797ca 100644
--- a/drivers/mempool/meson.build
+++ b/drivers/mempool/meson.build
@@ -93,5 +93,6 @@ foreach drv:mempool_drivers
# testpmd or other built-in apps can find it if necessary
set_variable('dep_rte_mempool_ at 0@'.format(drv),
declare_dependency(link_with: lib,
- include_directories: includes))
+ include_directories: includes,
+ dependencies: dep_objs))
endforeach
diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 3e587d809..00ee65988 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -56,7 +56,8 @@ foreach drv:net_drivers
# objects, internal deps managed by name of lib
ext_deps = []
# set up standard deps. Drivers can append/override as necessary
- deps = ['eal', 'net', 'mbuf', 'ether', 'mempool', 'ring', 'kvargs']
+ # 'ether' as dep, also pulls in mbuf, net, mempool, ring, eal etc
+ deps = ['ether', 'kvargs']
# pull in driver directory which should assign to each of the above
subdir(drv)
@@ -105,5 +106,6 @@ foreach drv:net_drivers
# testpmd or other built-in apps can find it if necessary
set_variable('dep_rte_pmd_ at 0@'.format(drv),
declare_dependency(link_with: lib,
- include_directories: includes))
+ include_directories: includes,
+ dependencies: dep_objs))
endforeach
diff --git a/lib/librte_eal/bsdapp/eal/meson.build b/lib/librte_eal/bsdapp/eal/meson.build
index 6c5f5e93d..86a9e3d14 100644
--- a/lib/librte_eal/bsdapp/eal/meson.build
+++ b/lib/librte_eal/bsdapp/eal/meson.build
@@ -58,5 +58,8 @@ eal_lib = library('rte_eal', sources, eal_common_sources, eal_common_arch_source
dpdk_libraries += ['-pthread', eal_lib]
-rte_eal = declare_dependency(link_with: eal_lib, include_directories: eal_inc)
+rte_eal = declare_dependency(link_with: eal_lib,
+ include_directories: eal_inc,
+ dependencies: dependency('threads'),
+ link_args: '-lexecinfo')
set_variable('dep_rte_eal', rte_eal)
diff --git a/lib/librte_eal/linuxapp/eal/meson.build b/lib/librte_eal/linuxapp/eal/meson.build
index 57bb5d52d..90ecfc394 100644
--- a/lib/librte_eal/linuxapp/eal/meson.build
+++ b/lib/librte_eal/linuxapp/eal/meson.build
@@ -63,5 +63,8 @@ eal_lib = library('rte_eal', sources, eal_common_sources, eal_common_arch_source
dpdk_libraries += ['-pthread', '-ldl', eal_lib]
-rte_eal = declare_dependency(link_with: eal_lib, include_directories: eal_inc)
+rte_eal = declare_dependency(link_with: eal_lib,
+ include_directories: eal_inc,
+ dependencies: dependency('threads'),
+ link_args: '-ldl')
set_variable('dep_rte_eal', rte_eal)
diff --git a/lib/meson.build b/lib/meson.build
index 0caf7bc75..e0c9c3c81 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -72,7 +72,8 @@ foreach l:libs
version: '@0 at .1'.format(version),
install: true)
dep = declare_dependency(link_with: lib,
- include_directories: include_directories(dir_name))
+ include_directories: include_directories(dir_name),
+ dependencies: dep_objs)
set_variable('dep_rte_' + l, dep)
dpdk_libraries = [lib] + dpdk_libraries
--
2.13.4
More information about the dev
mailing list