Merged windows_install_build.rst into building_from_sources.rst --- .../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-<version>.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 <http://releases.llvm.org/>`_. + +2. Install the Linker: Download and install the Build Tools for Visual Studio from the + `Microsoft website <https://visualstudio.microsoft.com/downloads/>`_. + When installing build tools, select the ???Visual C++ build tools??? option and make sure + the Windows SDK is selected. - tar -xvf dpdk-<version>.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 <https://mingw-w64.org/doku.php>`_. + 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 <http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer>`_. +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-<version>.tar.xz + tar -xvf dpdk-<version>.tar.xz cd dpdk-<version> +Windows +^^^^^^^ + +Download the DPDK source code from `DPDK's official website <https://www.dpdk.org/>`_ 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-<version> + 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 <dpdk_meson_build_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 <dpdk_meson_build_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 <http://releases.llvm.org/>`_. - -2. Install the Linker: Download and install the Build Tools for Visual Studio from the -`Microsoft website <https://visualstudio.microsoft.com/downloads/>`_. -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 <https://mingw-w64.org/doku.php>`_. -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 <http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer>`_. -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 <https://ninja-build.org/>`_ 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 -- 2.41.0.windows.1