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.conno...@mayadata.io > Cc: sta...@dpdk.org > > Signed-off-by: Dmitry Kozlyuk <dmitry.kozl...@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. Either way as here, or with buildtools change: Acked-by: Bruce Richardson <bruce.richard...@intel.com>