doc: fix build on Windows with meson 0.58
Checks
Commit Message
The `doc` target used `echo` as its command.
On Windows, `echo` is always a shell built-in, there is no binary.
Starting from meson 0.58, `run_target()` always searches for command
executable and no longer accepts `echo` as such on Windows.
Replace plain `echo` with a Python one-liner.
Fixes: d02a2dab2dfb ("doc: support building HTML guides with meson")
Cc: Bruce Richardson <bruce.richardson@intel.com>
Cc: Luca Boccassi <bluca@debian.org>
Cc: stable@dpdk.org
Reported-by: Rob Scheepens <rob.scheepens@nutanix.com>
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
Sorry for the noise, sent to stable@ instead of dev@ first.
doc/meson.build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Wed, 2021-06-30 at 19:22 +0300, Dmitry Kozlyuk wrote:
> The `doc` target used `echo` as its command.
> On Windows, `echo` is always a shell built-in, there is no binary.
> Starting from meson 0.58, `run_target()` always searches for command
> executable and no longer accepts `echo` as such on Windows.
> Replace plain `echo` with a Python one-liner.
>
> Fixes: d02a2dab2dfb ("doc: support building HTML guides with meson")
> Cc: Bruce Richardson <bruce.richardson@intel.com>
> Cc: Luca Boccassi <bluca@debian.org>
> Cc: stable@dpdk.org
>
> Reported-by: Rob Scheepens <rob.scheepens@nutanix.com>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---
> Sorry for the noise, sent to stable@ instead of dev@ first.
>
> doc/meson.build | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/doc/meson.build b/doc/meson.build
> index 959606b965..abd7d70421 100644
> --- a/doc/meson.build
> +++ b/doc/meson.build
> @@ -11,5 +11,6 @@ if doc_targets.length() == 0
> else
> message = 'Building docs:'
> endif
> -run_target('doc', command: ['echo', message, doc_target_names],
> +echo = [py3, '-c', 'import sys; print(*sys.argv[1:])']
> +run_target('doc', command: [echo, message, doc_target_names],
> depends: doc_targets)
Acked-by: Luca Boccassi <bluca@debian.org>
On Thu, Jul 01, 2021 at 09:34:04AM +0100, Luca Boccassi wrote:
> On Wed, 2021-06-30 at 19:22 +0300, Dmitry Kozlyuk wrote:
> > The `doc` target used `echo` as its command.
> > On Windows, `echo` is always a shell built-in, there is no binary.
> > Starting from meson 0.58, `run_target()` always searches for command
> > executable and no longer accepts `echo` as such on Windows.
> > Replace plain `echo` with a Python one-liner.
> >
> > Fixes: d02a2dab2dfb ("doc: support building HTML guides with meson")
> > Cc: Bruce Richardson <bruce.richardson@intel.com>
> > Cc: Luca Boccassi <bluca@debian.org>
> > Cc: stable@dpdk.org
> >
> > Reported-by: Rob Scheepens <rob.scheepens@nutanix.com>
> > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > ---
>
> Acked-by: Luca Boccassi <bluca@debian.org>
One small suggestion might be to move the "echo" command definition to
buildtools folder in case it's wanted for use anywhere in the build at some
point in the future. However, this patch is fine without that change too.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
01/07/2021 11:57, Bruce Richardson:
> On Thu, Jul 01, 2021 at 09:34:04AM +0100, Luca Boccassi wrote:
> > On Wed, 2021-06-30 at 19:22 +0300, Dmitry Kozlyuk wrote:
> > > The `doc` target used `echo` as its command.
> > > On Windows, `echo` is always a shell built-in, there is no binary.
> > > Starting from meson 0.58, `run_target()` always searches for command
> > > executable and no longer accepts `echo` as such on Windows.
> > > Replace plain `echo` with a Python one-liner.
> > >
> > > Fixes: d02a2dab2dfb ("doc: support building HTML guides with meson")
> > > Cc: Bruce Richardson <bruce.richardson@intel.com>
> > > Cc: Luca Boccassi <bluca@debian.org>
> > > Cc: stable@dpdk.org
> > >
> > > Reported-by: Rob Scheepens <rob.scheepens@nutanix.com>
> > > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > > ---
> >
> > Acked-by: Luca Boccassi <bluca@debian.org>
>
> One small suggestion might be to move the "echo" command definition to
> buildtools folder in case it's wanted for use anywhere in the build at some
> point in the future. However, this patch is fine without that change too.
I did the move in buildtools/meson.build:
echo = py3 + ['-c', 'import sys; print(*sys.argv[1:])']
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Applied, thanks
@@ -11,5 +11,6 @@ if doc_targets.length() == 0
else
message = 'Building docs:'
endif
-run_target('doc', command: ['echo', message, doc_target_names],
+echo = [py3, '-c', 'import sys; print(*sys.argv[1:])']
+run_target('doc', command: [echo, message, doc_target_names],
depends: doc_targets)