On Tue, Oct 31, 2023 at 08:49:28PM -0400, David Young wrote: > Merged windows_install_build.rst into building_from_sources.rst
[...] > -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. ^^^^^^^^^^^ maybe use the word 'Required' We need to be explicit for Windows. *Only* Meson 0.57.x can be used the latest release of meson is not currently supported. > + > +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>`. This looks good, thanks for the updates. With the one minor correction suggested above. Acked-by: Tyler Retzlaff <roret...@linux.microsoft.com>