net/ice: add devargs to control pipeline mode
[dpdk.git] / doc / build-sdk-meson.txt
index 3d8a69c..fc7fe37 100644 (file)
@@ -1,11 +1,6 @@
 INSTALLING DPDK USING THE MESON BUILD SYSTEM
 ---------------------------------------------
 
 INSTALLING DPDK USING THE MESON BUILD SYSTEM
 ---------------------------------------------
 
-NOTE: Compiling and installing DPDK using ``meson`` and ``ninja``, rather
-than using ``make`` (GNU make) is EXPERIMENTAL. Official builds of DPDK
-should always be done using ``make``, as described in the ``Getting Started
-Guide`` documentation, and at "http://dpdk.org/doc/quick-start".
-
 Summary
 --------
 For many platforms, compiling and installing DPDK should work using the
 Summary
 --------
 For many platforms, compiling and installing DPDK should work using the
@@ -37,8 +32,8 @@ The ``meson`` tool is used to configure a DPDK build. On most Linux
 distributions this can be got using the local package management system,
 e.g. ``dnf install meson`` or ``apt-get install meson``. If meson is not
 available as a suitable package, it can also be installed using the Python
 distributions this can be got using the local package management system,
 e.g. ``dnf install meson`` or ``apt-get install meson``. If meson is not
 available as a suitable package, it can also be installed using the Python
-3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.42 of meson is
-recommended - if the version packaged is too old, the latest version is
+3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.47.1 of meson is
+required - if the version packaged is too old, the latest version is
 generally available from "pip".
 
 The other dependency for building is the ``ninja`` tool, which acts similar
 generally available from "pip".
 
 The other dependency for building is the ``ninja`` tool, which acts similar
@@ -87,6 +82,8 @@ Project-specific options are passed used -Doption=value::
 
        meson -Denable_docs=true fullbuild  # build and install docs
 
 
        meson -Denable_docs=true fullbuild  # build and install docs
 
+       meson -Dmachine=default  # use builder-independent baseline -march
+
 Examples of setting the same options using meson configure::
 
        meson configure -Dwerror=true
 Examples of setting the same options using meson configure::
 
        meson configure -Dwerror=true
@@ -103,6 +100,9 @@ should be used to change the build settings within the directory, and when
 ``ninja`` is called to do the build itself, it will trigger the necessary
 re-scan from meson.
 
 ``ninja`` is called to do the build itself, it will trigger the necessary
 re-scan from meson.
 
+NOTE: machine=default uses a config that works on all supported architectures
+regardless of the capabilities of the machine where the build is happening.
+
 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::
 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::
@@ -132,7 +132,7 @@ Installing the Compiled Files
 
 Use ``ninja install`` to install the required DPDK files onto the system.
 The install prefix defaults to ``/usr/local`` but can be used as with other
 
 Use ``ninja install`` to install the required DPDK files onto the system.
 The install prefix defaults to ``/usr/local`` but can be used as with other
-options above. The environment variable ``DEST_DIR`` can be used to adjust
+options above. The environment variable ``DESTDIR`` can be used to adjust
 the root directory for the install, for example when packaging.
 
 With the base install directory, the individual directories for libraries
 the root directory for the install, for example when packaging.
 
 With the base install directory, the individual directories for libraries
@@ -162,22 +162,11 @@ command::
 
 For example if the target machine is arm64 we can use the following
 command::
 
 For example if the target machine is arm64 we can use the following
 command::
-       meson arm-build --cross-file config/arm/arm64_armv8_linuxapp_gcc
-
-where config/arm/arm64_armv8_linuxapp_gcc contains the following
-parameters::
-
-       [binaries]
-       c = 'aarch64-linux-gnu-gcc'
-       cpp = 'aarch64-linux-gnu-cpp'
-       ar = 'aarch64-linux-gnu-ar'
-
-       [host_machine]
-       system = 'linux'
-       cpu_family = 'aarch64'
-       cpu = 'armv8-a'
-       endian = 'little'
+       meson 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
+machine.
 
 Using the DPDK within an Application
 -------------------------------------
 
 Using the DPDK within an Application
 -------------------------------------
@@ -203,9 +192,3 @@ From examples/helloworld/Makefile::
 
        build:
                @mkdir -p $@
 
        build:
                @mkdir -p $@
-
-NOTE: for --static builds, DPDK needs to be built with Meson >= 0.46 in order to
-fully generate the list of private dependencies. If DPDK is built with an older
-version of Meson, it might be necessary to manually specify dependencies of DPDK
-PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static link
-step might fail.