From 2f90543f238d686c12cf988a04ab71612c9abeab Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Thu, 1 Feb 2018 14:20:07 +0000 Subject: [PATCH] eal/bsd: fix kernel modules build with meson 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 --- 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 2f16ac05bd..42f5b2b9d8 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 6fb2ef17fe..d9ba38533c 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.20.1