diff --git a/doc/guides/cryptodevs/armv8.rst b/doc/guides/cryptodevs/armv8.rst index 8963f66a20..1a006754cb 100644 --- a/doc/guides/cryptodevs/armv8.rst +++ b/doc/guides/cryptodevs/armv8.rst @@ -47,7 +47,7 @@ To build DPDK with this virtual crypto PMD, the user is required to: .. code-block:: console - meson build + meson setup build ninja -C build The corresponding device can be created only if the following features diff --git a/doc/guides/cryptodevs/bcmfs.rst b/doc/guides/cryptodevs/bcmfs.rst index f5dcd59c87..d18a253913 100644 --- a/doc/guides/cryptodevs/bcmfs.rst +++ b/doc/guides/cryptodevs/bcmfs.rst @@ -70,7 +70,7 @@ for cross compiling on x86 platform. .. code-block:: console cd - meson --cross-file config/arm/arm64_stingray_linux_gcc + meson setup --cross-file config/arm/arm64_stingray_linux_gcc cd ninja diff --git a/doc/guides/cryptodevs/uadk.rst b/doc/guides/cryptodevs/uadk.rst index 1325eaca3f..9af6b88a5a 100644 --- a/doc/guides/cryptodevs/uadk.rst +++ b/doc/guides/cryptodevs/uadk.rst @@ -87,7 +87,7 @@ Test steps cd dpdk mkdir build - meson build (--reconfigure) + meson setup build (--reconfigure) cd build ninja sudo ninja install diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst index d335b97cfc..514d18c870 100644 --- a/doc/guides/freebsd_gsg/build_dpdk.rst +++ b/doc/guides/freebsd_gsg/build_dpdk.rst @@ -44,7 +44,7 @@ Building DPDK The following commands can be used to build and install DPDK on a system. The final, install, step generally needs to be run as root:: - meson build + meson setup build cd build ninja ninja install diff --git a/doc/guides/gpus/cuda.rst b/doc/guides/gpus/cuda.rst index 55fc7d1e86..114e3bc8cb 100644 --- a/doc/guides/gpus/cuda.rst +++ b/doc/guides/gpus/cuda.rst @@ -24,8 +24,8 @@ You need to indicate to meson where CUDA headers files are through the CFLAGS va Three ways: - Set ``export CFLAGS=-I/usr/local/cuda/include`` before building -- Add CFLAGS in the meson command line ``CFLAGS=-I/usr/local/cuda/include meson build`` -- Add the ``-Dc_args`` in meson command line ``meson build -Dc_args=-I/usr/local/cuda/include`` +- Add CFLAGS in the meson command line ``CFLAGS=-I/usr/local/cuda/include meson setup build`` +- Add the ``-Dc_args`` in meson command line ``meson setup build -Dc_args=-I/usr/local/cuda/include`` If headers are not found, the CUDA GPU driver library is not built. @@ -51,7 +51,7 @@ An example would be: .. code-block:: console - $ meson build -Dc_args="-I/usr/local/cuda/include -I/path/to/gdrcopy/include" + $ meson setup build -Dc_args="-I/usr/local/cuda/include -I/path/to/gdrcopy/include" If headers are not found, the CUDA GPU driver library is built without the CPU map capability and will return error if the application invokes the gpudev ``rte_gpu_mem_cpu_map`` function. diff --git a/doc/guides/howto/openwrt.rst b/doc/guides/howto/openwrt.rst index e1d7db2a90..be902c505f 100644 --- a/doc/guides/howto/openwrt.rst +++ b/doc/guides/howto/openwrt.rst @@ -100,7 +100,7 @@ first. ar = 'x86_64-openwrt-linux-ar' strip = 'x86_64-openwrt-linux-strip' - meson builddir --cross-file openwrt-cross + meson setup builddir --cross-file openwrt-cross ninja -C builddir Running DPDK application on OpenWrt diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst index 4f2def15ed..bbd2efc9d8 100644 --- a/doc/guides/linux_gsg/build_dpdk.rst +++ b/doc/guides/linux_gsg/build_dpdk.rst @@ -53,7 +53,7 @@ To configure a DPDK build use: .. code-block:: console - meson build + meson setup build where "build" is the desired output build directory, and "" can be empty or one of a number of meson or DPDK-specific build options, described @@ -140,7 +140,7 @@ automatically built as part of a meson build too. To do so, pass a comma-separated list of the examples to build to the `-Dexamples` meson option as below:: - meson -Dexamples=l2fwd,l3fwd build + meson setup -Dexamples=l2fwd,l3fwd build As with other meson options, this can also be set post-initial-config using `meson configure` in the build directory. There is also a special value "all" to request that all example applications whose @@ -166,12 +166,12 @@ The following meson command can be used on RHEL/Fedora systems to configure a 32 assuming the relevant 32-bit development packages, such as a 32-bit libc, are installed:: PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig \ - meson -Dc_args='-m32' -Dc_link_args='-m32' build + meson setup -Dc_args='-m32' -Dc_link_args='-m32' build For Debian/Ubuntu systems, the equivalent command is:: PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig \ - meson -Dc_args='-m32' -Dc_link_args='-m32' build + meson setup -Dc_args='-m32' -Dc_link_args='-m32' build Once the build directory has been configured, DPDK can be compiled using ``ninja`` as described above. diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst index cbe9d171f8..e4de5c8d18 100644 --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst @@ -167,19 +167,19 @@ Cross Compiling DPDK with GNU toolchain using Meson To cross-compile DPDK on a desired target machine we can use the following command:: - meson cross-build --cross-file + meson setup cross-build --cross-file ninja -C cross-build For example if the target machine is aarch64 we can use the following command, provided the cross file has been modified accordingly:: - meson aarch64-build-gcc --cross-file config/arm/arm64_armv8_linux_gcc + meson setup aarch64-build-gcc --cross-file config/arm/arm64_armv8_linux_gcc ninja -C aarch64-build-gcc If the target machine is aarch32 we can use the following command, provided the cross file has been modified accordingly:: - meson aarch32-build --cross-file config/arm/arm32_armv8_linux_gcc + meson setup aarch32-build --cross-file config/arm/arm32_armv8_linux_gcc ninja -C aarch32-build LLVM/Clang toolchain @@ -230,7 +230,7 @@ Assuming the file with augmented ``c_args`` and ``c_link_args`` is named ``arm64_armv8_linux_clang``, use the following command to cross-compile DPDK for the target machine:: - meson aarch64-build-clang --cross-file config/arm/arm64_armv8_linux_clang + meson setup aarch64-build-clang --cross-file config/arm/arm64_armv8_linux_clang ninja -C aarch64-build-clang Cross Compiling DPDK with LLVM/Clang toolchain using Meson on Ubuntu 18.04 @@ -247,7 +247,7 @@ On Ubuntu 18.04, these packages are needed: Use the following command to cross-compile DPDK for the target machine:: - meson aarch64-build-clang --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804 + meson setup aarch64-build-clang --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804 ninja -C aarch64-build-clang Building for an aarch64 SoC on an aarch64 build machine @@ -258,7 +258,7 @@ you don't need a separate cross toolchain, just a different set of configuration options. To build for an aarch64 SoC, use the -Dplatform meson option:: - meson soc_build -Dplatform= + meson setup soc_build -Dplatform= Substitute with one of the supported SoCs diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst index 1549cc86d5..7f75960e9e 100644 --- a/doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst @@ -81,7 +81,7 @@ To cross-compile DPDK for generic LoongArch we can use the following command: .. code-block:: console - meson cross-build --cross-file config/loongarch/loongarch_loongarch64_linux_gcc + meson setup cross-build --cross-file config/loongarch/loongarch_loongarch64_linux_gcc ninja -C cross-build Supported cross-compilation targets diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst index 9e121645a8..7d7f7ac72b 100644 --- a/doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst @@ -68,13 +68,13 @@ Cross Compiling DPDK with GNU toolchain using Meson To cross-compile DPDK for a desired target machine use the following command:: - meson cross-build --cross-file + meson setup cross-build --cross-file ninja -C cross-build For example if the target machine is a generic rv64gc RISC-V, use the following command:: - meson riscv64-build-gcc --cross-file config/riscv/riscv64_linux_gcc + meson setup riscv64-build-gcc --cross-file config/riscv/riscv64_linux_gcc ninja -C riscv64-build-gcc If riscv-gnu-toolchain is used, binary names should be updated to match. Update diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst index 591e41799c..ba00f14e80 100644 --- a/doc/guides/nics/ark.rst +++ b/doc/guides/nics/ark.rst @@ -282,7 +282,7 @@ CFLAGS environment prior to the meson build step. I.e., .. code-block:: console export CFLAGS="-DRTE_LIBRTE_ARK_MIN_TX_PKTLEN=60" - meson build + meson setup build Supported ARK RTL PCIe Instances diff --git a/doc/guides/nics/mvneta.rst b/doc/guides/nics/mvneta.rst index b7f279c3cb..2ee2637a58 100644 --- a/doc/guides/nics/mvneta.rst +++ b/doc/guides/nics/mvneta.rst @@ -117,7 +117,7 @@ Add path to libmusdk.pc in PKG_CONFIG_PATH environment variable. .. code-block:: console export PKG_CONFIG_PATH=$/lib/pkgconfig/:$PKG_CONFIG_PATH - meson build --cross-file config/arm/arm64_armada_linux_gcc + meson setup build --cross-file config/arm/arm64_armada_linux_gcc ninja -C build diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst index e40fed7286..cbfa47afd8 100644 --- a/doc/guides/nics/mvpp2.rst +++ b/doc/guides/nics/mvpp2.rst @@ -133,7 +133,7 @@ Add path to libmusdk.pc in PKG_CONFIG_PATH environment variable. export PKG_CONFIG_PATH=$/lib/pkgconfig/:$PKG_CONFIG_PATH - meson build --cross-file config/arm/arm64_armada_linux_gcc + meson setup build --cross-file config/arm/arm64_armada_linux_gcc ninja -C build diff --git a/doc/guides/platform/bluefield.rst b/doc/guides/platform/bluefield.rst index 3e3078c85e..09486747b1 100644 --- a/doc/guides/platform/bluefield.rst +++ b/doc/guides/platform/bluefield.rst @@ -61,7 +61,7 @@ rdma-core library with corresponding kernel drivers is required. .. code-block:: console - meson build + meson setup build ninja -C build Cross Compilation @@ -115,5 +115,5 @@ Then, untar the tarball at the cross toolchain directory on the x86 host. .. code-block:: console - meson build --cross-file config/arm/arm64_bluefield_linux_gcc + meson setup build --cross-file config/arm/arm64_bluefield_linux_gcc ninja -C build diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst index 562ed7d7a6..aadd60b5d4 100644 --- a/doc/guides/platform/cnxk.rst +++ b/doc/guides/platform/cnxk.rst @@ -587,14 +587,14 @@ CN9K: .. code-block:: console - meson -Dplatform=cn9k build + meson setup -Dplatform=cn9k build ninja -C build CN10K: .. code-block:: console - meson -Dplatform=cn10k build + meson setup -Dplatform=cn10k build ninja -C build Cross Compilation @@ -606,14 +606,14 @@ CN9K: .. code-block:: console - meson build --cross-file config/arm/arm64_cn9k_linux_gcc + meson setup build --cross-file config/arm/arm64_cn9k_linux_gcc ninja -C build CN10K: .. code-block:: console - meson build --cross-file config/arm/arm64_cn10k_linux_gcc + meson setup build --cross-file config/arm/arm64_cn10k_linux_gcc ninja -C build .. note:: diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst index 42ddb1762e..1459dc7109 100644 --- a/doc/guides/platform/octeontx.rst +++ b/doc/guides/platform/octeontx.rst @@ -94,14 +94,14 @@ drivers can be compiled with the following steps, .. code-block:: console - meson build -Dexamples= + meson setup build -Dexamples= ninja -C build The example applications can be compiled using the following: .. code-block:: console - meson build -Dexamples= + meson setup build -Dexamples= ninja -C build Cross Compilation @@ -127,7 +127,7 @@ Now this build system can be used to build applications for **OCTEON TX** :sup:` .. code-block:: console cd - meson build --cross-file config/arm/arm64_thunderx_linux_gcc + meson setup build --cross-file config/arm/arm64_thunderx_linux_gcc ninja -C build The example applications can be compiled using the following: @@ -135,7 +135,7 @@ The example applications can be compiled using the following: .. code-block:: console cd - meson build --cross-file config/arm/arm64_thunderx_linux_gcc -Dexamples= + meson setup build --cross-file config/arm/arm64_thunderx_linux_gcc -Dexamples= ninja -C build .. note:: diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst index 58d9b553a0..5deabbe54c 100644 --- a/doc/guides/prog_guide/build-sdk-meson.rst +++ b/doc/guides/prog_guide/build-sdk-meson.rst @@ -9,7 +9,7 @@ Summary For many platforms, compiling and installing DPDK should work using the following set of commands:: - meson build + meson setup build cd build ninja ninja install @@ -57,12 +57,12 @@ Configuring the Build ---------------------- To configure a build, run the meson tool, passing the path to the directory -to be used for the build e.g. ``meson build``, as shown above. If calling +to be used for the build e.g. ``meson setup build``, as shown above. If calling meson from somewhere other than the root directory of the DPDK project the path to the root directory should be passed as the first parameter, and the build path as the second. For example, to build DPDK in /tmp/dpdk-build:: - user@host:/tmp$ meson ~user/dpdk dpdk-build + user@host:/tmp$ meson setup ~user/dpdk dpdk-build Meson will then configure the build based on settings in the project's meson.build files, and by checking the build environment for e.g. compiler @@ -80,24 +80,29 @@ available run ``meson configure`` in the build directory. Examples of adjusting the defaults when doing initial meson configuration. Project-specific options are passed used -Doption=value:: - meson --werror werrorbuild # build with warnings as errors + # build with warnings as errors + meson setup --werror werrorbuild - meson --buildtype=debug debugbuild # build for debugging + # build for debugging + meson setup --buildtype=debug debugbuild - meson -Dexamples=l3fwd,l2fwd fwdbuild # build some examples as - # part of the normal DPDK build + # build some examples as part of the normal DPDK build + meson setup -Dexamples=l3fwd,l2fwd fwdbuild - meson -Dmax_lcores=8 smallbuild # scale build for smaller systems + # scale build for smaller systems + meson setup -Dmax_lcores=8 smallbuild - meson -Denable_docs=true fullbuild # build and install docs + # build and install docs + meson setup -Denable_docs=true fullbuild - meson -Dcpu_instruction_set=generic # use builder-independent baseline -march + # use builder-independent baseline -march + meson setup -Dcpu_instruction_set=generic - meson -Ddisable_drivers=event/*,net/tap # disable tap driver and all - # eventdev PMDs for a smaller build + # disable tap driver and all eventdev PMDs for a smaller build + meson setup -Ddisable_drivers=event/*,net/tap - meson -Denable_trace_fp=true tracebuild # build with fast path traces - # enabled + # build with fast path traces enabled + meson setup -Denable_trace_fp=true tracebuild Examples of setting some of the same options using meson configure:: @@ -135,7 +140,7 @@ As well as those settings taken from ``meson configure``, other options such as the compiler to use can be passed via environment variables. For example:: - CC=clang meson clang-build + CC=clang meson setup clang-build .. note:: @@ -188,12 +193,12 @@ Cross Compiling DPDK To cross-compile DPDK on a desired target machine we can use the following command:: - meson cross-build --cross-file + meson setup cross-build --cross-file For example if the target machine is arm64 we can use the following command:: - meson arm-build --cross-file config/arm/arm64_armv8_linux_gcc + meson setup arm-build --cross-file config/arm/arm64_armv8_linux_gcc where config/arm/arm64_armv8_linux_gcc contains settings for the compilers and other build tools to be used, as well as characteristics of the target diff --git a/doc/guides/prog_guide/lto.rst b/doc/guides/prog_guide/lto.rst index f79c449598..ff9f47a8f4 100644 --- a/doc/guides/prog_guide/lto.rst +++ b/doc/guides/prog_guide/lto.rst @@ -30,4 +30,4 @@ Link time optimization can be enabled by setting meson built-in 'b_lto' option: .. code-block:: console - meson build -Db_lto=true + meson setup build -Db_lto=true diff --git a/doc/guides/prog_guide/profile_app.rst b/doc/guides/prog_guide/profile_app.rst index bd6700ef85..14292d4c25 100644 --- a/doc/guides/prog_guide/profile_app.rst +++ b/doc/guides/prog_guide/profile_app.rst @@ -42,7 +42,7 @@ and recompile the DPDK: .. code-block:: console - meson build + meson setup build meson configure build -Dc_args=-DRTE_ETHDEV_PROFILE_WITH_VTUNE ninja -C build @@ -103,7 +103,7 @@ Example: .. code-block:: console - meson --cross config/arm/arm64_armv8_linux_gcc -Dc_args='-DRTE_ARM_EAL_RDTSC_USE_PMU' build + meson setup --cross config/arm/arm64_armv8_linux_gcc -Dc_args='-DRTE_ARM_EAL_RDTSC_USE_PMU' build .. warning:: diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst index 9ce87956c9..e0af729e66 100644 --- a/doc/guides/sample_app_ug/vm_power_management.rst +++ b/doc/guides/sample_app_ug/vm_power_management.rst @@ -255,7 +255,7 @@ To build just the ``vm_power_manager`` application using ``meson``/``ninja``: .. code-block:: console cd dpdk - meson build + meson setup build cd build ninja meson configure -Dexamples=vm_power_manager @@ -494,7 +494,7 @@ To build just the ``vm_power_manager`` application using ``meson``/``ninja``: .. code-block:: console cd dpdk - meson build + meson setup build cd build ninja meson configure -Dexamples=vm_power_manager/guest_cli diff --git a/doc/guides/windows_gsg/build_dpdk.rst b/doc/guides/windows_gsg/build_dpdk.rst index 38b3068d7b..29f2b38feb 100644 --- a/doc/guides/windows_gsg/build_dpdk.rst +++ b/doc/guides/windows_gsg/build_dpdk.rst @@ -104,7 +104,7 @@ To compile the examples, the flag ``-Dexamples`` is required. .. code-block:: console cd C:\Users\me\dpdk - meson -Dexamples=helloworld build + meson setup -Dexamples=helloworld build ninja -C build Option 2. Cross-Compile with MinGW-w64 @@ -115,5 +115,5 @@ Depending on the distribution, paths in this file may need adjustments. .. code-block:: console - meson --cross-file config/x86/cross-mingw -Dexamples=helloworld build + meson setup --cross-file config/x86/cross-mingw -Dexamples=helloworld build ninja -C build