DPDK patches and discussions
 help / color / Atom feed
* [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation
@ 2020-06-18  0:42 Thomas Monjalon
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
                   ` (5 more replies)
  0 siblings, 6 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-18  0:42 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson

Some "make" usages are cleaned up in the documentation,
and an inevitable deprecation warning is printed when using "make".


*********************************************
NOTE: Lots of docs must be converted to meson
build, configuration and installation layout,
as soon as possible. Please HELP!

A trick to find some affected docs:
                  git grep -- -linux- doc
*********************************************


It should be the final step before complete removal
of the "make" build system in DPDK 20.11.


Thomas Monjalon (4):
  doc: remove outdated guidelines for library addition
  doc: remove build instructions where unneeded
  doc: update build instructions in the Linux guide
  mk: add a paused deprecation warning before each build

 doc/guides/bbdevs/fpga_5gnr_fec.rst           |   7 +-
 doc/guides/bbdevs/fpga_lte_fec.rst            |   7 +-
 doc/guides/cryptodevs/virtio.rst              |   9 +-
 .../virtio_user_for_container_networking.rst  |   6 -
 doc/guides/linux_gsg/build_dpdk.rst           |  66 +++--------
 .../linux_gsg/nic_perf_intel_platform.rst     |   8 +-
 doc/guides/nics/bnxt.rst                      |  30 +----
 doc/guides/nics/build_and_test.rst            |  43 +------
 doc/guides/prog_guide/extend_dpdk.rst         | 109 ------------------
 doc/guides/testpmd_app_ug/build_app.rst       |  26 -----
 mk/rte.sdkconfig.mk                           |   5 -
 mk/rte.sdkroot.mk                             |  16 +++
 12 files changed, 49 insertions(+), 283 deletions(-)
 delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst

-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition
  2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
@ 2020-06-18  0:42 ` Thomas Monjalon
  2020-06-18  9:46   ` Bruce Richardson
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-18  0:42 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson, John McNamara, Marko Kovacevic

There was a doc about how to extend DPDK by adding a library.
It could have been useful but was never updated,
so it is lacking a lot of explanations about doxygen,
meson, versioning, maintainership, etc.

Anyway such guidelines should fit in the contributors guide.
Better to completely remove this obsolete document.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/prog_guide/extend_dpdk.rst | 109 --------------------------
 1 file changed, 109 deletions(-)
 delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst

diff --git a/doc/guides/prog_guide/extend_dpdk.rst b/doc/guides/prog_guide/extend_dpdk.rst
deleted file mode 100644
index a3b3d300b0..0000000000
--- a/doc/guides/prog_guide/extend_dpdk.rst
+++ /dev/null
@@ -1,109 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation.
-
-Extending the DPDK
-=========================
-
-This chapter describes how a developer can extend the DPDK to provide a new library,
-a new target, or support a new target.
-
-Example: Adding a New Library libfoo
-------------------------------------
-
-To add a new library to the DPDK, proceed as follows:
-
-#. Add a new configuration option:
-
-   .. code-block:: bash
-
-        for f in config/\*; do \
-            echo CONFIG_RTE_LIBFOO=y >> $f; done
-
-#. Create a new directory with sources:
-
-   .. code-block:: console
-
-        mkdir ${RTE_SDK}/lib/libfoo
-        touch ${RTE_SDK}/lib/libfoo/foo.c
-        touch ${RTE_SDK}/lib/libfoo/foo.h
-
-#. Add a foo() function in libfoo.
-
-    Definition is in foo.c:
-
-    .. code-block:: c
-
-        void foo(void)
-        {
-        }
-
-    Declaration is in foo.h:
-
-    .. code-block:: c
-
-        extern void foo(void);
-
-
-#. Update lib/Makefile:
-
-    .. code-block:: console
-
-        vi ${RTE_SDK}/lib/Makefile
-        # add:
-        # DIRS-$(CONFIG_RTE_LIBFOO) += libfoo
-
-#. Create a new Makefile for this library, for example, derived from mempool Makefile:
-
-    .. code-block:: console
-
-        cp ${RTE_SDK}/lib/librte_mempool/Makefile ${RTE_SDK}/lib/libfoo/
-
-        vi ${RTE_SDK}/lib/libfoo/Makefile
-        # replace:
-        # librte_mempool -> libfoo
-        # rte_mempool -> foo
-
-
-#. Update mk/DPDK.app.mk, and add -lfoo in LDLIBS variable when the option is enabled.
-   This will automatically add this flag when linking a DPDK application.
-
-
-#. Build the DPDK with the new library (we only show a specific target here):
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config T=x86_64-native-linux-gcc
-        make
-
-
-#. Check that the library is installed:
-
-    .. code-block:: console
-
-        ls build/lib
-        ls build/include
-
-Example: Using libfoo in the Test Application
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The test application is used to validate all functionality of the DPDK.
-Once you have added a library, a new test case should be added in the test application.
-
-*   A new test_foo.c file should be added, that includes foo.h and calls the foo() function from test_foo().
-    When the test passes, the test_foo() function should return 0.
-
-*   Makefile, test.h and commands.c must be updated also, to handle the new test case.
-
-*   Test report generation: autotest.py is a script that is used to generate the test report that is available in the
-    ${RTE_SDK}/doc/rst/test_report/autotests directory. This script must be updated also.
-    If libfoo is in a new test family, the links in ${RTE_SDK}/doc/rst/test_report/test_report.rst must be updated.
-
-*   Build the DPDK with the updated test application (we only show a specific target here):
-
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config T=x86_64-native-linux-gcc
-        make
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded
  2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
@ 2020-06-18  0:42 ` Thomas Monjalon
  2020-06-18  1:10   ` Ajit Khaparde
                     ` (3 more replies)
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
                   ` (3 subsequent siblings)
  5 siblings, 4 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-18  0:42 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, bruce.richardson, Nicolas Chautru, John McNamara,
	Marko Kovacevic, Jay Zhou, Ajit Khaparde, Somnath Kotur,
	Wenzhuo Lu, Beilei Xing, Bernard Iremonger

The build should be described only in few places,
in order to maintain up-to-date, accurate and detailed instructions.
This change is removing some of the unneeded repetitions.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/bbdevs/fpga_5gnr_fec.rst           |  7 +--
 doc/guides/bbdevs/fpga_lte_fec.rst            |  7 +--
 doc/guides/cryptodevs/virtio.rst              |  9 +---
 .../virtio_user_for_container_networking.rst  |  6 ---
 .../linux_gsg/nic_perf_intel_platform.rst     |  8 +---
 doc/guides/nics/bnxt.rst                      | 30 +++----------
 doc/guides/nics/build_and_test.rst            | 43 +++----------------
 doc/guides/testpmd_app_ug/build_app.rst       | 26 -----------
 8 files changed, 15 insertions(+), 121 deletions(-)

diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst
index 19bba3661f..d5dcd3d765 100644
--- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
+++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
@@ -54,12 +54,7 @@ Installation
 Section 3 of the DPDK manual provides instuctions on installing and compiling DPDK. The
 default set of bbdev compile flags may be found in config/common_base, where for example
 the flag to build the FPGA 5GNR FEC device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC``,
-is already set. It is assumed DPDK has been compiled using for instance:
-
-.. code-block:: console
-
-  make install T=x86_64-native-linuxapp-gcc
-
+is already set.
 
 DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
 The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index 206b6f4f9b..191e89fcef 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -53,12 +53,7 @@ Installation
 Section 3 of the DPDK manual provides instuctions on installing and compiling DPDK. The
 default set of bbdev compile flags may be found in config/common_base, where for example
 the flag to build the FPGA LTE FEC device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC``, is already
-set. It is assumed DPDK has been compiled using for instance:
-
-.. code-block:: console
-
-  make install T=x86_64-native-linuxapp-gcc
-
+set.
 
 DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
 The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
diff --git a/doc/guides/cryptodevs/virtio.rst b/doc/guides/cryptodevs/virtio.rst
index 1496ec9208..2c46bda866 100644
--- a/doc/guides/cryptodevs/virtio.rst
+++ b/doc/guides/cryptodevs/virtio.rst
@@ -73,14 +73,7 @@ number of the virtio-crypto device:
     echo -n 0000:00:04.0 > /sys/bus/pci/drivers/virtio-pci/unbind
     echo "1af4 1054" > /sys/bus/pci/drivers/uio_pci_generic/new_id
 
-Finally the front-end virtio crypto PMD driver can be installed:
-
-.. code-block:: console
-
-    cd to the top-level DPDK directory
-    sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO\)=n,\1=y,' config/common_base
-    make config T=x86_64-native-linux-gcc
-    make install T=x86_64-native-linux-gcc
+Finally the front-end virtio crypto PMD driver can be installed.
 
 Tests
 -----
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
index f31d918bcd..412b29664b 100644
--- a/doc/guides/howto/virtio_user_for_container_networking.rst
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -56,12 +56,6 @@ Sample Usage
 Here we use Docker as container engine. It also applies to LXC, Rocket with
 some minor changes.
 
-#. Compile DPDK.
-
-    .. code-block:: console
-
-        make install RTE_SDK=`pwd` T=x86_64-native-linux-gcc
-
 #. Write a Dockerfile like below.
 
     .. code-block:: console
diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
index 1dabbce244..08be5d58b9 100644
--- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
+++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
@@ -124,17 +124,11 @@ The following are some recommendations on GRUB boot settings:
 Configurations before running DPDK
 ----------------------------------
 
-1. Build the DPDK target and reserve huge pages.
+1. Reserve huge pages.
    See the earlier section on :ref:`linux_gsg_hugepages` for more details.
 
-   The following shell commands may help with building and configuration:
-
    .. code-block:: console
 
-      # Build DPDK target.
-      cd dpdk_folder
-      make install T=x86_64-native-linux-gcc -j
-
       # Get the hugepage size.
       awk '/Hugepagesize/ {print $2}' /proc/meminfo
 
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index ed650187e0..a53cdad21d 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -56,33 +56,15 @@ The BNXT PMD supports operating with:
 * Linux igb_uio
 * BSD nic_uio
 
-Compiling BNXT PMD
-------------------
-
-To compile the BNXT PMD:
-
-.. code-block:: console
-
-    make config T=x86_64-native-linux-gcc && make // for x86-64
-    make config T=x86_32-native-linux-gcc && make // for x86-32
-    make config T=armv8a-linux-gcc && make // for ARMv8
-
-Bind the device to one of the kernel modules listed above
-
-.. code-block:: console
-
-    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic bus_id:device_id.function_id
-
-Load an application (e.g. testpmd) with a default configuration (e.g. a single
-TX /RX queue):
-
-.. code-block:: console
-
-    ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2
-
 Running BNXT PMD
 ----------------
 
+Bind the device to one of the kernel modules listed above
+
+.. code-block:: console
+
+    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic bus_id:device_id.function_id
+
 The BNXT PMD can run on PF or VF.
 
 PCI-SIG Single Root I/O Virtualization (SR-IOV) involves the direct assignment
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index f99e019ff3..3138c0f880 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -19,45 +19,12 @@ information on how to build and run testpmd.
 Driver Compilation
 ------------------
 
-To compile a PMD for a platform, run make with appropriate target as shown below.
-Use "make" command in Linux and "gmake" in FreeBSD. This will also build testpmd.
+To compile a PMD for a platform, build DPDK
+as described in the "Getting Started Guide" for your platform.
+This will also build testpmd.
 
-To check available targets:
-
-.. code-block:: console
-
-   cd <DPDK-source-directory>
-   make showconfigs
-
-Example output:
-
-.. code-block:: console
-
-   arm-armv7a-linux-gcc
-   arm64-armv8a-linux-gcc
-   arm64-dpaa-linux-gcc
-   arm64-thunderx-linux-gcc
-   arm64-xgene1-linux-gcc
-   i686-native-linux-gcc
-   i686-native-linux-icc
-   ppc_64-power8-linux-gcc
-   x86_64-native-freebsd-clang
-   x86_64-native-freebsd-gcc
-   x86_64-native-linux-clang
-   x86_64-native-linux-gcc
-   x86_64-native-linux-icc
-   x86_x32-native-linux-gcc
-
-To compile a PMD for Linux x86_64 gcc target, run the following "make" command:
-
-.. code-block:: console
-
-   make install T=x86_64-native-linux-gcc
-
-Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective platform.
-
-For more information, refer to the :ref:`Getting Started Guide for Linux <linux_gsg>`
-or :ref:`Getting Started Guide for FreeBSD <freebsd_gsg>` depending on your platform.
+Detailed instructions are available
+in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
 
 Running testpmd in Linux
 ------------------------
diff --git a/doc/guides/testpmd_app_ug/build_app.rst b/doc/guides/testpmd_app_ug/build_app.rst
index d1ca9f3d19..4d08db75b5 100644
--- a/doc/guides/testpmd_app_ug/build_app.rst
+++ b/doc/guides/testpmd_app_ug/build_app.rst
@@ -6,29 +6,3 @@ Compiling the Application
 
 The ``testpmd`` application is compiled as part of the main compilation of the DPDK libraries and tools.
 Refer to the DPDK Getting Started Guides for details.
-The basic compilation steps are:
-
-#.  Set the required environmental variables and go to the source directory:
-
-    .. code-block:: console
-
-        export RTE_SDK=/path/to/rte_sdk
-        cd $RTE_SDK
-
-#.  Set the compilation target. For example:
-
-    .. code-block:: console
-
-        export RTE_TARGET=x86_64-native-linux-gcc
-
-#.  Build the application:
-
-    .. code-block:: console
-
-        make install T=$RTE_TARGET
-
-    The compiled application will be located at:
-
-    .. code-block:: console
-
-        $RTE_SDK/$RTE_TARGET/app/testpmd
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 3/4] doc: update build instructions in the Linux guide
  2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
@ 2020-06-18  0:42 ` Thomas Monjalon
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-18  0:42 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, bruce.richardson, stable, John McNamara, Marko Kovacevic

Before removing the "make" build system completely,
the Linux guide instructions are made more concise and accurate.
Some detailed explanations are also available in
doc/guides/prog_guide/dev_kit_root_make_help.rst

This is the swan song for makefile system,
in order to have accurate information backported in LTS.

Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/linux_gsg/build_dpdk.rst | 66 ++++++++---------------------
 1 file changed, 18 insertions(+), 48 deletions(-)

diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 4aeb4697d9..c536e354ef 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -167,60 +167,32 @@ Installation of DPDK Target Environment using Make
    is therefore recommended that DPDK installation is done using meson and
    ninja as described above.
 
-The format of a DPDK target is::
+Get a native target environment automatically::
 
-    ARCH-MACHINE-EXECENV-TOOLCHAIN
-
-where:
-
-* ``ARCH`` can be:  ``i686``, ``x86_64``, ``ppc_64``, ``arm64``
-
-* ``MACHINE`` can be:  ``native``, ``power8``, ``armv8a``
-
-* ``EXECENV`` can be:  ``linux``,  ``freebsd``
-
-* ``TOOLCHAIN`` can be:  ``gcc``,  ``icc``
-
-The targets to be installed depend on the 32-bit and/or 64-bit packages and compilers installed on the host.
-Available targets can be found in the DPDK/config directory.
-The defconfig\_ prefix should not be used.
+   make defconfig O=mybuild
 
 .. note::
 
-    Configuration files are provided with the ``RTE_MACHINE`` optimization level set.
     Within the configuration files, the ``RTE_MACHINE`` configuration value is set to native,
     which means that the compiled software is tuned for the platform on which it is built.
-    For more information on this setting, and its possible values, see the *DPDK Programmers Guide*.
 
-When using the Intel® C++ Compiler (icc), one of the following commands should be invoked for 64-bit or 32-bit use respectively.
-Notice that the shell scripts update the ``$PATH`` variable and therefore should not be performed in the same session.
-Also, verify the compiler's installation directory since the path may be different:
+Or get a specific target environment::
 
-.. code-block:: console
+   make config T=x86_64-native-linux-gcc O=mybuild
 
-    source /opt/intel/bin/iccvars.sh intel64
-    source /opt/intel/bin/iccvars.sh ia32
+The format of a DPDK target is "ARCH-MACHINE-EXECENV-TOOLCHAIN".
+Available targets can be found with::
 
-To install and make targets, use the ``make install T=<target>`` command in the top-level DPDK directory.
+   make help
 
-For example, to compile a 64-bit target using icc, run:
+Customize the target configuration in the generated ``.config`` file.
+Example for enabling the pcap PMD::
 
-.. code-block:: console
+   sed -ri 's,(PMD_PCAP=).*,\1y,' mybuild/.config
 
-    make install T=x86_64-native-linux-icc
+Compile the target::
 
-To compile a 32-bit build using gcc, the make command should be:
-
-.. code-block:: console
-
-    make install T=i686-native-linux-gcc
-
-To prepare a target without building it, for example, if the configuration changes need to be made before compilation,
-use the ``make config T=<target>`` command:
-
-.. code-block:: console
-
-    make config T=x86_64-native-linux-gcc
+   make -j4 O=mybuild
 
 .. warning::
 
@@ -229,15 +201,13 @@ use the ``make config T=<target>`` command:
     If the DPDK is not being built on the target machine,
     the ``RTE_KERNELDIR`` environment variable should be used to point the compilation at a copy of the kernel version to be used on the target machine.
 
-Once the target environment is created, the user may move to the target environment directory and continue to make code changes and re-compile.
-The user may also make modifications to the compile-time DPDK configuration by editing the .config file in the build directory.
-(This is a build-local copy of the defconfig file from the top- level config directory).
+Install the target in a separate directory::
 
-.. code-block:: console
+   make install O=mybuild DESTDIR=myinstall prefix=
 
-    cd x86_64-native-linux-gcc
-    vi .config
-    make
+The environment is ready to build a DPDK application::
+
+   RTE_SDK=$(pwd)/myinstall/share/dpdk RTE_TARGET=x86_64-native-linux-gcc make -C myapp
 
 In addition, the make clean command can be used to remove any existing compiled files for a subsequent full, clean rebuild of the code.
 
@@ -245,5 +215,5 @@ Browsing the Installed DPDK Environment Target
 ----------------------------------------------
 
 Once a target is created it contains all libraries, including poll-mode drivers, and header files for the DPDK environment that are required to build customer applications.
-In addition, the test and testpmd applications are built under the build/app directory, which may be used for testing.
+In addition, the test applications are built under the app directory, which may be used for testing.
 A kmod  directory is also present that contains kernel modules which may be loaded if needed.
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 4/4] mk: add a paused deprecation warning before each build
  2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
                   ` (2 preceding siblings ...)
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
@ 2020-06-18  0:42 ` Thomas Monjalon
  2020-06-18 10:04   ` Bruce Richardson
  2020-06-18  1:36 ` [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Stephen Hemminger
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
  5 siblings, 1 reply; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-18  0:42 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson

DPDK 20.05 had some deprecation notes after "make config"
and after the build.
For DPDK 20.08, the config note is replaced with a warning
before the config and before the build.
After the warning, there is a pause which can be skipped
with the variable MAKE_PAUSE.

This deprecation process was discussed in the Technical Board:
http://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 mk/rte.sdkconfig.mk |  5 -----
 mk/rte.sdkroot.mk   | 16 ++++++++++++++++
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 2ea85e4643..f538649f22 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -62,11 +62,6 @@ else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
 	@echo "Configuration done using" \
 		$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))
