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: 610beca42e ("build: remove library special cases")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Bruce Richardson 2018-02-01 14:20:07 +00:00
parent bb17466d09
commit 2f90543f23
2 changed files with 1 additions and 1 deletions

View File

@ -36,6 +36,7 @@
# source file is passed via KMOD_SRC as full path, we only use final # 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 # 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 # 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 SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h
CFLAGS += $(KMOD_CFLAGS) CFLAGS += $(KMOD_CFLAGS)

View File

@ -36,7 +36,6 @@ elif host_machine.system() == 'freebsd'
command: ['make', '-f', '@INPUT0@', command: ['make', '-f', '@INPUT0@',
'KMOD_SRC=@INPUT1@', 'KMOD_SRC=@INPUT1@',
'KMOD=' + k, 'KMOD=' + k,
'VPATH=' + join_paths(meson.current_source_dir(), k),
'KMOD_CFLAGS=' + ' '.join(kmod_cflags)], 'KMOD_CFLAGS=' + ' '.join(kmod_cflags)],
build_by_default: get_option('enable_kmods')) build_by_default: get_option('enable_kmods'))
endforeach endforeach