1
dnl Process this file with autoconf to produce a configure script.
3
dnl Copyright (c) by Jaroslav Kysela <perex@perex.cz>
6
AC_INIT(acore/sound.patch)
7
AC_PREFIX_DEFAULT(/usr)
8
CONFIG_SND_VERSION="1.0.23"
10
dnl Checks for programs.
15
dnl the following should be checked, but they are not used...
21
dnl Checks for header files.
23
AC_CONFIG_HEADER(include/config.h include/config1.h include/version.h include/autoconf-extra.h)
24
dnl AC_CHECK_HEADERS(linux/fs.h)
26
dnl Checks for typedefs, structures, and compiler characteristics.
31
dnl Checks for library functions.
32
AC_PROG_GCC_TRADITIONAL
34
dnl Check for current directory
35
AC_MSG_CHECKING(for current directory)
38
AC_MSG_RESULT($SRCDIR)
42
dnl Check for cross compile...
43
AC_MSG_CHECKING(cross compile)
45
[ --with-cross=dir give the cross-compile prefix],
46
crossprefix="$withval",
48
CROSS_COMPILE="$crossprefix"
49
AC_SUBST(CROSS_COMPILE)
50
AC_MSG_RESULT($CROSS_COMPILE)
52
if test "$crossprefix"; then
53
# modify CC, CPP and maybe some other variables. CC is set to
54
# e.g. /usr/local/bin/gcc by autoconf - this is then modified
55
# to arm-linux-/usr/local/bin/gcc in Makefile.conf - that is bad - so
56
# cut the path out (but save optional params - e.g. gcc -E for CPP)
57
echo $CC | grep ' ' >/dev/null && CC_save=`echo "$CC" | cut -d' ' -f2-`
58
CC="`basename $CC` $CC_save"
60
echo $CPP | grep ' ' >/dev/null && CPP_save=`echo "$CPP" | cut -d' ' -f2-`
61
CPP="`basename $CPP` $CPP_save"
64
dnl Check for directory with current ALSA linux kernel sources...
65
AC_MSG_CHECKING(for directory with ALSA kernel sources)
66
AC_ARG_WITH(alsakernel,
67
[ --with-alsakernel=dir give the directory with ALSA kernel sources]
68
[ [[../alsa-kmirror]]],
69
[alsakerneldir="$withval"],
70
[alsakerneldir="../alsa-kmirror"]
73
if test -d "$alsakerneldir"; then
74
ALSAKERNELDIR=$(cd "$alsakerneldir" && pwd)
75
elif test -d "alsa-kernel"; then
76
ALSAKERNELDIR=$(cd "alsa-kernel" && pwd)
78
if test -z "$ALSAKERNELDIR"; then
80
The directory $alsakerneldir does not exist.
81
Please obtain the ALSA linux kernel tree (alsa-kmirror or alsa-kernel).
85
AC_MSG_RESULT($alsakerneldir)
86
AC_SUBST(ALSAKERNELDIR)
88
dnl Check for directory with kernel top-level makefile...
89
AC_MSG_CHECKING(for directory with kernel top-level makefile)
90
if test -d "/lib/modules/`uname -r`/source" -o -L "/lib/modules/`uname -r`/source"; then
91
DEFAULT_KERNEL_DIR="/lib/modules/`uname -r`/source"
92
DEFAULT_KERNEL_BUILD="/lib/modules/`uname -r`/build"
93
elif test -d "/lib/modules/`uname -r`/build" -o -L "/lib/modules/`uname -r`/build"; then
94
DEFAULT_KERNEL_DIR="/lib/modules/`uname -r`/build"
96
DEFAULT_KERNEL_DIR="/usr/src/linux"
99
[ --with-kernel=dir give the directory with kernel top-level makefile]
100
[ [[/usr/src/linux]]],
101
[kerneldir="$withval"
102
DEFAULT_KERNEL_BUILD=""],
103
[kerneldir="$DEFAULT_KERNEL_DIR"]
105
if test -d "$kerneldir"; then
106
CONFIG_SND_KERNELDIR=$(cd "$kerneldir" && pwd)
109
Please install the package with full kernel sources for your distribution
110
or use --with-kernel=dir option to specify another directory with kernel
111
sources (default is $DEFAULT_KERNEL_DIR).
115
AC_MSG_RESULT($kerneldir)
117
dnl Check for directory with kernel source/headers...
118
AC_MSG_CHECKING(for directory with kernel headers)
120
if test -z "$dir"; then
121
echo >&2 "failed to create temporary directory"
124
echo "\$(warning KBUILD_SRC=\$(KBUILD_SRC))" > "$dir"/Makefile
125
kernelsrc=$(make -C "$CONFIG_SND_KERNELDIR" M="$dir" 2>&1 >/dev/null | \
126
sed -n "s#^$dir/Makefile:.*: KBUILD_SRC=\(.*\)\$#\1#; T; p; q")
128
if test -z "$kernelsrc"; then
129
AC_MSG_RESULT(failed)
132
CONFIG_SND_KERNELSRC="$kernelsrc"
133
AC_MSG_RESULT($kernelsrc)
136
dnl Check for directory with kernel build tree...
137
AC_MSG_CHECKING(for directory with kernel build)
139
[ --with-build=dir give the directory with kernel build tree],
140
kernelbuild="$withval",
141
kernelbuild="$DEFAULT_KERNEL_BUILD"
143
CONFIG_SND_KERNELBUILD="$kernelbuild"
144
AC_MSG_RESULT($kernelbuild)
146
AC_DEFUN([CHECK_REQUIRED_KERNEL_HEADER], [
148
AC_MSG_CHECKING(for kernel $2 $3)
149
if ! test -r $CONFIG_SND_KERNELSRC/include/$2; then
150
if test -z "$kernelbuild" -o ! -f $kernelbuild/include/$2; then
151
if test -n "$3"; then
153
if ! test -r $CONFIG_SND_KERNELSRC/include/$3; then
154
if test -z "$kernelbuild" -o ! -f $kernelbuild/include/$3; then
157
The file $CONFIG_SND_KERNELSRC/include/$2 does not exist.
158
The file $CONFIG_SND_KERNELSRC/include/$3 does not exist.
159
Please install the package with full kernel sources for your distribution
160
or use --with-kernel=dir option to specify another directory with kernel
161
sources (default is $DEFAULT_KERNEL_DIR).
169
The file $CONFIG_SND_KERNELSRC/include/$1 does not exist.
170
Please install the package with full kernel sources for your distribution
171
or use --with-kernel=dir option to specify another directory with kernel
172
sources (default is $DEFAULT_KERNEL_DIR).
180
CHECK_REQUIRED_KERNEL_HEADER([INCLUDE_VERSION_H], [linux/version.h])
181
CHECK_REQUIRED_KERNEL_HEADER([INCLUDE_AUTOCONF_H], [linux/autoconf.h],
182
[generated/autoconf.h])
184
AC_DEFUN([CHECK_POSSIBLE_KERNEL_HEADER], [
186
AC_MSG_CHECKING(for kernel $2 $3)
187
if test -r $CONFIG_SND_KERNELSRC/include/$2; then
190
if test -n "$kernelbuild" -a -f $kernelbuild/include/$2; then
193
if test -n "$3"; then
194
if test -r $CONFIG_SND_KERNELSRC/include/$3; then
197
if test -n "$kernelbuild" -a -f $kernelbuild/include/$3; then
204
if ! test -z "$$1"; then
210
CHECK_POSSIBLE_KERNEL_HEADER([INCLUDE_UTSRELEASE_H], [linux/utsrelease.h],
211
[generated/utsrelease.h])
213
dnl Check for kernel version...
214
AC_MSG_CHECKING(for kernel version)
215
KERNEL_INC="-I$CONFIG_SND_KERNELSRC/include"
217
if test -n "$kernelbuild"; then
219
if test -d "$kernelbuild/include"; then
220
kpath="-I$kernelbuild/include"
222
if test -d "$kernelbuild/include2"; then
223
kpath="$kpath -I$kernelbuild/include2"
224
MAKE_ADDS="O=$kernelbuild"
226
KERNEL_INC="$kpath $KERNEL_INC"
229
ac_save_CFLAGS="$CFLAGS"
230
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
231
if test -n "$kernelbuild" -a -f $kernelbuild/include/$INCLUDE_VERSION_H; then
234
KERNDIR=$CONFIG_SND_KERNELSRC
240
#include "$KERNDIR/include/$INCLUDE_VERSION_H"
242
#include "$KERNDIR/include/$INCLUDE_UTSRELEASE_H"
248
char kpatchlevel[128];
253
f=fopen("./conftestdata","w");
255
for (ptr = UTS_RELEASE, dptr = kversion; *ptr != '\0' && isdigit(*ptr); ptr++, dptr++)
260
for (dptr = kpatchlevel; *ptr != '\0' && isdigit(*ptr); ptr++, dptr++)
265
for (dptr = ksublevel; *ptr != '\0' && isdigit(*ptr); ptr++, dptr++)
268
for (dptr = kextra; *ptr != '\0'; ptr++, dptr++)
271
fprintf(f,"%s:%s:%s:%s\n",kversion,kpatchlevel,ksublevel,kextra);
278
}],kaversion=`cat conftestdata`,
281
CFLAGS="$ac_save_CFLAGS"
282
kversion=`echo $kaversion | cut -d : -f 1`
283
kpatchlevel=`echo $kaversion | cut -d : -f 2`
284
ksublevel=`echo $kaversion | cut -d : -f 3`
285
kextraversion=`echo $kaversion | cut -d : -f 4`
286
kversion=`expr $kversion + 0`
287
kpatchlevel=`expr $kpatchlevel + 0`
288
ksublevel=`expr $ksublevel + 0`
289
if test "$kversion" = "0" -a "$kpatchlevel" = "0" -a "$ksublevel" = "0"; then
290
AC_MSG_RESULT(failed)
291
echo " (probably missing $CONFIG_SND_KERNELSRC/include/linux/version.h or"
292
echo " $CONFIG_SND_KERNELSRC/include/linux/utsrelease.h or"
293
echo " $CONFIG_SND_KERNELSRC/include/generated/utsrelease.h)"
296
kaversion="$kversion.$kpatchlevel.$ksublevel$kextraversion"
299
AC_SUBST(kpatchlevel)
301
AC_SUBST(kextraversion)
302
AC_MSG_RESULT($kaversion)
304
dnl Check for GCC version...
306
AC_MSG_CHECKING(for GCC version)
307
ac_save_CFLAGS="$CFLAGS"
308
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
309
if test -n "$kernelbuild" -a -f $kernelbuild/include/linux/compile.h; then
312
KERNDIR=$CONFIG_SND_KERNELSRC
319
#include "$KERNDIR/include/linux/compile.h"
325
#ifdef LINUX_COMPILER
326
f=fopen("./conftestdata","w");
328
for (ptr = LINUX_COMPILER, dptr = compiler; *ptr != '\0' && *ptr != ' ' && *ptr != '\t'; ptr++, dptr++)
330
if (*ptr != '\0' && (*ptr == ' ' || *ptr == '\t'))
332
if (!strncmp(ptr, "version", 7))
334
if (*ptr != '\0' && (*ptr == ' ' || *ptr == '\t'))
337
for (; *ptr != '\0' && *ptr != '\n'; ptr++, dptr++)
341
if (!strcmp(compiler, " "))
343
fprintf(f,"%s\n",compiler);
350
}],kernel_compiler=`cat conftestdata`,
353
CFLAGS="$ac_save_CFLAGS"
354
my_compiler=`$CROSS_COMPILE$CC --version | head -n 1`
357
dnl Test section, uncomment any of these double lines to verify the bellow code:
359
dnl kernel_compiler="gcc-Version 3.3"
360
dnl my_compiler="gcc (GCC) 3.3"
362
dnl kernel_compiler="gcc 3.2"
363
dnl my_compiler="gcc (GCC) 3.2"
365
dnl kernel_compiler="gcc 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)"
366
dnl my_compiler="gcc-3.2.2 (GCC) 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)"
368
dnl kernel_compiler="gcc egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)"
369
dnl my_compiler="egcs-2.91.66"
371
dnl kernel_compiler="gcc 2.95.3 20010315 (release)"
372
dnl my_compiler="2.95.3"
376
AC_DEFUN([CHECK_COMPILER], [
380
ac_compiler_version=""
383
gcc-[[0-9]]*|*-gcc-[[0-9]]*)
384
if test -z "$ac_compiler_type"; then
387
if test -z "$ac_compiler_version"; then
388
ac_compiler_version=`echo $i | sed -e 's/^.*gcc-\([[0-9.]]\+\).*$/\1/'`
392
if test -z "$ac_compiler_type"; then
397
ac_compiler_type=egcs
398
if test -z "$ac_compiler_version"; then
399
ac_compiler_version=`echo $i | sed -e 's/egcs-\(.\+\)$/\1/'`
403
if test -z "$ac_compiler_type"; then
408
if test -z "$ac_compiler_version"; then
409
ac_compiler_version=`echo $i | sed -e 's|[[^0-9]]*\([[0-9.]]\+\).*$|\1|'`
414
eval $typevar="$ac_compiler_type"
415
eval $versionvar="$ac_compiler_version"
418
CHECK_COMPILER($kernel_compiler, kernel_compiler_type, kernel_compiler_version)
419
CHECK_COMPILER($my_compiler, my_compiler_type, my_compiler_version)
420
if test -z "$my_compiler_type"; then
421
my_compiler_type="gcc"
423
AC_MSG_RESULT(Kernel compiler: $kernel_compiler Used compiler: $my_compiler);
424
if test -z "$kernel_compiler"; then
426
echo "*** NO PREDEFINED KERNEL COMPILER IS DETECTED"
427
echo "*** Assuming the same compiler is used with the current system compiler."
429
echo "*** Please make sure that the same compiler version was used for building kernel."
432
if test "$my_compiler_type" != "$kernel_compiler_type"; then
433
echo "Fatal error: Compiler type does not match"
434
echo "Decoded kernel compiler: type=$kernel_compiler_type version=$kernel_compiler_version"
435
echo "Decoded used compiler: type=$my_compiler_type version=$my_compiler_version"
436
echo "Please, send ./configure output to <alsa-devel@alsa-project.org>"
439
if test "$my_compiler_type" = "gcc" ; then
440
kernel_major=`echo $kernel_compiler_version | cut -d '.' -f 1`
441
my_major=`echo $my_compiler_version | cut -d '.' -f 1`
442
if test $kernel_major -eq 2 -a $my_major -eq 3 ; then
443
echo "Fatal error: Kernel is compiled with GCC 2.x and you are trying to use GCC 3.x."
444
echo " These two version of GCC are incompatible for binary code."
447
if test $kernel_major -eq 3 -a $my_major -eq 2 ; then
448
echo "Fatal error: Kernel is compiled with GCC 3.x and you are trying to use GCC 2.x."
449
echo " These two version of GCC are incompatible for binary code."
455
dnl compiler version check
457
AC_DEFUN([CHECK_KERNEL_HEADER], [
458
AC_MSG_CHECKING(for kernel $1)
459
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" -o -f "$kernelbuild/arch/$ARCHDIR/include/$1" \) ; then
462
KERNDIR=$CONFIG_SND_KERNELSRC
464
if test -n "$3"; then
467
if test -f "$KERNDIR/include/$1" -o -f "$KERNDIR/include2/$1" -o -f "$KERNDIR/arch/$ARCHDIR/include/$1"; then
469
if test -f include/$1; then
470
echo "Removing a dummy $1."
473
if test -n "$3"; then
478
if test ! -f include/$1; then
479
mkdir -p include/linux include/asm include/media
480
mkdir -p include/linux/regulator include/linux/usb
481
if test -z "$2" ; then
482
echo "Creating a dummy <$1>..."
485
echo "Creating <$1>..."
486
echo "$2" > include/$1
492
AC_DEFUN([MODIFY_KERNEL_HEADER], [
493
AC_MSG_CHECKING(to modify of kernel $1)
494
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" -o -f "$kernelbuild/arch/$ARCHDIR/include/$1" \) ; then
497
KERNDIR=$CONFIG_SND_KERNELSRC
499
if grep -q $2 "$KERNDIR/include/$1" "$KERNDIR/include2/$1" "$KERNDIR/arch/$ARCHDIR/include/$1" > /dev/null 2>&1; then
501
if test -f include/$1; then
502
echo "Removing a dummy $1."
507
mkdir -p include/linux include/asm include/media
508
echo "#ifndef $2" > include/$1
509
echo "#define $2" >> include/$1
510
cat "$KERNDIR/include/$1" >> include/$1
511
echo "#endif /* $2 */" >> include/$1
515
dnl Check kernel configurations
516
AC_DEFUN([CHECK_KERNEL_CONFIG_BUILTIN], [
518
AC_MSG_CHECKING(for $2)
519
ac_save_CFLAGS="$CFLAGS"
520
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
521
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
524
KERNDIR=$CONFIG_SND_KERNELSRC
528
#include "$KERNDIR/include/$INCLUDE_AUTOCONF_H"
537
AC_MSG_RESULT(yes);boolchk="y",
538
AC_MSG_RESULT(no);boolchk="",
539
AC_MSG_RESULT(unknown);boolchk=""
541
CFLAGS="$ac_save_CFLAGS"
542
eval $boolvar="$boolchk"
545
dnl Check kernel configurations
546
AC_DEFUN([CHECK_KERNEL_CONFIG], [
549
AC_MSG_CHECKING(for $2)
550
ac_save_CFLAGS="$CFLAGS"
551
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
552
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
555
KERNDIR=$CONFIG_SND_KERNELSRC
559
#include "$KERNDIR/include/$INCLUDE_AUTOCONF_H"
561
#if !defined($boolvar) && !defined($boolvar1)
568
AC_MSG_RESULT(yes);boolchk="y",
569
AC_MSG_RESULT(no);boolchk="",
570
AC_MSG_RESULT(unknown);boolchk=""
572
CFLAGS="$ac_save_CFLAGS"
573
eval $boolvar="$boolchk"
576
dnl Check kernel configurations
577
AC_DEFUN([CHECK_KERNEL_TRISTATE_CONFIG], [
579
tristatevar1="$1_MODULE"
580
AC_MSG_CHECKING(for $2)
581
ac_save_CFLAGS="$CFLAGS"
582
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
583
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
586
KERNDIR=$CONFIG_SND_KERNELSRC
590
#include "$KERNDIR/include/$INCLUDE_AUTOCONF_H"
593
FILE *file = fopen("tristate.result", "w+");
596
#if defined($tristatevar)
599
#if defined(${tristatevar}_MODULE)
606
tristatechk="`cat tristate.result`",
618
tristateres="unknown"
621
AC_MSG_RESULT($tristateres)
622
CFLAGS="$ac_save_CFLAGS"
623
rm -f tristate.result
624
eval $tristatevar="$tristatechk"
627
dnl Check if symbol is exported
628
AC_DEFUN([CHECK_EXPORTED], [
629
AC_MSG_CHECKING(for exported symbol $2)
630
ac_save_CFLAGS="$CFLAGS"
632
if grep EXPORT_SYMBOL "$CONFIG_SND_KERNELSRC/kernel/ksyms.c" | grep "$2" > /dev/null; then
633
AC_MSG_RESULT(yes);boolchk="y"
636
AC_MSG_RESULT(no);boolchk="",
638
eval $boolvar="$boolchk"
641
if test "$kversion.$kpatchlevel" = "2.6"; then
646
dnl Check builtin ALSA on 2.6 kernel
647
CHECK_KERNEL_CONFIG_BUILTIN(CONFIG_SND, [built-in ALSA])
648
if test "$CONFIG_SND" = "y"; then
649
AC_MSG_ERROR(You have built-in ALSA in your kernel.)
651
CHECK_KERNEL_CONFIG(CONFIG_SND_MODULE, [existing ALSA module])
652
test "$CONFIG_SND_MODULE" = "y" && AC_DEFINE(CONFIG_SND_MODULE)
654
dnl Check for forced Red Hat kernels
655
AC_MSG_CHECKING(for Red Hat kernel)
657
[ --with-redhat=no,yes,auto specify Red Hat kernel build],
658
redhat_kernel="$withval", redhat_kernel="auto")
659
RED_HAT_LINUX_KERNEL="auto"
660
if test "$redhat_kernel" = "yes"; then
661
RED_HAT_LINUX_KERNEL="y"
664
if test "$redhat_kernel" = "no"; then
665
RED_HAT_LINUX_KERNEL="n"
669
CHECK_KERNEL_CONFIG(RED_HAT_LINUX_KERNEL, [Red Hat kernel])
673
dnl Check for forced SUSE kernels
674
AC_MSG_CHECKING(for SUSE kernel)
676
[ --with-suse=no,yes,auto specify SUSE kernel build],
677
suse_kernel="$withval", suse_kernel="auto")
678
CONFIG_SUSE_KERNEL="auto"
679
if test "$suse_kernel" = "yes"; then
680
CONFIG_SUSE_KERNEL="y"
683
if test "$suse_kernel" = "no"; then
684
CONFIG_SUSE_KERNEL=""
688
CHECK_KERNEL_CONFIG(CONFIG_SUSE_KERNEL, [SUSE kernel])
692
dnl define kernel directory now
693
AC_DEFINE_UNQUOTED(CONFIG_SND_KERNELDIR, "$CONFIG_SND_KERNELDIR")
694
AC_SUBST(CONFIG_SND_KERNELDIR)
695
AC_DEFINE_UNQUOTED(CONFIG_SND_KERNELSRC, "$CONFIG_SND_KERNELSRC")
696
AC_SUBST(CONFIG_SND_KERNELSRC)
699
dnl update include/sound/version.h
700
AC_MSG_CHECKING(for updating alsa-kernel version.h)
701
AC_ARG_ENABLE(update-version,
702
AS_HELP_STRING([--disable-update-version], [disable updating alsa-kernel version]),
703
update_version="$enableval", update_version="yes")
704
AC_MSG_RESULT($update_version)
706
dnl Check experimental drivers...
707
AC_MSG_CHECKING(for CONFIG_EXPERIMENTAL)
708
AC_ARG_ENABLE(experimental,
709
AS_HELP_STRING([--disable-experimental], [disable CONFIG_EXPERIMENTAL]),
710
config_experimental="$enableval", config_experimental="yes")
711
if test "$config_experimental" = "yes"; then
712
CONFIG_EXPERIMENTAL=y
718
AC_SUBST(CONFIG_EXPERIMENTAL)
720
dnl Remove header hacks
721
rm -f include/linux/*.h
722
rm -rf include/linux/usb
723
rm -rf include/linux/regulator
724
rm -f include/asm/*.h
727
dnl Directory for modules
728
AC_MSG_CHECKING(for directory to store kernel modules)
730
[ --with-moddir=/path give the path for the alsa driver kernel modules]
731
[ [[/lib/modules/<KVER>/misc]]],
735
# Special test for RH 5.1
736
if test -d /lib/modules/preferred; then
737
moddir="/lib/modules/preferred/misc"
739
if test -d /lib/modules/$kaversion/kernel; then
740
modsubdir="kernel/sound"
741
moddir="/lib/modules/$kaversion/$modsubdir"
744
moddir="/lib/modules/$kaversion/misc"
753
moddir="/lib/modules/$kaversion/$modsubdir"
758
AC_SUBST(moddir_tree)
759
AC_MSG_RESULT($moddir)
762
AC_MSG_CHECKING(for verbose procfs)
763
AC_ARG_ENABLE(verbose-procfs,
764
AS_HELP_STRING([--disable-verbose-procfs], [disable verbose procfs]),
765
verbose_procfs="$enableval", verbose_procfs="yes")
766
case "$verbose_procfs" in
768
CONFIG_SND_VERBOSE_PROCFS=y
769
AC_DEFINE(CONFIG_SND_VERBOSE_PROCFS)
778
AC_MSG_CHECKING(for verbose printk)
779
AC_ARG_ENABLE(verbose-printk,
780
AS_HELP_STRING([--disable-verbose-printk],[disable verbose printk (file + line number)]),
781
verbose_printk="$enableval", verbose_printk="yes")
782
case "$verbose_printk" in
784
CONFIG_SND_VERBOSE_PRINTK=y
785
AC_DEFINE(CONFIG_SND_VERBOSE_PRINTK)
795
AC_MSG_CHECKING(for debug level)
797
[ --with-debug=level give the debug level (none,basic,full,verbose)],
798
debug="$withval", debug="none")
803
AC_DEFINE(CONFIG_SND_DEBUG)
808
AC_DEFINE(CONFIG_SND_DEBUG)
809
CONFIG_SND_DEBUG_MEMORY=y
810
AC_DEFINE(CONFIG_SND_DEBUG_MEMORY)
813
AC_MSG_RESULT(verbose)
815
AC_DEFINE(CONFIG_SND_DEBUG)
816
CONFIG_SND_DEBUG_MEMORY=y
817
AC_DEFINE(CONFIG_SND_DEBUG_MEMORY)
818
CONFIG_SND_DEBUG_VERBOSE=y
819
AC_DEFINE(CONFIG_SND_DEBUG_VERBOSE)
826
dnl Check for PCI support (for 2.4 kernel)...
827
if test $kpatchlevel -ge 3; then
828
CHECK_KERNEL_CONFIG(CONFIG_ISA, [ISA support in kernel])
833
dnl Check processor type...
834
AC_MSG_CHECKING(for processor type)
846
CONFIG_SND_BIT32_EMUL=
848
KCC=$CROSS_COMPILE$CC
850
ac_save_CFLAGS="$CFLAGS"
851
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
852
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
855
KERNDIR=$CONFIG_SND_KERNELSRC
859
#include "$KERNDIR/include/$INCLUDE_AUTOCONF_H"
861
FILE *file = fopen("processor.id", "w+");
864
#if defined(CONFIG_M386)
865
fprintf(file, "i386");
866
#elif defined(CONFIG_M486)
867
fprintf(file, "i486");
868
#elif defined(CONFIG_M586)
869
fprintf(file, "i586");
870
#elif defined(CONFIG_X86_64) /* this needs to be chcked before K8 */
871
fprintf(file, "x86_64");
872
#elif defined(CONFIG_M586TSC)
873
fprintf(file, "i586tsc");
874
#elif defined(CONFIG_M586MMX)
875
fprintf(file, "i586mmx");
876
#elif defined(CONFIG_MCORE2)
877
fprintf(file, "mcore2");
878
#elif defined(CONFIG_M686) || defined(CONFIG_MPENTIUMII) || defined(CONFIG_MPENTIUMIII) || defined(CONFIG_MPENTIUM4) || defined(CONFIG_MPENTIUMM)
879
fprintf(file, "i686");
880
#elif defined(CONFIG_MK6)
882
#elif defined(CONFIG_MK7)
884
#elif defined(CONFIG_MK8)
886
#elif defined(CONFIG_MGEODEGX1)
887
fprintf(file, "geodegx1");
888
#elif defined(CONFIG_MCRUSOE)
889
fprintf(file, "crusoe");
890
#elif defined(CONFIG_MWINCHIPC6) || defined(CONFIG_MWINCHIP2) || defined(CONFIG_MWINCHIP3D)
891
fprintf(file, "mwinchip");
892
#elif defined(CONFIG_MCYRIXIII)
893
fprintf(file, "mcyrixiii");
894
#elif defined(CONFIG_X86_32)
895
fprintf(file, "x86_32");
896
#elif defined(CONFIG_IA64)
897
fprintf(file, "ia64");
898
#elif defined(CONFIG_ALPHA_GENERIC)
899
fprintf(file, "alpha_generic");
900
#elif defined(CONFIG_ALPHA_SX164)
901
fprintf(file, "alpha_sx164");
902
#elif defined(CONFIG_ALPHA_PYXIS)
903
fprintf(file, "alpha_pyxis");
904
#elif defined(CONFIG_ALPHA_POLARIS)
905
fprintf(file, "alpha_polaris");
906
#elif defined(CONFIG_EV4) || defined(CONFIG_ALPHA_EV4)
907
fprintf(file, "alpha_ev4");
908
#elif defined(CONFIG_EV5) || defined(CONFIG_ALPHA_EV5)
909
fprintf(file, "alpha_ev5");
910
#elif defined(CONFIG_EV6) || defined(CONFIG_ALPHA_EV6)
911
fprintf(file, "alpha_ev6");
912
#elif defined(CONFIG_ALPHA_NONAME) || defined(CONFIG_ALPHA)
913
fprintf(file, "alpha_noname");
914
#elif defined(CONFIG_PPC64)
915
fprintf(file, "ppc64");
916
#elif defined(CONFIG_PPC)
917
fprintf(file, "ppc");
918
#elif defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_R6000)
919
fprintf(file, "mips");
920
#elif defined(CONFIG_CPU_R4300) || defined(CONFIG_CPU_R4X00)
921
fprintf(file, "mips");
922
#elif defined(CONFIG_CPU_R5000) || defined(CONFIG_CPU_NEVADA)
923
fprintf(file, "mips");
924
#elif defined(CONFIG_CPU_R8000) || defined(CONFIG_CPU_R10000)
925
fprintf(file, "mips");
926
#elif defined(CONFIG_SPARC32)
927
fprintf(file, "sparc");
928
#elif defined(CONFIG_SPARC64)
929
fprintf(file, "sparc64");
930
#elif defined(CONFIG_ARCH_SA1100)
931
fprintf(file, "sa1100");
932
#elif defined(CONFIG_ARCH_PXA)
933
fprintf(file, "pxa");
934
#elif defined(CONFIG_ARM_AMBA)
935
fprintf(file, "amba");
936
#elif defined(CONFIG_PARISC)
937
fprintf(file, "parisc");
938
#elif defined(CONFIG_MVIAC3_2)
939
fprintf(file, "viac3_2");
940
#elif defined(CONFIG_SUPERH64)
941
fprintf(file, "sh64");
942
#elif defined(CONFIG_SUPERH)
952
processor=`cat processor.id`;AC_MSG_RESULT($processor),
953
AC_MSG_RESULT(unknown);processor="",
954
AC_MSG_RESULT(unknown);processor=""
956
CFLAGS="$ac_save_CFLAGS"
985
if $KCC -mtune=core2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
986
c_opts="$c_opts -mtune=core2"
991
if $KCC -march=k6 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
999
if $KCC -march=athlon -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1000
c_opts="-march=athlon"
1002
if $KCC -falign-functions=0 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1003
c_opts="-march=i686 -falign-functions=4"
1005
c_opts="-march=i686 -malign-functions=4"
1011
if $KCC -falign-functions=0 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1012
c_opts="-march=i686 -falign-functions=0 -falign-jumps=0 -falign-loops=0"
1014
c_opts="-march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0"
1019
if $KCC -march=c3 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1022
c_opts="-march=i486"
1024
if $KCC -falign-functions=0 -falign-jumps=0 -falign-loops=0 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1025
c_opts="$c_opts -falign-functions=0 -falign-jumps=0 -falign-loops=0"
1027
c_opts="$c_opts -malign-functions=0 -malign-jumps=0 -malign-loops=0"
1032
c_opts="-march=pentium-mmx"
1036
c_opts="-Wa,-x -ffixed-r13 -mfixed-range=f10-f15,f32-f127 -funwind-tables -falign-functions=32"
1037
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1042
c_opts="-mno-fp-regs -ffixed-8"
1043
if $KCC -mcpu=pca56 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then
1046
if $KCC -mcpu=ev5 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then
1047
case "$processor" in
1049
c_opts="$c_opts -mcpu=ev5"
1051
alpha_sx164|alpha_polaris)
1052
if test x$have_pca56 = xyes; then
1053
c_opts="$c_opts -mcpu=pca56"
1055
c_opts="$c_opts -mcpu=ev56"
1059
c_opts="$c_opts -mcpu=ev56"
1062
c_opts="$c_opts -mcpu=ev4"
1065
if $KCC -mcpu=ev6 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then
1066
c_opts="$c_opts -mcpu=ev6"
1067
elif test x$have_pca56 = xyes; then
1068
c_opts="$c_opts -mcpu=pca56"
1070
c_opts="$c_opts -mcpu=ev56"
1075
c_opts="$c_opts -Wa,-mev6"
1078
cat > $SRCDIR/include/asm/hack-current.h << EOF
1079
#ifndef _ALPHA_CURRENT_H
1080
#define _ALPHA_CURRENT_H
1082
extern struct task_struct *current;
1084
#endif /* !(_ALPHA_CURRENT_H) */
1086
HACK_KERNEL_INC="$HACK_KERNEL_INC --include $SRCDIR/include/asm/hack-current.h"
1090
if test "$kversion.$kpatchlevel" = "2.6"; then
1091
if test $ksublevel -gt 26; then
1095
c_opts="-D__powerpc__ -fsigned-char -fno-builtin -msoft-float -ffixed-r2 -Wno-uninitialized -mmultiple -mstring"
1096
if test -d $CONFIG_SND_KERNELSRC/arch/ppc/include; then
1097
KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELSRC/arch/ppc/include"
1101
dnl FIXME: it should be checked?
1103
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1107
if test "$kversion.$kpatchlevel" = "2.6"; then
1108
if test $ksublevel -gt 14; then
1112
c_opts="-D__powerpc__ -fsigned-char -msoft-float -Wno-uninitialized -mminimal-toc -fno-builtin"
1113
CONFIG_SND_BIT32_EMUL=m
1116
CHECK_KERNEL_CONFIG(CONFIG_PPC_PMAC, [PPC PowerMac])
1117
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1121
if $KCC -mtune=mips32 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then
1122
c_opts="-mtune=mips32"
1124
c_opts="-mcpu=r4600"
1126
if $KCC -mips32 -mabi=32 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then
1127
c_opts="$c_opts -mips32 -mabi=32"
1129
c_opts="$_opts -mips2"
1131
c_opts="$c_opts -G 0 -fno-pic -mno-abicalls -mlong-calls"
1134
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1142
$KCC -m32 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 || IS_EGCS=y
1143
$CROSS_COMPILE$KLD -V 2>&1 | grep 'elf64_sparc' > /dev/null && NEW_GAS=y
1144
if test $NEW_GAS = y; then
1145
KLD="$KLD -m elf32_sparc"
1147
if test $IS_EGCS = y; then
1148
c_opts="-mno-fpu -fcall-used-g5 -fcall-used-g7"
1150
c_opts="-m32 -mno-fpu -fcall-used-g5 -fcall-used-g7"
1153
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1159
$KCC -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 || KCC=sparc64-linux-gcc
1163
$KCC -m64 -mcmodel=medlow -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && NEW_GCC=y
1164
$CROSS_COMPILE$KLD -V 2>&1 | grep 'elf64_sparc' > /dev/null && NEW_GAS=y
1165
$KCC -c -x assembler /dev/null -Wa,--help | grep undeclared-regs > /dev/null || CC_UNDECL="-Wa,--undeclared-regs"
1166
if test $NEW_GAS != y; then
1167
KLD=sparc64-linux-ld
1169
KLD="$KLD -m elf64_sparc"
1171
if test $NEW_GCC=y; then
1172
c_opts="-m64 -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare $CC_UNDECL"
1174
c_opts="-mno-fpu -mtune=ultrasparc -mmedlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare"
1177
CONFIG_SND_BIT32_EMUL=m
1178
CFLAGS="$CFLAGS -ffixed-g4"
1179
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1183
KLD="ld -m elf_x86_64 -e stext"
1184
c_opts="-mno-red-zone -mcmodel=kernel -fno-reorder-blocks -fno-strength-reduce -finline-limit=2000"
1185
CONFIG_SND_BIT32_EMUL=m
1188
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1192
c_opts="-march=armv4 -mtune=strongarm1100 -msoft-float"
1195
CONFIG_ARCH_SA1100=y
1196
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1200
c_opts="-O2 -mapcs-32 -march=armv4 -Wa,-mxscale -mtune=strongarm -mshort-load-bytes -msoft-float"
1204
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1208
c_opts="-O2 -mapcs-32 -march=armv4 -Wa,-mxscale -mshort-load-bytes -msoft-float"
1212
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1216
c_opts="-mno-space-regs -mfast-indirect-calls -mschedule=7200 -mdisable-fpregs"
1217
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1221
if $KCC -march=c3-2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1222
c_opts="-march=c3-2"
1224
c_opts="-march=i686"
1240
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=
1244
if test -n "$ARCH"; then
1253
if test -d $CONFIG_SND_KERNELSRC/arch/$ARCHDIR/include; then
1254
KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELSRC/arch/$ARCHDIR/include"
1260
case "$processor" in
1261
i?86*|k?|crusoe|mcyrixiii|mwinchip|viac3_2|mcore2|geodegx*|x86_32)
1262
if $KCC -mpreferred-stack-boundary=2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1263
c_opts="-mpreferred-stack-boundary=2 $c_opts"
1267
for i in include/asm-x86 include/asm-i386 include2/asm-x86 include2/asm-i386 arch/x86/include/asm; do
1268
if test -r $CONFIG_SND_KERNELSRC/$i/mach-default/mach_apic.h; then
1269
mach_dir="$CONFIG_SND_KERNELSRC/$i"
1272
if test -n "$kernelbuild" -a -r $kernelbuild/$i/mach-default/mach_apic.h; then
1273
mach_dir="$kernelbuild/$i"
1279
for i in include/asm-x86 include2/asm-x86 arch/x86/include/asm; do
1280
if test -r $CONFIG_SND_KERNELSRC/$i/mach-default/mach_apic.h; then
1281
mach_dir="$CONFIG_SND_KERNELSRC/$i"
1284
if test -n "$kernelbuild" -a -r $kernelbuild/$i/mach-default/mach_apic.h; then
1285
mach_dir="$kernelbuild/$i"
1292
dnl Additional include directories
1293
if test "$kpatchlevel" = 6 -a "$ksublevel" -ge 27; then
1302
if test -d $CONFIG_SND_KERNELSRC/arch/$checkarch/include; then
1303
KERNEL_INC="$KERNEL_INC -I$CONFIG_SND_KERNELSRC/arch/$checkarch/include"
1307
if test -n "$mach_dir"; then
1308
AC_MSG_CHECKING(for i386 machine type)
1310
ac_save_CFLAGS="$CFLAGS"
1311
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
1313
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
1314
KERNDIR=$kernelbuild
1316
KERNDIR=$CONFIG_SND_KERNELSRC
1320
#include "$KERNDIR/include/$INCLUDE_AUTOCONF_H"
1321
#include "$KERNDIR/include/$INCLUDE_VERSION_H"
1323
FILE *file = fopen("machine.id", "w+");
1326
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
1327
#if defined(CONFIG_X86_VOYAGER)
1328
fprintf(file, "voyager");
1329
#elif defined(CONFIG_X86_VISWS)
1330
fprintf(file, "visws");
1331
#elif defined(CONFIG_X86_NUMAQ)
1332
fprintf(file, "numaq");
1333
#elif defined(CONFIG_X86_BIGSMP)
1334
fprintf(file, "bigsmp");
1335
#elif defined(CONFIG_X86_SUMMIT)
1336
fprintf(file, "summit");
1337
#elif defined(CONFIG_X86_ES7000)
1338
fprintf(file, "es7000");
1339
#elif defined(CONFIG_X86_PC9800)
1340
fprintf(file, "pc9800");
1342
fprintf(file, "default");
1345
fprintf(file, "default");
1351
machine=`cat machine.id`;AC_MSG_RESULT($machine))
1352
CFLAGS="$ac_save_CFLAGS"
1354
KERNEL_INC="$KERNEL_INC -I$mach_dir/mach-$machine"
1357
if test "$processor" == "x86_64"; then
1358
if test -n "$mach_dir"; then
1359
AC_MSG_CHECKING(for i386 machine type)
1361
ac_save_CFLAGS="$CFLAGS"
1362
CFLAGS="$CFLAGS $KERNEL_INC $HACK_KERNEL_INC"
1364
if test -n "$kernelbuild" -a -f "$kernelbuild/include/$INCLUDE_AUTOCONF_H"; then
1365
KERNDIR=$kernelbuild
1367
KERNDIR=$CONFIG_SND_KERNELSRC
1371
#include "$KERNDIR/include/$INCLUDE_AUTOCONF_H"
1373
FILE *file = fopen("machine.id", "w+");
1376
#if defined(CONFIG_X86_VOYAGER)
1377
fprintf(file, "voyager");
1378
#elif defined(CONFIG_X86_VISWS)
1379
fprintf(file, "visws");
1380
#elif defined(CONFIG_X86_NUMAQ)
1381
fprintf(file, "numaq");
1382
#elif defined(CONFIG_X86_BIGSMP)
1383
fprintf(file, "bigsmp");
1384
#elif defined(CONFIG_X86_SUMMIT)
1385
fprintf(file, "summit");
1386
#elif defined(CONFIG_X86_ES7000)
1387
fprintf(file, "es7000");
1388
#elif defined(CONFIG_X86_RDC321X)
1389
fprintf(file, "rdc321x");
1390
#elif defined(CONFIG_X86_PC9800)
1391
fprintf(file, "pc9800");
1393
fprintf(file, "default");
1399
machine=`cat machine.id`;AC_MSG_RESULT($machine))
1400
CFLAGS="$ac_save_CFLAGS"
1402
if test -d $mach_dir/mach-$machine; then
1403
KERNEL_INC="$KERNEL_INC -I$mach_dir/mach-$machine"
1405
KERNEL_INC="$KERNEL_INC -I$mach_dir/mach-default"
1412
test "$CONFIG_ISA" = "probe" && CONFIG_ISA=y
1415
if test "$kpatchlevel" = 6 -a "$ksublevel" -ge 12; then
1416
CHECK_KERNEL_CONFIG(CONFIG_ISA_DMA_API, [ISA DMA API])
1418
if test "$CONFIG_ISA" = "y"; then
1419
CONFIG_ISA_DMA_API=y
1423
dnl Check for SBUS support for sparc...
1424
if test -n "$CONFIG_SPARC32" -o -n "$CONFIG_SPARC64"; then
1425
CHECK_KERNEL_CONFIG(CONFIG_SBUS, [SBUS support in kernel])
1428
if test -n "$CONFIG_SND_BIT32_EMUL"; then
1429
if test "$kversion.$kpatchlevel" = "2.6"; then
1430
CHECK_KERNEL_CONFIG(CONFIG_COMPAT, [32bit compat support])
1431
if test -z "$CONFIG_COMPAT"; then
1432
CONFIG_SND_BIT32_EMUL=
1437
dnl Check for SGI/MIPS (HAL2) support...
1439
if test "$CONFIG_MIPS" = "y"; then
1440
AC_MSG_CHECKING(for SGI/MIPS (HAL2) architecture)
1441
if test -r "$CONFIG_SND_KERNELSRC/include/asm/sgi/sgihpc.h"; then
1444
if test "$CONFIG_SGI" = "y"; then
1450
AC_SUBST(CONFIG_SGI)
1452
dnl Check options for warnings
1453
if $KCC -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1454
c_opts="$c_opts -Wdeclaration-after-statement"
1456
if $KCC -Wno-pointer-sign -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then
1457
c_opts="$c_opts -Wno-pointer-sign"
1460
c_opts="-O2 $c_opts"
1465
AC_SUBST(CONFIG_X86)
1466
AC_SUBST(CONFIG_X86_32)
1467
AC_SUBST(CONFIG_X86_64)
1468
AC_SUBST(CONFIG_ALPHA)
1470
AC_SUBST(CONFIG_ARM)
1471
AC_SUBST(CONFIG_ARCH_SA1100)
1472
AC_SUBST(CONFIG_ARCH_PXA)
1473
AC_SUBST(CONFIG_PPC)
1474
AC_SUBST(CONFIG_SPARC32)
1475
AC_SUBST(CONFIG_SPARC64)
1476
AC_SUBST(CONFIG_SBUS)
1477
AC_SUBST(CONFIG_MIPS)
1478
AC_SUBST(CONFIG_ISA)
1479
AC_SUBST(CONFIG_ISA_DMA_API)
1480
AC_SUBST(CONFIG_PARISC)
1481
AC_SUBST(CONFIG_SUPERH)
1482
AC_SUBST(CONFIG_SUPERH64)
1483
test "$CONFIG_ISA" = "y" && AC_DEFINE(CONFIG_SND_ISA)
1485
dnl Check linux/config.h
1486
CHECK_KERNEL_HEADER(linux/config.h, [#ifndef _LINUX_CONFIG_H
1487
#define _LINUX_CONFIG_H
1488
#ifndef AUTOCONF_INCLUDED
1489
#include <$INCLUDE_AUTOCONF_H>
1494
dnl Check for deprecated linux/config.h
1495
AC_MSG_CHECKING(for deprecated linux/config.h)
1496
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" \) ; then
1497
KERNDIR=$kernelbuild
1499
KERNDIR=$CONFIG_SND_KERNELSRC
1501
deprecated_config_h="0"
1502
if test -r $KERNDIR/include/linux/config.h ; then
1503
if grep "Including config.h is deprecated." $KERNDIR/include/linux/config.h > /dev/null; then
1504
deprecated_config_h="1"
1507
deprecated_config_h="1"
1509
if test -r $KERNDIR/include/generated/autoconf.h ; then
1510
deprecated_config_h="0"
1511
AC_DEFINE(CONFIG_HAVE_GENERATED_AUTOCONF_H)
1513
CONFIG_HAVE_DEPRECATED_CONFIG_H=$deprecated_config_h
1514
if test "$CONFIG_HAVE_DEPRECATED_CONFIG_H" = "1"; then
1515
AC_DEFINE(CONFIG_HAVE_DEPRECATED_CONFIG_H)
1518
dnl Check kernel headers for 2.2
1519
MODIFY_KERNEL_HEADER(linux/kmod.h, __LINUX_KMOD_H__)
1520
CHECK_KERNEL_HEADER(linux/utsrelease.h)
1521
CHECK_KERNEL_HEADER(linux/compiler.h)
1522
CHECK_KERNEL_HEADER(linux/pm.h)
1523
CHECK_KERNEL_HEADER(linux/spinlock.h)
1524
CHECK_KERNEL_HEADER(linux/irq.h)
1525
CHECK_KERNEL_HEADER(linux/threads.h)
1526
CHECK_KERNEL_HEADER(linux/rwsem.h)
1527
CHECK_KERNEL_HEADER(linux/gameport.h)
1528
CHECK_KERNEL_HEADER(media/v4l2-dev.h)
1529
CHECK_KERNEL_HEADER(linux/devfs_fs_kernel.h)
1530
CHECK_KERNEL_HEADER(linux/highmem.h)
1531
CHECK_KERNEL_HEADER(linux/workqueue.h)
1532
if test ! -f include/linux/workqueue.h; then
1533
if test "x$kversion.$kpatchlevel" = "x2.4" -a \
1534
"x$RED_HAT_LINUX_KERNEL" = "xy"; then
1535
echo "It looks like you're using a RedHat 9 kernel."
1536
echo "Disabling their incomplete workqueue.h modification."
1537
mkdir -p include/linux
1538
touch include/linux/workqueue.h
1541
CHECK_KERNEL_HEADER(linux/dma-mapping.h)
1542
CHECK_KERNEL_HEADER(asm/hw_irq.h)
1543
CHECK_KERNEL_HEADER(linux/device.h, [#include \"device_compat.h\"
1545
CHECK_KERNEL_HEADER(linux/platform_device.h, [#include \"platform_device_compat.h\"
1547
CHECK_KERNEL_HEADER(linux/isa.h, [#include \"isa_compat.h\"
1549
CHECK_KERNEL_HEADER(linux/jiffies.h, [#include <linux/sched.h>
1550
#include <linux/delay.h>
1552
CHECK_KERNEL_HEADER(linux/compat.h, [#include \"compat_64.h\"
1554
CHECK_KERNEL_HEADER(linux/log2.h)
1555
dnl PPC headers (for 2.2 kernels)
1556
CHECK_KERNEL_HEADER(linux/adb.h, [#include <asm/adb.h>
1558
CHECK_KERNEL_HEADER(linux/cuda.h, [#include <asm/cuda.h>
1560
CHECK_KERNEL_HEADER(linux/pmu.h, [#include <asm/pmu.h>
1562
CHECK_KERNEL_HEADER(linux/io.h, [#include <asm/io.h>
1564
CHECK_KERNEL_HEADER(linux/moduleparam.h)
1565
CHECK_KERNEL_HEADER(linux/syscalls.h, [#include \"syscalls_26.h\"
1567
CHECK_KERNEL_HEADER(linux/firmware.h, [#include \"firmware_compat.h\"
1569
CHECK_KERNEL_HEADER(linux/err.h, [#include \"err_compat.h\"
1571
CHECK_KERNEL_HEADER(linux/bitmap.h, [#include \"bitmap_compat.h\"
1573
CHECK_KERNEL_HEADER(linux/mutex.h, [#include \"mutex_compat.h\"
1575
CHECK_KERNEL_HEADER(linux/pm_qos_params.h, [#include \"pm_qos_params_compat.h\"
1577
CHECK_KERNEL_HEADER(linux/kthread.h, [#include \"kthread_compat.h\"
1579
CHECK_KERNEL_HEADER(asm/irq_regs.h)
1580
CHECK_KERNEL_HEADER(linux/seq_file.h)
1581
CHECK_KERNEL_HEADER(linux/debugfs.h)
1582
CHECK_KERNEL_HEADER(linux/gpio.h)
1583
CHECK_KERNEL_HEADER(linux/bug.h)
1584
CHECK_KERNEL_HEADER(linux/math64.h, [#include \"math64_compat.h\"
1586
CHECK_KERNEL_HEADER(linux/regulator/consumer.h, [#include \"regulator_consumer_compat.h\"
1588
CHECK_KERNEL_HEADER(linux/dmi.h, [#include \"dmi_compat.h\"
1590
CHECK_KERNEL_HEADER(linux/bitrev.h)
1591
CHECK_KERNEL_HEADER(linux/hrtimer.h)
1592
CHECK_KERNEL_HEADER(linux/gcd.h, [#include \"gcd_compat.h\"
1594
CHECK_KERNEL_HEADER(linux/gfp.h)
1596
dnl Check for dump_stack
1597
if test "$kversion.$kpatchlevel" = "2.6"; then
1598
AC_DEFINE(CONFIG_HAVE_DUMP_STACK)
1600
CHECK_EXPORTED(CONFIG_HAVE_DUMP_STACK, dump_stack)
1603
dnl Check for modversions...
1604
CHECK_KERNEL_CONFIG(CONFIG_MODVERSIONS, [kernel module symbol versions])
1605
CONFIG_SND_MVERSION=$CONFIG_MODVERSIONS
1606
AC_SUBST(CONFIG_SND_MVERSION)
1607
GENKSYMS="/sbin/genksyms -k $kversion.$kpatchlevel.$ksublevel"
1609
dnl Check for ioport support...
1610
CHECK_KERNEL_CONFIG(CONFIG_HAS_IOPORT, [has ioport support])
1611
test "$CONFIG_HAS_IOPORT" = "y" && AC_DEFINE(CONFIG_HAS_IOPORT)
1613
dnl Check for PCI support...
1614
CHECK_KERNEL_CONFIG(CONFIG_PCI, [PCI support in kernel])
1615
AC_SUBST(CONFIG_PCI)
1617
dnl Check for I2C drivers...
1618
CHECK_KERNEL_TRISTATE_CONFIG(CONFIG_I2C, [I2C driver in kernel])
1619
AC_SUBST(CONFIG_I2C)
1621
if test "$CONFIG_I2C" != ""; then
1622
CHECK_KERNEL_TRISTATE_CONFIG(CONFIG_I2C_POWERMAC, [I2C_POWERMAC in kernel])
1623
# AC_SUBST(CONFIG_I2C_POWERMAC)
1626
dnl Check for firmware loader...
1627
if test -n "$HAVE_FIRMWARE_H"; then
1628
CHECK_KERNEL_TRISTATE_CONFIG(CONFIG_FW_LOADER, [firmware loader])
1630
AC_MSG_CHECKING(for firmware loader)
1631
CONFIG_FW_LOADER="y"
1632
AC_MSG_RESULT(emulated)
1634
AC_SUBST(CONFIG_FW_LOADER)
1636
dnl Check for input subsystem...
1637
if test $kpatchlevel -le 2; then
1640
CHECK_KERNEL_TRISTATE_CONFIG(CONFIG_INPUT, [input subsystem in kernel])
1641
CHECK_KERNEL_CONFIG(CONFIG_PCSPKR_PLATFORM, [pc-speaker platform in kernel])
1643
AC_SUBST(CONFIG_INPUT)
1646
dnl Check for SMP...
1647
CHECK_KERNEL_CONFIG(CONFIG_SMP, [SMP])
1648
if test "$CONFIG_SMP" = "y"; then
1649
GENKSYMS="$GENKSYMS -p smp_"
1650
c_opts="$c_opts -D__SMP__ -DCONFIG_SMP"
1657
dnl Check for video device support... (2.2 kernels excluded due to API incompatibility)
1658
if test $kpatchlevel -gt 2; then
1659
CHECK_KERNEL_CONFIG(CONFIG_VIDEO_DEV, [Video device support in kernel])
1660
AC_SUBST(CONFIG_VIDEO_DEV)
1663
dnl Check for ISA PnP driver in kernel...
1664
AC_MSG_CHECKING(for ISA PnP driver in kernel)
1665
CONFIG_ISAPNP_KERNEL=
1666
if test -r $CONFIG_SND_KERNELSRC/include/linux/isapnp.h; then
1668
AC_DEFINE(CONFIG_ISAPNP_KERNEL)
1669
CONFIG_ISAPNP_KERNEL=y
1673
AC_SUBST(CONFIG_ISAPNP_KERNEL)
1675
dnl Check for PnP layer (2.5+) in kernel...
1676
AC_MSG_CHECKING(for PnP driver in kernel)
1678
if test -r $CONFIG_SND_KERNELSRC/include/linux/pnp.h; then
1680
AC_DEFINE(CONFIG_PNP_KERNEL)
1685
AC_SUBST(CONFIG_PNP_KERNEL)
1687
dnl Check for ISA PnP support...
1688
if test "$CONFIG_ISAPNP_KERNEL" = y; then
1689
CHECK_KERNEL_CONFIG(CONFIG_ISAPNP, [Kernel ISA-PnP support])
1690
if test "$CONFIG_ISAPNP" != "y"; then
1691
CHECK_KERNEL_CONFIG(CONFIG_ISAPNP_MODULE, [Kernel ISA-PnP module support])
1695
dnl Check for ALSA's own isapnp support
1696
dnl available only when pnp is not built in the kernel
1697
if test "$CONFIG_PNP_KERNEL" != y; then
1698
if test "$CONFIG_ISAPNP_KERNEL" != y; then
1700
elif test "$CONFIG_ISAPNP" = y -o "$CONFIG_ISAPNP_MODULE" = y; then
1703
if test "$isapnp_choose" = y; then
1704
AC_MSG_CHECKING(for ISA PnP support)
1706
[ --with-isapnp=yes,no,auto driver will (not) be compiled with ISA PnP support],
1707
pnp="$withval", pnp="yes")
1708
if test "$pnp" = "auto"; then
1709
if test -f /proc/isapnp; then
1714
if test "$pnp" = "yes"; then
1723
AC_SUBST(CONFIG_ISAPNP)
1724
if test "$CONFIG_ISAPNP" = "y"; then
1725
AC_DEFINE(CONFIG_SND_ISAPNP)
1726
CONFIG_PNP=$CONFIG_ISAPNP
1727
AC_DEFINE(CONFIG_SND_PNP)
1731
AC_SUBST(CONFIG_PNP)
1733
dnl Replacement for AC_TRY_COMPILE using kbuild
1734
AC_DEFUN([KBUILD_TRY_COMPILE], [
1736
if test -z "$dir"; then
1737
echo >&2 "failed to create temporary directory"
1740
echo >"$dir"/test.c '[$1]
1745
echo >"$dir"/Makefile 'obj-y += test.o
1746
EXTRA_CFLAGS := [$5]'
1747
if make -C "$CONFIG_SND_KERNELDIR" SUBDIRS="$dir" >&5 2>&1; then
1755
dnl Check for strlcpy...
1756
AC_MSG_CHECKING(for strlcpy)
1758
KBUILD_TRY_COMPILE([
1759
#include <linux/kernel.h>
1760
#include <linux/string.h>
1763
strlcpy(buf, "abcd", sizeof(buf));
1765
AC_MSG_RESULT(yes);strlcpy="1",
1766
AC_MSG_RESULT(no);strlcpy="0",
1769
CONFIG_HAVE_STRLCPY=$strlcpy
1770
dnl AC_SUBST(CONFIG_HAVE_STRLCPY)
1771
if test "$CONFIG_HAVE_STRLCPY" = "1"; then
1772
AC_DEFINE(CONFIG_HAVE_STRLCPY)
1775
dnl Check for snprintf...
1776
AC_MSG_CHECKING(for snprintf)
1778
KBUILD_TRY_COMPILE([
1779
#include <linux/kernel.h>
1782
snprintf(buf, sizeof(buf), "abcd");
1784
AC_MSG_RESULT(yes);snprintf="1",
1785
AC_MSG_RESULT(no);snprintf="0",
1788
CONFIG_HAVE_SNPRINTF=$snprintf
1789
dnl AC_SUBST(CONFIG_HAVE_SNPRINTF)
1790
if test "$CONFIG_HAVE_SNPRINTF" = "1"; then
1791
AC_DEFINE(CONFIG_HAVE_SNPRINTF)
1794
dnl Check for vsnprintf...
1795
AC_MSG_CHECKING(for vsnprintf)
1797
KBUILD_TRY_COMPILE([
1798
#include <linux/kernel.h>
1799
void f(const char *fmt, ...)
1804
vsnprintf(buf, sizeof(buf), fmt, ap);
1810
AC_MSG_RESULT(yes);vsnprintf="1",
1811
AC_MSG_RESULT(no);vsnprintf="0",
1814
CONFIG_HAVE_VSNPRINTF=$vsnprintf
1815
dnl AC_SUBST(CONFIG_HAVE_VSNPRINTF)
1816
if test "$CONFIG_HAVE_VSNPRINTF" = "1"; then
1817
AC_DEFINE(CONFIG_HAVE_VSNPRINTF)
1820
dnl Check for scnprintf...
1821
AC_MSG_CHECKING(for scnprintf)
1823
KBUILD_TRY_COMPILE([
1824
#include <linux/kernel.h>
1827
scnprintf(buf, sizeof(buf), "abcd");
1829
AC_MSG_RESULT(yes);scnprintf="1",
1830
AC_MSG_RESULT(no);scnprintf="0",
1833
CONFIG_HAVE_SCNPRINTF=$scnprintf
1834
dnl AC_SUBST(CONFIG_HAVE_SCNPRINTF)
1835
if test "$CONFIG_HAVE_SCNPRINTF" = "1"; then
1836
AC_DEFINE(CONFIG_HAVE_SCNPRINTF)
1839
dnl Check for sscanf...
1840
AC_MSG_CHECKING(for sscanf)
1842
KBUILD_TRY_COMPILE([
1843
#include <linux/kernel.h>
1846
sscanf("2a", "%x", &i);
1848
AC_MSG_RESULT(yes);sscanf="1",
1849
AC_MSG_RESULT(no);sscanf="0",
1852
CONFIG_HAVE_SSCANF=$sscanf
1853
dnl AC_SUBST(CONFIG_HAVE_SSCANF)
1854
if test "$CONFIG_HAVE_SSCANF" = "1"; then
1855
AC_DEFINE(CONFIG_HAVE_SSCANF)
1858
dnl Check for vmalloc_to_page...
1859
AC_MSG_CHECKING(for vmalloc_to_page)
1861
KBUILD_TRY_COMPILE([
1862
#include <linux/time.h>
1863
#include <linux/sched.h>
1864
#include <linux/interrupt.h>
1865
#include <linux/mm.h>
1867
struct page * (*func)(void*);
1868
func = vmalloc_to_page;
1870
AC_MSG_RESULT(yes);vmalloc_to_page="1",
1871
AC_MSG_RESULT(no);vmalloc_to_page="0",
1873
CONFIG_HAVE_VMALLOC_TO_PAGE=$vmalloc_to_page
1874
dnl AC_SUBST(CONFIG_HAVE_VMALLOC_TO_PAGE)
1875
if test "$CONFIG_HAVE_VMALLOC_TO_PAGE" = "1"; then
1876
AC_DEFINE(CONFIG_HAVE_VMALLOC_TO_PAGE)
1879
dnl Check for old kmod...
1880
AC_MSG_CHECKING(for old kmod)
1882
KBUILD_TRY_COMPILE([
1883
#include <linux/kmod.h>
1885
request_module("abcd", "def", "ixj");
1887
AC_MSG_RESULT(no);old_kmod="0",
1888
AC_MSG_RESULT(yes);old_kmod="1",
1890
CONFIG_HAVE_OLD_REQUEST_MODULE=$old_kmod
1891
dnl AC_SUBST(CONFIG_HAVE_OLD_REQUEST_MODULE)
1892
if test "$CONFIG_HAVE_OLD_REQUEST_MODULE" = "1"; then
1893
AC_DEFINE(CONFIG_HAVE_OLD_REQUEST_MODULE)
1896
dnl Check for PDE...
1897
AC_MSG_CHECKING(for PDE)
1899
KBUILD_TRY_COMPILE([
1900
#include <linux/fs.h>
1901
#include <linux/proc_fs.h>
1903
struct proc_dir_entry * (*func)();
1906
AC_MSG_RESULT(yes);pde_defined="1",
1907
AC_MSG_RESULT(no);pde_defined="0",
1909
CONFIG_HAVE_PDE=$pde_defined
1910
dnl AC_SUBST(CONFIG_HAVE_PDE)
1911
if test "$CONFIG_HAVE_PDE" = "1"; then
1912
AC_DEFINE(CONFIG_HAVE_PDE)
1915
dnl Check for pci_consistent_set_dma_mask()
1916
AC_MSG_CHECKING(for pci_set_consistent_dma_mask)
1917
pci_consistent_defined="0"
1918
KBUILD_TRY_COMPILE([
1919
#include <linux/pci.h>
1922
func = pci_set_consistent_dma_mask;
1924
AC_MSG_RESULT(yes);pci_consistent_defined="1",
1925
AC_MSG_RESULT(no);pci_consistent_defined="0",
1927
CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK=$pci_consistent_defined
1928
if test "$CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK" = "1"; then
1929
AC_DEFINE(CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK)
1932
dnl Check for pci_set_dev_present()
1933
AC_MSG_CHECKING(for pci_dev_present)
1934
pci_consistent_defined="0"
1935
KBUILD_TRY_COMPILE([
1936
#include <linux/pci.h>
1939
func = pci_dev_present;
1941
AC_MSG_RESULT(yes);pci_dev_present_defined="1",
1942
AC_MSG_RESULT(no);pci_dev_present_defined="0",
1944
CONFIG_HAVE_PCI_DEV_PRESENT=$pci_dev_present_defined
1945
if test "$CONFIG_HAVE_PCI_DEV_PRESENT" = "1"; then
1946
AC_DEFINE(CONFIG_HAVE_PCI_DEV_PRESENT)
1949
dnl Check for msleep
1950
AC_MSG_CHECKING(for msleep)
1952
KBUILD_TRY_COMPILE([
1953
#include <linux/delay.h>
1955
void (*func)(unsigned int);
1958
AC_MSG_RESULT(yes);msleep="1",
1959
AC_MSG_RESULT(no);msleep="0",
1961
CONFIG_HAVE_MSLEEP=$msleep
1962
dnl AC_SUBST(CONFIG_HAVE_MSLEEP)
1963
if test "$CONFIG_HAVE_MSLEEP" = "1"; then
1964
AC_DEFINE(CONFIG_HAVE_MSLEEP)
1967
dnl Check for msleep_interrupt
1968
if test "$CONFIG_HAVE_MSLEEP" = "1"; then
1969
AC_MSG_CHECKING(for msleep_interrupt)
1970
msleep_interrupt="0"
1971
KBUILD_TRY_COMPILE([
1972
#include <linux/delay.h>
1974
unsigned long (*func)(unsigned int);
1975
func = msleep_interruptible;
1977
AC_MSG_RESULT(yes);msleep_interruptible="1",
1978
AC_MSG_RESULT(no);msleep_interruptible="0",
1980
CONFIG_HAVE_MSLEEP_INTERRUPTIBLE=$msleep_interruptible
1981
dnl AC_SUBST(CONFIG_HAVE_MSLEEP_INTERRUPTIBLE)
1982
if test "$CONFIG_HAVE_MSLEEP_INTERRUPTIBLE" = "1"; then
1983
AC_DEFINE(CONFIG_HAVE_MSLEEP_INTERRUPTIBLE)
1987
dnl Check for msecs_to_jiffies
1988
AC_MSG_CHECKING(for msecs_to_jiffies)
1989
msecs_to_jiffies="0"
1990
KBUILD_TRY_COMPILE([
1991
#include <linux/jiffies.h>
1992
#include <linux/time.h>
1994
unsigned int (*func)(const unsigned long);
1995
func = msecs_to_jiffies;
1997
AC_MSG_RESULT(yes);msecs_to_jiffies="1",
1998
AC_MSG_RESULT(no);msecs_to_jiffies="0",
2001
CONFIG_HAVE_MSECS_TO_JIFFIES=$msecs_to_jiffies
2002
dnl AC_SUBST(CONFIG_HAVE_MSECS_TO_JIFFIES)
2003
if test "$CONFIG_HAVE_MSECS_TO_JIFFIES" = "1"; then
2004
AC_DEFINE(CONFIG_HAVE_MSECS_TO_JIFFIES)
2007
dnl Check for tty->count is the atomic type
2008
AC_MSG_CHECKING(for tty->count is the atomic type)
2009
tty_count_atomic="0"
2010
KBUILD_TRY_COMPILE([
2011
#include <linux/tty.h>
2013
struct tty_struct tty;
2014
atomic_read(&tty.count);
2016
AC_MSG_RESULT(yes);tty_count_atomic="1",
2017
AC_MSG_RESULT(no);tty_count_atomic="0",
2019
CONFIG_HAVE_TTY_COUNT_ATOMIC=$tty_count_atomic
2020
if test "$CONFIG_HAVE_TTY_COUNT_ATOMIC" = "1"; then
2021
AC_DEFINE(CONFIG_HAVE_TTY_COUNT_ATOMIC)
2024
dnl Check for video_get_drvdata()
2025
if test "$CONFIG_VIDEO_DEV" = "y"; then
2026
AC_MSG_CHECKING(for video_get_drvdata)
2027
video_get_drvdata="0"
2028
KBUILD_TRY_COMPILE([
2029
#include <linux/videodev.h>
2030
#include "media/v4l2-dev.h"
2032
void *(*func)(struct video_device *);
2033
func = video_get_drvdata;
2035
AC_MSG_RESULT(yes);video_get_drvdata="1",
2036
AC_MSG_RESULT(no);video_get_drvdata="0",
2039
CONFIG_HAVE_VIDEO_GET_DRVDATA=$video_get_drvdata
2040
dnl AC_SUBST(CONFIG_HAVE_VIDEO_GET_DRVDATA)
2041
if test "$CONFIG_HAVE_VIDEO_GET_DRVDATA" = "1"; then
2042
AC_DEFINE(CONFIG_HAVE_VIDEO_GET_DRVDATA)
2046
dnl Check for video_drvdata()
2047
if test "$CONFIG_HAVE_VIDEO_GET_DRVDATA" = "1"; then
2048
AC_MSG_CHECKING(for video_drvdata)
2050
KBUILD_TRY_COMPILE([
2051
#include <linux/videodev.h>
2052
#include "media/v4l2-dev.h"
2054
void *(*func)(struct file *);
2055
func = video_drvdata;
2057
AC_MSG_RESULT(yes);video_drvdata="1",
2058
AC_MSG_RESULT(no);video_drvdata="0",
2061
CONFIG_HAVE_VIDEO_DRVDATA=$video_drvdata
2062
dnl AC_SUBST(CONFIG_HAVE_VIDEO_DRVDATA)
2063
if test "$CONFIG_HAVE_VIDEO_DRVDATA" = "1"; then
2064
AC_DEFINE(CONFIG_HAVE_VIDEO_DRVDATA)
2068
dnl Check for CONFIG_VIDEO_V4L1
2069
if test "$CONFIG_VIDEO_DEV" = "y"; then
2070
if test "$kversion.$kpatchlevel" = "2.6" -a "$ksublevel" -gt 17; then
2071
CHECK_KERNEL_CONFIG(CONFIG_VIDEO_V4L1, [V4L1 layer])
2073
CONFIG_VIDEO_V4L1="y"
2077
dnl Check for CONFIG_VIDEO_V4L2
2078
if test "$CONFIG_VIDEO_DEV" = "y"; then
2079
if test "$kversion.$kpatchlevel" = "2.6" -a "$ksublevel" -gt 17; then
2080
CHECK_KERNEL_CONFIG(CONFIG_VIDEO_V4L2, [V4L2 layer])
2082
CONFIG_VIDEO_V4L2="y"
2086
dnl Check for old io_remap_page_range()
2087
AC_MSG_CHECKING(for io_remap_pfn_range)
2088
io_remap_pfn_range="0"
2089
KBUILD_TRY_COMPILE([
2090
#include <linux/mm.h>
2093
io_remap_pfn_range(NULL, 0, 0, 0, p);
2095
AC_MSG_RESULT(yes);io_remap_pfn_range="1",
2096
AC_MSG_RESULT(no);io_remap_pfn_range="0",
2097
-Werror-implicit-function-declaration
2099
if test "$io_remap_pfn_range" = "1"; then
2100
AC_DEFINE(CONFIG_HAVE_IO_REMAP_PFN_RANGE)
2103
if test "$io_remap_pfn_range" != "1"; then
2104
AC_MSG_CHECKING(for new io_remap_page_range)
2106
KBUILD_TRY_COMPILE([
2107
#include <linux/mm.h>
2110
io_remap_page_range(NULL, 0, 0, 0, p);
2112
AC_MSG_RESULT(yes);new_io_remap="1",
2113
AC_MSG_RESULT(no);new_io_remap="0",
2114
-Werror-implicit-function-declaration
2116
if test "$new_io_remap" != "1"; then
2117
AC_DEFINE(CONFIG_OLD_IO_REMAP_PAGE_RANGE)
2121
dnl Check for kcalloc()
2122
AC_MSG_CHECKING(for kcalloc)
2124
KBUILD_TRY_COMPILE([
2125
#include <linux/slab.h>
2127
void * (*func)(size_t, size_t, int);
2130
AC_MSG_RESULT(yes);kcalloc="1",
2131
AC_MSG_RESULT(no);kcalloc="0",
2133
CONFIG_HAVE_KCALLOC=$kcalloc
2134
dnl AC_SUBST(CONFIG_HAVE_KCALLOC)
2135
if test "$CONFIG_HAVE_KCALLOC" = "1"; then
2136
AC_DEFINE(CONFIG_HAVE_KCALLOC)
2139
dnl Check for kstrdup()
2140
AC_MSG_CHECKING(for kstrdup)
2142
KBUILD_TRY_COMPILE([
2143
#include <linux/string.h>
2145
char * (*func)(const char *, int);
2148
AC_MSG_RESULT(yes);kstrdup="1",
2149
AC_MSG_RESULT(no);kstrdup="0",
2151
CONFIG_HAVE_KSTRDUP=$kstrdup
2152
dnl AC_SUBST(CONFIG_HAVE_KSTRDUP)
2153
if test "$CONFIG_HAVE_KSTRDUP" = "1"; then
2154
AC_DEFINE(CONFIG_HAVE_KSTRDUP)
2157
dnl Check for kstrdup()
2158
AC_MSG_CHECKING(for kstrndup)
2160
KBUILD_TRY_COMPILE([
2161
#include <linux/string.h>
2163
char * (*func)(const char *, int);
2166
AC_MSG_RESULT(yes);kstrndup="1",
2167
AC_MSG_RESULT(no);kstrndup="0",
2169
CONFIG_HAVE_KSTRNDUP=$kstrndup
2170
dnl AC_SUBST(CONFIG_HAVE_KSTNRDUP)
2171
if test "$CONFIG_HAVE_KSTRNDUP" = "1"; then
2172
AC_DEFINE(CONFIG_HAVE_KSTRNDUP)
2175
dnl Check for kzalloc()
2176
AC_MSG_CHECKING(for kzalloc)
2178
KBUILD_TRY_COMPILE([
2179
#include <linux/slab.h>
2181
void * (*func)(size_t, int);
2184
AC_MSG_RESULT(yes);kzalloc="1",
2185
AC_MSG_RESULT(no);kzalloc="0",
2187
CONFIG_HAVE_KZALLOC=$kzalloc
2188
dnl AC_SUBST(CONFIG_HAVE_KZALLOC)
2189
if test "$CONFIG_HAVE_KZALLOC" = "1"; then
2190
AC_DEFINE(CONFIG_HAVE_KZALLOC)
2193
dnl Check for create_workqueue() with flags
2194
if test "$kversion.$kpatchlevel" = "2.6"; then
2195
AC_MSG_CHECKING(for create_workqueue with flags)
2197
KBUILD_TRY_COMPILE([
2198
#include <linux/workqueue.h>
2200
create_workqueue("abcd", 0);
2202
AC_MSG_RESULT(yes);workqueue2="1",
2203
AC_MSG_RESULT(no);workqueue2="0",
2205
CONFIG_CREATE_WORKQUEUE_FLAGS=$workqueue2
2206
dnl AC_SUBST(CONFIG_CREATE_WORKQUEUE_FLAGS)
2207
if test "$CONFIG_CREATE_WORKQUEUE_FLAGS" = "1"; then
2208
AC_DEFINE(CONFIG_CREATE_WORKQUEUE_FLAGS)
2212
dnl Check for pci_ioremap_bar
2213
AC_MSG_CHECKING(for pci_ioremap_bar)
2215
KBUILD_TRY_COMPILE([
2216
#include <linux/pci.h>
2218
void (*func)(struct pci_dev *, int);
2219
func = pci_ioremap_bar;
2221
AC_MSG_RESULT(yes);pci_ioremap_bar="1",
2222
AC_MSG_RESULT(no);pci_ioremap_bar="0",
2224
CONFIG_HAVE_PCI_IOREMAP_BAR=$pci_ioremap_bar
2225
dnl AC_SUBST(CONFIG_HAVE_PCI_IOREMAP_BAR)
2226
if test "$CONFIG_HAVE_PCI_IOREMAP_BAR" = "1"; then
2227
AC_DEFINE(CONFIG_HAVE_PCI_IOREMAP_BAR)
2230
dnl Check for saved_config_space in pci_dev
2231
AC_MSG_CHECKING(for saved_config_space in pci_dev)
2232
pci_saved_config="0"
2233
KBUILD_TRY_COMPILE([
2234
#include <linux/pci.h>
2237
dev.saved_config_space[0] = 0;
2239
AC_MSG_RESULT(yes);pci_saved_config="1",
2240
AC_MSG_RESULT(no);pci_saved_config="0",
2242
CONFIG_HAVE_PCI_SAVED_CONFIG=$pci_saved_config
2243
dnl AC_SUBST(CONFIG_HAVE_PCI_SAVED_CONFIG)
2244
if test "$CONFIG_HAVE_PCI_SAVED_CONFIG" = "1"; then
2245
AC_DEFINE(CONFIG_HAVE_PCI_SAVED_CONFIG)
2248
if test "$CONFIG_HAVE_PCI_SAVED_CONFIG" = "1"; then
2249
dnl Check for new pci_save_state()
2250
AC_MSG_CHECKING(for new pci_save_state)
2251
new_pci_save_state="0"
2252
KBUILD_TRY_COMPILE([
2253
#include <linux/pci.h>
2255
struct pci_dev *pci;
2256
pci_save_state(pci);
2258
AC_MSG_RESULT(yes);new_pci_save_state="1",
2259
AC_MSG_RESULT(no);new_pci_save_state="0",
2261
if test "$new_pci_save_state" = "1"; then
2262
AC_DEFINE(CONFIG_HAVE_NEW_PCI_SAVE_STATE)
2266
dnl Check for register_sound_special_device
2267
AC_MSG_CHECKING(for register_sound_special_device)
2269
KBUILD_TRY_COMPILE([
2270
#include <linux/sound.h>
2272
void (*func)(struct file_operations *, int, struct device *);
2273
func = register_sound_special_device;
2275
AC_MSG_RESULT(yes);reg_sp="1",
2276
AC_MSG_RESULT(no);reg_sp="0",
2278
CONFIG_HAVE_REGISTER_SOUND_SPECIAL_DEVICE=$reg_sp
2279
dnl AC_SUBST(CONFIG_HAVE_REGISTER_SOUND_SPECIAL_DEVICE)
2280
if test "$CONFIG_HAVE_REGISTER_SOUND_SPECIAL_DEVICE" = "1"; then
2281
AC_DEFINE(CONFIG_HAVE_REGISTER_SOUND_SPECIAL_DEVICE)
2284
dnl check only on 2.2 kernel..
2285
if test $kpatchlevel -le 2; then
2287
dnl Check for old kill_fasync...
2288
AC_MSG_CHECKING(for old kill_fasync)
2290
KBUILD_TRY_COMPILE([
2291
#include <linux/fs.h>
2293
struct fasync_struct *fa;
2295
kill_fasync(fa, sig);
2297
AC_MSG_RESULT(yes);oldkfasync="1",
2298
AC_MSG_RESULT(no);oldkfasync="0",
2300
CONFIG_OLD_KILL_FASYNC=$oldkfasync
2301
dnl AC_SUBST(CONFIG_OLD_KILL_FASYNC)
2302
if test "$CONFIG_OLD_KILL_FASYNC" = "1"; then
2303
AC_DEFINE(CONFIG_OLD_KILL_FASYNC)
2306
dnl Check for dma_addr_t
2307
AC_MSG_CHECKING(for dma_addr_t)
2309
KBUILD_TRY_COMPILE([
2310
#include <asm/types.h>
2314
AC_MSG_RESULT(yes);dma_addr_t="1",
2315
AC_MSG_RESULT(no);dma_addr_t="0",
2317
CONFIG_HAVE_DMA_ADDR_T=$dma_addr_t
2318
dnl AC_SUBST(CONFIG_HAVE_DMA_ADDR_T)
2319
if test "$CONFIG_HAVE_DMA_ADDR_T" = "1"; then
2320
AC_DEFINE(CONFIG_HAVE_DMA_ADDR_T)
2323
dnl Check for MUTEX macros
2324
AC_MSG_CHECKING(for MUTEX macros)
2325
have_mutex_macros="0"
2326
KBUILD_TRY_COMPILE([
2327
#include <asm/semaphore.h>
2334
AC_MSG_RESULT(yes);have_mutex_macros="1",
2335
AC_MSG_RESULT(no);have_mutex_macros="0",
2337
CONFIG_HAVE_MUTEX_MACROS=$have_mutex_macros
2338
dnl AC_SUBST(CONFIG_HAVE_MUTEX_MACROS)
2339
if test "$CONFIG_HAVE_MUTEX_MACROS" = "1"; then
2340
AC_DEFINE(CONFIG_HAVE_MUTEX_MACROS)
2346
if test "$CONFIG_ISAPNP_KERNEL" = "y"; then
2347
if test -f include/linux/isapnp.h; then
2348
echo "Removing local linux/isapnp.h."
2349
rm include/linux/isapnp.h
2352
if test ! -f include/linux/isapnp.h; then
2353
echo "Symlinking <linux/isapnp.h>..."
2354
mkdir -p include/linux
2355
ln -sf ../../support/isapnp/isapnp.h include/linux/isapnp.h
2359
if test "$CONFIG_PNP_KERNEL" = "y"; then
2360
if test -f include/linux/pnp.h; then
2361
echo "Removing local linux/pnp.h."
2362
rm include/linux/pnp.h
2365
if test ! -f include/linux/pnp.h; then
2366
echo "Symlinking <linux/pnp.h>..."
2367
mkdir -p include/linux
2368
ln -sf ../../support/pnp/pnp.h include/linux/pnp.h
2372
dnl Check for version...
2373
AC_MSG_CHECKING(for driver extra-version)
2374
AC_ARG_WITH(extra-version,
2375
[ --with-extra-version=VERSION specifies the extra version string],
2376
extra_version="$withval", extra_version="")
2377
AC_MSG_RESULT($extra_version)
2378
if test -n "$extra_version"; then
2379
CONFIG_SND_VERSION="$CONFIG_SND_VERSION"-"$extra_version"
2381
AC_MSG_CHECKING(for driver version)
2382
AC_DEFINE_UNQUOTED(CONFIG_SND_VERSION, "$CONFIG_SND_VERSION")
2383
AC_SUBST(CONFIG_SND_VERSION)
2385
AC_DEFINE_UNQUOTED(CONFIG_SND_DATE, "$CONFIG_SND_DATE")
2386
AC_SUBST(CONFIG_SND_DATE)
2387
AC_MSG_RESULT($CONFIG_SND_VERSION)
2389
dnl Check for dynamic minors...
2390
AC_MSG_CHECKING(for dynamic minor numbers)
2391
AC_ARG_ENABLE(dynamic-minors,
2392
AS_HELP_STRING([--enable-dynamic-minors],
2393
[enable dynamic minor numbers for device files (requires udev or devfs)]),
2394
[dynamic_minors="$enableval"], [dynamic_minors="no"])
2395
if test "$dynamic_minors" = "yes"; then
2396
CONFIG_SND_DYNAMIC_MINORS=y
2397
AC_DEFINE(CONFIG_SND_DYNAMIC_MINORS)
2403
dnl Check for sequencer support...
2404
AC_MSG_CHECKING(for sequencer support)
2405
AC_ARG_WITH(sequencer,
2406
[ --with-sequencer=yes,no driver will (not) be compiled with sequencer support],
2407
sequencer="$withval", sequencer="yes")
2408
if test "$sequencer" = "yes"; then
2409
CONFIG_SND_SEQUENCER="m"
2415
dnl Check for OSS/Free emulation...
2416
AC_MSG_CHECKING(for OSS/Free emulation)
2418
[ --with-oss=no,yes driver will (not) be compiled with OSS/Free emulation],
2419
ossemul="$withval", ossemul="yes")
2420
if test "$ossemul" = "yes"; then
2421
CONFIG_SND_OSSEMUL="y"
2422
CONFIG_SND_MIXER_OSS="m"
2423
CONFIG_SND_PCM_OSS="m"
2425
CONFIG_SND_TIMER="m"
2426
if test "$CONFIG_SND_SEQUENCER" = "m"; then
2427
CONFIG_SND_SEQUENCER_OSS="y"
2434
if test "$CONFIG_SND_OSSEMUL" = "y"; then
2436
dnl Check for OSS PCM plugin system inclusion...
2437
AC_MSG_CHECKING(for OSS PCM plugin system inclusion)
2438
AC_ARG_WITH(pcm-oss-plugins,
2439
[ --with-pcm-oss-plugins=no,yes driver will (not) be compiled with OSS PCM plugins],
2440
ossemulplugins="$withval", ossemulplugins="yes")
2441
if test "$ossemulplugins" = "yes"; then
2442
CONFIG_SND_PCM_OSS_PLUGINS="y"
2450
dnl Check for RTC timer support...
2451
CHECK_KERNEL_CONFIG(CONFIG_RTC, [RTC support])
2452
AC_SUBST(CONFIG_RTC)
2454
dnl Check for HPET support
2455
CHECK_KERNEL_CONFIG(CONFIG_HPET, [HPET support])
2456
AC_SUBST(CONFIG_HPET)
2458
dnl Check for procfs
2459
CHECK_KERNEL_CONFIG(CONFIG_PROC_FS, [Procfs support])
2460
AC_SUBST(CONFIG_PROC_FS)
2463
CHECK_KERNEL_CONFIG(CONFIG_USB, [USB support])
2464
if test "$CONFIG_USB" != "y"; then
2465
CHECK_KERNEL_CONFIG(CONFIG_USB_MODULE, [USB module support])
2466
CONFIG_USB=$CONFIG_USB_MODULE
2468
AC_SUBST(CONFIG_USB)
2470
if test -n "$CONFIG_USB"; then
2471
CHECK_KERNEL_HEADER(linux/usb/audio-v2.h, [#include \"usb_audio_v2_compat.h\"
2473
CHECK_KERNEL_HEADER(linux/usb/audio.h, [#include \"usb_audio_compat.h\"
2475
AC_MSG_CHECKING([for valid v1 in linux/usb/audio.h])
2477
ac_save_CFLAGS="$CFLAGS"
2479
CFLAGS="$KERNEL_CHECK_CFLAGS"
2483
#ifdef CONFIG_HAVE_DEPRECATED_CONFIG_H
2484
#include <$INCLUDE_AUTOCONF_H>
2486
#include <linux/config.h>
2488
#include <linux/usb/audio.h>
2490
struct uac_as_header_descriptor_v1 tmp;
2493
AC_MSG_RESULT(yes);usb_audio_valid="1",
2494
AC_MSG_RESULT(no);usb_audio_valid="0",
2495
AC_MSG_RESULT(unknown);usb_audio_valid="0"
2497
if test "$usb_audio_valid" = "1"; then
2498
AC_MSG_CHECKING([for invalid v2 in linux/usb/audio.h])
2501
#ifdef CONFIG_HAVE_DEPRECATED_CONFIG_H
2502
#include <$INCLUDE_AUTOCONF_H>
2504
#include <linux/config.h>
2506
#include <linux/usb/audio.h>
2508
struct uac_as_header_descriptor_v2 tmp;
2511
AC_MSG_RESULT(yes);usb_audio_valid="0",
2512
AC_MSG_RESULT(no);usb_audio_valid="1",
2513
AC_MSG_RESULT(unknown);usb_audio_valid="0"
2516
CFLAGS=$ac_save_CFLAGS
2518
if test "$usb_audio_valid" != "1"; then
2519
mkdir -p include/linux/usb
2520
echo "Creating <linux/usb/audio.h>..."
2521
echo "#include \"usb_audio_compat.h\"" > include/linux/usb/audio.h
2524
CHECK_KERNEL_HEADER(linux/usb/ch9.h)
2527
dnl class_simple for old 2.6 kernels
2528
if test "$kversion.$kpatchlevel" = "2.6"; then
2529
AC_MSG_CHECKING(for class_simple)
2531
KBUILD_TRY_COMPILE([
2532
#include <linux/device.h>
2534
struct class_simple *(*foo)(struct module *, char *) = class_simple_create;
2537
AC_MSG_RESULT(yes);class_simple="1",
2538
AC_MSG_RESULT(no);class_simple="0",
2540
CONFIG_SND_HAVE_CLASS_SIMPLE=$class_simple
2541
dnl AC_SUBST(CONFIG_SND_HAVE_CLASS_SIMPLE)
2542
if test "$CONFIG_SND_HAVE_CLASS_SIMPLE" = "1"; then
2543
AC_DEFINE(CONFIG_SND_HAVE_CLASS_SIMPLE)
2547
dnl simplified suspend/resume for 2.6.14+
2548
if test "$kversion.$kpatchlevel" = "2.6"; then
2549
AC_MSG_CHECKING(for old driver suspend/resume callbacks)
2550
old_driver_suspend="0"
2551
KBUILD_TRY_COMPILE([
2552
#include <linux/device.h>
2554
static struct device_driver driver;
2555
driver.resume(NULL, 0);
2557
AC_MSG_RESULT(yes);old_driver_suspend="1",
2558
AC_MSG_RESULT(no);old_driver_suspend="0",
2560
CONFIG_SND_OLD_DRIVER_SUSPEND=$old_driver_suspend
2561
dnl AC_SUBST(CONFIG_SND_OLD_DRIVER_SUSPEND)
2562
if test "$CONFIG_SND_OLD_DRIVER_SUSPEND" = "1"; then
2563
AC_DEFINE(CONFIG_SND_OLD_DRIVER_SUSPEND)
2567
dnl removal of page-reservation for nopage/mmap (for 2.6.14+)
2568
if test "$kversion.$kpatchlevel" = "2.6"; then
2569
AC_MSG_CHECKING(for removal of page-reservation for nopage/mmap)
2570
remove_page_reserve="0"
2571
KBUILD_TRY_COMPILE([
2572
#include <linux/mm.h>
2574
void (*func)(struct vm_area_struct *, pte_t, unsigned long) = print_bad_pte;
2576
AC_MSG_RESULT(yes);remove_page_reserve="1",
2577
AC_MSG_RESULT(no);remove_page_reserve="0",
2579
CONFIG_SND_REMOVE_PAGE_RESERVE=$remove_page_reserve
2580
dnl AC_SUBST(CONFIG_SND_REMOVE_PAGE_RESERVE)
2581
if test "$CONFIG_SND_REMOVE_PAGE_RESERVE" = "1"; then
2582
AC_DEFINE(CONFIG_SND_REMOVE_PAGE_RESERVE)
2586
dnl nested class_device for 2.6.14+
2587
if test "$kversion.$kpatchlevel" = "2.6"; then
2588
AC_MSG_CHECKING(for nested class_device)
2589
nested_class_device="0"
2590
KBUILD_TRY_COMPILE([
2591
#include <linux/device.h>
2593
struct class_device dev;
2596
AC_MSG_RESULT(yes);nested_class_device="1",
2597
AC_MSG_RESULT(no);nested_class_device="0",
2599
CONFIG_SND_NESTED_CLASS_DEVICE=$nested_class_device
2600
dnl AC_SUBST(CONFIG_SND_NESTED_CLASS_DEVICE)
2601
if test "$CONFIG_SND_NESTED_CLASS_DEVICE" = "1"; then
2602
AC_DEFINE(CONFIG_SND_NESTED_CLASS_DEVICE)
2606
dnl new IRQ handler (2.6.19-rc2)
2607
if test "$kversion.$kpatchlevel" = "2.6"; then
2608
AC_MSG_CHECKING(for new IRQ handler)
2610
KBUILD_TRY_COMPILE([
2611
#include <linux/interrupt.h>
2613
irq_handler_t handle = 0;
2616
AC_MSG_RESULT(yes);new_irq_handler="1",
2617
AC_MSG_RESULT(no);new_irq_handler="0",
2619
CONFIG_SND_NEW_IRQ_HANDLER=$new_irq_handler
2620
dnl AC_SUBST(CONFIG_SND_NEW_IRQ_HANDLER)
2621
if test "$CONFIG_SND_NEW_IRQ_HANDLER" = "1"; then
2622
AC_DEFINE(CONFIG_SND_NEW_IRQ_HANDLER)
2626
dnl Check for gfp_t...
2627
AC_MSG_CHECKING(for gfp_t)
2629
KBUILD_TRY_COMPILE([
2630
#include <linux/types.h>
2631
#include <linux/gfp.h>
2635
AC_MSG_RESULT(yes);gfp_t="1",
2636
AC_MSG_RESULT(no);gfp_t="0",
2638
CONFIG_HAVE_GFP_T=$gfp_t
2639
dnl AC_SUBST(CONFIG_HAVE_GFP_T)
2640
if test "$CONFIG_HAVE_GFP_T" = "1"; then
2641
AC_DEFINE(CONFIG_HAVE_GFP_T)
2644
dnl Check for GFP_DMA32...
2645
AC_MSG_CHECKING(for GFP_DMA32)
2647
KBUILD_TRY_COMPILE([
2648
#include <linux/types.h>
2649
#include <linux/gfp.h>
2651
int flags = GFP_DMA32;
2653
AC_MSG_RESULT(yes);gfp_dma32="1",
2654
AC_MSG_RESULT(no);gfp_dma32="0",
2656
CONFIG_HAVE_GFP_DMA32=$gfp_dma32
2657
dnl AC_SUBST(CONFIG_HAVE_GFP_DMA32)
2658
if test "$CONFIG_HAVE_GFP_DMA32" = "1"; then
2659
AC_DEFINE(CONFIG_HAVE_GFP_DMA32)
2662
dnl Check for page_to_pfn...
2663
AC_MSG_CHECKING(for page_to_pfn)
2665
KBUILD_TRY_COMPILE([
2666
#include <linux/types.h>
2667
#include <linux/mm.h>
2669
struct page *page = NULL;
2670
unsigned int a = page_to_pfn(page);
2671
page = (struct page *)a;
2673
AC_MSG_RESULT(yes);page_to_pfn="1",
2674
AC_MSG_RESULT(no);page_to_pfn="0",
2676
CONFIG_HAVE_PAGE_TO_PFN=$page_to_pfn
2677
dnl AC_SUBST(CONFIG_HAVE_PAGE_TO_PFN)
2678
if test "$CONFIG_HAVE_PAGE_TO_PFN" = "1"; then
2679
AC_DEFINE(CONFIG_HAVE_PAGE_TO_PFN)
2682
dnl Check for init_utsname...
2683
if test "$kversion.$kpatchlevel" = "2.6" -a $ksublevel -ge 19; then
2684
CONFIG_HAVE_INIT_UTSNAME=1
2686
AC_MSG_CHECKING(for init_utsname)
2688
KBUILD_TRY_COMPILE([
2689
#include <linux/utsname.h>
2691
int *x = (int *)init_utsname();
2694
AC_MSG_RESULT(yes);init_utsname="1",
2695
AC_MSG_RESULT(no);init_utsname="0",
2698
CONFIG_HAVE_INIT_UTSNAME=$init_utsname
2700
dnl AC_SUBST(CONFIG_HAVE_INIT_UTSNAME)
2701
if test "$CONFIG_HAVE_INIT_UTSNAME" = "1"; then
2702
AC_DEFINE(CONFIG_HAVE_INIT_UTSNAME)
2705
dnl Check for is_power_of_2...
2706
if test "$kversion.$kpatchlevel" = "2.6" -a $ksublevel -ge 21; then
2707
CONFIG_HAVE_IS_POWER_OF_2=1
2709
AC_MSG_CHECKING(for is_power_of_2)
2711
KBUILD_TRY_COMPILE([
2712
#include <linux/log2.h>
2714
int a = is_power_of_2(2);
2717
AC_MSG_RESULT(yes);is_power_of_2="1",
2718
AC_MSG_RESULT(no);is_power_of_2="0",
2721
CONFIG_HAVE_IS_POWER_OF_2=$is_power_of_2
2723
dnl AC_SUBST(CONFIG_HAVE_IS_POWER_OF_2)
2724
if test "$CONFIG_HAVE_IS_POWER_OF_2" = "1"; then
2725
AC_DEFINE(CONFIG_HAVE_IS_POWER_OF_2)
2729
if test "$kversion.$kpatchlevel" = "2.6"; then
2732
AC_MSG_CHECKING(for __ffs)
2734
KBUILD_TRY_COMPILE([
2735
#include <linux/bitops.h>
2737
unsigned long (*x)(unsigned long);
2740
AC_MSG_RESULT(yes);have_ffs="1",
2741
AC_MSG_RESULT(no);have_ffs="0",
2743
CONFIG_HAVE_FFS=$have_ffs
2745
dnl AC_SUBST(CONFIG_HAVE_FFS)
2746
if test "$CONFIG_HAVE_FFS" = "1"; then
2747
AC_DEFINE(CONFIG_HAVE_FFS)
2750
dnl PnP supports suspend/resume?
2751
if test "$CONFIG_PNP_KERNEL" = "y"; then
2752
AC_MSG_CHECKING(for PnP suspend/resume)
2754
KBUILD_TRY_COMPILE([
2755
#include <linux/pnp.h>
2757
struct pnp_driver pnp;
2760
AC_MSG_RESULT(yes);pnp_suspend="1",
2761
AC_MSG_RESULT(no);pnp_suspend="0",
2763
CONFIG_HAVE_PNP_SUSPEND=$pnp_suspend
2764
dnl AC_SUBST(CONFIG_HAVE_PNP_SUSPEND)
2765
if test "$CONFIG_HAVE_PNP_SUSPEND" = "1"; then
2766
AC_DEFINE(CONFIG_HAVE_PNP_SUSPEND)
2770
dnl device_create_drvdata
2771
if test "$kversion.$kpatchlevel" = "2.6"; then
2772
AC_MSG_CHECKING(for device_create_drvdata)
2773
device_create_drvdata="0"
2774
KBUILD_TRY_COMPILE([
2775
#include <linux/device.h>
2777
struct device *(*foo)() = device_create_drvdata;
2779
AC_MSG_RESULT(yes);device_create_drvdata="1",
2780
AC_MSG_RESULT(no);device_create_drvdata="0",
2782
CONFIG_SND_HAS_DEVICE_CREATE_DRVDATA=$device_create_drvdata
2783
if test "$CONFIG_SND_HAS_DEVICE_CREATE_DRVDATA" = "1"; then
2784
AC_DEFINE(CONFIG_SND_HAS_DEVICE_CREATE_DRVDATA)
2789
dnl New unlocked/compat_ioctl
2790
if test "$kversion.$kpatchlevel" = "2.6"; then
2791
AC_MSG_CHECKING(for new unlocked/compat_ioctl)
2793
KBUILD_TRY_COMPILE([
2794
#include <linux/fs.h>
2796
struct file_operations ops;
2797
ops.unlocked_ioctl = NULL;
2798
ops.compat_ioctl = NULL;
2800
AC_MSG_RESULT(yes);new_ioctl="1",
2801
AC_MSG_RESULT(no);new_ioctl="0",
2803
CONFIG_SND_HAVE_NEW_IOCTL=$new_ioctl
2804
dnl AC_SUBST(CONFIG_SND_HAVE_NEW_IOCTL)
2805
if test "$CONFIG_SND_HAVE_NEW_IOCTL" = "1"; then
2806
AC_DEFINE(CONFIG_SND_HAVE_NEW_IOCTL)
2807
CONFIG_SND_BIT32_EMUL=
2811
dnl compiler support for _Bool
2812
AC_MSG_CHECKING(for builtin _Bool support)
2814
KBUILD_TRY_COMPILE([],[
2818
AC_MSG_RESULT(yes);builtin_bool="1",
2819
AC_MSG_RESULT(no);builtin_bool="0",
2821
CONFIG_SND_HAS_BUILTIN_BOOL=$builtin_bool
2822
if test "$CONFIG_SND_HAS_BUILTIN_BOOL" = "1"; then
2823
AC_DEFINE(CONFIG_SND_HAS_BUILTIN_BOOL)
2826
AC_SUBST(CONFIG_SND_BIT32_EMUL)
2827
test "$CONFIG_SND_BIT32_EMUL" = "m" && AC_DEFINE(CONFIG_SND_BIT32_EMUL_MODULE)
2829
CHECK_KERNEL_CONFIG(CONFIG_X86_PC, [x86-compatible PC])
2830
AC_SUBST(CONFIG_X86_PC)
2831
dnl need kernel version >= 2.6.22 for the proper high-res timers support
2832
if test "$kversion" -ge 2 -a "$kpatchlevel" -ge 6 -a "$ksublevel" -ge 22; then
2833
CHECK_KERNEL_CONFIG(CONFIG_HIGH_RES_TIMERS, [High-Res timers])
2834
AC_SUBST(CONFIG_HIGH_RES_TIMERS)
2839
[ --with-pcmcia=kernel,external support kernel PCMCIA driver or external PCMCIA driver],
2840
pcmcia="$withval", pcmcia="kernel")
2841
AC_ARG_WITH(pcmcia_root,
2842
[ --with-pcmcia-root=dir specify the root directory of external PCMCIA source-tree],
2843
pcmciaroot="$withval", pcmciaroot="")
2845
if test "$pcmcia" = "kernel"; then
2846
echo "checking for kernel PCMCIA"
2847
CHECK_KERNEL_CONFIG(CONFIG_PCMCIA, [PCMCIA support])
2848
if test "$CONFIG_PCMCIA" != "y"; then
2849
CHECK_KERNEL_CONFIG(CONFIG_PCMCIA_MODULE, [PCMCIA module support])
2850
CONFIG_PCMCIA=$CONFIG_PCMCIA_MODULE
2853
echo "checking for external PCMCIA"
2854
if test "$pcmciaroot" = ""; then
2855
AC_MSG_ERROR(Please set the PCMCIA root directory via --with-pcmcia-root option)
2857
if test ! -d "$pcmciaroot"; then
2858
AC_MSG_ERROR(PCMCIA root $pcmciaroot is not a directory)
2860
echo "PCMCIA root directory is $pcmciaroot"
2861
EXTRA_INCLUDES="-I$pcmciaroot/include"
2865
AC_SUBST(CONFIG_PCMCIA)
2867
dnl Check for PC98 architecture support...
2868
CHECK_KERNEL_CONFIG(CONFIG_X86_PC9800, [PC9800 support in kernel])
2869
AC_SUBST(CONFIG_X86_PC9800)
2871
dnl Check for parallel port support
2872
if test "$kversion.$kpatchlevel" = "2.2"; then
2875
CHECK_KERNEL_CONFIG(CONFIG_PARPORT, [parallel port support])
2876
if test "$CONFIG_PARPORT" != "y"; then
2877
CHECK_KERNEL_CONFIG(CONFIG_PARPORT_MODULE, [parallel port module support])
2878
CONFIG_PARPORT=$CONFIG_PARPORT_MODULE
2881
AC_SUBST(CONFIG_PARPORT)
2884
if test "$kversion.$kpatchlevel" = "2.2"; then
2887
CHECK_KERNEL_CONFIG(CONFIG_PM, [power management])
2891
dnl Check for CONFIG_HAS_DMA
2892
if test $kpatchlevel -ge 6 -a $ksublevel -ge 23; then
2893
CHECK_KERNEL_CONFIG(CONFIG_HAS_DMA, [CONFIG_HAS_DMA])
2897
AC_SUBST(CONFIG_HAS_DMA)
2899
dnl Check for which cards to compile driver for...
2901
ALSA_TOPLEVEL_SELECT
2906
dnl Define our config symbols
2907
ALSA_TOPLEVEL_DEFINES
2910
if test "$CONFIG_SND_OSSEMUL" = "y"; then
2911
CONFIG_SND_MIXER_OSS="$CONFIG_SND"
2912
CONFIG_SND_PCM_OSS="$CONFIG_SND_PCM"
2913
if test -n "$CONFIG_SND_SEQUENCER"; then
2914
CONFIG_SND_SEQUENCER_OSS="y"
2918
dnl Output all stuffs
2919
ALSA_TOPLEVEL_OUTPUT
2921
dnl Some late substitutes...
2922
c_opts="$c_opts -DLINUX"
2924
if test -r /etc/asound/make_opts; then
2925
m_opts="$m_opts `cat /etc/asound/make_opts`"
2930
AC_SUBST(EXTRA_INCLUDES)
2931
AC_SUBST(KERNEL_INC)
2934
AC_OUTPUT(version Makefile.conf snddevices \
2935
utils/alsa-driver.spec utils/buildrpm toplevel.config \
2936
utils/alsasound utils/alsasound.posix \
2937
include/pci_ids_compat.h include/i2c-id_compat.h)
2939
dnl Make right rights for scripts
2940
chmod 755 $srcdir/snddevices
2942
dnl Hack pci_ids.h and i2c-id.h if necessary
2943
mkdir -p include/linux
2944
ln -sf ../pci_ids_compat.h include/linux/pci_ids.h
2945
ln -sf ../i2c-id_compat.h include/linux/i2c-id.h
2947
dnl Hack autoconf.h if necessary
2948
if test "$CONFIG_SND_MODULE" = y; then
2949
echo "Hacking autoconf.h..."
2950
rm -f include/linux/autoconf.h include/generated/autoconf.h
2951
mkdir -p include/linux include/generated
2952
if test -n "$kernelbuild" -a -r $kernelbuild/include/$INCLUDE_AUTOCONF_H ; then
2953
kernconf="$kernelbuild/include/$INCLUDE_AUTOCONF_H"
2954
elif test -r $CONFIG_SND_KERNELSRC/include/$INCLUDE_AUTOCONF_H ; then
2955
kernconf="$CONFIG_SND_KERNELSRC/include/$INCLUDE_AUTOCONF_H"
2958
File include/$INCLUDE_AUTOCONF_H does not exist in kernel tree.
2959
Fatal error - aborting...
2963
grep -v CONFIG_SND_ $kernconf > include/$INCLUDE_AUTOCONF_H
2964
cat include/autoconf-extra.h include/config1.h | grep CONFIG_SND \
2965
| sed -e's@/\* #undef \([A-Za-z0-9_]\+\) .*$@#undef \1@g' \
2966
>> include/$INCLUDE_AUTOCONF_H
2968
rm -f include/$INCLUDE_AUTOCONF_H
2971
dnl avoid changing include/sound/version.h
2972
if test "$update_version" != "yes"; then
2973
touch alsa-kernel/include/version.h