-	@echo "==== NOTE ===="
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "=============="
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 4043a9d4e8..d3b9cdd048 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -60,7 +60,22 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default test-build
 default test-build: all
 
+.PHONY: warning
+warning:
+	@echo
+	@echo "=========================== WARNING ============================"
+	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
+	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html"
+	@echo "Building DPDK with 'make' will be deprecated in a future release"
+	@echo "================================================================"
+	@echo
+	@test "$(MAKE_PAUSE)" = n || ( \
+	echo "This deprecation warning can be passed by adding MAKE_PAUSE=n"; \
+	echo "to 'make' command line or as an exported environment variable."; \
+	echo "Press enter to continue..."; read)
+
 .PHONY: config defconfig showconfigs showversion showversionum
+config: warning
 config defconfig showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
@@ -96,4 +111,5 @@ examples examples_clean:
 # all other build targets
 %:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
+	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkroot.mk warning
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
@ 2020-06-18  1:10   ` Ajit Khaparde
  2020-06-18  2:02   ` Chautru, Nicolas
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 21+ messages in thread
From: Ajit Khaparde @ 2020-06-18  1:10 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dpdk-dev, David Marchand, Bruce Richardson, Nicolas Chautru,
	John McNamara, Marko Kovacevic, Jay Zhou, Somnath Kotur,
	Wenzhuo Lu, Beilei Xing, Bernard Iremonger

On Wed, Jun 17, 2020 at 5:42 PM Thomas Monjalon <thomas@monjalon.net> wrote:

> The build should be described only in few places,
> in order to maintain up-to-date, accurate and detailed instructions.
> This change is removing some of the unneeded repetitions.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
For the Broadcom PMD part -
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>


