path: root/meson_options.txt
AgeCommit message (Collapse)Author
2018-10-27build: add option to override drivers install directoryLuca Boccassi
Allow users and packagers to override the default dpdk/drivers subdirectory where the PMDs get installed under $lib. Signed-off-by: Luca Boccassi <> Acked-by: Bruce Richardson <> Acked-by: Timothy Redaelli <>
2018-09-28net/mlx5: support meson buildNelio Laranjeiro
Compile Mellanox driver when its external dependencies are met. A glue version of the driver can still be requested by using the -Denable_driver_mlx_glue=true Meson will try to find the required external libraries. When they are not installed system wide, they can be provided though CFLAGS, LDFLAGS and LD_LIBRARY_PATH environment variables, example (considering RDMA-Core is installed in /tmp/rdma-core): # CLFAGS=-I/tmp/rdma-core/build/include \ LDFLAGS=-L/tmp/rdma-core/build/lib \ LD_LIBRARY_PATH=/tmp/rdma-core/build/lib \ meson output # LD_LIBRARY_PATH=/tmp/rdma-core/build/lib \ ninja -C output install Note: LD_LIBRARY_PATH before ninja is necessary when the meson configuration has changed (e.g. meson configure has been called), in such situation the LD_LIBRARY_PATH is necessary to invoke the autoconfiguration script. Signed-off-by: Nelio Laranjeiro <> Signed-off-by: Shahaf Shuler <> Acked-by: Bruce Richardson <>
2018-09-18build: generate API documentation with mesonLuca Boccassi
Signed-off-by: Luca Boccassi <> Acked-by: Bruce Richardson <>
2018-09-17igb_uio: install module when building with mesonLuca Boccassi
Install in $kerneldir/../extra/dpdk. Usually $kerneldir should something like: /lib/modules/$kver/build, so this directory will match the default one used by legacy makefiles. Fixes: a52f4574f798 ("igb_uio: build with meson") Cc: Signed-off-by: Luca Boccassi <> Acked-by: Bruce Richardson <>
2018-04-19net/mvpp2: add to meson buildTomasz Duszynski
Add support for building MRVL MVPP2 PMD with meson. To avoid cluttering the build environment and to keep all relevant settings local to a cross build we get MUSDK library installation path from a meson option. Signed-off-by: Tomasz Duszynski <> Acked-by: Bruce Richardson <>
2018-01-30test: build app with meson as dpdk-testHarry van Haaren
This patch enables the test/test app to be built. It also adds the test binary to be a meson-test, which allows the meson test infrastructure to be used to run tests. Tests are listed using the same test binary, however each test sets a different DPDK_TEST environment variable. The string contents of this DPDK_TEST env var is entered in the command line interface. As such, the familiar test names such as "ring_perf_autotest" etc are valid tests to run using this meson test infrastructure. Note that the tests are run serially, given that we cannot run multiple primary processes at a time. As each test must initialize EAL this takes some time depending on the number of hugepages. In future, we could improve this to run multiple tests from one EAL init, but it is out of scope for this patchset. Finally, an option to build the tests is added to the meson build options. When disabled, the unit test code in test/test is not compiled. The default is set to 'true'. To disable, run: $ meson configure -Dtests=false Signed-off-by: Harry van Haaren <> Acked-by: Bruce Richardson <>
2018-01-30examples: build some samples with mesonBruce Richardson
Add support for having selected example apps built as part of a meson, ninja build. By default none are built, and those to be built should be named directly in the -Dexamples='' meson configuration argument. This is useful for developers working on a feature who want to use a suitable example, or examples, to test that feature, as they can compile everything up in one go, and run the example without having to do a ninja install first. This commit adds examples which don't consist of multiple apps in subdirectories to the meson build, so they can be built by default by passing -Dexamples parameter to meson. Not included are the following examples: * ethtool * multi-process * netmap_compat * performance-thread * quota_watermark * server_node_efd * vm_power_manager To test the apps added here, use the following command, merged to one line, to add them to your meson build (command to be run inside the build directory): meson configure -Dexamples=bbdev_app,bond,cmdline,distributor,\ eventdev_pipeline_sw_pmd, exception_path,helloworld,\ ip_fragmentation,ip_pipeline,ip_reassembly, ipsec-secgw,\ ipv4_multicast,kni,l2fwd-cat,l2fwd-crypto,l2fwd-jobstats,\ l2fwd-keepalive,l2fwd,l3fwd-acl,l3fwd-power,l3fwd-vf,l3fwd,\ link_status_interrupt,load_balancer,packet_ordering,ptpclient,\ qos_meter,qos_sched,rxtx_callbacks,skeleton,tep_termination,\ timer,vhost,vhost_scsi,vmdq,vmdq_dcb Signed-off-by: Bruce Richardson <> Reviewed-by: Luca Boccassi <>
2018-01-30build: sort meson options alphabeticallyBruce Richardson
Wrap each entry at the description value to avoid really long lines also. Signed-off-by: Bruce Richardson <> Acked-by: Luca Boccassi <>
2018-01-30build: add optional arch-specific headers install pathLuca Boccassi
A subset of the dpdk headers are arch-dependent, but have common names and thus cause a clash in a multiarch installation. For example, rte_config.h is different for each target. Add a "include_subdir_arch" option to allow a user to specify a subdirectory for arch independent headers to fix multiarch support. Signed-off-by: Luca Boccassi <> Acked-by: Bruce Richardson <>
2018-01-30build: add option to version libs using DPDK versionBruce Richardson
Normally, each library has it's own version number based on the ABI. Add an option to have all libs just use the DPDK version number as the .so version. Signed-off-by: Bruce Richardson <> Reviewed-by: Harry van Haaren <> Acked-by: Keith Wiles <> Acked-by: Luca Boccassi <>
2018-01-30igb_uio: build with mesonBruce Richardson
Support building igb_uio using meson and ninja. For this, we still use the kernel's kbuild system, by calling out to make, since it's safer and easier than trying to reproduce that in meson. A list of suitable file dependencies is given so that we have a reasonable chance of a rebuild when necessary. Signed-off-by: Bruce Richardson <> Reviewed-by: Harry van Haaren <> Acked-by: Keith Wiles <> Acked-by: Luca Boccassi <>
2018-01-30build: add infrastructure for meson and ninja buildsBruce Richardson
To build with meson and ninja, we need some initial infrastructure in place. The build files for meson always need to be called "", and options get placed in meson_options.txt This commit adds a top-level file, which sets up the global variables for tracking drivers, libraries, etc., and then includes other build files, before finishing by writing the global build configuration header file and a DPDK pkgconfig file at the end, using some of those same globals. From the top level build file, the only include file thus far is for the config folder, which does some other setup of global configuration parameters, including pulling in architecture specific parameters from an architectural subdirectory. A number of configuration build options are provided for the project to tune a number of global variables which will be used later e.g. max numa nodes, max cores, etc. These settings all make their way to the global build config header "rte_build_config.h". There is also a file "rte_config.h", which includes "rte_build_config.h", and this file is meant to hold other build-time values which are present in our current static build configuration but are not normally meant for user-configuration. Ideally, over time, the values placed here should be moved to the individual libraries or drivers which want those values. Signed-off-by: Bruce Richardson <> Reviewed-by: Harry van Haaren <> Acked-by: Keith Wiles <> Acked-by: Luca Boccassi <>