Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/63246/?format=api
http://patches.dpdk.org/api/patches/63246/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191122160359.11625-3-bruce.richardson@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20191122160359.11625-3-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20191122160359.11625-3-bruce.richardson@intel.com", "date": "2019-11-22T16:03:53", "name": "[2/8] doc: add building with meson to linux GSG", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "21b0f1e6c047e39d7610ecf6896466613984dfec", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191122160359.11625-3-bruce.richardson@intel.com/mbox/", "series": [ { "id": 7590, "url": "http://patches.dpdk.org/api/series/7590/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7590", "date": "2019-11-22T16:03:53", "name": "GSG Documentation updates", "version": 1, "mbox": "http://patches.dpdk.org/series/7590/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/63246/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/63246/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7FF2FA04C3;\n\tFri, 22 Nov 2019 17:04:18 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 38AA42BAF;\n\tFri, 22 Nov 2019 17:04:17 +0100 (CET)", "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n by dpdk.org (Postfix) with ESMTP id AD9BB2BA3\n for <dev@dpdk.org>; Fri, 22 Nov 2019 17:04:15 +0100 (CET)", "from fmsmga006.fm.intel.com ([10.253.24.20])\n by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 22 Nov 2019 08:04:10 -0800", "from silpixa00399126.ir.intel.com (HELO\n silpixa00399126.ger.corp.intel.com) ([10.237.223.2])\n by fmsmga006.fm.intel.com with ESMTP; 22 Nov 2019 08:04:09 -0800" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.69,230,1571727600\"; d=\"scan'208\";a=\"408931034\"", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "john.mcnamara@intel.com", "Cc": "dev@dpdk.org,\n\tBruce Richardson <bruce.richardson@intel.com>", "Date": "Fri, 22 Nov 2019 16:03:53 +0000", "Message-Id": "<20191122160359.11625-3-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.21.0", "In-Reply-To": "<20191122160359.11625-1-bruce.richardson@intel.com>", "References": "<20191122160359.11625-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 2/8] doc: add building with meson to linux GSG", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Add instructions on building DPDK and using the pkg-config file to the\nlinux GSG.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n doc/guides/linux_gsg/build_dpdk.rst | 94 +++++++++++++++++++++++++++--\n 1 file changed, 90 insertions(+), 4 deletions(-)", "diff": "diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst\nindex 7c0329fcc..5710effbc 100644\n--- a/doc/guides/linux_gsg/build_dpdk.rst\n+++ b/doc/guides/linux_gsg/build_dpdk.rst\n@@ -11,8 +11,8 @@ Compiling the DPDK Target from Source\n Parts of this process can also be done using the setup script described in\n the :ref:`linux_setup_script` section of this document.\n \n-Install the DPDK and Browse Sources\n------------------------------------\n+Uncompress DPDK and Browse Sources\n+----------------------------------\n \n First, uncompress the archive and move to the uncompressed DPDK source directory:\n \n@@ -33,8 +33,94 @@ The DPDK is composed of several directories:\n \n * config, buildtools, mk: Framework-related makefiles, scripts and configuration\n \n-Installation of DPDK Target Environments\n-----------------------------------------\n+Compiling and Installing DPDK System-wide\n+-----------------------------------------\n+\n+DPDK can be configured, built and installed on your system using the tools\n+``meson`` and ``ninja``.\n+\n+.. note::\n+\n+ The older makefile-based build system used in older DPDK releases is\n+ still present and it's use is described in section\n+ `Installation of DPDK Target Environment using Make`_.\n+\n+DPDK Configuration\n+~~~~~~~~~~~~~~~~~~\n+\n+To configure a DPDK build use:\n+\n+.. code-block:: console\n+\n+ meson <options> build\n+\n+where \"build\" is the desired output build directory, and \"<options>\" can be\n+empty or one of a number of meson or DPDK-specific build options, described\n+later in this section. The configuration process will finish with a summary\n+of what DPDK libraries and drivers are to be built and installed, and for\n+each item disabled, a reason why that is the case. This information can be\n+used, for example, to identify any missing required packages for a driver.\n+\n+Once configured, to build and then install DPDK system-wide use:\n+\n+.. code-block:: console\n+\n+ cd build\n+ ninja\n+ ninja install\n+\n+Adjusting Build Options\n+~~~~~~~~~~~~~~~~~~~~~~~\n+\n+DPDK has a number of options that can be adjusted as part of the build configuration process.\n+These options can be listed by running ``meson configure`` inside a configured build folder.\n+Many of these options come from the \"meson\" tool itself and can be seen documented on the\n+`Meson Website <https://mesonbuild.com/Builtin-options.html>`_.\n+\n+For example, to change the build-type from the default, \"debugoptimized\",\n+to a regular \"debug\" build, you can either:\n+\n+* pass ``-Dbuildtype=debug`` or ``--buildtype=debug`` to meson when configuring the build folder initially\n+\n+* run ``meson configure -Dbuildtype=debug`` inside the build folder after the initial meson run.\n+\n+Other options are specific to the DPDK project but can be adjusted similarly.\n+To set the \"max_lcores\" value to 256, for example, you can either:\n+\n+* pass ``-Dmax_lcores=256`` to meson when configuring the build folder initially\n+\n+* run ``meson configure -Dmax_lcores=256`` inside the build folder after the initial meson run.\n+\n+Building Applications Using Installed DPDK\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+When installed system-wide, DPDK provides a pkg-config file ``libdpdk.pc`` for applications to query as part of their build.\n+It's recommended that the pkg-config file be used, rather than hard-coding the parameters (cflags/ldflags)\n+for DPDK into the application build process.\n+\n+An example of how to query and use the pkg-config file can be found in the ``Makefile`` of each of the example applications included with DPDK.\n+A simplified example snippet is shown below, where the target binary name has been stored in the variable ``$(APP)``\n+and the sources for that build are stored in ``$(SRCS-y)``.\n+\n+.. code-block:: makefile\n+\n+ PKGCONF = pkg-config\n+\n+ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk)\n+ LDFLAGS += $(shell $(PKGCONF) --libs libdpdk)\n+\n+ $(APP): $(SRCS-y) Makefile\n+ $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS)\n+\n+\n+Installation of DPDK Target Environment using Make\n+--------------------------------------------------\n+\n+.. note::\n+\n+ The building of DPDK using make will be deprecated in a future release. It\n+ is therefore recommended that DPDK installation is done using meson and\n+ ninja as described above.\n \n The format of a DPDK target is::\n \n", "prefixes": [ "2/8" ] }{ "id": 63246, "url": "