eal/bsd: fix kernel modules build with meson
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 1 Feb 2018 14:20:07 +0000 (14:20 +0000)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 2 Feb 2018 10:28:52 +0000 (11:28 +0100)
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.richardson@intel.com>
lib/librte_eal/bsdapp/BSDmakefile.meson
lib/librte_eal/meson.build

index 2f16ac0..42f5b2b 100644 (file)
@@ -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)
 
index 6fb2ef1..d9ba385 100644 (file)
@@ -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