[dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55
Dmitry Kozlyuk
dmitry.kozliuk at gmail.com
Wed Aug 18 22:55:33 CEST 2021
2021-08-17 15:35 (UTC+0100), Bruce Richardson:
> On Wed, Aug 11, 2021 at 02:03:22AM +0300, Dmitry Kozlyuk wrote:
> > Install command for meson >= 0.55.0 referenced the script by a plain
> > string, assuming the build directory to be directly under the source
> > tree root. This resulted in an error when the assumption did not hold:
> >
> > c:\python\python.exe: can't open file
> > '../buildtools/symlink-drivers-solibs.py':
> > [Errno 2] No such file or directory
> >
> > Use files() to make a valid script path for any build directory.
> >
> > Fixes: cd27047dbee1 ("build: support drivers symlink on Windows")
> > Cc: nick.connolly at mayadata.io
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
> > ---
> > Note: this is not limited to Windows, it just happens that Windows
> > requires newer meson and the error example is from Windows build.
> >
> > config/meson.build | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/config/meson.build b/config/meson.build
> > index e80421003b..3b5966ec2f 100644
> > --- a/config/meson.build
> > +++ b/config/meson.build
> > @@ -61,7 +61,8 @@ if not is_windows
> > get_option('libdir'), pmd_subdir_opt)
> > elif meson.version().version_compare('>=0.55.0')
> > # 0.55.0 is required to use external program with add_install_script
> > - meson.add_install_script(py3, '../buildtools/symlink-drivers-solibs.py',
> > + meson.add_install_script(py3,
> > + files('../buildtools/symlink-drivers-solibs.py'),
> > get_option('libdir'), pmd_subdir_opt, get_option('bindir'))
> > endif
> >
>
> Rather than using a relative path, we could also use "files()" in the
> buildtools directory and store it in a variable to re-use either. Most
> other python scripts in the buildtools directory, use that pattern to have
> a single (array) variable with the python and script calls together.
Thanks for the hint, but I don't think consistency is worth it.
Now we have some non-trivial logic (otherwise it wouldn't need comments)
in one place. With variable definition affected by the single use case in
another file it will be harder to understand the reason.
> Either way as here, or with buildtools change:
>
> Acked-by: Bruce Richardson <bruce.richardson at intel.com>
More information about the dev
mailing list