1
From: Ben Hutchings <ben@decadent.org.uk>
2
Subject: [PATCH] Distinguish kernel makefile and source directories
3
Last-Update: 2010-05-23
5
The directory containing the top-level makefile is not the one
6
containing source and/or headers when using Debian or SUSE kernel
7
packages. With current Debian kernel packages, the header file
8
checks produce false negatives.
10
Index: alsa-driver-1.0.23+dfsg/configure.in
11
===================================================================
12
--- alsa-driver-1.0.23+dfsg.orig/configure.in 2010-05-28 19:14:23.000000000 +0200
13
+++ alsa-driver-1.0.23+dfsg/configure.in 2010-05-28 19:14:23.000000000 +0200
15
AC_MSG_RESULT($alsakerneldir)
16
AC_SUBST(ALSAKERNELDIR)
18
-dnl Check for directory with kernel source...
19
-AC_MSG_CHECKING(for directory with kernel source)
20
+dnl Check for directory with kernel top-level makefile...
21
+AC_MSG_CHECKING(for directory with kernel top-level makefile)
22
if test -d "/lib/modules/`uname -r`/source" -o -L "/lib/modules/`uname -r`/source"; then
23
DEFAULT_KERNEL_DIR="/lib/modules/`uname -r`/source"
24
DEFAULT_KERNEL_BUILD="/lib/modules/`uname -r`/build"
26
DEFAULT_KERNEL_DIR="/usr/src/linux"
29
- [ --with-kernel=dir give the directory with kernel sources]
30
+ [ --with-kernel=dir give the directory with kernel top-level makefile]
31
[ [[/usr/src/linux]]],
33
DEFAULT_KERNEL_BUILD=""],
36
AC_MSG_RESULT($kerneldir)
38
+dnl Check for directory with kernel source/headers...
39
+AC_MSG_CHECKING(for directory with kernel headers)
41
+if test -z "$dir"; then
42
+ echo >&2 "failed to create temporary directory"
45
+echo "\$(warning KBUILD_SRC=\$(KBUILD_SRC))" > "$dir"/Makefile
46
+kernelsrc=$(make -C "$CONFIG_SND_KERNELDIR" M="$dir" 2>&1 >/dev/null | \
47
+ sed -n "s#^$dir/Makefile:.*: KBUILD_SRC=\(.*\)\$#\1#; T; p; q")
49
+if test -z "$kernelsrc"; then
50
+ AC_MSG_RESULT(failed)
53
+ CONFIG_SND_KERNELSRC="$kernelsrc"
54
+ AC_MSG_RESULT($kernelsrc)
57
dnl Check for directory with kernel build tree...
58
AC_MSG_CHECKING(for directory with kernel build)
61
AC_DEFUN([CHECK_REQUIRED_KERNEL_HEADER], [
63
AC_MSG_CHECKING(for kernel $2 $3)
64
- if ! test -r $CONFIG_SND_KERNELDIR/include/$2; then
65
+ if ! test -r $CONFIG_SND_KERNELSRC/include/$2; then
66
if test -z "$kernelbuild" -o ! -f $kernelbuild/include/$2; then
69
- if ! test -r $CONFIG_SND_KERNELDIR/include/$3; then
70
+ if ! test -r $CONFIG_SND_KERNELSRC/include/$3; then
71
if test -z "$kernelbuild" -o ! -f $kernelbuild/include/$3; then
74
-The file $CONFIG_SND_KERNELDIR/include/$2 does not exist.
75
-The file $CONFIG_SND_KERNELDIR/include/$3 does not exist.
76
+The file $CONFIG_SND_KERNELSRC/include/$2 does not exist.
77
+The file $CONFIG_SND_KERNELSRC/include/$3 does not exist.
78
Please install the package with full kernel sources for your distribution
79
or use --with-kernel=dir option to specify another directory with kernel
80
sources (default is $DEFAULT_KERNEL_DIR).
85
-The file $CONFIG_SND_KERNELDIR/include/$1 does not exist.
86
+The file $CONFIG_SND_KERNELSRC/include/$1 does not exist.
87
Please install the package with full kernel sources for your distribution
88
or use --with-kernel=dir option to specify another directory with kernel
89
sources (default is $DEFAULT_KERNEL_DIR).
91
AC_DEFUN([CHECK_POSSIBLE_KERNEL_HEADER], [
93
AC_MSG_CHECKING(for kernel $2 $3)
94
- if test -r $CONFIG_SND_KERNELDIR/include/$2; then
95
+ if test -r $CONFIG_SND_KERNELSRC/include/$2; then
98
if test -n "$kernelbuild" -a -f $kernelbuild/include/$2; then
101
if test -n "$3"; then
102
- if test -r $CONFIG_SND_KERNELDIR/include/$3; then
103
+ if test -r $CONFIG_SND_KERNELSRC/include/$3; then
106
if test -n "$kernelbuild" -a -f $kernelbuild/include/$3; then
109
dnl Check for kernel version...
110
AC_MSG_CHECKING(for kernel version)
111
-KERNEL_INC="-I$CONFIG_SND_KERNELDIR/include"
112
+KERNEL_INC="-I$CONFIG_SND_KERNELSRC/include"
114
if test -n "$kernelbuild"; then
117
if test -n "$kernelbuild" -a -f $kernelbuild/include/$INCLUDE_VERSION_H; then
120
- KERNDIR=$CONFIG_SND_KERNELDIR
121
+ KERNDIR=$CONFIG_SND_KERNELSRC
126
ksublevel=`expr $ksublevel + 0`
127
if test "$kversion" = "0" -a "$kpatchlevel" = "0" -a "$ksublevel" = "0"; then
128
AC_MSG_RESULT(failed)
129
- echo " (probably missing $CONFIG_SND_KERNELDIR/include/linux/version.h or"
130
- echo " $CONFIG_SND_KERNELDIR/include/linux/utsrelease.h or"
131
- echo " $CONFIG_SND_KERNELDIR/include/generated/utsrelease.h)"
132
+ echo " (probably missing $CONFIG_SND_KERNELSRC/include/linux/version.h or"
133
+ echo " $CONFIG_SND_KERNELSRC/include/linux/utsrelease.h or"
134
+ echo " $CONFIG_SND_KERNELSRC/include/generated/utsrelease.h)"
137
kaversion="$kversion.$kpatchlevel.$ksublevel$kextraversion"
139
if test -n "$kernelbuild" -a -f $kernelbuild/include/linux/compile.h; then
142
- KERNDIR=$CONFIG_SND_KERNELDIR
143
+ KERNDIR=$CONFIG_SND_KERNELSRC
148
#ifdef LINUX_COMPILER
149
f=fopen("./conftestdata","w");
151
- for (ptr = LINUX_COMPILER, dptr = compiler; *ptr != '\0' && *ptr != ' ' && *ptr != '\t'; ptr++, dptr++)
152
+for (ptr = LINUX_COMPILER, dptr = compiler; *ptr != '\0' && *ptr != ' ' && *ptr != '\t'; ptr++, dptr++)
154
if (*ptr != '\0' && (*ptr == ' ' || *ptr == '\t'))
157
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" -o -f "$kernelbuild/arch/$ARCHDIR/include/$1" \) ; then
160
- KERNDIR=$CONFIG_SND_KERNELDIR
161
+ KERNDIR=$CONFIG_SND_KERNELSRC
163
if test -n "$3"; then
166
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" -o -f "$kernelbuild/arch/$ARCHDIR/include/$1" \) ; then
169
- KERNDIR=$CONFIG_SND_KERNELDIR
170
+ KERNDIR=$CONFIG_SND_KERNELSRC
172
if grep -q $2 "$KERNDIR/include/$1" "$KERNDIR/include2/$1" "$KERNDIR/arch/$ARCHDIR/include/$1" > /dev/null 2>&1; then
175
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
178
- KERNDIR=$CONFIG_SND_KERNELDIR
179
+ KERNDIR=$CONFIG_SND_KERNELSRC
184
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
187
- KERNDIR=$CONFIG_SND_KERNELDIR
188
+ KERNDIR=$CONFIG_SND_KERNELSRC
193
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
196
- KERNDIR=$CONFIG_SND_KERNELDIR
197
+ KERNDIR=$CONFIG_SND_KERNELSRC
202
AC_MSG_CHECKING(for exported symbol $2)
203
ac_save_CFLAGS="$CFLAGS"
205
- if grep EXPORT_SYMBOL "$CONFIG_SND_KERNELDIR/kernel/ksyms.c" | grep "$2" > /dev/null; then
206
+ if grep EXPORT_SYMBOL "$CONFIG_SND_KERNELSRC/kernel/ksyms.c" | grep "$2" > /dev/null; then
207
AC_MSG_RESULT(yes);boolchk="y"
211
dnl define kernel directory now
212
AC_DEFINE_UNQUOTED(CONFIG_SND_KERNELDIR, "$CONFIG_SND_KERNELDIR")
213
AC_SUBST(CONFIG_SND_KERNELDIR)
214
+AC_DEFINE_UNQUOTED(CONFIG_SND_KERNELSRC, "$CONFIG_SND_KERNELSRC")
215
+AC_SUBST(CONFIG_SND_KERNELSRC)
218
dnl update include/sound/version.h
220
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
223
- KERNDIR=$CONFIG_SND_KERNELDIR
224
+ KERNDIR=$CONFIG_SND_KERNELSRC
228
@@ -1072,8 +1093,8 @@
231
c_opts="-D__powerpc__ -fsigned-char -fno-builtin -msoft-float -ffixed-r2 -Wno-uninitialized -mmultiple -mstring"
232
- if test -d $CONFIG_SND_KERNELDIR/arch/ppc/include; then
233
- KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELDIR/arch/ppc/include"
234
+ if test -d $CONFIG_SND_KERNELSRC/arch/ppc/include; then
235
+ KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELSRC/arch/ppc/include"
239
@@ -1229,8 +1250,8 @@
243
- if test -d $CONFIG_SND_KERNELDIR/arch/$ARCHDIR/include; then
244
- KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELDIR/arch/$ARCHDIR/include"
245
+ if test -d $CONFIG_SND_KERNELSRC/arch/$ARCHDIR/include; then
246
+ KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELSRC/arch/$ARCHDIR/include"
250
@@ -1244,8 +1265,8 @@
253
for i in include/asm-x86 include/asm-i386 include2/asm-x86 include2/asm-i386 arch/x86/include/asm; do
254
- if test -r $CONFIG_SND_KERNELDIR/$i/mach-default/mach_apic.h; then
255
- mach_dir="$CONFIG_SND_KERNELDIR/$i"
256
+ if test -r $CONFIG_SND_KERNELSRC/$i/mach-default/mach_apic.h; then
257
+ mach_dir="$CONFIG_SND_KERNELSRC/$i"
260
if test -n "$kernelbuild" -a -r $kernelbuild/$i/mach-default/mach_apic.h; then
261
@@ -1256,8 +1277,8 @@
264
for i in include/asm-x86 include2/asm-x86 arch/x86/include/asm; do
265
- if test -r $CONFIG_SND_KERNELDIR/$i/mach-default/mach_apic.h; then
266
- mach_dir="$CONFIG_SND_KERNELDIR/$i"
267
+ if test -r $CONFIG_SND_KERNELSRC/$i/mach-default/mach_apic.h; then
268
+ mach_dir="$CONFIG_SND_KERNELSRC/$i"
271
if test -n "$kernelbuild" -a -r $kernelbuild/$i/mach-default/mach_apic.h; then
272
@@ -1278,8 +1299,8 @@
276
- if test -d $CONFIG_SND_KERNELDIR/arch/$checkarch/include; then
277
- KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELDIR/arch/$checkarch/include"
278
+ if test -d $CONFIG_SND_KERNELSRC/arch/$checkarch/include; then
279
+ KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELSRC/arch/$checkarch/include"
283
@@ -1292,7 +1313,7 @@
284
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
287
- KERNDIR=$CONFIG_SND_KERNELDIR
288
+ KERNDIR=$CONFIG_SND_KERNELSRC
292
@@ -1343,7 +1364,7 @@
293
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
296
- KERNDIR=$CONFIG_SND_KERNELDIR
297
+ KERNDIR=$CONFIG_SND_KERNELSRC
301
@@ -1417,7 +1438,7 @@
303
if test "$CONFIG_MIPS" = "y"; then
304
AC_MSG_CHECKING(for SGI/MIPS (HAL2) architecture)
305
- if test -r "$CONFIG_SND_KERNELDIR/include/asm/sgi/sgihpc.h"; then
306
+ if test -r "$CONFIG_SND_KERNELSRC/include/asm/sgi/sgihpc.h"; then
309
if test "$CONFIG_SGI" = "y"; then
310
@@ -1475,7 +1496,7 @@
311
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" \) ; then
314
- KERNDIR=$CONFIG_SND_KERNELDIR
315
+ KERNDIR=$CONFIG_SND_KERNELSRC
317
deprecated_config_h="0"
318
if test -r $KERNDIR/include/linux/config.h ; then
319
@@ -1647,7 +1668,7 @@
320
dnl Check for ISA PnP driver in kernel...
321
AC_MSG_CHECKING(for ISA PnP driver in kernel)
322
CONFIG_ISAPNP_KERNEL=
323
-if test -r $CONFIG_SND_KERNELDIR/include/linux/isapnp.h; then
324
+if test -r $CONFIG_SND_KERNELSRC/include/linux/isapnp.h; then
326
AC_DEFINE(CONFIG_ISAPNP_KERNEL)
327
CONFIG_ISAPNP_KERNEL=y
328
@@ -1659,7 +1680,7 @@
329
dnl Check for PnP layer (2.5+) in kernel...
330
AC_MSG_CHECKING(for PnP driver in kernel)
332
-if test -r $CONFIG_SND_KERNELDIR/include/linux/pnp.h; then
333
+if test -r $CONFIG_SND_KERNELSRC/include/linux/pnp.h; then
335
AC_DEFINE(CONFIG_PNP_KERNEL)
337
@@ -3482,8 +3503,8 @@
338
mkdir -p include/linux include/generated
339
if test -n "$kernelbuild" -a -r $kernelbuild/include/$INCLUDE_AUTOCONF_H ; then
340
kernconf="$kernelbuild/include/$INCLUDE_AUTOCONF_H"
341
- elif test -r $CONFIG_SND_KERNELDIR/include/$INCLUDE_AUTOCONF_H ; then
342
- kernconf="$CONFIG_SND_KERNELDIR/include/$INCLUDE_AUTOCONF_H"
343
+ elif test -r $CONFIG_SND_KERNELSRC/include/$INCLUDE_AUTOCONF_H ; then
344
+ kernconf="$CONFIG_SND_KERNELSRC/include/$INCLUDE_AUTOCONF_H"
347
File include/$INCLUDE_AUTOCONF_H does not exist in kernel tree.
348
Index: alsa-driver-1.0.23+dfsg/include/i2c-id_compat.h.in
349
===================================================================
350
--- alsa-driver-1.0.23+dfsg.orig/include/i2c-id_compat.h.in 2010-05-28 19:12:09.000000000 +0200
351
+++ alsa-driver-1.0.23+dfsg/include/i2c-id_compat.h.in 2010-05-28 19:14:23.000000000 +0200
353
-#include "@CONFIG_SND_KERNELDIR@/include/linux/i2c-id.h"
354
+#include "@CONFIG_SND_KERNELSRC@/include/linux/i2c-id.h"
356
#ifndef I2C_DRIVERID_WM8731
357
#define I2C_DRIVERID_WM8731 89 /* Wolfson WM8731 audio codec */
358
Index: alsa-driver-1.0.23+dfsg/include/pci_ids_compat.h.in
359
===================================================================
360
--- alsa-driver-1.0.23+dfsg.orig/include/pci_ids_compat.h.in 2010-05-28 19:12:09.000000000 +0200
361
+++ alsa-driver-1.0.23+dfsg/include/pci_ids_compat.h.in 2010-05-28 19:14:23.000000000 +0200
364
-#include "@CONFIG_SND_KERNELDIR@/include/linux/pci_ids.h"
365
+#include "@CONFIG_SND_KERNELSRC@/include/linux/pci_ids.h"