Message ID | 20210507115404.19828-1-david.marchand@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | [v2] build: fix drivers config with no python interpreter | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | warning | coding style issues |
ci/github-robot | success | github build: passed |
ci/Intel-compilation | warning | apply issues |
ci/iol-testing | success | Testing PASS |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-mellanox-Functional | success | Functional Testing PASS |
07/05/2021 13:54, David Marchand: > If no enable_drivers option is passed, the default is to build the > drivers list by calling list-dir-globs.py. > > But if no python interpreter is installed, no error is reported and all > drivers end up being disabled. > > Example on a minimal FreeBSD vm: > > dpdk@freebsd:~/dpdk $ meson setup build > ... > drivers: > common/cpt: not in enabled drivers build config > common/dpaax: not in enabled drivers build config > common/iavf: not in enabled drivers build config > common/mvep: not in enabled drivers build config > common/octeontx: not in enabled drivers build config > common/octeontx2: not in enabled drivers build config > bus/dpaa: not in enabled drivers build config > bus/fslmc: not in enabled drivers build config > ... > > dpdk@freebsd:~/dpdk $ cd drivers/ > dpdk@freebsd:~/dpdk/drivers $ ~/dpdk/buildtools/list-dir-globs.py */* > env: python3: No such file or directory > > Rely on meson internal interpreter. > Check return code when calling this script. > > Fixes: ab9407c3addd ("build: allow using wildcards to disable drivers") > Fixes: 2e33309ebe03 ("config: enable/disable drivers in Arm builds") +Cc: stable > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Bruce Richardson <bruce.richardson@intel.com> Applied, thanks
diff --git a/buildtools/meson.build b/buildtools/meson.build index c520896b4b..df94782bdc 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -2,7 +2,6 @@ # Copyright(c) 2017-2019 Intel Corporation pkgconf = find_program('pkg-config', 'pkgconf', required: false) -list_dir_globs = find_program('list-dir-globs.py') check_symbols = find_program('check-symbols.sh') ldflags_ibverbs_static = find_program('options-ibverbs-static.sh') binutils_avx512_check = find_program('binutils-avx512-check.sh') @@ -16,6 +15,7 @@ else endif map_to_win_cmd = py3 + files('map_to_win.py') sphinx_wrapper = py3 + files('call-sphinx-build.py') +list_dir_globs = py3 + files('list-dir-globs.py') # select library and object file format pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()] diff --git a/drivers/meson.build b/drivers/meson.build index b78cac3897..0052247a55 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -27,13 +27,13 @@ endif # add cmdline disabled drivers and meson disabled drivers together disable_drivers += ',' + get_option('disable_drivers') -disable_drivers = run_command(list_dir_globs, disable_drivers).stdout().split() +disable_drivers = run_command(list_dir_globs, disable_drivers, check: true).stdout().split() # add cmdline enabled drivers and meson enabled drivers together enable_drivers = ',' + get_option('enable_drivers') -enable_drivers = run_command(list_dir_globs, enable_drivers).stdout().split() +enable_drivers = run_command(list_dir_globs, enable_drivers, check: true).stdout().split() if enable_drivers.length() == 0 - enable_drivers = run_command(list_dir_globs, '*/*').stdout().split() + enable_drivers = run_command(list_dir_globs, '*/*', check: true).stdout().split() endif # these drivers must always be enabled, otherwise the build breaks diff --git a/lib/meson.build b/lib/meson.build index 77f363a516..a4fb0dbdd4 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -88,7 +88,8 @@ optional_libs = [ ] disabled_libs = [] -opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs')).stdout().split() +opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs'), + check: true).stdout().split() foreach l:opt_disabled_libs if not optional_libs.contains(l) warning('Cannot disable mandatory library "@0@"'.format(l))