> ---
>  doc/guides/bbdevs/fpga_5gnr_fec.rst           |  7 +--
>  doc/guides/bbdevs/fpga_lte_fec.rst            |  7 +--
>  doc/guides/cryptodevs/virtio.rst              |  9 +---
>  .../virtio_user_for_container_networking.rst  |  6 ---
>  .../linux_gsg/nic_perf_intel_platform.rst     |  8 +---
>  doc/guides/nics/bnxt.rst                      | 30 +++----------
>  doc/guides/nics/build_and_test.rst            | 43 +++----------------
>  doc/guides/testpmd_app_ug/build_app.rst       | 26 -----------
>  8 files changed, 15 insertions(+), 121 deletions(-)
>
> diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> index 19bba3661f..d5dcd3d765 100644
> --- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> +++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> @@ -54,12 +54,7 @@ Installation
>  Section 3 of the DPDK manual provides instuctions on installing and
> compiling DPDK. The
>  default set of bbdev compile flags may be found in config/common_base,
> where for example
>  the flag to build the FPGA 5GNR FEC device,
> ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC``,
> -is already set. It is assumed DPDK has been compiled using for instance:
> -
> -.. code-block:: console
> -
> -  make install T=x86_64-native-linuxapp-gcc
> -
> +is already set.
>
>  DPDK requires hugepages to be configured as detailed in section 2 of the
> DPDK manual.
>  The bbdev test application has been tested with a configuration 40 x 1GB
> hugepages. The
> diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst
> b/doc/guides/bbdevs/fpga_lte_fec.rst
> index 206b6f4f9b..191e89fcef 100644
> --- a/doc/guides/bbdevs/fpga_lte_fec.rst
> +++ b/doc/guides/bbdevs/fpga_lte_fec.rst
> @@ -53,12 +53,7 @@ Installation
>  Section 3 of the DPDK manual provides instuctions on installing and
> compiling DPDK. The
>  default set of bbdev compile flags may be found in config/common_base,
> where for example
>  the flag to build the FPGA LTE FEC device,
> ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC``, is already
> -set. It is assumed DPDK has been compiled using for instance:
> -
> -.. code-block:: console
> -
> -  make install T=x86_64-native-linuxapp-gcc
> -
> +set.
>
>  DPDK requires hugepages to be configured as detailed in section 2 of the
> DPDK manual.
>  The bbdev test application has been tested with a configuration 40 x 1GB
> hugepages. The
> diff --git a/doc/guides/cryptodevs/virtio.rst
> b/doc/guides/cryptodevs/virtio.rst
> index 1496ec9208..2c46bda866 100644
> --- a/doc/guides/cryptodevs/virtio.rst
> +++ b/doc/guides/cryptodevs/virtio.rst
> @@ -73,14 +73,7 @@ number of the virtio-crypto device:
>      echo -n 0000:00:04.0 > /sys/bus/pci/drivers/virtio-pci/unbind
>      echo "1af4 1054" > /sys/bus/pci/drivers/uio_pci_generic/new_id
>
> -Finally the front-end virtio crypto PMD driver can be installed:
> -
> -.. code-block:: console
> -
> -    cd to the top-level DPDK directory
> -    sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO\)=n,\1=y,'
> config/common_base
> -    make config T=x86_64-native-linux-gcc
> -    make install T=x86_64-native-linux-gcc
> +Finally the front-end virtio crypto PMD driver can be installed.
>
>  Tests
>  -----
> diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst
> b/doc/guides/howto/virtio_user_for_container_networking.rst
> index f31d918bcd..412b29664b 100644
> --- a/doc/guides/howto/virtio_user_for_container_networking.rst
> +++ b/doc/guides/howto/virtio_user_for_container_networking.rst
> @@ -56,12 +56,6 @@ Sample Usage
>  Here we use Docker as container engine. It also applies to LXC, Rocket
> with
>  some minor changes.
>
> -#. Compile DPDK.
> -
> -    .. code-block:: console
> -
> -        make install RTE_SDK=`pwd` T=x86_64-native-linux-gcc
> -
>  #. Write a Dockerfile like below.
>
>      .. code-block:: console
> diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> index 1dabbce244..08be5d58b9 100644
> --- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> +++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> @@ -124,17 +124,11 @@ The following are some recommendations on GRUB boot
> settings:
>  Configurations before running DPDK
>  ----------------------------------
>
> -1. Build the DPDK target and reserve huge pages.
> +1. Reserve huge pages.
>     See the earlier section on :ref:`linux_gsg_hugepages` for more details.
>
> -   The following shell commands may help with building and configuration:
> -
>     .. code-block:: console
>
> -      # Build DPDK target.
> -      cd dpdk_folder
> -      make install T=x86_64-native-linux-gcc -j
> -
>        # Get the hugepage size.
>        awk '/Hugepagesize/ {print $2}' /proc/meminfo
>
> diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
> index ed650187e0..a53cdad21d 100644
> --- a/doc/guides/nics/bnxt.rst
> +++ b/doc/guides/nics/bnxt.rst
> @@ -56,33 +56,15 @@ The BNXT PMD supports operating with:
>  * Linux igb_uio
>  * BSD nic_uio
>
> -Compiling BNXT PMD
> -------------------
> -
> -To compile the BNXT PMD:
> -
> -.. code-block:: console
> -
> -    make config T=x86_64-native-linux-gcc && make // for x86-64
> -    make config T=x86_32-native-linux-gcc && make // for x86-32
> -    make config T=armv8a-linux-gcc && make // for ARMv8
> -
> -Bind the device to one of the kernel modules listed above
> -
> -.. code-block:: console
> -
> -    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic
> bus_id:device_id.function_id
> -
> -Load an application (e.g. testpmd) with a default configuration (e.g. a
> single
> -TX /RX queue):
> -
> -.. code-block:: console
> -
> -    ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2
> -
>  Running BNXT PMD
>  ----------------
>
> +Bind the device to one of the kernel modules listed above
> +
> +.. code-block:: console
> +
> +    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic
> bus_id:device_id.function_id
> +
>  The BNXT PMD can run on PF or VF.
>
>  PCI-SIG Single Root I/O Virtualization (SR-IOV) involves the direct
> assignment
> diff --git a/doc/guides/nics/build_and_test.rst
> b/doc/guides/nics/build_and_test.rst
> index f99e019ff3..3138c0f880 100644
> --- a/doc/guides/nics/build_and_test.rst
> +++ b/doc/guides/nics/build_and_test.rst
> @@ -19,45 +19,12 @@ information on how to build and run testpmd.
>  Driver Compilation
>  ------------------
>
> -To compile a PMD for a platform, run make with appropriate target as
> shown below.
> -Use "make" command in Linux and "gmake" in FreeBSD. This will also build
> testpmd.
> +To compile a PMD for a platform, build DPDK
> +as described in the "Getting Started Guide" for your platform.
> +This will also build testpmd.
>
> -To check available targets:
> -
> -.. code-block:: console
> -
> -   cd <DPDK-source-directory>
> -   make showconfigs
> -
> -Example output:
> -
> -.. code-block:: console
> -
> -   arm-armv7a-linux-gcc
> -   arm64-armv8a-linux-gcc
> -   arm64-dpaa-linux-gcc
> -   arm64-thunderx-linux-gcc
> -   arm64-xgene1-linux-gcc
> -   i686-native-linux-gcc
> -   i686-native-linux-icc
> -   ppc_64-power8-linux-gcc
> -   x86_64-native-freebsd-clang
> -   x86_64-native-freebsd-gcc
> -   x86_64-native-linux-clang
> -   x86_64-native-linux-gcc
> -   x86_64-native-linux-icc
> -   x86_x32-native-linux-gcc
> -
> -To compile a PMD for Linux x86_64 gcc target, run the following "make"
> command:
> -
> -.. code-block:: console
> -
> -   make install T=x86_64-native-linux-gcc
> -
> -Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective
> platform.
> -
> -For more information, refer to the :ref:`Getting Started Guide for Linux
> <linux_gsg>`
> -or :ref:`Getting Started Guide for FreeBSD <freebsd_gsg>` depending on
> your platform.
> +Detailed instructions are available
> +in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
>
>  Running testpmd in Linux
>  ------------------------
> diff --git a/doc/guides/testpmd_app_ug/build_app.rst
> b/doc/guides/testpmd_app_ug/build_app.rst
> index d1ca9f3d19..4d08db75b5 100644
> --- a/doc/guides/testpmd_app_ug/build_app.rst
> +++ b/doc/guides/testpmd_app_ug/build_app.rst
> @@ -6,29 +6,3 @@ Compiling the Application
>
>  The ``testpmd`` application is compiled as part of the main compilation
> of the DPDK libraries and tools.
>  Refer to the DPDK Getting Started Guides for details.
> -The basic compilation steps are:
> -
> -#.  Set the required environmental variables and go to the source
> directory:
> -
> -    .. code-block:: console
> -
> -        export RTE_SDK=/path/to/rte_sdk
> -        cd $RTE_SDK
> -
> -#.  Set the compilation target. For example:
> -
> -    .. code-block:: console
> -
> -        export RTE_TARGET=x86_64-native-linux-gcc
> -
> -#.  Build the application:
> -
> -    .. code-block:: console
> -
> -        make install T=$RTE_TARGET
> -
> -    The compiled application will be located at:
> -
> -    .. code-block:: console
> -
> -        $RTE_SDK/$RTE_TARGET/app/testpmd
> --
> 2.26.2
>
>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation
  2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
                   ` (3 preceding siblings ...)
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
@ 2020-06-18  1:36 ` Stephen Hemminger
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
  5 siblings, 0 replies; 21+ messages in thread
From: Stephen Hemminger @ 2020-06-18  1:36 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, david.marchand, bruce.richardson

On Thu, 18 Jun 2020 02:42:14 +0200
Thomas Monjalon <thomas@monjalon.net> wrote:

> Some "make" usages are cleaned up in the documentation,
> and an inevitable deprecation warning is printed when using "make".
> 
> 
> *********************************************
> NOTE: Lots of docs must be converted to meson
> build, configuration and installation layout,
> as soon as possible. Please HELP!
> 
> A trick to find some affected docs:
>                   git grep -- -linux- doc
> *********************************************
> 
> 
> It should be the final step before complete removal
> of the "make" build system in DPDK 20.11.
> 
> 
> Thomas Monjalon (4):
>   doc: remove outdated guidelines for library addition
>   doc: remove build instructions where unneeded
>   doc: update build instructions in the Linux guide
>   mk: add a paused deprecation warning before each build
> 
>  doc/guides/bbdevs/fpga_5gnr_fec.rst           |   7 +-
>  doc/guides/bbdevs/fpga_lte_fec.rst            |   7 +-
>  doc/guides/cryptodevs/virtio.rst              |   9 +-
>  .../virtio_user_for_container_networking.rst  |   6 -
>  doc/guides/linux_gsg/build_dpdk.rst           |  66 +++--------
>  .../linux_gsg/nic_perf_intel_platform.rst     |   8 +-
>  doc/guides/nics/bnxt.rst                      |  30 +----
>  doc/guides/nics/build_and_test.rst            |  43 +------
>  doc/guides/prog_guide/extend_dpdk.rst         | 109 ------------------
>  doc/guides/testpmd_app_ug/build_app.rst       |  26 -----
>  mk/rte.sdkconfig.mk                           |   5 -
>  mk/rte.sdkroot.mk                             |  16 +++
>  12 files changed, 49 insertions(+), 283 deletions(-)
>  delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst
> 

