The kernel module source file directory passed via VPATH was wrong, which caused the source files to be not found via make. Rather than explicitly passing VPATH, make use of the fact that the full path to the source files is passed by meson, so split that into directory part - to be used as VPATH - and file part - to be used as the source filename.
Fixes: 610beca42ea4 ("build: remove library special cases") Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- lib/librte_eal/bsdapp/BSDmakefile.meson | 1 + lib/librte_eal/meson.build | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/bsdapp/BSDmakefile.meson b/lib/librte_eal/bsdapp/BSDmakefile.meson index 2f16ac05b..42f5b2b9d 100644 --- a/lib/librte_eal/bsdapp/BSDmakefile.meson +++ b/lib/librte_eal/bsdapp/BSDmakefile.meson @@ -36,6 +36,7 @@ # source file is passed via KMOD_SRC as full path, we only use final # component of it, as VPATH is used to find actual file, so as to # have the .o files placed in the build, not source directory +VPATH = ${KMOD_SRC:H} SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h CFLAGS += $(KMOD_CFLAGS) diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build index 6fb2ef17f..d9ba38533 100644 --- a/lib/librte_eal/meson.build +++ b/lib/librte_eal/meson.build @@ -36,7 +36,6 @@ elif host_machine.system() == 'freebsd' command: ['make', '-f', '@INPUT0@', 'KMOD_SRC=@INPUT1@', 'KMOD=' + k, - 'VPATH=' + join_paths(meson.current_source_dir(), k), 'KMOD_CFLAGS=' + ' '.join(kmod_cflags)], build_by_default: get_option('enable_kmods')) endforeach -- 2.14.1