a5a309642a
Ensure the kernel headers version used in the custom external toolchain, or the manually-specified kernel headers version, matches exactly the one selected by the user. We do not care about the patch-level, since headers are not supposed to change between patchlevels. This applies only to kernels >= 3.0, but those are actually the ones we do care about; we treat all 2.6.x kernels as being a single version, since we do not support any 2.6 kernels for packages with kernel-dependant features. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
22 lines
623 B
Bash
Executable File
22 lines
623 B
Bash
Executable File
#!/bin/sh
|
|
|
|
CC="${1}"
|
|
# Make sure we have enough version components
|
|
HDR_VER="${2}.0.0"
|
|
|
|
HDR_M="${HDR_VER%%.*}"
|
|
HDR_V="${HDR_VER#*.}"
|
|
HDR_m="${HDR_V%%.*}"
|
|
|
|
# We do not want to account for the patch-level, since headers are
|
|
# not supposed to change for different patchlevels, so we mask it out.
|
|
# This only applies to kernels >= 3.0, but those are the only one
|
|
# we actually care about; we treat all 2.6.x kernels equally.
|
|
|
|
exec ${CC} -E -x c -o - - >/dev/null 2>&1 <<_EOF_
|
|
#include <linux/version.h>
|
|
#if (LINUX_VERSION_CODE & ~0xFF) != KERNEL_VERSION(${HDR_M},${HDR_m},0)
|
|
#error Incorrect kernel header version.
|
|
#endif
|
|
_EOF_
|