xref: /dpdk/doc/guides/windows_gsg/build_dpdk.rst (revision 2d0c29a37a9c080c1cccb1ad7941aba2ccf5437e)
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