[dpdk-dev] [PATCH] build: fix symlink of drivers for Windows

Dmitry Kozlyuk dmitry.kozliuk at gmail.com
Sun Apr 4 02:00:03 CEST 2021


2021-04-01 13:27 (UTC+0100), Nick Connolly:
[...]
> +def copy_pmd_files(pattern, to_dir):
> +	for file in glob.glob(os.path.join(pmd_dir, pattern)):
> +		to = os.path.join(to_dir, os.path.basename(file))
> +		shutil.copy2(file, to)
> +		print(to + ' -> ' + file)
> +
> +copy_pmd_files('*rte_*.dll', bin_dir)
> +copy_pmd_files('*rte_*.pdb', bin_dir)

PDB (debuginfo) files can be quite large, do we want to install them?

[...]
> diff --git a/config/meson.build b/config/meson.build
> index 66a2edcc4..c51669b7d 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -57,11 +57,8 @@ eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
>  # driver .so files often depend upon the bus drivers for their connect bus,
>  # e.g. ixgbe depends on librte_bus_pci. This means that the bus drivers need
>  # to be in the library path, so symlink the drivers from the main lib directory.
> -if not is_windows
> -	meson.add_install_script('../buildtools/symlink-drivers-solibs.sh',
> -			get_option('libdir'),
> -			pmd_subdir_opt)
> -endif
> +meson.add_install_script(py3, '../buildtools/symlink-drivers-solibs.py',
> +	get_option('libdir'), pmd_subdir_opt, get_option('bindir'))
>  
>  # set the machine type and cflags for it
>  if meson.is_cross_build()

As you may have seen, build fails because find_program() result cannot be
used in meson.add_install_script() until 0.55. Since your script has
Unix-specific part anyway and Windows recommends Meson 0.56, maybe Unices
should continue using shell variant and Python script can be Windows-only.


More information about the dev mailing list