[2/2] doc: update octeontx platform guide

Message ID 1593186965-17954-2-git-send-email-hkalra@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [1/2] doc: update octeontx2 platform guide |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Harman Kalra June 26, 2020, 3:56 p.m. UTC
  Removing make build instructions from the platform guide
as building DPDK sources using 'make' will be deprecated
in future releases.

Signed-off-by: Harman Kalra <hkalra@marvell.com>
---
 doc/guides/platform/octeontx.rst | 52 ++++++++++++++------------------
 1 file changed, 22 insertions(+), 30 deletions(-)
  

Comments

Jerin Jacob Sept. 28, 2020, 5:33 a.m. UTC | #1
On Fri, Jun 26, 2020 at 9:26 PM Harman Kalra <hkalra@marvell.com> wrote:
>
> Removing make build instructions from the platform guide
> as building DPDK sources using 'make' will be deprecated
> in future releases.

Please change the commit message as the fact that 'make' is removed now.
And please add the Fix tag to make the removal commit.

With the above change:
Acked-by: Jerin Jacob <jerinj@marvell.com>

>
> Signed-off-by: Harman Kalra <hkalra@marvell.com>
> ---
>  doc/guides/platform/octeontx.rst | 52 ++++++++++++++------------------
>  1 file changed, 22 insertions(+), 30 deletions(-)
>
> diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
> index 7d1cb647d..57129552e 100644
> --- a/doc/guides/platform/octeontx.rst
> +++ b/doc/guides/platform/octeontx.rst
> @@ -95,18 +95,16 @@ drivers can be compiled with the following steps,
>  .. code-block:: console
>
>          cd <dpdk directory>
> -        make config T=arm64-thunderx-linux-gcc
> -        make
> +        meson build
> +        ninja -C build
>
>  The example applications can be compiled using the following:
>
>  .. code-block:: console
>
>          cd <dpdk directory>
> -        export RTE_SDK=$PWD
> -        export RTE_TARGET=build
> -        cd examples/<application>
> -        make
> +        meson build -Dexamples=<application>
> +        ninja -C build
>
>  Cross Compilation
>  ~~~~~~~~~~~~~~~~~
> @@ -115,47 +113,41 @@ The DPDK applications can be cross-compiled on any x86 based platform. The
>  OCTEON TX SDK need to be installed on the build system. The SDK package will
>  provide the required toolchain etc.
>
> -Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for further steps on
> -compilation. The 'host' & 'CC' to be used in the commands would change,
> -in addition to the paths to which libnuma related files have to be
> -copied.
> +Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
>
>  The following steps can be used to perform cross-compilation with OCTEON TX
>  SDK 6.2.0 patch 3:
>
> +meson build
> +^^^^^^^^^^^
> +
>  .. code-block:: console
>
>          cd <sdk_install_dir>
>          source env-setup
>
> -        git clone https://github.com/numactl/numactl.git
> -        cd numactl
> -        git checkout v2.0.11 -b v2.0.11
> -        ./autogen.sh
> -        autoconf -i
> -        ./configure --host=aarch64-thunderx-linux CC=aarch64-thunderx-linux-gnu-gcc --prefix=<numa install dir>
> -        make install
> -
> -The above steps will prepare build system with numa additions. Now this build system can be used
> -to build applications for **OCTEON TX** :sup:`®` platforms.
> +The above steps will prepare build system with required toolchain. Now this build
> +system can be used to build applications for **OCTEON TX** :sup:`®` platforms.
>
>  .. code-block:: console
>
>          cd <dpdk directory>
> -        export RTE_SDK=$PWD
> -        export RTE_KERNELDIR=$THUNDER_ROOT/linux/kernel/linux
> -        make config T=arm64-thunderx-linux-gcc
> -        make -j CROSS=aarch64-thunderx-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n EXTRA_CFLAGS="-isystem <numa_install_dir>/include" EXTRA_LDFLAGS="-L<numa_install_dir>/lib -lnuma"
> -
> -If NUMA support is not required, it can be disabled as explained in
> -:doc:`../linux_gsg/cross_build_dpdk_for_arm64`.
> +        meson build --cross-file config/arm/arm64_thunderx_linux_gcc
> +        ninja -C build
>
> -Following steps could be used in that case.
> +The example applications can be compiled using the following:
>
>  .. code-block:: console
>
> -        make config T=arm64-thunderx-linux-gcc
> -        make CROSS=aarch64-thunderx-linux-gnu-
> +        cd <dpdk directory>
> +        meson build --cross-file config/arm/arm64_thunderx_linux_gcc -Dexamples=<application>
> +        ninja -C build
> +
> +.. note::
>
> +   By default, meson cross compilation uses ``aarch64-linux-gnu-gcc`` toolchain,
> +   if OCTEON TX SDK 6.2.0 patch 3 is available then it can be used by
> +   overriding the c, cpp, ar, strip ``binaries`` attributes to respective thunderx
> +   toolchain binaries in ``config/arm/arm64_thunderx_linux_gcc`` file.
>
>  SDK and related information can be obtained from: `Cavium support site <https://support.cavium.com/>`_.
> --
> 2.18.0
>
  

