# flow_classify lib depends on pkt framework table lib
'flow_classify', 'bpf']
+default_cflags = machine_args
+if cc.has_argument('-Wno-format-truncation')
+ default_cflags += '-Wno-format-truncation'
+endif
+
+enabled_libs = [] # used to print summary at the end
+
+# -D_GNU_SOURCE unconditionally
+default_cflags += '-D_GNU_SOURCE'
+
foreach l:libraries
build = true
name = l
sources = []
headers = []
includes = []
- cflags = machine_args
- if cc.has_argument('-Wno-format-truncation')
- cflags += '-Wno-format-truncation'
- endif
-
+ cflags = default_cflags
objs = [] # other object files to link against, used e.g. for
# instruction-set optimized versions of code
# use "deps" for internal DPDK dependencies, and "ext_deps" for
# external package/library requirements
ext_deps = []
- deps = ['eal'] # eal is standard dependency except for itself
- if l == 'kvargs'
- deps = []
- endif
- if l == 'eal'
- deps = ['kvargs']
+ deps = []
+ # eal is standard dependency once built
+ if dpdk_conf.has('RTE_LIBRTE_EAL')
+ deps += ['eal']
endif
dir_name = 'librte_' + l
subdir(dir_name)
if build
+ enabled_libs += name
dpdk_conf.set('RTE_LIBRTE_' + name.to_upper(), 1)
install_headers(headers)
shared_deps = ext_deps
static_deps = ext_deps
foreach d:deps
+ if not is_variable('shared_rte_' + d)
+ error('Missing dependency ' + d +
+ ' for library ' + lib_name)
+ endif
shared_deps += [get_variable('shared_rte_' + d)]
static_deps += [get_variable('static_rte_' + d)]
endforeach