1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright(c) 2018 Intel Corporation 3 4subdirs = ['igb_uio', 'kni'] 5 6WARN_CROSS_COMPILE='Need "kernel_dir" option for kmod compilation when cross-compiling' 7WARN_NO_HEADERS='Cannot compile kernel modules as requested - are kernel headers installed?' 8 9# if we are cross-compiling we need kernel_dir specified 10if get_option('kernel_dir') == '' and meson.is_cross_build() 11 warning(WARN_CROSS_COMPILE) 12 subdir_done() 13endif 14 15kernel_dir = get_option('kernel_dir') 16if kernel_dir == '' 17 # use default path for native builds 18 kernel_version = run_command('uname', '-r').stdout().strip() 19 kernel_dir = '/lib/modules/' + kernel_version + '/build' 20endif 21 22# test running make in kernel directory, using "make kernelversion" 23make_returncode = run_command('make', '-sC', kernel_dir, 24 'kernelversion').returncode() 25if make_returncode != 0 26 warning(WARN_NO_HEADERS) 27 subdir_done() 28endif 29 30# DO ACTUAL MODULE BUILDING 31foreach d:subdirs 32 subdir(d) 33endforeach 34