X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fbuild-sdk-meson.txt;h=fc7fe37b54bb3b64e0bb68dc2ec54548464de8ef;hb=06710448c98efbc8986866f7bde6f6df1f5316c1;hp=912cb3a8cc383baa07afb5a325a7541052b29146;hpb=ae2f2fee247ad0f80f5a122fd174fa16cddd5438;p=dpdk.git diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt index 912cb3a8cc..fc7fe37b54 100644 --- a/doc/build-sdk-meson.txt +++ b/doc/build-sdk-meson.txt @@ -32,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 -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 @@ -82,6 +82,8 @@ Project-specific options are passed used -Doption=value:: 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 @@ -98,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. +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:: @@ -159,20 +164,9 @@ 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 -where config/arm/arm64_armv8_linux_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' - +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 ------------------------------------- @@ -198,9 +192,3 @@ From examples/helloworld/Makefile:: 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.