[dpdk-dev] [PATCH] kernel/linux: fix modules install path
Igor Ryzhov
iryzhov at nfware.com
Mon Jun 10 10:25:52 CEST 2019
Currently kernel modules are installed into /usr/src/ instead of
/lib/modules when meson build system is used. This patch fixes that.
Old build option "kernel_dir" is changed to "kernel_version".
Signed-off-by: Igor Ryzhov <iryzhov at nfware.com>
---
kernel/linux/igb_uio/meson.build | 2 +-
kernel/linux/kni/meson.build | 2 +-
kernel/linux/meson.build | 16 +++++++++-------
meson_options.txt | 4 ++--
4 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/kernel/linux/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build
index f5a9d5ccf..5093610e3 100644
--- a/kernel/linux/igb_uio/meson.build
+++ b/kernel/linux/igb_uio/meson.build
@@ -16,5 +16,5 @@ custom_target('igb_uio',
'modules'],
depends: mkfile,
install: true,
- install_dir: kernel_dir + '/../extra/dpdk',
+ install_dir: kernel_install_dir + '/extra/dpdk',
build_by_default: get_option('enable_kmods'))
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index a9f48b0e6..8a902d2ed 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -25,5 +25,5 @@ custom_target('rte_kni',
depends: kni_mkfile,
console: true,
install: true,
- install_dir: kernel_dir + '/../extra/dpdk',
+ install_dir: kernel_install_dir + '/extra/dpdk',
build_by_default: get_option('enable_kmods'))
diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build
index a37c95752..5a9303b33 100644
--- a/kernel/linux/meson.build
+++ b/kernel/linux/meson.build
@@ -3,19 +3,21 @@
subdirs = ['igb_uio', 'kni']
-# if we are cross-compiling we need kernel_dir specified
-if get_option('kernel_dir') == '' and meson.is_cross_build()
- warning('Need "kernel_dir" option for kmod compilation when cross-compiling')
+# if we are cross-compiling we need kernel_version specified
+if get_option('kernel_version') == '' and meson.is_cross_build()
+ warning('Need "kernel_version" option for kmod compilation when cross-compiling')
subdir_done()
endif
-kernel_dir = get_option('kernel_dir')
-if kernel_dir == ''
- # use default path for native builds
+kernel_version = get_option('kernel_version')
+if kernel_version == ''
+ # use default version for native builds
kernel_version = run_command('uname', '-r').stdout().strip()
- kernel_dir = '/lib/modules/' + kernel_version + '/build'
endif
+kernel_dir = '/lib/modules/' + kernel_version + '/build'
+kernel_install_dir = '/lib/modules/' + kernel_version
+
# test running make in kernel directory, using "make kernelversion"
make_returncode = run_command('make', '-sC', kernel_dir,
'kernelversion').returncode()
diff --git a/meson_options.txt b/meson_options.txt
index 16d9f92c6..5ca50d8dc 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -14,8 +14,8 @@ option('ibverbs_link', type: 'combo', choices : ['shared', 'dlopen'], value: 'sh
description: 'Linkage method (shared/dlopen) for Mellanox PMDs with ibverbs dependencies.')
option('include_subdir_arch', type: 'string', value: '',
description: 'subdirectory where to install arch-dependent headers')
-option('kernel_dir', type: 'string', value: '',
- description: 'path to the kernel for building kernel modules, they will be installed in $DEST_DIR/$kernel_dir/../extra/dpdk')
+option('kernel_version', type: 'string', value: '',
+ description: 'kernel version for building kernel modules')
option('lib_musdk_dir', type: 'string', value: '',
description: 'path to the MUSDK library installation directory')
option('machine', type: 'string', value: 'native',
--
2.21.0
More information about the dev
mailing list