Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/66066/?format=api
http://patches.dpdk.org/api/patches/66066/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200227042537.187459-7-dmitry.kozliuk@gmail.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": "<20200227042537.187459-7-dmitry.kozliuk@gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200227042537.187459-7-dmitry.kozliuk@gmail.com", "date": "2020-02-27T04:25:36", "name": "[v4,6/7] doc: guide for Windows build using MinGW-w64", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "f9f59858696bd46ca56f8cafacd94d624a80b9a5", "submitter": { "id": 1581, "url": "http://patches.dpdk.org/api/people/1581/?format=api", "name": "Dmitry Kozlyuk", "email": "dmitry.kozliuk@gmail.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200227042537.187459-7-dmitry.kozliuk@gmail.com/mbox/", "series": [ { "id": 8703, "url": "http://patches.dpdk.org/api/series/8703/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8703", "date": "2020-02-27T04:25:30", "name": "MinGW-w64 support", "version": 4, "mbox": "http://patches.dpdk.org/series/8703/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/66066/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/66066/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 E2838A055A;\n\tThu, 27 Feb 2020 05:26:38 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 2DBAE1BFF3;\n\tThu, 27 Feb 2020 05:26:01 +0100 (CET)", "from mail-lj1-f195.google.com (mail-lj1-f195.google.com\n [209.85.208.195]) by dpdk.org (Postfix) with ESMTP id CD54C1BFDD\n for <dev@dpdk.org>; Thu, 27 Feb 2020 05:25:55 +0100 (CET)", "by mail-lj1-f195.google.com with SMTP id x7so1759655ljc.1\n for <dev@dpdk.org>; Wed, 26 Feb 2020 20:25:55 -0800 (PST)", "from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru.\n [37.110.65.23])\n by smtp.googlemail.com with ESMTPSA id g21sm2224350ljj.53.2020.02.26.20.25.53\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 26 Feb 2020 20:25:54 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=4Nixsc32kpWJ4zJ/2CnlOTuLHD9kQffcjsEkC8b9lXs=;\n b=N0LyoqrINX8OHBiDKjF8Ruue35aY0A+3tN3yrRpVvIJ1+f426C7lPBKwkolF9+dLdM\n oo9s6mwtDJ9c+CRwa7G45SuzSTx1hAQcUqG0JlHUje9tPNGIkobj/GgKUdvY8h/lnre/\n VCcn9YyvAa4jYdnpP2B38qL2Ja4bdTuUBDxL6yp7ok2sdYixqKd02FLVimRp1rrjhnfx\n QQJhIx2gcVr9TQijih6cBblG90eh/awAZTjegFB4lgHwm2++JnHzR8JTOeTV2Gvv2UQ0\n ODsIgaF7f1SWCO7M9weLdqU0c5nQxsA6iEv1C/BHnsU3JQmmLBhbwYFTg9uDeudRE8q+\n 9Q1g==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=4Nixsc32kpWJ4zJ/2CnlOTuLHD9kQffcjsEkC8b9lXs=;\n b=i4WpMx3Kit8Ay2aNmsBNGpinqffaK7zq5tbPwy8zOdoVNXQwQp3Lmd0GXz1QE3G9zD\n Wt+gZfJn3+lqwenLSzCK7jCqOPaqhDVQz4O7K8anyhMksYK2oSMV/uA+y6FgxAmi+ptN\n Hdy/0rBeEK9QuW//obkwU8DePDnZnQz5YiROqEiHLkeizouBqwjOaIMJ0t4NIomQMt1E\n DNFBWtOU15BTxV6dFHM4vapp3WArs7sP9vVdWtJC9ktoe6N1EMDGCJFEnTBt6Fs0c3Ct\n J879bFGj6DjsZ7nFsQPF+C2F5aOsFRkXwkEsndumc8aJp6u6FJ/tq6NWjfT9/00G85mO\n 2iQw==", "X-Gm-Message-State": "ANhLgQ3sig0F2LfM3lONkkrLkJM2GIJdbY71Bl2GPS6SsnmVYIAHYRzt\n b1uUUsVUKCG1QqGA7iDEu4l9+wh2vZQ=", "X-Google-Smtp-Source": "\n ADFU+vsLwAIgsSf3EeTV/U46wTOcRT2d/bn2WBMiK4AmUw43nzxu7T+21q7hDI1tkmpqBUMXaIZMbg==", "X-Received": "by 2002:a2e:909a:: with SMTP id l26mr1355245ljg.209.1582777554993;\n Wed, 26 Feb 2020 20:25:54 -0800 (PST)", "From": "Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>", "To": "dev@dpdk.org", "Cc": "Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,\n Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>,\n Omar Cardona <ocardona@microsoft.com>,\n Pallavi Kadam <pallavi.kadam@intel.com>,\n Ranjit Menon <ranjit.menon@intel.com>,\n John McNamara <john.mcnamara@intel.com>,\n Marko Kovacevic <marko.kovacevic@intel.com>", "Date": "Thu, 27 Feb 2020 07:25:36 +0300", "Message-Id": "<20200227042537.187459-7-dmitry.kozliuk@gmail.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20200227042537.187459-1-dmitry.kozliuk@gmail.com>", "References": "<20200218000229.86621-1-dmitry.kozliuk@gmail.com>\n <20200227042537.187459-1-dmitry.kozliuk@gmail.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v4 6/7] doc: guide for Windows build using\n\tMinGW-w64", "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": "Instructions for different toolchains presented as options on the\ncorresponging steps of the guide, so that common parts may be reused.\n\nSigned-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>\n---\n doc/guides/windows_gsg/build_dpdk.rst | 62 +++++++++++++++++++++++----\n 1 file changed, 53 insertions(+), 9 deletions(-)", "diff": "diff --git a/doc/guides/windows_gsg/build_dpdk.rst b/doc/guides/windows_gsg/build_dpdk.rst\nindex 6711e07e2..d46e84e3f 100644\n--- a/doc/guides/windows_gsg/build_dpdk.rst\n+++ b/doc/guides/windows_gsg/build_dpdk.rst\n@@ -7,15 +7,22 @@ Compiling the DPDK Target from Source\n System Requirements\n -------------------\n \n-The DPDK and its applications require the Clang-LLVM C compiler\n-and Microsoft MSVC linker.\n+Building the DPDK and its applications requires one of the following\n+environments:\n+\n+* The Clang-LLVM C compiler and Microsoft MSVC linker.\n+* The MinGW-w64 toolchain (either native or cross).\n+\n The Meson Build system is used to prepare the sources for compilation\n with the Ninja backend.\n The installation of these tools is covered in this section.\n \n \n+Option 1. Clang-LLVM C Compiler and Microsoft MSVC Linker\n+---------------------------------------------------------\n+\n Install the Compiler\n---------------------\n+~~~~~~~~~~~~~~~~~~~~\n \n Download and install the clang compiler from\n `LLVM website <http://releases.llvm.org/download.html>`_.\n@@ -25,7 +32,7 @@ For example, Clang-LLVM direct download link::\n \n \n Install the Linker\n-------------------\n+~~~~~~~~~~~~~~~~~~\n \n Download and install the Build Tools for Visual Studio to link and build the\n files on windows,\n@@ -34,6 +41,18 @@ When installing build tools, select the \"Visual C++ build tools\" option\n and ensure the Windows SDK is selected.\n \n \n+Option 2. MinGW-w64 Toolchain\n+-----------------------------\n+\n+Obtain the latest version from\n+`MinGW-w64 website <http://mingw-w64.org/doku.php/download>`_.\n+On Windows, install to a folder without spaces in its name, like ``C:\\MinGW``.\n+This path is assumed for the rest of this guide.\n+\n+Version 4.0.4 for Ubuntu 16.04 cannot be used due to a\n+`MinGW-w64 bug <https://sourceforge.net/p/mingw-w64/bugs/562/>`_.\n+\n+\n Install the Build System\n ------------------------\n \n@@ -43,6 +62,8 @@ A good option to choose is the MSI installer for both meson and ninja together::\n \n \thttp://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer%22\n \n+Recommended version is either Meson 0.47.1 (baseline) or the latest release.\n+\n Install the Backend\n -------------------\n \n@@ -56,23 +77,41 @@ Build the code\n The build environment is setup to build the EAL and the helloworld example by\n default.\n \n-Using the ninja backend\n-~~~~~~~~~~~~~~~~~~~~~~~~\n+Option 1. Native Build on Windows\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \n-Specifying the compiler might be required to complete the meson command.\n+When using Clang-LLVM, specifying the compiler might be required to complete\n+the meson command:\n \n .. code-block:: console\n \n set CC=clang\n \n+When using MinGW-w64, it is sufficient to have toolchain executables in PATH:\n+\n+.. code-block:: console\n+\n+ set PATH=C:\\MinGW\\mingw64\\bin;%PATH%\n+\n To compile the examples, the flag ``-Dexamples`` is required.\n \n .. code-block:: console\n \n cd C:\\Users\\me\\dpdk\n meson -Dexamples=helloworld build\n- cd build\n- ninja\n+ ninja -C build\n+\n+Option 2. Cross-Compile with MinGW-w64\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+The cross-file option must be specified for Meson.\n+Depending on the distribution, paths in this file may need adjustments.\n+\n+.. code-block:: console\n+\n+ meson --cross-file config/x86/meson_mingw.txt -Dexamples=helloworld build\n+ ninja -C build\n+\n \n Run the helloworld example\n ==========================\n@@ -87,3 +126,8 @@ Navigate to the examples in the build directory and run `dpdk-helloworld.exe`.\n hello from core 3\n hello from core 0\n hello from core 2\n+\n+Note for MinGW-w64: applications are linked to ``libwinpthread-1.dll``\n+by default. To run the example, either add toolchain executables directory\n+to the PATH or copy the library to the working directory.\n+Alternatively, static linking may be used (mind the LGPLv2.1 license).\n", "prefixes": [ "v4", "6/7" ] }{ "id": 66066, "url": "