It would help if a document described how application using old mk
files could be converted. Maybe using some standard open source project
that is stuck on mk.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
  2020-06-18  1:10   ` Ajit Khaparde
@ 2020-06-18  2:02   ` Chautru, Nicolas
  2020-06-18  8:06     ` Thomas Monjalon
  2020-06-18  2:16   ` Zhoujian (jay)
  2020-06-18  9:48   ` Bruce Richardson
  3 siblings, 1 reply; 21+ messages in thread
From: Chautru, Nicolas @ 2020-06-18  2:02 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: david.marchand, Richardson, Bruce, Mcnamara, John, Kovacevic,
	Marko, Jay Zhou, Ajit Khaparde, Somnath Kotur, Lu, Wenzhuo, Xing,
	Beilei, Iremonger, Bernard

From: Thomas Monjalon
> The build should be described only in few places, in order to maintain up-to-
> date, accurate and detailed instructions.
> This change is removing some of the unneeded repetitions.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  doc/guides/bbdevs/fpga_5gnr_fec.rst           |  7 +--
>  doc/guides/bbdevs/fpga_lte_fec.rst            |  7 +--

Ok in principle to remove from these BBDEV drivers doc. 
Should we include link to actual new build steps instead to help with transition? <../prog_guide/build-sdk-meson>
Also I see a typo in same paragraph "instuctions" instead of "instructions" in case you can fix in same commit. 

>  doc/guides/cryptodevs/virtio.rst              |  9 +---
>  .../virtio_user_for_container_networking.rst  |  6 ---
>  .../linux_gsg/nic_perf_intel_platform.rst     |  8 +---
>  doc/guides/nics/bnxt.rst                      | 30 +++----------
>  doc/guides/nics/build_and_test.rst            | 43 +++----------------
>  doc/guides/testpmd_app_ug/build_app.rst       | 26 -----------
>  8 files changed, 15 insertions(+), 121 deletions(-)
> 
> diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> index 19bba3661f..d5dcd3d765 100644
> --- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> +++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> @@ -54,12 +54,7 @@ Installation
>  Section 3 of the DPDK manual provides instuctions on installing and
> compiling DPDK. The  default set of bbdev compile flags may be found in
> config/common_base, where for example  the flag to build the FPGA 5GNR
> FEC device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC``,
> -is already set. It is assumed DPDK has been compiled using for instance:
> -
> -.. code-block:: console
> -
> -  make install T=x86_64-native-linuxapp-gcc
> -
> +is already set.
> 
>  DPDK requires hugepages to be configured as detailed in section 2 of the
> DPDK manual.
>  The bbdev test application has been tested with a configuration 40 x 1GB
> hugepages. The diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst
> b/doc/guides/bbdevs/fpga_lte_fec.rst
> index 206b6f4f9b..191e89fcef 100644
> --- a/doc/guides/bbdevs/fpga_lte_fec.rst
> +++ b/doc/guides/bbdevs/fpga_lte_fec.rst
> @@ -53,12 +53,7 @@ Installation
>  Section 3 of the DPDK manual provides instuctions on installing and
> compiling DPDK. The  default set of bbdev compile flags may be found in
> config/common_base, where for example  the flag to build the FPGA LTE FEC
> device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC``, is already -set. It
> is assumed DPDK has been compiled using for instance:
> -
> -.. code-block:: console
> -
> -  make install T=x86_64-native-linuxapp-gcc
> -
> +set.
> 
>  DPDK requires hugepages to be configured as detailed in section 2 of the
> DPDK manual.
>  The bbdev test application has been tested with a configuration 40 x 1GB
> hugepages. The diff --git a/doc/guides/cryptodevs/virtio.rst
> b/doc/guides/cryptodevs/virtio.rst
> index 1496ec9208..2c46bda866 100644
> --- a/doc/guides/cryptodevs/virtio.rst
> +++ b/doc/guides/cryptodevs/virtio.rst
> @@ -73,14 +73,7 @@ number of the virtio-crypto device:
>      echo -n 0000:00:04.0 > /sys/bus/pci/drivers/virtio-pci/unbind
>      echo "1af4 1054" > /sys/bus/pci/drivers/uio_pci_generic/new_id
> 
> -Finally the front-end virtio crypto PMD driver can be installed:
> -
> -.. code-block:: console
> -
> -    cd to the top-level DPDK directory
> -    sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO\)=n,\1=y,'
> config/common_base
> -    make config T=x86_64-native-linux-gcc
> -    make install T=x86_64-native-linux-gcc
> +Finally the front-end virtio crypto PMD driver can be installed.
> 
>  Tests
>  -----
> diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst
> b/doc/guides/howto/virtio_user_for_container_networking.rst
> index f31d918bcd..412b29664b 100644
> --- a/doc/guides/howto/virtio_user_for_container_networking.rst
> +++ b/doc/guides/howto/virtio_user_for_container_networking.rst
> @@ -56,12 +56,6 @@ Sample Usage
>  Here we use Docker as container engine. It also applies to LXC, Rocket with
> some minor changes.
> 
> -#. Compile DPDK.
> -
> -    .. code-block:: console
> -
> -        make install RTE_SDK=`pwd` T=x86_64-native-linux-gcc
> -
>  #. Write a Dockerfile like below.
> 
>      .. code-block:: console
> diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> index 1dabbce244..08be5d58b9 100644
> --- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> +++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> @@ -124,17 +124,11 @@ The following are some recommendations on GRUB
> boot settings:
>  Configurations before running DPDK
>  ----------------------------------
> 
> -1. Build the DPDK target and reserve huge pages.
> +1. Reserve huge pages.
>     See the earlier section on :ref:`linux_gsg_hugepages` for more details.
> 
> -   The following shell commands may help with building and configuration:
> -
>     .. code-block:: console
> 
> -      # Build DPDK target.
> -      cd dpdk_folder
> -      make install T=x86_64-native-linux-gcc -j
> -
>        # Get the hugepage size.
>        awk '/Hugepagesize/ {print $2}' /proc/meminfo
> 
> diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst index
> ed650187e0..a53cdad21d 100644
> --- a/doc/guides/nics/bnxt.rst
> +++ b/doc/guides/nics/bnxt.rst
> @@ -56,33 +56,15 @@ The BNXT PMD supports operating with:
>  * Linux igb_uio
>  * BSD nic_uio
> 
> -Compiling BNXT PMD
> -------------------
> -
> -To compile the BNXT PMD:
> -
> -.. code-block:: console
> -
> -    make config T=x86_64-native-linux-gcc && make // for x86-64
> -    make config T=x86_32-native-linux-gcc && make // for x86-32
> -    make config T=armv8a-linux-gcc && make // for ARMv8
> -
> -Bind the device to one of the kernel modules listed above
> -
> -.. code-block:: console
> -
> -    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic
> bus_id:device_id.function_id
> -
> -Load an application (e.g. testpmd) with a default configuration (e.g. a single -
> TX /RX queue):
> -
> -.. code-block:: console
> -
> -    ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2
> -
>  Running BNXT PMD
>  ----------------
> 
> +Bind the device to one of the kernel modules listed above
> +
> +.. code-block:: console
> +
> +    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic
> + bus_id:device_id.function_id
> +
>  The BNXT PMD can run on PF or VF.
> 
>  PCI-SIG Single Root I/O Virtualization (SR-IOV) involves the direct assignment
> diff --git a/doc/guides/nics/build_and_test.rst
> b/doc/guides/nics/build_and_test.rst
> index f99e019ff3..3138c0f880 100644
> --- a/doc/guides/nics/build_and_test.rst
> +++ b/doc/guides/nics/build_and_test.rst
> @@ -19,45 +19,12 @@ information on how to build and run testpmd.
>  Driver Compilation
>  ------------------
> 
> -To compile a PMD for a platform, run make with appropriate target as shown
> below.
> -Use "make" command in Linux and "gmake" in FreeBSD. This will also build
> testpmd.
> +To compile a PMD for a platform, build DPDK as described in the
> +"Getting Started Guide" for your platform.
> +This will also build testpmd.
> 
> -To check available targets:
> -
> -.. code-block:: console
> -
> -   cd <DPDK-source-directory>
> -   make showconfigs
> -
> -Example output:
> -
> -.. code-block:: console
> -
> -   arm-armv7a-linux-gcc
> -   arm64-armv8a-linux-gcc
> -   arm64-dpaa-linux-gcc
> -   arm64-thunderx-linux-gcc
> -   arm64-xgene1-linux-gcc
> -   i686-native-linux-gcc
> -   i686-native-linux-icc
> -   ppc_64-power8-linux-gcc
> -   x86_64-native-freebsd-clang
> -   x86_64-native-freebsd-gcc
> -   x86_64-native-linux-clang
> -   x86_64-native-linux-gcc
> -   x86_64-native-linux-icc
> -   x86_x32-native-linux-gcc
> -
> -To compile a PMD for Linux x86_64 gcc target, run the following "make"
> command:
> -
> -.. code-block:: console
> -
> -   make install T=x86_64-native-linux-gcc
> -
> -Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective
> platform.
> -
> -For more information, refer to the :ref:`Getting Started Guide for Linux
> <linux_gsg>` -or :ref:`Getting Started Guide for FreeBSD <freebsd_gsg>`
> depending on your platform.
> +Detailed instructions are available
> +in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
> 
>  Running testpmd in Linux
>  ------------------------
> diff --git a/doc/guides/testpmd_app_ug/build_app.rst
> b/doc/guides/testpmd_app_ug/build_app.rst
> index d1ca9f3d19..4d08db75b5 100644
> --- a/doc/guides/testpmd_app_ug/build_app.rst
> +++ b/doc/guides/testpmd_app_ug/build_app.rst
> @@ -6,29 +6,3 @@ Compiling the Application
> 
>  The ``testpmd`` application is compiled as part of the main compilation of
> the DPDK libraries and tools.
>  Refer to the DPDK Getting Started Guides for details.
> -The basic compilation steps are:
> -
> -#.  Set the required environmental variables and go to the source directory:
> -
> -    .. code-block:: console
> -
> -        export RTE_SDK=/path/to/rte_sdk
> -        cd $RTE_SDK
> -
> -#.  Set the compilation target. For example:
> -
> -    .. code-block:: console
> -
> -        export RTE_TARGET=x86_64-native-linux-gcc
> -
> -#.  Build the application:
> -
> -    .. code-block:: console
> -
> -        make install T=$RTE_TARGET
> -
> -    The compiled application will be located at:
> -
> -    .. code-block:: console
> -
> -        $RTE_SDK/$RTE_TARGET/app/testpmd
> --
> 2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
  2020-06-18  1:10   ` Ajit Khaparde
  2020-06-18  2:02   ` Chautru, Nicolas
@ 2020-06-18  2:16   ` Zhoujian (jay)
  2020-06-18  9:48   ` Bruce Richardson
  3 siblings, 0 replies; 21+ messages in thread
From: Zhoujian (jay) @ 2020-06-18  2:16 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: david.marchand, bruce.richardson, Nicolas Chautru, John McNamara,
	Marko Kovacevic, Ajit Khaparde, Somnath Kotur, Wenzhuo Lu,
	Beilei Xing, Bernard Iremonger, Huangweidong (C)



> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Thursday, June 18, 2020 8:42 AM
> To: dev@dpdk.org
> Cc: david.marchand@redhat.com; bruce.richardson@intel.com; Nicolas Chautru
> <nicolas.chautru@intel.com>; John McNamara <john.mcnamara@intel.com>;
> Marko Kovacevic <marko.kovacevic@intel.com>; Zhoujian (jay)
> <jianjay.zhou@huawei.com>; Ajit Khaparde <ajit.khaparde@broadcom.com>;
> Somnath Kotur <somnath.kotur@broadcom.com>; Wenzhuo Lu
> <wenzhuo.lu@intel.com>; Beilei Xing <beilei.xing@intel.com>; Bernard
> Iremonger <bernard.iremonger@intel.com>
> Subject: [PATCH 2/4] doc: remove build instructions where unneeded
> 
> The build should be described only in few places, in order to maintain up-to-date,
> accurate and detailed instructions.
> This change is removing some of the unneeded repetitions.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

The virtio-crypto PMD is compiled as default now, so there's no need to enable
it manually. For the virtio-crypto PMD part:

Acked-by: Jay Zhou <jianjay.zhou@huawei.com>

> ---
>  doc/guides/bbdevs/fpga_5gnr_fec.rst           |  7 +--
>  doc/guides/bbdevs/fpga_lte_fec.rst            |  7 +--
>  doc/guides/cryptodevs/virtio.rst              |  9 +---
>  .../virtio_user_for_container_networking.rst  |  6 ---
>  .../linux_gsg/nic_perf_intel_platform.rst     |  8 +---
>  doc/guides/nics/bnxt.rst                      | 30 +++----------
>  doc/guides/nics/build_and_test.rst            | 43 +++----------------
>  doc/guides/testpmd_app_ug/build_app.rst       | 26 -----------
>  8 files changed, 15 insertions(+), 121 deletions(-)
> 
> diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> index 19bba3661f..d5dcd3d765 100644
> --- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
> +++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
> @@ -54,12 +54,7 @@ Installation
>  Section 3 of the DPDK manual provides instuctions on installing and compiling
> DPDK. The  default set of bbdev compile flags may be found in
> config/common_base, where for example  the flag to build the FPGA 5GNR FEC
> device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC``,
> -is already set. It is assumed DPDK has been compiled using for instance:
> -
> -.. code-block:: console
> -
> -  make install T=x86_64-native-linuxapp-gcc
> -
> +is already set.
> 
>  DPDK requires hugepages to be configured as detailed in section 2 of the DPDK
> manual.
>  The bbdev test application has been tested with a configuration 40 x 1GB
> hugepages. The diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst
> b/doc/guides/bbdevs/fpga_lte_fec.rst
> index 206b6f4f9b..191e89fcef 100644
> --- a/doc/guides/bbdevs/fpga_lte_fec.rst
> +++ b/doc/guides/bbdevs/fpga_lte_fec.rst
> @@ -53,12 +53,7 @@ Installation
>  Section 3 of the DPDK manual provides instuctions on installing and compiling
> DPDK. The  default set of bbdev compile flags may be found in
> config/common_base, where for example  the flag to build the FPGA LTE FEC
> device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC``, is already -set. It
> is assumed DPDK has been compiled using for instance:
> -
> -.. code-block:: console
> -
> -  make install T=x86_64-native-linuxapp-gcc
> -
> +set.
> 
>  DPDK requires hugepages to be configured as detailed in section 2 of the DPDK
> manual.
>  The bbdev test application has been tested with a configuration 40 x 1GB
> hugepages. The diff --git a/doc/guides/cryptodevs/virtio.rst
> b/doc/guides/cryptodevs/virtio.rst
> index 1496ec9208..2c46bda866 100644
> --- a/doc/guides/cryptodevs/virtio.rst
> +++ b/doc/guides/cryptodevs/virtio.rst
> @@ -73,14 +73,7 @@ number of the virtio-crypto device:
>      echo -n 0000:00:04.0 > /sys/bus/pci/drivers/virtio-pci/unbind
>      echo "1af4 1054" > /sys/bus/pci/drivers/uio_pci_generic/new_id
> 
> -Finally the front-end virtio crypto PMD driver can be installed:
> -
> -.. code-block:: console
> -
> -    cd to the top-level DPDK directory
> -    sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO\)=n,\1=y,'
> config/common_base
> -    make config T=x86_64-native-linux-gcc
> -    make install T=x86_64-native-linux-gcc
> +Finally the front-end virtio crypto PMD driver can be installed.
> 
>  Tests
>  -----
> diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst
> b/doc/guides/howto/virtio_user_for_container_networking.rst
> index f31d918bcd..412b29664b 100644
> --- a/doc/guides/howto/virtio_user_for_container_networking.rst
> +++ b/doc/guides/howto/virtio_user_for_container_networking.rst
> @@ -56,12 +56,6 @@ Sample Usage
>  Here we use Docker as container engine. It also applies to LXC, Rocket with
> some minor changes.
> 
> -#. Compile DPDK.
> -
> -    .. code-block:: console
> -
> -        make install RTE_SDK=`pwd` T=x86_64-native-linux-gcc
> -
>  #. Write a Dockerfile like below.
> 
>      .. code-block:: console
> diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> index 1dabbce244..08be5d58b9 100644
> --- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> +++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
> @@ -124,17 +124,11 @@ The following are some recommendations on GRUB
> boot settings:
>  Configurations before running DPDK
>  ----------------------------------
> 
> -1. Build the DPDK target and reserve huge pages.
> +1. Reserve huge pages.
>     See the earlier section on :ref:`linux_gsg_hugepages` for more details.
> 
> -   The following shell commands may help with building and configuration:
> -
>     .. code-block:: console
> 
> -      # Build DPDK target.
> -      cd dpdk_folder
> -      make install T=x86_64-native-linux-gcc -j
> -
>        # Get the hugepage size.
>        awk '/Hugepagesize/ {print $2}' /proc/meminfo
> 
> diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst index
> ed650187e0..a53cdad21d 100644
> --- a/doc/guides/nics/bnxt.rst
> +++ b/doc/guides/nics/bnxt.rst
> @@ -56,33 +56,15 @@ The BNXT PMD supports operating with:
>  * Linux igb_uio
>  * BSD nic_uio
> 
> -Compiling BNXT PMD
> -------------------
> -
> -To compile the BNXT PMD:
> -
> -.. code-block:: console
> -
> -    make config T=x86_64-native-linux-gcc && make // for x86-64
> -    make config T=x86_32-native-linux-gcc && make // for x86-32
> -    make config T=armv8a-linux-gcc && make // for ARMv8
> -
> -Bind the device to one of the kernel modules listed above
> -
> -.. code-block:: console
> -
> -    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic
> bus_id:device_id.function_id
> -
> -Load an application (e.g. testpmd) with a default configuration (e.g. a single -TX
> /RX queue):
> -
> -.. code-block:: console
> -
> -    ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2
> -
>  Running BNXT PMD
>  ----------------
> 
> +Bind the device to one of the kernel modules listed above
> +
> +.. code-block:: console
> +
> +    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic
> + bus_id:device_id.function_id
> +
>  The BNXT PMD can run on PF or VF.
> 
>  PCI-SIG Single Root I/O Virtualization (SR-IOV) involves the direct assignment diff
> --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
> index f99e019ff3..3138c0f880 100644
> --- a/doc/guides/nics/build_and_test.rst
> +++ b/doc/guides/nics/build_and_test.rst
> @@ -19,45 +19,12 @@ information on how to build and run testpmd.
>  Driver Compilation
>  ------------------
> 
> -To compile a PMD for a platform, run make with appropriate target as shown
> below.
> -Use "make" command in Linux and "gmake" in FreeBSD. This will also build
> testpmd.
> +To compile a PMD for a platform, build DPDK as described in the
> +"Getting Started Guide" for your platform.
> +This will also build testpmd.
> 
> -To check available targets:
> -
> -.. code-block:: console
> -
> -   cd <DPDK-source-directory>
> -   make showconfigs
> -
> -Example output:
> -
> -.. code-block:: console
> -
> -   arm-armv7a-linux-gcc
> -   arm64-armv8a-linux-gcc
> -   arm64-dpaa-linux-gcc
> -   arm64-thunderx-linux-gcc
> -   arm64-xgene1-linux-gcc
> -   i686-native-linux-gcc
> -   i686-native-linux-icc
> -   ppc_64-power8-linux-gcc
> -   x86_64-native-freebsd-clang
> -   x86_64-native-freebsd-gcc
> -   x86_64-native-linux-clang
> -   x86_64-native-linux-gcc
> -   x86_64-native-linux-icc
> -   x86_x32-native-linux-gcc
> -
> -To compile a PMD for Linux x86_64 gcc target, run the following "make"
> command:
> -
> -.. code-block:: console
> -
> -   make install T=x86_64-native-linux-gcc
> -
> -Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective platform.
> -
> -For more information, refer to the :ref:`Getting Started Guide for Linux
> <linux_gsg>` -or :ref:`Getting Started Guide for FreeBSD <freebsd_gsg>`
> depending on your platform.
> +Detailed instructions are available
> +in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
> 
>  Running testpmd in Linux
>  ------------------------
> diff --git a/doc/guides/testpmd_app_ug/build_app.rst
> b/doc/guides/testpmd_app_ug/build_app.rst
> index d1ca9f3d19..4d08db75b5 100644
> --- a/doc/guides/testpmd_app_ug/build_app.rst
> +++ b/doc/guides/testpmd_app_ug/build_app.rst
> @@ -6,29 +6,3 @@ Compiling the Application
> 
>  The ``testpmd`` application is compiled as part of the main compilation of the
> DPDK libraries and tools.
>  Refer to the DPDK Getting Started Guides for details.
> -The basic compilation steps are:
> -
> -#.  Set the required environmental variables and go to the source directory:
> -
> -    .. code-block:: console
> -
> -        export RTE_SDK=/path/to/rte_sdk
> -        cd $RTE_SDK
> -
> -#.  Set the compilation target. For example:
> -
> -    .. code-block:: console
> -
> -        export RTE_TARGET=x86_64-native-linux-gcc
> -
> -#.  Build the application:
> -
> -    .. code-block:: console
> -
> -        make install T=$RTE_TARGET
> -
> -    The compiled application will be located at:
> -
> -    .. code-block:: console
> -
> -        $RTE_SDK/$RTE_TARGET/app/testpmd
> --
> 2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded
  2020-06-18  2:02   ` Chautru, Nicolas
