From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: "Bruce Richardson" <bruce.richardson@intel.com>,
"Robin Jarry" <robin.jarry@6wind.com>,
"Luca Boccassi" <bluca@debian.org>,
"Juraj Linkeš" <juraj.linkes@pantheon.tech>,
"Honnappa Nagarahalli" <honnappa.nagarahalli@arm.com>,
"Ruifeng Wang" <ruifeng.wang@arm.com>
Subject: [dpdk-dev] [PATCH] build: fix drivers config with no python interpreter
Date: Fri, 7 May 2021 11:21:57 +0200 [thread overview]
Message-ID: <20210507092158.12284-1-david.marchand@redhat.com> (raw)
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")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
buildtools/meson.build | 2 +-
drivers/meson.build | 6 +++---
lib/meson.build | 3 ++-
3 files changed, 6 insertions(+), 5 deletions(-)
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..56f2465ee2 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))
--
2.23.0
next reply other threads:[~2021-05-07 9:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-07 9:21 David Marchand [this message]
2021-05-07 9:50 ` Bruce Richardson
2021-05-07 10:01 ` David Marchand
2021-05-07 11:54 ` [dpdk-dev] [PATCH v2] " David Marchand
2021-05-07 13:45 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210507092158.12284-1-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=bluca@debian.org \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=honnappa.nagarahalli@arm.com \
--cc=juraj.linkes@pantheon.tech \
--cc=robin.jarry@6wind.com \
--cc=ruifeng.wang@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).