1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright(c) 2019 Intel Corporation. 3 4Compiling the DPDK Target from Source 5===================================== 6 7System Requirements 8------------------- 9 10The DPDK and its applications require the Clang-LLVM C compiler 11and Microsoft MSVC linker. 12The Meson Build system is used to prepare the sources for compilation 13with the Ninja backend. 14The installation of these tools is covered in this section. 15 16 17Install the Compiler 18-------------------- 19 20Download and install the clang compiler from 21`LLVM website <http://releases.llvm.org/download.html>`_. 22For example, Clang-LLVM direct download link:: 23 24 http://releases.llvm.org/7.0.1/LLVM-7.0.1-win64.exe 25 26 27Install the Linker 28------------------ 29 30Download and install the Build Tools for Visual Studio to link and build the 31files on windows, 32from `Microsoft website <https://visualstudio.microsoft.com/downloads>`_. 33When installing build tools, select the "Visual C++ build tools" option 34and ensure the Windows SDK is selected. 35 36 37Install the Build System 38------------------------ 39 40Download and install the build system from 41`Meson website <http://mesonbuild.com/Getting-meson.html>`_. 42A good option to choose is the MSI installer for both meson and ninja together:: 43 44 http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer%22 45 46Install the Backend 47------------------- 48 49If using Ninja, download and install the backend from 50`Ninja website <https://ninja-build.org/>`_ or 51install along with the meson build system. 52 53Build the code 54-------------- 55 56The build environment is setup to build the EAL and the helloworld example by 57default. 58 59Using the ninja backend 60~~~~~~~~~~~~~~~~~~~~~~~~ 61 62.. code-block:: console 63 64 cd C:\Users\me\dpdk 65 meson build 66 cd build 67 ninja 68 69Run the helloworld example 70========================== 71 72Navigate to the build directory and run `dpdk-helloworld.exe`. 73 74.. code-block:: console 75 76 cd C:\Users\me\dpdk\build 77 helloworld.exe 78 hello from core 1 79 hello from core 3 80 hello from core 0 81 hello from core 2 82