From patchwork Wed Nov 1 00:49:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Young X-Patchwork-Id: 133689 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 77BD943258; Wed, 1 Nov 2023 01:50:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C7BAC4067A; Wed, 1 Nov 2023 01:49:56 +0100 (CET) Received: from mail-vk1-f169.google.com (mail-vk1-f169.google.com [209.85.221.169]) by mails.dpdk.org (Postfix) with ESMTP id 8B8504027F for ; Wed, 1 Nov 2023 01:49:55 +0100 (CET) Received: by mail-vk1-f169.google.com with SMTP id 71dfb90a1353d-4a8d9acbd42so899047e0c.0 for ; Tue, 31 Oct 2023 17:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=youngcopy-com.20230601.gappssmtp.com; s=20230601; t=1698799794; x=1699404594; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a+zR37FssziLpEz40m8a+TYAskZuLvwNZAqjKa9UTMU=; b=Fc7lqOnpu+NsKT6m1n0KhV5u6u78ymvhIQaxx44Thhqi+QnJwLTE+g3cF0gRWE+o7/ Z87co3cNk+1qrRdg4h4LKEMUfX4yRv4u27wc/7OYcpSgB6X9KcqGJoxzgHAnHM9aMnKn gFSDZcsry5BOnNeDEtorSmyhP9bW7BVp354Sdbis4BgVQROUCUL5tgN6N+Dc5MryP1K8 FuosXjYqZVUw3Np2uwL3YSPi7B2qKZR4uFxM7E2Jj3GkBt7n/Zx5oTkiravCkN8rEH78 KTdA+T0U+bwxMpffK0/TwG/LAgfBNO/qd3QkhWWiHY733uWaKV0VWO87mtiMXxtGGP0a eREA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698799794; x=1699404594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a+zR37FssziLpEz40m8a+TYAskZuLvwNZAqjKa9UTMU=; b=OaWxL1I2ApEi809wgJe2fqcVG/97GwcTXSGh40ZziQk75JR+9m54hkwt/0srn5oTz3 7amc9Sk5071yzP2JU/OeFLhWVXyC9T7alGYL/G7NcwqStjHDaF7IIY7PdchtIRbth4GN NCrvPuD4yRrM+HHUeqbWRPLMlK7paGp64+VWt6N+xIb98HrkkziuZ4drEuqGQZJG9L6P yDsKRs9ISZadlTPWvrFGGgZiWSgUFRY/VDaQtAS84h3pMZVhBiRP9T9EkQdHJJ7zlVNG DmIIuRWb52nP6N+U59ucwg0e5T15WcnWQomtBBV9xZtWKfz8AtPS2Ho3sCMEv/LtBPTf 6dyw== X-Gm-Message-State: AOJu0YxUhoAJf0VoW/m6u2y0SYrrNz/qhzJ5HCoKqNpO0QwV84DgB8ro A94Pm4LGGmtcuVgWaODUhhxvE9jivKu2N+1Az/w= X-Google-Smtp-Source: AGHT+IEDZGD7beIlugzGn0GIZnAsQe7xDY8IBTsjx6ix+GfEYNllf2btV9T4iYkcfeqozlsF7ZO1zA== X-Received: by 2002:a67:cd02:0:b0:452:7752:7162 with SMTP id u2-20020a67cd02000000b0045277527162mr12132023vsl.1.1698799794133; Tue, 31 Oct 2023 17:49:54 -0700 (PDT) Received: from localhost.localdomain ([2600:1700:20c0:a560:ed1f:aab2:519a:50e3]) by smtp.gmail.com with ESMTPSA id c14-20020a81df0e000000b00589b653b7adsm1516144ywn.136.2023.10.31.17.49.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 17:49:53 -0700 (PDT) From: David Young To: dev@dpdk.org Cc: Bruce Richardson , Aaron Conole , David Young Subject: [PATCH 1/3] GSG Section 1: Introduction - Updated based on feedback Date: Tue, 31 Oct 2023 20:49:26 -0400 Message-ID: <20231101004932.1371-2-dave@youngcopy.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20231101004932.1371-1-dave@youngcopy.com> References: <20231101004932.1371-1-dave@youngcopy.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --- doc/guides/getting_started_guide/intro.rst | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/doc/guides/getting_started_guide/intro.rst b/doc/guides/getting_started_guide/intro.rst index 88bdd48849..538b3bacec 100644 --- a/doc/guides/getting_started_guide/intro.rst +++ b/doc/guides/getting_started_guide/intro.rst @@ -4,13 +4,10 @@ Introduction ============ -Welcome to the unified getting started guide for the Data Plane Development Kit (DPDK) covering Linux, FreeBSD, and Windows. DPDK is a set of libraries and +Welcome to the getting started guide for the Data Plane Development Kit (DPDK) covering Linux, FreeBSD, and Windows. DPDK is a set of libraries and drivers that accelerate packet processing and allow the user to create high-performance networking applications. The guide is structured to provide basic step-by-step instructions with OS-specific instructions for each operating system where necessary. By the end of this guide, you should have a solid understanding of how to implement and -use DPDK in your networking projects, regardless of the operating system you are using. - -We hope this guide serves as a valuable resource as you explore the powerful -capabilities of DPDK. \ No newline at end of file +use DPDK in your networking projects, regardless of the operating system you are using. \ No newline at end of file From patchwork Wed Nov 1 00:49:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Young X-Patchwork-Id: 133690 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D235A43258; Wed, 1 Nov 2023 01:50:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D69D340A7A; Wed, 1 Nov 2023 01:49:57 +0100 (CET) Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) by mails.dpdk.org (Postfix) with ESMTP id DE4BD40691 for ; Wed, 1 Nov 2023 01:49:56 +0100 (CET) Received: by mail-yb1-f178.google.com with SMTP id 3f1490d57ef6-d9fdc712b8fso1295721276.1 for ; Tue, 31 Oct 2023 17:49:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=youngcopy-com.20230601.gappssmtp.com; s=20230601; t=1698799795; x=1699404595; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Iq8Tzy/xxeELD24QoVg49jg2s4gCTDtLBnpYJXaBu8w=; b=IcLJmMkUSSaQhr4cK7aX21CofrZGvNsOUsgj8CqL4HBknGp98j0xPTN+h3HiqpQYZH EY1hZkLYu1V4VrN5E2oq12oGuojE2SA7RR6vPai+tXv4TD2ZoiBUEowfGgYgT+EhEhUc 87o2YdYgHyofk1L4WHhi8V9OaEaCGZrsj/I+Fu/ki57BCZM1I9bdvojIrGeALRrlhxjX El52MVa+SZtq5SNR/BNY3xPbVm5HmZ+3xzMnAs5hEKUquJNkXfqCOiKyzxeL/CzBGPcU ++LHnreOHjfVFJB+tL/D/ebG5eTyiZP7j6S8PIObTpM9dIfEClu7AUeLtzKW1wgpoAiE cttQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698799795; x=1699404595; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Iq8Tzy/xxeELD24QoVg49jg2s4gCTDtLBnpYJXaBu8w=; b=mNH7nN1fGk4kUHM1mZ9rsahdET46GWdOWI+fnqw9druKamHKU+6e1PfJ5QYzPVAhXD a6XRew5TzcDm22dQ34nGNvlWzIO2PDQe/Ug5WpKvLkBEha+VgrxQhfwvgF8IVxzjQDPy GE5rGOOZt58gFh6jimLyluHQQ8MxQEuOduQWDt6fTK68yDIoJ6qTxKgGAw3iMtkudEg8 Jzup3vUuYcGzFauw6qRqg9f2REl2m715wOWDVEgRf2W8lhKQPCuCjbmXR1wFIdfxp75l uW3Rex0RcsjxgEt0Ak1QKtf1zqunS/ojXggkpjKFahIGuoxcfct+lf/9iDurk50lCaX6 nY/A== X-Gm-Message-State: AOJu0YyUawCVAZPn/jrcFo0EHTOr9IRYXjzMCmVUE3rkg2uv97NRDpdS sdBa+P4LdYIlc2vBwmHe0aBhxgjdjItuRuwPWYM= X-Google-Smtp-Source: AGHT+IHkV8f2qOqytv66oc4PFvZHomoszm2vyLg3fDx7gBlU4oLDnzCMKyNCDtTZ/GFIlxn+mNuQ6g== X-Received: by 2002:a05:690c:2b0a:b0:5ad:4d0c:475a with SMTP id em10-20020a05690c2b0a00b005ad4d0c475amr9740255ywb.4.1698799795565; Tue, 31 Oct 2023 17:49:55 -0700 (PDT) Received: from localhost.localdomain ([2600:1700:20c0:a560:ed1f:aab2:519a:50e3]) by smtp.gmail.com with ESMTPSA id c14-20020a81df0e000000b00589b653b7adsm1516144ywn.136.2023.10.31.17.49.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 17:49:54 -0700 (PDT) From: David Young To: dev@dpdk.org Cc: Bruce Richardson , Aaron Conole , David Young Subject: [PATCH 2/3] Added link to Getting Started Guide in index.rst Date: Tue, 31 Oct 2023 20:49:27 -0400 Message-ID: <20231101004932.1371-3-dave@youngcopy.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20231101004932.1371-1-dave@youngcopy.com> References: <20231101004932.1371-1-dave@youngcopy.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --- doc/guides/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/guides/index.rst b/doc/guides/index.rst index 244b99624c..51a47d3a51 100644 --- a/doc/guides/index.rst +++ b/doc/guides/index.rst @@ -7,6 +7,7 @@ DPDK documentation .. toctree:: :maxdepth: 1 + getting_started_guide/index linux_gsg/index freebsd_gsg/index windows_gsg/index From patchwork Wed Nov 1 00:49:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dave Young X-Patchwork-Id: 133691 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EDF8243258; Wed, 1 Nov 2023 01:50:14 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 09D1940ED6; Wed, 1 Nov 2023 01:50:00 +0100 (CET) Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176]) by mails.dpdk.org (Postfix) with ESMTP id 1FA0E40DDB for ; Wed, 1 Nov 2023 01:49:58 +0100 (CET) Received: by mail-yb1-f176.google.com with SMTP id 3f1490d57ef6-d9b720b5398so1024733276.0 for ; Tue, 31 Oct 2023 17:49:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=youngcopy-com.20230601.gappssmtp.com; s=20230601; t=1698799797; x=1699404597; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9oaO+iHn51WEFkN2sVBPjtO76Tn4JdWowmCzVuFvZzU=; b=ANhZazpljjvIlY34/X0cl9/4NUFf53iIboLtoIezHI8zSAi24EvrCf5/vxxNHdlUEn LaxBEvOsVWdi1fC+en7dCdJCpFMWCHSxboIyg8/IhBQ0S3suaPz97T7iqKhNxXtUHuAU fePaBOdVJEgaZfOXmL/GZwYPrsB9B+TYmKge5Sq++qAOQCAcETmxZnCdu0OzYSRomXjr NatGAVA1gzlDkhuYVoICs7Z7J2vIMxm9+we6atRnKfwFQndJqTW00FjNp/fve9MjYKjE kLBcJcIWX4Gf3qrS+gY92QmUeP7Iovd39yrYkBH44G2HmLOU8fMNhjqGEb8L0igAOKz0 1jew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698799797; x=1699404597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9oaO+iHn51WEFkN2sVBPjtO76Tn4JdWowmCzVuFvZzU=; b=DAJJtpzJEvdeXxeU45zAQ4tkk3xCCbTnnGNoJ/NbO7sKRtxB/5Byz9+1WWRYU1dSCq cLk3FAOa7mybU1MZXqeIZXBSd4Osjjkrm/sTUD+00NnVKMg+oVTmFFt4+GekWJCgeayY 2RaOoFE2KfbI/15Sx+JWh/hLyvPNrXOZ8EnA3wD9HANZNSnDQ79iKnrB+IFBhUqHJysn xQowD7e4L1HgXim6jCXcBguRVn/s6w7Bi4vKENgIowYIvvrBrUp5E9DPhllVdsN7WfWi rMD6eGGbtmZB0RaPmpsFyBDIiOHjj3fOYcSYa2V/XHjlAGXmNwhRn+ed8Y9leuNnP944 hh/Q== X-Gm-Message-State: AOJu0YzMh0hyS8LoVTAWobzPi3V39aSr1vvdwohkYXEnqkMBhXu6Xio1 C/VBDOudaR4UAmvSePsfdyEx4EMLedSkVfMRC9c= X-Google-Smtp-Source: AGHT+IF2YYqvZ8/w1OYtDfPc0OX+X1U5tj+tNnDtuEU4GKAUT/ougmWD8bylaWYETm5uqtco5sBbrw== X-Received: by 2002:a81:9850:0:b0:5a7:af9d:c313 with SMTP id p77-20020a819850000000b005a7af9dc313mr10020367ywg.0.1698799796908; Tue, 31 Oct 2023 17:49:56 -0700 (PDT) Received: from localhost.localdomain ([2600:1700:20c0:a560:ed1f:aab2:519a:50e3]) by smtp.gmail.com with ESMTPSA id c14-20020a81df0e000000b00589b653b7adsm1516144ywn.136.2023.10.31.17.49.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 17:49:56 -0700 (PDT) From: David Young To: dev@dpdk.org Cc: Bruce Richardson , Aaron Conole , David Young Subject: [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback Date: Tue, 31 Oct 2023 20:49:28 -0400 Message-ID: <20231101004932.1371-4-dave@youngcopy.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20231101004932.1371-1-dave@youngcopy.com> References: <20231101004932.1371-1-dave@youngcopy.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Merged windows_install_build.rst into building_from_sources.rst Acked-by: Tyler Retzlaff --- .../building_from_sources.rst | 124 ++++++++++++++---- .../install_and_build/index.rst | 3 +- .../windows_install_build.rst | 93 ------------- 3 files changed, 96 insertions(+), 124 deletions(-) delete mode 100644 doc/guides/getting_started_guide/install_and_build/windows_install_build.rst diff --git a/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst index e4ee8e436d..554d604109 100644 --- a/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst +++ b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst @@ -6,8 +6,7 @@ Building and Installing DPDK from Sources ========================================= -This chapter provides a comprehensive guide for building DPDK from sources on both -Linux and FreeBSD platforms. It covers the necessary steps, prerequisites, +This chapter provides a comprehensive guide for building DPDK from sources on Linux, FreeBSD, and Windows. It covers the necessary steps, prerequisites, and considerations for different architectures and compilers. Required Tools @@ -18,91 +17,158 @@ To build DPDK, you'll need the following tools: - A C compiler like ``gcc`` (version 5+) or ``clang`` (version 3.6+) - ``pkg-config`` or ``pkgconf`` - Python 3.6 or later -- ``meson`` (version 0.53.2+) and ``ninja`` +- ``meson`` (version 0.57.0) and ``ninja`` - ``pyelftools`` (version 0.22+) -Here's how to install them: +Platform-Specific Tool Installation +----------------------------------- Linux ^^^^^ +Common Tools for All Distributions: + +.. code-block:: bash + + sudo apt install gcc pkg-config python3 meson ninja pyelftools + Alpine .. code-block:: bash sudo apk add alpine-sdk bsd-compat-headers - pip install meson ninja -Debian and Ubuntu and derivatives +Debian, Ubuntu, and derivatives .. code-block:: bash sudo apt install build-essential - pip install meson ninja Fedora and RedHat Enterprise Linux RHEL .. code-block:: bash sudo dnf groupinstall "Development Tools" - pip install meson ninja openSUSE .. code-block:: bash sudo zypper install -t pattern devel_basis python3-pyelftools - pip install meson ninja FreeBSD ^^^^^^^ -FreeBSD (as root) +Common Tools for FreeBSD: .. code-block:: bash - pkg install meson pkgconf py38-pyelftools + pkg install gcc pkgconf python3 meson ninja pyelftools -Note: If you're using FreeBSD, you'll also need kernel sources. Make sure they're included during the FreeBSD installation. +.. note:: -Getting the DPDK Source ------------------------ + If you're using FreeBSD, make sure kernel sources are included during the FreeBSD installation. -Download the DPDK source code from the official repository -``https://fast.dpdk.org/rel/``. +Windows System Requirements +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Use ``wget`` to grab the DPDK version:: +Building the DPDK and its applications on Windows requires one of the following +environments: - wget https://fast.dpdk.org/rel/dpdk-.tar.xz +- The Clang-LLVM C compiler and Microsoft MSVC linker. +- The MinGW-w64 toolchain (either native or cross). -Extract the downloaded archive: +The Meson Build system is used to prepare the sources for compilation with the Ninja backend. -.. code-block:: bash +Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker +""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +1. Install the Compiler: Download and install the Clang compiler from the + `LLVM website `_. + +2. Install the Linker: Download and install the Build Tools for Visual Studio from the + `Microsoft website `_. + When installing build tools, select the “Visual C++ build tools” option and make sure + the Windows SDK is selected. - tar -xvf dpdk-.tar.gz +Option 2: MinGW-w64 Toolchain +"""""""""""""""""""""""""""""" -Navigate to the DPDK directory: +1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager. + Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug. + +2. On Windows: Obtain the latest version installer from the + `MinGW-w64 repository `_. + Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it. + Install to a folder without spaces in its name, like ``C:\MinGW``. + This path is assumed for the rest of this guide. + +Install the Build System +^^^^^^^^^^^^^^^^^^^^^^^^ + +Download and install the build system from the +`Meson website `_. +A good option to choose is the MSI installer for both meson and ninja together. +Recommended version is either Meson 0.57.0 (baseline) or the latest release. + +Getting the DPDK Source +----------------------- + +Linux and FreeBSD +^^^^^^^^^^^^^^^^^ .. code-block:: bash + wget https://fast.dpdk.org/rel/dpdk-.tar.xz + tar -xvf dpdk-.tar.xz cd dpdk- +Windows +^^^^^^^ + +Download the DPDK source code from `DPDK's official website `_ or clone the repository using a Git client. Extract the downloaded archive, if applicable, and navigate to the DPDK directory. + +Navigate to the directory where the DPDK source code is located: + +.. code-block:: bash + + cd C:\path\to\dpdk- + Building DPDK ------------- -Configure the build based on your needs, hardware, and environment. -This might include setting specific flags or options. For example: “meson setup -Dbuildtype=debugoptimized build”. Then compile using “ninja” and install using “meson install”. +Linux and FreeBSD +^^^^^^^^^^^^^^^^^ .. code-block:: bash + meson build ninja -C build - cd build - sudo ninja install - ldconfig -For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options `. +Windows +^^^^^^^ + +**Option 1: Using Clang-LLVM** + +.. code-block:: bash + + set CC=clang + meson setup -Dexamples=helloworld build + meson compile -C build + +**Option 2: Using MinGW-w64** + +.. code-block:: bash + + set PATH=C:\MinGW\mingw64\bin;%PATH% + meson setup -Dexamples=helloworld build + meson compile -C build + +.. note:: + + For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options `. Cross-Compilation Instructions for Different Architectures ---------------------------------------------------------- -For instructions on building DPDK for ARM64, LoongArch, and RISC-V, refer to :ref:`cross_compile_dpdk`. +For instructions on building DPDK for ARM64, LoongArch, and RISC-V, refer to :ref:`cross_compile_dpdk`. \ No newline at end of file diff --git a/doc/guides/getting_started_guide/install_and_build/index.rst b/doc/guides/getting_started_guide/install_and_build/index.rst index f4d8740fb6..48e438282f 100644 --- a/doc/guides/getting_started_guide/install_and_build/index.rst +++ b/doc/guides/getting_started_guide/install_and_build/index.rst @@ -11,5 +11,4 @@ Install and Build DPDK installing_prebuilt_packages - building_from_sources - windows_install_build \ No newline at end of file + building_from_sources \ No newline at end of file diff --git a/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst b/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst deleted file mode 100644 index ea0e131766..0000000000 --- a/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst +++ /dev/null @@ -1,93 +0,0 @@ -.. SPDX-License-Identifier: BSD-3-Clause - Copyright(c) 2010-2015 Intel Corporation. - -.. _windows_install_build: - -Windows DPDK Build -================== - -Before you begin the process of building DPDK on Windows, -make sure your system meets all the necessary requirements as outlined below. - -Windows System Requirements ---------------------------- - -Building the DPDK and its applications on Windows requires one of the following -environments: - -- The Clang-LLVM C compiler and Microsoft MSVC linker. -- The MinGW-w64 toolchain (either native or cross). - -The Meson Build system is used to prepare the sources for compilation with the Ninja backend. - -Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker ---------------------------------------------------------- - -1. Install the Compiler: Download and install the clang compiler from the -`LLVM website `_. - -2. Install the Linker: Download and install the Build Tools for Visual Studio from the -`Microsoft website `_. -When installing build tools, select the “Visual C++ build tools” option and make sure -the Windows SDK is selected. - -Option 2: MinGW-w64 Toolchain ------------------------------ - -1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager. -Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug. - -2. On Windows: Obtain the latest version installer from the -`MinGW-w64 repository `_. -Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it. -Install to a folder without spaces in its name, like ``C:\MinGW``. -This path is assumed for the rest of this guide. - -Install the Build System ------------------------- - -Download and install the build system from the -`Meson website `_. -A good option to choose is the MSI installer for both meson and ninja together. -Recommended version is either Meson 0.57.0 (baseline) or the latest release. - -Install the Backend -------------------- - -If using Ninja, download and install the backend from the -`Ninja website `_ or install along with the meson build -system. - -Once you have verified that your system meets these requirements, -you can proceed with the following steps to build DPDK. - -Build the Code --------------- - -The build environment is setup to build the EAL and the helloworld example by default. -To compile the examples, the flag -Dexamples is required. - -**Option 1. Native Build on Windows** - -When using Clang-LLVM, specifying the compiler might be required to complete the meson -command:: - - set CC=clang - -When using MinGW-w64, it is sufficient to have toolchain executables in PATH:: - - set PATH=C:\MinGW\mingw64\bin;%PATH% - -To compile the examples:: - - cd C:\Users\me\dpdk - meson -Dexamples=helloworld build - ninja -C build - -**Option 2. Cross-Compile with MinGW-w64** - -The cross-file option must be specified for Meson. -Depending on the distribution, paths in this file may need adjustments:: - - meson --cross-file config/x86/cross-mingw -Dexamples=helloworld build - ninja -C build \ No newline at end of file