@ 2020-06-18  8:06     ` Thomas Monjalon
  0 siblings, 0 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-18  8:06 UTC (permalink / raw)
  To: Chautru, Nicolas
  Cc: dev, david.marchand, Richardson, Bruce, Mcnamara, John,
	Kovacevic, Marko, Jay Zhou, Ajit Khaparde, Somnath Kotur, Lu,
	Wenzhuo, Xing, Beilei, Iremonger, Bernard

18/06/2020 04:02, Chautru, Nicolas:
> From: Thomas Monjalon
> > The build should be described only in few places, in order to maintain up-to-
> > date, accurate and detailed instructions.
> > This change is removing some of the unneeded repetitions.
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> >  doc/guides/bbdevs/fpga_5gnr_fec.rst           |  7 +--
> >  doc/guides/bbdevs/fpga_lte_fec.rst            |  7 +--
> 
> Ok in principle to remove from these BBDEV drivers doc. 
> Should we include link to actual new build steps instead to help with transition? <../prog_guide/build-sdk-meson>

There are also some guides per platform.
I think it is not needed to add all the links
for general build inside a driver doc.

> Also I see a typo in same paragraph "instuctions" instead of "instructions" in case you can fix in same commit.

I will check




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
@ 2020-06-18  9:46   ` Bruce Richardson
  0 siblings, 0 replies; 21+ messages in thread
