summaryrefslogtreecommitdiff
path: root/Drivers.macros
blob: ae0a6b3b8ba7e30853e6c517f7245412d0e7ff27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
dnl
dnl Some autoconf macros useful for device driver configuration
dnl
dnl Copyright 1997 Free Software Foundation, Inc.
dnl Permission to use, copy, modify and distribute this software and its
dnl documentation is hereby granted, provided that both the copyright
dnl notice and this permission notice appear in all copies of the
dnl software, derivative works or modified versions, and any portions
dnl thereof, and that both notices appear in supporting documentation.
dnl
dnl THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS
dnl "AS IS" CONDITION.  THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY
dnl LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE
dnl USE OF THIS SOFTWARE.

AC_SUBST(device_drivers)

dnl AC_DRIVER_ALIAS(alias, canonical) makes --enable-alias have the
dnl same effect as --enable-canonical.

AC_DEFUN(AC_DRIVER_ALIAS, [
[#] Checking for alias [$1]
AC_ARG_ENABLE([$1],,
enable_[$2]="$enable_[$1]"
)])

dnl AC_DRIVER_CLASS(name,option,files) defines a class of drivers.  If
dnl any driver declared by AC_DRIVER to be in that class is selected
dnl by the user, then set the specified option with AC_DEFINE and add
dnl the specified files to the output variable `device_drivers'.  This
dnl macro must precede the use of any corresponding AC_DRIVER macros.

AC_DEFUN(AC_DRIVER_CLASS, [
driver_class_[$1]_option=[$2]
driver_class_[$1]_files="[$3]"
])

dnl AC_DRIVER(name,option,files [,class]) detects option --enable-name.  If
dnl it's set, then `option' is defined with AC_DEFINE, and files is
dnl added to the output variable `device_drivers'.  The driver is of class
dnl `class'; see the comments on AC_DRIVER_CLASS for more information.

AC_DEFUN(AC_DRIVER, [
[#] Checking for device driver option [$1]
AC_ARG_ENABLE([$1],,
if test "x$enableval" != xno; then
AC_DEFINE([$2])
device_drivers="$device_drivers [$3]"
if test "${driver_class_[$4]_selected+set}" != set; then
  driver_class_[$4]_selected=yes
  AC_DEFINE_UNQUOTED($driver_class_[$4]_option)
  device_drivers="$device_drivers $driver_class_[$4]_files"
fi
fi
)])