1d30ea906Sjfb8856606..  SPDX-License-Identifier: BSD-3-Clause
2d30ea906Sjfb8856606    Copyright(c) 2015 Intel Corporation.
32bfe3f2eSlogwang
42bfe3f2eSlogwangCompiling the Sample Applications
52bfe3f2eSlogwang=================================
62bfe3f2eSlogwang
72bfe3f2eSlogwangThis section explains how to compile the DPDK sample applications.
82bfe3f2eSlogwang
92bfe3f2eSlogwangTo compile all the sample applications
102bfe3f2eSlogwang--------------------------------------
112bfe3f2eSlogwang
12*2d9fd380Sjfb8856606Go to DPDK build directory:
132bfe3f2eSlogwang
142bfe3f2eSlogwang    .. code-block:: console
152bfe3f2eSlogwang
16*2d9fd380Sjfb8856606       cd dpdk/<build_dir>
172bfe3f2eSlogwang
18*2d9fd380Sjfb8856606Enable examples compilation:
192bfe3f2eSlogwang
202bfe3f2eSlogwang   .. code-block:: console
212bfe3f2eSlogwang
22*2d9fd380Sjfb8856606      meson configure -Dexamples=all
232bfe3f2eSlogwang
24*2d9fd380Sjfb8856606Build:
252bfe3f2eSlogwang
262bfe3f2eSlogwang   .. code-block:: console
272bfe3f2eSlogwang
28*2d9fd380Sjfb8856606      ninja
292bfe3f2eSlogwang
30*2d9fd380Sjfb8856606For additional information on compiling see
312bfe3f2eSlogwang:ref:`Compiling DPDK on Linux <linux_gsg_compiling_dpdk>` or
322bfe3f2eSlogwang:ref:`Compiling DPDK on FreeBSD <building_from_source>`.
33*2d9fd380Sjfb8856606Applications are output to: ``dpdk/<build_dir>/examples``.
342bfe3f2eSlogwang
352bfe3f2eSlogwang
36*2d9fd380Sjfb8856606To compile a single application
37*2d9fd380Sjfb8856606-------------------------------
38*2d9fd380Sjfb8856606
39*2d9fd380Sjfb8856606
40*2d9fd380Sjfb8856606Using meson
41*2d9fd380Sjfb8856606~~~~~~~~~~~
42*2d9fd380Sjfb8856606
43*2d9fd380Sjfb8856606Go to DPDK build directory:
442bfe3f2eSlogwang
452bfe3f2eSlogwang    .. code-block:: console
462bfe3f2eSlogwang
47*2d9fd380Sjfb8856606       cd dpdk/<build_dir>
482bfe3f2eSlogwang
49*2d9fd380Sjfb8856606Enable example app compilation:
50*2d9fd380Sjfb8856606
51*2d9fd380Sjfb8856606   .. code-block:: console
52*2d9fd380Sjfb8856606
53*2d9fd380Sjfb8856606      meson configure -Dexamples=helloworld
54*2d9fd380Sjfb8856606
55*2d9fd380Sjfb8856606Build:
56*2d9fd380Sjfb8856606
57*2d9fd380Sjfb8856606   .. code-block:: console
58*2d9fd380Sjfb8856606
59*2d9fd380Sjfb8856606      ninja
60*2d9fd380Sjfb8856606
61*2d9fd380Sjfb8856606
62*2d9fd380Sjfb8856606Using Make
63*2d9fd380Sjfb8856606~~~~~~~~~~
64*2d9fd380Sjfb8856606
65*2d9fd380Sjfb8856606Pkg-config is used when building an example app standalone using make, please
66*2d9fd380Sjfb8856606see :ref:`building_app_using_installed_dpdk` for more information.
67*2d9fd380Sjfb8856606
68*2d9fd380Sjfb8856606Go to the sample application directory. Unless otherwise specified the sample
69*2d9fd380Sjfb8856606applications are located in ``dpdk/examples/``.
70*2d9fd380Sjfb8856606
71*2d9fd380Sjfb8856606Build the application:
72*2d9fd380Sjfb8856606
73*2d9fd380Sjfb8856606    .. code-block:: console
74*2d9fd380Sjfb8856606
75*2d9fd380Sjfb8856606        make
76*2d9fd380Sjfb8856606
77*2d9fd380Sjfb8856606To build the application for debugging use the ``DEBUG`` option.
782bfe3f2eSlogwangThis option adds some extra flags, disables compiler optimizations and
792bfe3f2eSlogwangsets verbose output.
802bfe3f2eSlogwang
812bfe3f2eSlogwang    .. code-block:: console
822bfe3f2eSlogwang
832bfe3f2eSlogwang       make DEBUG=1
84