From: Bruce Richardson @ 2020-06-18  9:46 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, david.marchand, John McNamara, Marko Kovacevic

On Thu, Jun 18, 2020 at 02:42:15AM +0200, Thomas Monjalon wrote:
> There was a doc about how to extend DPDK by adding a library.
> It could have been useful but was never updated,
> so it is lacking a lot of explanations about doxygen,
> meson, versioning, maintainership, etc.
> 
> Anyway such guidelines should fit in the contributors guide.
> Better to completely remove this obsolete document.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  doc/guides/prog_guide/extend_dpdk.rst | 109 --------------------------
>  1 file changed, 109 deletions(-)
>  delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst
> 
Missing a change to remove the file reference from index.rst

With that fixed:
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
                     ` (2 preceding siblings ...)
  2020-06-18  2:16   ` Zhoujian (jay)
@ 2020-06-18  9:48   ` Bruce Richardson
  3 siblings, 0 replies; 21+ messages in thread
From: Bruce Richardson @ 2020-06-18  9:48 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, david.marchand, Nicolas Chautru, John McNamara,
	Marko Kovacevic, Jay Zhou, Ajit Khaparde, Somnath Kotur,
	Wenzhuo Lu, Beilei Xing, Bernard Iremonger

On Thu, Jun 18, 2020 at 02:42:16AM +0200, Thomas Monjalon wrote:
> The build should be described only in few places,
> in order to maintain up-to-date, accurate and detailed instructions.
> This change is removing some of the unneeded repetitions.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---

Good cleanup.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 4/4] mk: add a paused deprecation warning before each build
  2020-06-18  0:42 ` [dpdk-dev] [PATCH 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
@ 2020-06-18 10:04   ` Bruce Richardson
  0 siblings, 0 replies; 21+ messages in thread
From: Bruce Richardson @ 2020-06-18 10:04 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, david.marchand

On Thu, Jun 18, 2020 at 02:42:18AM +0200, Thomas Monjalon wrote:
> DPDK 20.05 had some deprecation notes after "make config"
> and after the build.
> For DPDK 20.08, the config note is replaced with a warning
> before the config and before the build.
> After the warning, there is a pause which can be skipped
> with the variable MAKE_PAUSE.
> 
> This deprecation process was discussed in the Technical Board:
> http://mails.dpdk.org/archives/dev/2020-April/162839.html
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation
  2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
                   ` (4 preceding siblings ...)
  2020-06-18  1:36 ` [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Stephen Hemminger
@ 2020-06-25 21:43 ` " Thomas Monjalon
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
                     ` (4 more replies)
  5 siblings, 5 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-25 21:43 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson

Some "make" usages are cleaned up in the documentation,
and an inevitable deprecation warning is printed when using "make".


*********************************************
NOTE: Lots of docs must be converted to meson
build, configuration and installation layout,
as soon as possible. Please HELP!

A trick to find some affected docs:
                  git grep -- -linux- doc
*********************************************


It should be the final step before complete removal
of the "make" build system in DPDK 20.11.


Thomas Monjalon (4):
  doc: remove outdated guidelines for library addition
  doc: remove build instructions where unneeded
  doc: update build instructions in the Linux guide
  mk: add a paused deprecation warning before each build

 doc/guides/bbdevs/fpga_5gnr_fec.rst           |   9 +-
 doc/guides/bbdevs/fpga_lte_fec.rst            |   9 +-
 doc/guides/cryptodevs/virtio.rst              |   9 +-
 .../virtio_user_for_container_networking.rst  |   6 -
 doc/guides/linux_gsg/build_dpdk.rst           |  66 +++--------
 .../linux_gsg/nic_perf_intel_platform.rst     |   8 +-
 doc/guides/nics/bnxt.rst                      |  30 +----
 doc/guides/nics/build_and_test.rst            |  43 +------
 doc/guides/prog_guide/extend_dpdk.rst         | 109 ------------------
 doc/guides/prog_guide/index.rst               |   1 -
 doc/guides/testpmd_app_ug/build_app.rst       |  26 -----
 mk/rte.sdkconfig.mk                           |   5 -
 mk/rte.sdkroot.mk                             |  16 +++
 13 files changed, 51 insertions(+), 286 deletions(-)
 delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst

-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH v2 1/4] doc: remove outdated guidelines for library addition
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
@ 2020-06-25 21:43   ` Thomas Monjalon
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 2/4] doc: remove build instructions where unneeded Thomas Monjalon
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-25 21:43 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson, John McNamara, Marko Kovacevic

There was a doc about how to extend DPDK by adding a library.
It could have been useful but was never updated,
so it is lacking a lot of explanations about doxygen,
meson, versioning, maintainership, etc.

Anyway such guidelines should fit in the contributors guide.
Better to completely remove this obsolete document.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2: update index
---
 doc/guides/prog_guide/extend_dpdk.rst | 109 --------------------------
 doc/guides/prog_guide/index.rst       |   1 -
 2 files changed, 110 deletions(-)
 delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst

diff --git a/doc/guides/prog_guide/extend_dpdk.rst b/doc/guides/prog_guide/extend_dpdk.rst
deleted file mode 100644
index a3b3d300b0..0000000000
--- a/doc/guides/prog_guide/extend_dpdk.rst
+++ /dev/null
@@ -1,109 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation.
-
-Extending the DPDK
-=========================
-
-This chapter describes how a developer can extend the DPDK to provide a new library,
-a new target, or support a new target.
-
-Example: Adding a New Library libfoo
-------------------------------------
-
-To add a new library to the DPDK, proceed as follows:
-
-#. Add a new configuration option:
-
-   .. code-block:: bash
-
-        for f in config/\*; do \
-            echo CONFIG_RTE_LIBFOO=y >> $f; done
-
-#. Create a new directory with sources:
-
-   .. code-block:: console
-
-        mkdir ${RTE_SDK}/lib/libfoo
-        touch ${RTE_SDK}/lib/libfoo/foo.c
-        touch ${RTE_SDK}/lib/libfoo/foo.h
-
-#. Add a foo() function in libfoo.
-
-    Definition is in foo.c:
-
-    .. code-block:: c
-
-        void foo(void)
-        {
-        }
-
-    Declaration is in foo.h:
-
-    .. code-block:: c
-
-        extern void foo(void);
-
-
-#. Update lib/Makefile:
-
-    .. code-block:: console
-
-        vi ${RTE_SDK}/lib/Makefile
-        # add:
-        # DIRS-$(CONFIG_RTE_LIBFOO) += libfoo
-
-#. Create a new Makefile for this library, for example, derived from mempool Makefile:
-
-    .. code-block:: console
-
-        cp ${RTE_SDK}/lib/librte_mempool/Makefile ${RTE_SDK}/lib/libfoo/
-
-        vi ${RTE_SDK}/lib/libfoo/Makefile
-        # replace:
-        # librte_mempool -> libfoo
-        # rte_mempool -> foo
-
-
-#. Update mk/DPDK.app.mk, and add -lfoo in LDLIBS variable when the option is enabled.
-   This will automatically add this flag when linking a DPDK application.
-
-
-#. Build the DPDK with the new library (we only show a specific target here):
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config T=x86_64-native-linux-gcc
-        make
-
-
-#. Check that the library is installed:
-
-    .. code-block:: console
-
-        ls build/lib
-        ls build/include
-
-Example: Using libfoo in the Test Application
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The test application is used to validate all functionality of the DPDK.
-Once you have added a library, a new test case should be added in the test application.
-
-*   A new test_foo.c file should be added, that includes foo.h and calls the foo() function from test_foo().
-    When the test passes, the test_foo() function should return 0.
-
-*   Makefile, test.h and commands.c must be updated also, to handle the new test case.
-
-*   Test report generation: autotest.py is a script that is used to generate the test report that is available in the
-    ${RTE_SDK}/doc/rst/test_report/autotests directory. This script must be updated also.
-    If libfoo is in a new test family, the links in ${RTE_SDK}/doc/rst/test_report/test_report.rst must be updated.
-
-*   Build the DPDK with the updated test application (we only show a specific target here):
-
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config T=x86_64-native-linux-gcc
-        make
diff --git a/doc/guides/prog_guide/index.rst b/doc/guides/prog_guide/index.rst
index 6f63f300af..8838ffb9ae 100644
--- a/doc/guides/prog_guide/index.rst
+++ b/doc/guides/prog_guide/index.rst
@@ -65,7 +65,6 @@ Programmer's Guide
     dev_kit_root_make_help
     build-sdk-meson
     meson_ut
