2 # Copyright 2012 Luis R. Rodriguez <mcgrof@frijolero.org>
3 # Copyright 2012 Hauke Mehrtens <hauke@hauke-m.de>
5 # This generates a bunch of CONFIG_COMPAT_KERNEL_2_6_22
6 # CONFIG_COMPAT_KERNEL_3_0 .. etc for each kernel release you need an object
9 # Note: this is part of the compat.git project, not compat-wireless.git,
10 # send patches against compat.git.
12 if [[ ! -f ${KLIB_BUILD}/Makefile ]]; then
16 # Actual kernel version
17 KERNEL_VERSION=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p')
20 COMPAT_LATEST_VERSION="3"
23 # This allows all these variables to be propagated through
24 # all of our Makefiles
27 if [[ ${KERNEL_VERSION} -eq "3" ]]; then
28 KERNEL_SUBLEVEL=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^3\.\([0-9]\+\).*/\1/p')
30 COMPAT_26LATEST_VERSION="39"
31 KERNEL_26SUBLEVEL=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
32 let KERNEL_26SUBLEVEL=${KERNEL_26SUBLEVEL}+1
34 for i in $(seq ${KERNEL_26SUBLEVEL} ${COMPAT_26LATEST_VERSION}); do
35 eval CONFIG_COMPAT_KERNEL_2_6_${i}=y
36 echo "CONFIG_COMPAT_KERNEL_2_6_${i}=y"
40 let KERNEL_SUBLEVEL=${KERNEL_SUBLEVEL}+1
41 for i in $(seq ${KERNEL_SUBLEVEL} ${COMPAT_LATEST_VERSION}); do
42 eval CONFIG_COMPAT_KERNEL_3_${i}=y
43 echo "CONFIG_COMPAT_KERNEL_3_${i}=y"
46 # The purpose of these seem to be the inverse of the above other varibales.
47 # The RHEL checks seem to annotate the existance of RHEL minor versions.
48 RHEL_MAJOR=$(grep ^RHEL_MAJOR ${KLIB_BUILD}/Makefile | sed -n 's/.*= *\(.*\)/\1/p')
49 if [[ ! -z ${RHEL_MAJOR} ]]; then
50 RHEL_MINOR=$(grep ^RHEL_MINOR $(KLIB_BUILD)/Makefile | sed -n 's/.*= *\(.*\)/\1/p')
51 for i in $(seq 0 ${RHEL_MINOR}); do
52 eval CONFIG_COMPAT_${RHEL_MAJOR}_${i}=y
53 echo "CONFIG_COMPAT_${RHEL_MAJOR}_${i}=y"
57 if [[ ${CONFIG_COMPAT_KERNEL_2_6_33} = "y" ]]; then
58 echo "CONFIG_COMPAT_FIRMWARE_CLASS=m"
61 if [[ ${CONFIG_COMPAT_KERNEL_2_6_36} = "y" ]]; then
62 echo "CONFIG_COMPAT_KFIFO=m"