subdir('config')
# build libs and drivers
-subdir('lib')
subdir('buildtools')
+subdir('lib')
subdir('drivers')
# build binaries and installable tools
# build docs
subdir('doc')
-# build any examples explicitly requested - useful for developers
-if get_option('examples') != ''
- subdir('examples')
-endif
+# build any examples explicitly requested - useful for developers - and
+# install any example code into the appropriate install path
+subdir('examples')
# build kernel modules if enabled
if get_option('enable_kmods')
# them.
dpdk_drivers = ['-Wl,--whole-archive'] + dpdk_drivers + ['-Wl,--no-whole-archive']
-# 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.
-meson.add_install_script('buildtools/symlink-drivers-solibs.sh',
- driver_install_path,
- get_option('libdir'))
-
pkg = import('pkgconfig')
pkg.generate(name: meson.project_name(),
filebase: 'lib' + meson.project_name().to_lower(),
libraries: dpdk_libraries,
libraries_private: dpdk_drivers + dpdk_static_libraries +
['-Wl,-Bdynamic'] + dpdk_extra_ldflags,
+ requires: libbsd, # apps using rte_string_fns.h may need this if enabled
+ # if libbsd is not enabled, then this is blank
description: '''The Data Plane Development Kit (DPDK).
Note that CFLAGS might contain an -march flag higher than typical baseline.
This is required for a number of static inline functions in the public headers.''',