-    extend_dpdk
     build_app
     ext_app_lib_make_help
     perf_opt_guidelines
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH v2 2/4] doc: remove build instructions where unneeded
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
@ 2020-06-25 21:43   ` Thomas Monjalon
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-25 21:43 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, bruce.richardson, Ajit Khaparde, Jay Zhou,
	Nicolas Chautru, John McNamara, Marko Kovacevic, Somnath Kotur,
	Wenzhuo Lu, Beilei Xing, Bernard Iremonger

The build should be described only in few places,
in order to maintain up-to-date, accurate and detailed instructions.
This change is removing some of the unneeded repetitions.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Jay Zhou <jianjay.zhou@huawei.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2: fix unrelated (but close) typo in bbdev guides
---
 doc/guides/bbdevs/fpga_5gnr_fec.rst           |  9 +---
 doc/guides/bbdevs/fpga_lte_fec.rst            |  9 +---
 doc/guides/cryptodevs/virtio.rst              |  9 +---
 .../virtio_user_for_container_networking.rst  |  6 ---
 .../linux_gsg/nic_perf_intel_platform.rst     |  8 +---
 doc/guides/nics/bnxt.rst                      | 30 +++----------
 doc/guides/nics/build_and_test.rst            | 43 +++----------------
 doc/guides/testpmd_app_ug/build_app.rst       | 26 -----------
 8 files changed, 17 insertions(+), 123 deletions(-)

diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst
index 19bba3661f..6760391e8c 100644
--- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
+++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
@@ -51,15 +51,10 @@ FPGA 5GNR FEC does not support the following:
 Installation
 ------------
 
-Section 3 of the DPDK manual provides instuctions on installing and compiling DPDK. The
+Section 3 of the DPDK manual provides instructions on installing and compiling DPDK. The
 default set of bbdev compile flags may be found in config/common_base, where for example
 the flag to build the FPGA 5GNR FEC device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC``,
-is already set. It is assumed DPDK has been compiled using for instance:
-
-.. code-block:: console
-
-  make install T=x86_64-native-linuxapp-gcc
-
+is already set.
 
 DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
 The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index 206b6f4f9b..fdc8a76981 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -50,15 +50,10 @@ FPGA LTE FEC does not support the following:
 Installation
 --------------
 
-Section 3 of the DPDK manual provides instuctions on installing and compiling DPDK. The
+Section 3 of the DPDK manual provides instructions on installing and compiling DPDK. The
 default set of bbdev compile flags may be found in config/common_base, where for example
 the flag to build the FPGA LTE FEC device, ``CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC``, is already
-set. It is assumed DPDK has been compiled using for instance:
-
-.. code-block:: console
-
-  make install T=x86_64-native-linuxapp-gcc
-
+set.
 
 DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
 The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
diff --git a/doc/guides/cryptodevs/virtio.rst b/doc/guides/cryptodevs/virtio.rst
index 1496ec9208..2c46bda866 100644
--- a/doc/guides/cryptodevs/virtio.rst
+++ b/doc/guides/cryptodevs/virtio.rst
@@ -73,14 +73,7 @@ number of the virtio-crypto device:
     echo -n 0000:00:04.0 > /sys/bus/pci/drivers/virtio-pci/unbind
     echo "1af4 1054" > /sys/bus/pci/drivers/uio_pci_generic/new_id
 
-Finally the front-end virtio crypto PMD driver can be installed:
-
-.. code-block:: console
-
-    cd to the top-level DPDK directory
-    sed -i 's,\(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO\)=n,\1=y,' config/common_base
-    make config T=x86_64-native-linux-gcc
-    make install T=x86_64-native-linux-gcc
+Finally the front-end virtio crypto PMD driver can be installed.
 
 Tests
 -----
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
index f31d918bcd..412b29664b 100644
--- a/doc/guides/howto/virtio_user_for_container_networking.rst
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -56,12 +56,6 @@ Sample Usage
 Here we use Docker as container engine. It also applies to LXC, Rocket with
 some minor changes.
 
-#. Compile DPDK.
-
-    .. code-block:: console
-
-        make install RTE_SDK=`pwd` T=x86_64-native-linux-gcc
-
 #. Write a Dockerfile like below.
 
     .. code-block:: console
diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
index 1dabbce244..08be5d58b9 100644
--- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
+++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
@@ -124,17 +124,11 @@ The following are some recommendations on GRUB boot settings:
 Configurations before running DPDK
 ----------------------------------
 
-1. Build the DPDK target and reserve huge pages.
+1. Reserve huge pages.
    See the earlier section on :ref:`linux_gsg_hugepages` for more details.
 
-   The following shell commands may help with building and configuration:
-
    .. code-block:: console
 
-      # Build DPDK target.
-      cd dpdk_folder
-      make install T=x86_64-native-linux-gcc -j
-
       # Get the hugepage size.
       awk '/Hugepagesize/ {print $2}' /proc/meminfo
 
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index ed650187e0..a53cdad21d 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -56,33 +56,15 @@ The BNXT PMD supports operating with:
 * Linux igb_uio
 * BSD nic_uio
 
-Compiling BNXT PMD
-------------------
-
-To compile the BNXT PMD:
-
-.. code-block:: console
-
-    make config T=x86_64-native-linux-gcc && make // for x86-64
-    make config T=x86_32-native-linux-gcc && make // for x86-32
-    make config T=armv8a-linux-gcc && make // for ARMv8
-
-Bind the device to one of the kernel modules listed above
-
-.. code-block:: console
-
-    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic bus_id:device_id.function_id
-
-Load an application (e.g. testpmd) with a default configuration (e.g. a single
-TX /RX queue):
-
-.. code-block:: console
-
-    ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2
-
 Running BNXT PMD
 ----------------
 
+Bind the device to one of the kernel modules listed above
+
+.. code-block:: console
+
+    ./dpdk-devbind.py -b vfio-pci|igb_uio|uio_pci_generic bus_id:device_id.function_id
+
 The BNXT PMD can run on PF or VF.
 
 PCI-SIG Single Root I/O Virtualization (SR-IOV) involves the direct assignment
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index f99e019ff3..3138c0f880 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -19,45 +19,12 @@ information on how to build and run testpmd.
 Driver Compilation
 ------------------
 
-To compile a PMD for a platform, run make with appropriate target as shown below.
-Use "make" command in Linux and "gmake" in FreeBSD. This will also build testpmd.
+To compile a PMD for a platform, build DPDK
+as described in the "Getting Started Guide" for your platform.
+This will also build testpmd.
 
-To check available targets:
-
-.. code-block:: console
-
-   cd <DPDK-source-directory>
-   make showconfigs
-
-Example output:
-
-.. code-block:: console
-
-   arm-armv7a-linux-gcc
-   arm64-armv8a-linux-gcc
-   arm64-dpaa-linux-gcc
-   arm64-thunderx-linux-gcc
-   arm64-xgene1-linux-gcc
-   i686-native-linux-gcc
-   i686-native-linux-icc
-   ppc_64-power8-linux-gcc
-   x86_64-native-freebsd-clang
-   x86_64-native-freebsd-gcc
-   x86_64-native-linux-clang
-   x86_64-native-linux-gcc
-   x86_64-native-linux-icc
-   x86_x32-native-linux-gcc
-
-To compile a PMD for Linux x86_64 gcc target, run the following "make" command:
-
-.. code-block:: console
-
-   make install T=x86_64-native-linux-gcc
-
-Use ARM (ThunderX, DPAA, X-Gene) or PowerPC target for respective platform.
-
-For more information, refer to the :ref:`Getting Started Guide for Linux <linux_gsg>`
-or :ref:`Getting Started Guide for FreeBSD <freebsd_gsg>` depending on your platform.
+Detailed instructions are available
+in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
 
 Running testpmd in Linux
 ------------------------
diff --git a/doc/guides/testpmd_app_ug/build_app.rst b/doc/guides/testpmd_app_ug/build_app.rst
index d1ca9f3d19..4d08db75b5 100644
--- a/doc/guides/testpmd_app_ug/build_app.rst
+++ b/doc/guides/testpmd_app_ug/build_app.rst
@@ -6,29 +6,3 @@ Compiling the Application
 
 The ``testpmd`` application is compiled as part of the main compilation of the DPDK libraries and tools.
 Refer to the DPDK Getting Started Guides for details.
-The basic compilation steps are:
-
-#.  Set the required environmental variables and go to the source directory:
-
-    .. code-block:: console
-
-        export RTE_SDK=/path/to/rte_sdk
-        cd $RTE_SDK
-
-#.  Set the compilation target. For example:
-
-    .. code-block:: console
-
-        export RTE_TARGET=x86_64-native-linux-gcc
-
-#.  Build the application:
-
-    .. code-block:: console
-
-        make install T=$RTE_TARGET
-
-    The compiled application will be located at:
-
-    .. code-block:: console
-
-        $RTE_SDK/$RTE_TARGET/app/testpmd
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH v2 3/4] doc: update build instructions in the Linux guide
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 2/4] doc: remove build instructions where unneeded Thomas Monjalon
@ 2020-06-25 21:43   ` Thomas Monjalon
  2020-06-26 17:11     ` Bruce Richardson
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
  2020-06-29 14:15   ` [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation David Marchand
  4 siblings, 1 reply; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-25 21:43 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, bruce.richardson, stable, John McNamara, Marko Kovacevic

Before removing the "make" build system completely,
the Linux guide instructions are made more concise and accurate.
Some detailed explanations are also available in
doc/guides/prog_guide/dev_kit_root_make_help.rst

This is the swan song for makefile system,
in order to have accurate information backported in LTS.

Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/linux_gsg/build_dpdk.rst | 66 ++++++++---------------------
 1 file changed, 18 insertions(+), 48 deletions(-)

diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 4aeb4697d9..c536e354ef 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -167,60 +167,32 @@ Installation of DPDK Target Environment using Make
    is therefore recommended that DPDK installation is done using meson and
    ninja as described above.
 
-The format of a DPDK target is::
+Get a native target environment automatically::
 
-    ARCH-MACHINE-EXECENV-TOOLCHAIN
-
-where:
-
-* ``ARCH`` can be:  ``i686``, ``x86_64``, ``ppc_64``, ``arm64``
-
-* ``MACHINE`` can be:  ``native``, ``power8``, ``armv8a``
-
-* ``EXECENV`` can be:  ``linux``,  ``freebsd``
-
-* ``TOOLCHAIN`` can be:  ``gcc``,  ``icc``
-
-The targets to be installed depend on the 32-bit and/or 64-bit packages and compilers installed on the host.
-Available targets can be found in the DPDK/config directory.
-The defconfig\_ prefix should not be used.
+   make defconfig O=mybuild
 
 .. note::
 
-    Configuration files are provided with the ``RTE_MACHINE`` optimization level set.
     Within the configuration files, the ``RTE_MACHINE`` configuration value is set to native,
     which means that the compiled software is tuned for the platform on which it is built.
-    For more information on this setting, and its possible values, see the *DPDK Programmers Guide*.
 
-When using the Intel® C++ Compiler (icc), one of the following commands should be invoked for 64-bit or 32-bit use respectively.
-Notice that the shell scripts update the ``$PATH`` variable and therefore should not be performed in the same session.
-Also, verify the compiler's installation directory since the path may be different:
+Or get a specific target environment::
 
-.. code-block:: console
+   make config T=x86_64-native-linux-gcc O=mybuild
 
-    source /opt/intel/bin/iccvars.sh intel64
-    source /opt/intel/bin/iccvars.sh ia32
+The format of a DPDK target is "ARCH-MACHINE-EXECENV-TOOLCHAIN".
+Available targets can be found with::
 
-To install and make targets, use the ``make install T=<target>`` command in the top-level DPDK directory.
+   make help
 
-For example, to compile a 64-bit target using icc, run:
+Customize the target configuration in the generated ``.config`` file.
+Example for enabling the pcap PMD::
 
-.. code-block:: console
+   sed -ri 's,(PMD_PCAP=).*,\1y,' mybuild/.config
 
-    make install T=x86_64-native-linux-icc
+Compile the target::
 
-To compile a 32-bit build using gcc, the make command should be:
-
-.. code-block:: console
-
-    make install T=i686-native-linux-gcc
-
-To prepare a target without building it, for example, if the configuration changes need to be made before compilation,
-use the ``make config T=<target>`` command:
-
-.. code-block:: console
-
-    make config T=x86_64-native-linux-gcc
+   make -j4 O=mybuild
 
 .. warning::
 
@@ -229,15 +201,13 @@ use the ``make config T=<target>`` command:
     If the DPDK is not being built on the target machine,
     the ``RTE_KERNELDIR`` environment variable should be used to point the compilation at a copy of the kernel version to be used on the target machine.
 
-Once the target environment is created, the user may move to the target environment directory and continue to make code changes and re-compile.
-The user may also make modifications to the compile-time DPDK configuration by editing the .config file in the build directory.
-(This is a build-local copy of the defconfig file from the top- level config directory).
+Install the target in a separate directory::
 
-.. code-block:: console
+   make install O=mybuild DESTDIR=myinstall prefix=
 
-    cd x86_64-native-linux-gcc
-    vi .config
-    make
+The environment is ready to build a DPDK application::
+
+   RTE_SDK=$(pwd)/myinstall/share/dpdk RTE_TARGET=x86_64-native-linux-gcc make -C myapp
 
 In addition, the make clean command can be used to remove any existing compiled files for a subsequent full, clean rebuild of the code.
 
@@ -245,5 +215,5 @@ Browsing the Installed DPDK Environment Target
 ----------------------------------------------
 
 Once a target is created it contains all libraries, including poll-mode drivers, and header files for the DPDK environment that are required to build customer applications.
-In addition, the test and testpmd applications are built under the build/app directory, which may be used for testing.
+In addition, the test applications are built under the app directory, which may be used for testing.
 A kmod  directory is also present that contains kernel modules which may be loaded if needed.
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH v2 4/4] mk: add a paused deprecation warning before each build
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
                     ` (2 preceding siblings ...)
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
@ 2020-06-25 21:43   ` Thomas Monjalon
  2020-06-29 14:15   ` [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation David Marchand
  4 siblings, 0 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-25 21:43 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson

DPDK 20.05 had some deprecation notes after "make config"
and after the build.
For DPDK 20.08, the config note is replaced with a warning
before the config and before the build.
After the warning, there is a pause which can be skipped
with the variable MAKE_PAUSE.

This deprecation process was discussed in the Technical Board:
http://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 mk/rte.sdkconfig.mk |  5 -----
 mk/rte.sdkroot.mk   | 16 ++++++++++++++++
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 2ea85e4643..f538649f22 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -62,11 +62,6 @@ else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
 	@echo "Configuration done using" \
 		$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))
-	@echo "==== NOTE ===="
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "=============="
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 4043a9d4e8..d3b9cdd048 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -60,7 +60,22 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default test-build
 default test-build: all
 
+.PHONY: warning
+warning:
+	@echo
+	@echo "=========================== WARNING ============================"
+	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
+	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html"
+	@echo "Building DPDK with 'make' will be deprecated in a future release"
+	@echo "================================================================"
+	@echo
+	@test "$(MAKE_PAUSE)" = n || ( \
+	echo "This deprecation warning can be passed by adding MAKE_PAUSE=n"; \
+	echo "to 'make' command line or as an exported environment variable."; \
+	echo "Press enter to continue..."; read)
+
 .PHONY: config defconfig showconfigs showversion showversionum
+config: warning
 config defconfig showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
@@ -96,4 +111,5 @@ examples examples_clean:
 # all other build targets
 %:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
+	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkroot.mk warning
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@
-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH v2 3/4] doc: update build instructions in the Linux guide
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
@ 2020-06-26 17:11     ` Bruce Richardson
  0 siblings, 0 replies; 21+ messages in thread