Patch

diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
index 7d1cb647d..57129552e 100644
--- a/doc/guides/platform/octeontx.rst
+++ b/doc/guides/platform/octeontx.rst
@@ -95,18 +95,16 @@  drivers can be compiled with the following steps,
 .. code-block:: console
 
         cd <dpdk directory>
-        make config T=arm64-thunderx-linux-gcc
-        make
+        meson build
+        ninja -C build
 
 The example applications can be compiled using the following:
 
 .. code-block:: console
 
         cd <dpdk directory>
-        export RTE_SDK=$PWD
-        export RTE_TARGET=build
-        cd examples/<application>
-        make
+        meson build -Dexamples=<application>
+        ninja -C build
 
 Cross Compilation
 ~~~~~~~~~~~~~~~~~
@@ -115,47 +113,41 @@  The DPDK applications can be cross-compiled on any x86 based platform. The
 OCTEON TX SDK need to be installed on the build system. The SDK package will
 provide the required toolchain etc.
 
-Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for further steps on
-compilation. The 'host' & 'CC' to be used in the commands would change,
-in addition to the paths to which libnuma related files have to be
-copied.
+Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
 
 The following steps can be used to perform cross-compilation with OCTEON TX
 SDK 6.2.0 patch 3:
 
+meson build
+^^^^^^^^^^^
+
 .. code-block:: console
 
         cd <sdk_install_dir>
         source env-setup
 
-        git clone https://github.com/numactl/numactl.git
-        cd numactl
-        git checkout v2.0.11 -b v2.0.11
-        ./autogen.sh
-        autoconf -i
-        ./configure --host=aarch64-thunderx-linux CC=aarch64-thunderx-linux-gnu-gcc --prefix=<numa install dir>
-        make install
-
-The above steps will prepare build system with numa additions. Now this build system can be used
-to build applications for **OCTEON TX** :sup:`®` platforms.
+The above steps will prepare build system with required toolchain. Now this build
+system can be used to build applications for **OCTEON TX** :sup:`®` platforms.
 
 .. code-block:: console
 
         cd <dpdk directory>
-        export RTE_SDK=$PWD
-        export RTE_KERNELDIR=$THUNDER_ROOT/linux/kernel/linux
-        make config T=arm64-thunderx-linux-gcc
-        make -j CROSS=aarch64-thunderx-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n EXTRA_CFLAGS="-isystem <numa_install_dir>/include" EXTRA_LDFLAGS="-L<numa_install_dir>/lib -lnuma"
-
-If NUMA support is not required, it can be disabled as explained in
-:doc:`../linux_gsg/cross_build_dpdk_for_arm64`.
+        meson build --cross-file config/arm/arm64_thunderx_linux_gcc
+        ninja -C build
 
-Following steps could be used in that case.
+The example applications can be compiled using the following:
 
 .. code-block:: console
 
-        make config T=arm64-thunderx-linux-gcc
-        make CROSS=aarch64-thunderx-linux-gnu-
+        cd <dpdk directory>
+        meson build --cross-file config/arm/arm64_thunderx_linux_gcc -Dexamples=<application>
+        ninja -C build
+
+.. note::
 
+   By default, meson cross compilation uses ``aarch64-linux-gnu-gcc`` toolchain,
+   if OCTEON TX SDK 6.2.0 patch 3 is available then it can be used by
+   overriding the c, cpp, ar, strip ``binaries`` attributes to respective thunderx
+   toolchain binaries in ``config/arm/arm64_thunderx_linux_gcc`` file.
 
 SDK and related information can be obtained from: `Cavium support site <https://support.cavium.com/>`_.