compat: fix few compilations by adding compat_autoconf.h support
[~emulex/for-vlad/old/compat.git] / scripts / gen-compat-config.sh
1 #!/bin/bash
2 # Copyright 2012        Luis R. Rodriguez <mcgrof@frijolero.org>
3 # Copyright 2012        Hauke Mehrtens <hauke@hauke-m.de>
4 #
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
7 # for.
8 #
9 # Note: this is part of the compat.git project, not compat-wireless.git,
10 # send patches against compat.git.
11
12 if [[ ! -f ${KLIB_BUILD}/Makefile ]]; then
13         exit
14 fi
15
16 # Actual kernel version
17 KERNEL_VERSION=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p')
18
19 # 3.0 kernel stuff
20 COMPAT_LATEST_VERSION="3"
21 KERNEL_SUBLEVEL="-1"
22
23 # This allows all these variables to be propagated through
24 # all of our Makefiles
25 echo export
26
27 if [[ ${KERNEL_VERSION} -eq "3" ]]; then
28         KERNEL_SUBLEVEL=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^3\.\([0-9]\+\).*/\1/p')
29 else
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
33
34         for i in $(seq ${KERNEL_26SUBLEVEL} ${COMPAT_26LATEST_VERSION}); do
35                 echo "CONFIG_COMPAT_KERNEL_2_6_${i}=y"
36         done
37 fi
38
39 let KERNEL_SUBLEVEL=${KERNEL_SUBLEVEL}+1
40 for i in $(seq ${KERNEL_SUBLEVEL} ${COMPAT_LATEST_VERSION}); do
41         echo "CONFIG_COMPAT_KERNEL_3_${i}=y"
42 done
43
44 if [[ ${CONFIG_COMPAT_KERNEL_2_6_33} -eq "y" ]]; then
45         echo "CONFIG_COMPAT_FIRMWARE_CLASS=m"
46 fi
47
48 if [[ ${CONFIG_COMPAT_KERNEL_2_6_36} -eq "y" ]]; then
49         echo "CONFIG_COMPAT_KFIFO=m"
50 fi