examples/power: support meson/ninja build
Add meson.build in vm_power_manager and the guest_cli subdirectory. Building can be achieved by going to the build directory, and using meson configure -Dexamples=vm_power_manager,vm_power_manager/guest_cli Then, when ninja is invoked, it will build dpdk-vm_power_manger and dpdk-guest_cli Work still needs to be done on the meson build system to handles the case where the target list of example apps is defined as 'all'. That will come in a future patch. Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
ce4a276644
commit
e013078857
@ -199,7 +199,7 @@ see :doc:`compiling`.
|
||||
|
||||
The application is located in the ``vm_power_manager`` sub-directory.
|
||||
|
||||
To build just the ``vm_power_manager`` application:
|
||||
To build just the ``vm_power_manager`` application using ``make``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@ -208,6 +208,22 @@ To build just the ``vm_power_manager`` application:
|
||||
cd ${RTE_SDK}/examples/vm_power_manager/
|
||||
make
|
||||
|
||||
The resulting binary will be ${RTE_SDK}/build/examples/vm_power_manager
|
||||
|
||||
To build just the ``vm_power_manager`` application using ``meson/ninja``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_SDK=/path/to/rte_sdk
|
||||
cd ${RTE_SDK}
|
||||
meson build
|
||||
cd build
|
||||
ninja
|
||||
meson configure -Dexamples=vm_power_manager
|
||||
ninja
|
||||
|
||||
The resulting binary will be ${RTE_SDK}/build/examples/dpdk-vm_power_manager
|
||||
|
||||
Running
|
||||
~~~~~~~
|
||||
|
||||
@ -630,7 +646,7 @@ For compiling and running l3fwd-power, see :doc:`l3_forward_power_man`.
|
||||
|
||||
The application is located in the ``guest_cli`` sub-directory under ``vm_power_manager``.
|
||||
|
||||
To build just the ``guest_vm_power_manager`` application:
|
||||
To build just the ``guest_vm_power_manager`` application using ``make``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@ -639,6 +655,22 @@ To build just the ``guest_vm_power_manager`` application:
|
||||
cd ${RTE_SDK}/examples/vm_power_manager/guest_cli/
|
||||
make
|
||||
|
||||
The resulting binary will be ${RTE_SDK}/build/examples/guest_cli
|
||||
|
||||
To build just the ``vm_power_manager`` application using ``meson/ninja``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_SDK=/path/to/rte_sdk
|
||||
cd ${RTE_SDK}
|
||||
meson build
|
||||
cd build
|
||||
ninja
|
||||
meson configure -Dexamples=vm_power_manager/guest_cli
|
||||
ninja
|
||||
|
||||
The resulting binary will be ${RTE_SDK}/build/examples/guest_cli
|
||||
|
||||
Running
|
||||
~~~~~~~
|
||||
|
||||
|
21
examples/vm_power_manager/guest_cli/meson.build
Normal file
21
examples/vm_power_manager/guest_cli/meson.build
Normal file
@ -0,0 +1,21 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2018 Intel Corporation
|
||||
|
||||
# meson file, for building this example as part of a main DPDK build.
|
||||
#
|
||||
# To build this example as a standalone application with an already-installed
|
||||
# DPDK instance, use 'make'
|
||||
|
||||
# Setting the name here because the default name will conflict with the
|
||||
# vm_power_manager app because of the way the directories are parsed.
|
||||
name = 'guest_cli'
|
||||
|
||||
deps += ['power']
|
||||
|
||||
sources = files(
|
||||
'main.c', 'parse.c', 'vm_power_cli_guest.c'
|
||||
)
|
||||
|
||||
opt_dep = cc.find_library('virt', required : false)
|
||||
build = opt_dep.found()
|
||||
ext_deps += opt_dep
|
@ -6,5 +6,38 @@
|
||||
# To build this example as a standalone application with an already-installed
|
||||
# DPDK instance, use 'make'
|
||||
|
||||
# Example app currently unsupported by meson build
|
||||
build = false
|
||||
if dpdk_conf.has('RTE_LIBRTE_BNXT_PMD')
|
||||
deps += ['pmd_bnxt']
|
||||
endif
|
||||
|
||||
if dpdk_conf.has('RTE_LIBRTE_I40E_PMD')
|
||||
deps += ['pmd_i40e']
|
||||
endif
|
||||
|
||||
if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD')
|
||||
deps += ['pmd_ixgbe']
|
||||
endif
|
||||
|
||||
deps += ['power']
|
||||
|
||||
|
||||
sources = files(
|
||||
'channel_manager.c', 'channel_monitor.c', 'main.c', 'parse.c', 'power_manager.c', 'vm_power_cli.c'
|
||||
)
|
||||
|
||||
# If we're on X86, pull in the x86 code for the branch monitor algo.
|
||||
if dpdk_conf.has('RTE_ARCH_X86_64')
|
||||
sources += files('oob_monitor_x86.c')
|
||||
else
|
||||
sources += files('oob_monitor_nop.c')
|
||||
endif
|
||||
|
||||
opt_dep = cc.find_library('virt', required : false)
|
||||
build = opt_dep.found()
|
||||
ext_deps += opt_dep
|
||||
|
||||
opt_dep = dependency('jansson', required : false)
|
||||
if opt_dep.found()
|
||||
ext_deps += opt_dep
|
||||
cflags += '-DUSE_JANSSON'
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user