DPDK is built using the tools ``meson`` and ``ninja``.
+.. note::
+
+ In order to catch possible issues as soon as possible,
+ it is recommended that developers build DPDK in "developer mode" to enable additional checks.
+ By default, this mode is enabled if the build is being done from a git checkout,
+ but the mode can be manually enabled/disabled using the
+ ``developer_mode`` meson configuration option.
+
Therefore all new component additions should include a ``meson.build`` file,
and should be added to the component lists in the ``meson.build`` files in the
relevant top-level directory:
meson_version: '>= 0.47.1'
)
+# check for developer mode
+developer_mode = false
+if get_option('developer_mode').auto()
+ if meson.version().version_compare('>=0.53') # fs module available
+ fs = import('fs')
+ developer_mode = fs.is_dir('.git')
+ endif
+else
+ developer_mode = get_option('developer_mode').enabled()
+endif
+if developer_mode
+ message('## Building in Developer Mode ##')
+endif
+
# set up some global vars for compiler, platform, configuration, etc.
cc = meson.get_compiler('c')
dpdk_conf = configuration_data()
option('check_includes', type: 'boolean', value: false,
description: 'build "chkincs" to verify each header file can compile alone')
+option('developer_mode', type: 'feature',
+ description: 'turn on additional build checks relevant for DPDK developers')
option('disable_drivers', type: 'string', value: '',
description: 'Comma-separated list of drivers to explicitly disable.')
option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',