build: list selected applications
With the addition of enable/disable_apps meson options, it is a bit harder to figure out which application is built, and why. Display the list of applications in the same way we do for drivers and libraries. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Markus Theil <markus.theil@secunet.com>
This commit is contained in:
parent
e9cc7c7abc
commit
ecf7518017
@ -1,8 +1,14 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2017-2019 Intel Corporation
|
||||
|
||||
enabled_apps = get_option('enable_apps')
|
||||
disabled_apps = get_option('disable_apps')
|
||||
disable_apps = ',' + get_option('disable_apps')
|
||||
disable_apps = run_command(list_dir_globs, disable_apps, check: true).stdout().split()
|
||||
|
||||
enable_apps = ',' + get_option('enable_apps')
|
||||
enable_apps = run_command(list_dir_globs, enable_apps, check: true).stdout().split()
|
||||
if enable_apps.length() == 0
|
||||
enable_apps = run_command(list_dir_globs, '*', check: true).stdout().split()
|
||||
endif
|
||||
|
||||
apps = [
|
||||
'dumpcap',
|
||||
@ -29,13 +35,12 @@ if get_option('default_library') == 'static' and not is_windows
|
||||
default_ldflags += ['-Wl,--export-dynamic']
|
||||
endif
|
||||
|
||||
enabled_apps = [] # used to print summary at the end
|
||||
|
||||
foreach app:apps
|
||||
build = enabled_apps == '' or enabled_apps.contains(app)
|
||||
# let disabled_apps override enabled_apps
|
||||
if disabled_apps != ''
|
||||
build = build and not disabled_apps.contains(app)
|
||||
endif
|
||||
name = app
|
||||
build = true
|
||||
reason = '<unknown reason>' # set if build == false to explain
|
||||
sources = []
|
||||
includes = []
|
||||
cflags = default_cflags
|
||||
@ -48,11 +53,17 @@ foreach app:apps
|
||||
ext_deps = []
|
||||
deps = []
|
||||
|
||||
if not build
|
||||
continue
|
||||
if not enable_apps.contains(app)
|
||||
build = false
|
||||
reason = 'not in enabled apps build config'
|
||||
elif disable_apps.contains(app)
|
||||
build = false
|
||||
reason = 'explicitly disabled via build config'
|
||||
endif
|
||||
|
||||
subdir(name)
|
||||
if build
|
||||
subdir(name)
|
||||
endif
|
||||
|
||||
if build
|
||||
dep_objs = []
|
||||
@ -60,6 +71,7 @@ foreach app:apps
|
||||
var_name = get_option('default_library') + '_rte_' + d
|
||||
if not is_variable(var_name)
|
||||
build = false
|
||||
reason = 'missing internal dependency, "@0@"'.format(d)
|
||||
message('Missing dependency "@0@" for app "@1@"'.format(d, name))
|
||||
break
|
||||
endif
|
||||
@ -68,9 +80,14 @@ foreach app:apps
|
||||
endif
|
||||
|
||||
if not build
|
||||
if reason != ''
|
||||
dpdk_apps_disabled += app
|
||||
set_variable(app.underscorify() + '_disable_reason', reason)
|
||||
endif
|
||||
continue
|
||||
endif
|
||||
|
||||
enabled_apps += app
|
||||
link_libs = []
|
||||
if get_option('default_library') == 'static'
|
||||
link_libs = dpdk_static_libraries + dpdk_drivers
|
||||
|
23
meson.build
23
meson.build
@ -42,6 +42,7 @@ dpdk_driver_classes = []
|
||||
dpdk_drivers = []
|
||||
dpdk_extra_ldflags = []
|
||||
dpdk_libs_deprecated = []
|
||||
dpdk_apps_disabled = []
|
||||
dpdk_libs_disabled = []
|
||||
dpdk_drvs_disabled = []
|
||||
testpmd_drivers_sources = []
|
||||
@ -115,8 +116,21 @@ if meson.is_subproject()
|
||||
subdir('buildtools/subproject')
|
||||
endif
|
||||
|
||||
# final output, list all the libs and drivers to be built
|
||||
# this does not affect any part of the build, for information only.
|
||||
# Final output, list all the parts to be built.
|
||||
# This does not affect any part of the build, for information only.
|
||||
output_message = '\n=================\nApplications Enabled\n=================\n'
|
||||
output_message += '\napps:\n\t'
|
||||
output_count = 0
|
||||
foreach app:enabled_apps
|
||||
output_message += app + ', '
|
||||
output_count += 1
|
||||
if output_count == 8
|
||||
output_message += '\n\t'
|
||||
output_count = 0
|
||||
endif
|
||||
endforeach
|
||||
message(output_message + '\n')
|
||||
|
||||
output_message = '\n=================\nLibraries Enabled\n=================\n'
|
||||
output_message += '\nlibs:\n\t'
|
||||
output_count = 0
|
||||
@ -147,6 +161,11 @@ endforeach
|
||||
message(output_message + '\n')
|
||||
|
||||
output_message = '\n=================\nContent Skipped\n=================\n'
|
||||
output_message += '\napps:\n\t'
|
||||
foreach app:dpdk_apps_disabled
|
||||
reason = get_variable(app.underscorify() + '_disable_reason')
|
||||
output_message += app + ':\t' + reason + '\n\t'
|
||||
endforeach
|
||||
output_message += '\nlibs:\n\t'
|
||||
foreach lib:dpdk_libs_disabled
|
||||
reason = get_variable(lib.underscorify() + '_disable_reason')
|
||||
|
Loading…
Reference in New Issue
Block a user