On Wed, Dec 04, 2019 at 10:18:21PM +0800, Ye Xiaolong wrote: > On 12/04, Luca Boccassi wrote: > >On Tue, 2019-12-03 at 23:59 +0800, Xiaolong Ye wrote: > >> kernel_dir option in meson build is equivalent to RTE_KERNELDIR in > >> make > >> system, for cross-compilation case, users would specify it as local > >> kernel src dir like > >> > >> /<user local dir>/target-arm_glibc/linux-arm/linux-4.19.81/ > >> > >> Current meson build would fail to compile kernel module if user > >> specify > >> kernel_dir as above, this patch fixes this issue. > >> > >> After this change, for normal build case, user can specify > >> /lib/modules/<kernel_version> or /lib/modules/<kernel_version>/build > >> as > >> kernel_dir. For cross compilation case, user can specify any > >> directory > >> that contains kernel source code as the kernel_dir. > >> > >> Fixes: 317832f97c16 ("kernel/linux: fix modules install path") > >> Cc: > >> sta...@dpdk.org > >> > >> Cc: > >> iryz...@nfware.com > >> > >> > >> Signed-off-by: Xiaolong Ye < > >> xiaolong...@intel.com > > > >The convention used by upstream and all distros is that kernel headers > >are in <version>/build. Why can't the cross compilation case also > >follow this convention, rather than adding complications to the > > Yes, cross-compilation can follow this convention, but one common case is that > users download and put kernel src (the same kernel that's running in the > target machine) > to one arbitrary dir, he then use this dir as kernel_dir to build kernel > modules, > it's extra burden for users to create extra build dir to hold the kernel > headers. >
As part of the build of the kernel, do you not do a "modules_install" step, which should set up things correctly for later builds? /Bruce