From: Bruce Richardson @ 2020-06-26 17:11 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, david.marchand, stable, John McNamara, Marko Kovacevic

On Thu, Jun 25, 2020 at 11:43:37PM +0200, Thomas Monjalon wrote:
> Before removing the "make" build system completely,
> the Linux guide instructions are made more concise and accurate.
> Some detailed explanations are also available in
> doc/guides/prog_guide/dev_kit_root_make_help.rst
> 
> This is the swan song for makefile system,
> in order to have accurate information backported in LTS.
> 
> Cc: stable@dpdk.org
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  doc/guides/linux_gsg/build_dpdk.rst | 66 ++++++++---------------------
>  1 file changed, 18 insertions(+), 48 deletions(-)
> 
These doc patches are hard to review without applying them an rebuilding
the docs, but I finally got round to doing so with this! 

Acked-by: Bruce Richardson <bruce.richardson@intel.com>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation
  2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
                     ` (3 preceding siblings ...)
  2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
@ 2020-06-29 14:15   ` David Marchand
  2020-06-29 14:26     ` Thomas Monjalon
  4 siblings, 1 reply; 21+ messages in thread
From: David Marchand @ 2020-06-29 14:15 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Bruce Richardson

On Thu, Jun 25, 2020 at 11:43 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> Some "make" usages are cleaned up in the documentation,
> and an inevitable deprecation warning is printed when using "make".
>
>
> *********************************************
> NOTE: Lots of docs must be converted to meson
> build, configuration and installation layout,
> as soon as possible. Please HELP!
>
> A trick to find some affected docs:
>                   git grep -- -linux- doc
> *********************************************
>
>
> It should be the final step before complete removal
> of the "make" build system in DPDK 20.11.
>
>
> Thomas Monjalon (4):
>   doc: remove outdated guidelines for library addition
>   doc: remove build instructions where unneeded
>   doc: update build instructions in the Linux guide
>   mk: add a paused deprecation warning before each build
>
>  doc/guides/bbdevs/fpga_5gnr_fec.rst           |   9 +-
>  doc/guides/bbdevs/fpga_lte_fec.rst            |   9 +-
>  doc/guides/cryptodevs/virtio.rst              |   9 +-
>  .../virtio_user_for_container_networking.rst  |   6 -

Lucky guys who got their doc updated, are you expecting a beer from them?


>  doc/guides/linux_gsg/build_dpdk.rst           |  66 +++--------
>  .../linux_gsg/nic_perf_intel_platform.rst     |   8 +-
>  doc/guides/nics/bnxt.rst                      |  30 +----
>  doc/guides/nics/build_and_test.rst            |  43 +------
>  doc/guides/prog_guide/extend_dpdk.rst         | 109 ------------------
>  doc/guides/prog_guide/index.rst               |   1 -
>  doc/guides/testpmd_app_ug/build_app.rst       |  26 -----
>  mk/rte.sdkconfig.mk                           |   5 -
>  mk/rte.sdkroot.mk                             |  16 +++
>  13 files changed, 51 insertions(+), 286 deletions(-)
>  delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst

I noticed a warning from FreeBSD shell/read command, could you have a look?
The read command expects a variable name where to store input.

Apart from that, for the series,
Acked-by: David Marchand <david.marchand@redhat.com>


-- 
David Marchand


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation
  2020-06-29 14:15   ` [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation David Marchand
@ 2020-06-29 14:26     ` Thomas Monjalon
  0 siblings, 0 replies; 21+ messages in thread
From: Thomas Monjalon @ 2020-06-29 14:26 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, Bruce Richardson

29/06/2020 16:15, David Marchand:
> On Thu, Jun 25, 2020 at 11:43 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > Some "make" usages are cleaned up in the documentation,
> > and an inevitable deprecation warning is printed when using "make".
> >
> >
> > *********************************************
> > NOTE: Lots of docs must be converted to meson
> > build, configuration and installation layout,
> > as soon as possible. Please HELP!
> >
> > A trick to find some affected docs:
> >                   git grep -- -linux- doc
> > *********************************************
> >
> >
> > It should be the final step before complete removal
> > of the "make" build system in DPDK 20.11.
> >
> >
> > Thomas Monjalon (4):
> >   doc: remove outdated guidelines for library addition
> >   doc: remove build instructions where unneeded
> >   doc: update build instructions in the Linux guide
> >   mk: add a paused deprecation warning before each build
> >
> >  doc/guides/bbdevs/fpga_5gnr_fec.rst           |   9 +-
> >  doc/guides/bbdevs/fpga_lte_fec.rst            |   9 +-
> >  doc/guides/cryptodevs/virtio.rst              |   9 +-
> >  .../virtio_user_for_container_networking.rst  |   6 -
> 
> Lucky guys who got their doc updated, are you expecting a beer from them?

I hope so :)

> >  doc/guides/linux_gsg/build_dpdk.rst           |  66 +++--------
> >  .../linux_gsg/nic_perf_intel_platform.rst     |   8 +-
> >  doc/guides/nics/bnxt.rst                      |  30 +----
> >  doc/guides/nics/build_and_test.rst            |  43 +------
> >  doc/guides/prog_guide/extend_dpdk.rst         | 109 ------------------
> >  doc/guides/prog_guide/index.rst               |   1 -
> >  doc/guides/testpmd_app_ug/build_app.rst       |  26 -----
> >  mk/rte.sdkconfig.mk                           |   5 -
> >  mk/rte.sdkroot.mk                             |  16 +++
> >  13 files changed, 51 insertions(+), 286 deletions(-)
> >  delete mode 100644 doc/guides/prog_guide/extend_dpdk.rst
> 
> I noticed a warning from FreeBSD shell/read command, could you have a look?
> The read command expects a variable name where to store input.

Yes, good catch.
"read" must take a variable like "make junk".
I will fix while merging.

> Apart from that, for the series,
> Acked-by: David Marchand <david.marchand@redhat.com>

Thanks, applied.



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, back to index

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-18  0:42 [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Thomas Monjalon
2020-06-18  0:42 ` [dpdk-dev] [PATCH 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
2020-06-18  9:46   ` Bruce Richardson
2020-06-18  0:42 ` [dpdk-dev] [PATCH 2/4] doc: remove build instructions where unneeded Thomas Monjalon
2020-06-18  1:10   ` Ajit Khaparde
2020-06-18  2:02   ` Chautru, Nicolas
2020-06-18  8:06     ` Thomas Monjalon
2020-06-18  2:16   ` Zhoujian (jay)
2020-06-18  9:48   ` Bruce Richardson
2020-06-18  0:42 ` [dpdk-dev] [PATCH 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
2020-06-18  0:42 ` [dpdk-dev] [PATCH 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
2020-06-18 10:04   ` Bruce Richardson
2020-06-18  1:36 ` [dpdk-dev] [PATCH 0/4] one more step in makefiles deprecation Stephen Hemminger
2020-06-25 21:43 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 1/4] doc: remove outdated guidelines for library addition Thomas Monjalon
2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 2/4] doc: remove build instructions where unneeded Thomas Monjalon
2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 3/4] doc: update build instructions in the Linux guide Thomas Monjalon
2020-06-26 17:11     ` Bruce Richardson
2020-06-25 21:43   ` [dpdk-dev] [PATCH v2 4/4] mk: add a paused deprecation warning before each build Thomas Monjalon
2020-06-29 14:15   ` [dpdk-dev] [PATCH v2 0/4] one more step in makefiles deprecation David Marchand
2020-06-29 14:26     ` Thomas Monjalon

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox