OSDN Git Service

Improve NetBSD i386 detection.
[android-x86/external-libpciaccess.git] / configure.ac
1 # (C) Copyright IBM Corporation 2006
2 # All Rights Reserved.
3 #
4 # Permission is hereby granted, free of charge, to any person obtaining a
5 # copy of this software and associated documentation files (the "Software"),
6 # to deal in the Software without restriction, including without limitation
7 # on the rights to use, copy, modify, merge, publish, distribute, sub
8 # license, and/or sell copies of the Software, and to permit persons to whom
9 # the Software is furnished to do so, subject to the following conditions:
10 #
11 # The above copyright notice and this permission notice (including the next
12 # paragraph) shall be included in all copies or substantial portions of the
13 # Software.
14 #
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
18 # IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 # DEALINGS IN THE SOFTWARE.
22 #
23
24 # Initialize Autoconf
25 AC_PREREQ([2.60])
26 AC_INIT([libpciaccess],[0.13.2],
27         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess],[libpciaccess])
28 AC_CONFIG_SRCDIR([Makefile.am])
29 AC_CONFIG_HEADERS([config.h])
30
31 # Initialize Automake
32 AM_INIT_AUTOMAKE([foreign dist-bzip2])
33 AC_USE_SYSTEM_EXTENSIONS
34
35 # Initialize libtool
36 AC_PROG_LIBTOOL
37
38 # Require X.Org macros 1.8 or later
39 m4_ifndef([XORG_MACROS_VERSION],
40           [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
41 XORG_MACROS_VERSION(1.8)
42 XORG_DEFAULT_OPTIONS
43
44 pciids_path=/usr/share/hwdata
45 AC_ARG_WITH(pciids-path, AS_HELP_STRING([--with-pciids-path=PCIIDS_PATH],
46         [Path to pci.ids file]), [pciids_path="$withval"])
47 AX_DEFINE_DIR(PCIIDS_PATH, pciids_path, [Path to pci.ids])
48
49 AC_ARG_ENABLE(linux-rom-fallback, AS_HELP_STRING([--enable-linux-rom-fallback],
50                 [Enable support for falling back to /dev/mem for roms (default: disabled)]),
51                 [LINUX_ROM=$enableval],[LINUX_ROM=no])
52
53 if test "x$LINUX_ROM" = xyes; then
54         AC_DEFINE(LINUX_ROM, 1, [Linux ROM read fallback])
55 fi
56
57 use_zlib=no
58 AC_ARG_WITH(zlib, AS_HELP_STRING([--with-zlib],
59         [Enable zlib support to read gzip compressed pci.ids]),
60         [use_zlib="$withval"])
61 if test "x$use_zlib" = xyes; then
62         AC_CHECK_LIB(z, gzopen,
63         [PCIACCESS_LIBS="$PCIACCESS_LIBS -lz"],
64         [AC_MSG_ERROR(Check for zlib library failed)])
65         AC_CHECK_HEADER([zlib.h],
66         [AC_DEFINE(HAVE_ZLIB, 1, [Use zlib to read gzip compressed pci.ids])],
67         [AC_MSG_ERROR(Check for zlib.h header file failed)])
68 fi
69
70 case $host_os in
71         *freebsd* | *dragonfly*)
72                 freebsd=yes
73                 ;;
74         *linux*)
75                 linux=yes
76                 ;;
77         *netbsd*)
78                 case $host in
79                 *i[3-9]86*)
80                         PCIACCESS_LIBS="$PCIACCESS_LIBS -li386 -lpci"
81                         ;;
82                 *x86_64*|*amd64*)
83                         PCIACCESS_LIBS="$PCIACCESS_LIBS -lx86_64 -lpci"
84                         ;;
85                 esac
86                 netbsd=yes
87                 ;;
88         *openbsd*)
89                 openbsd=yes
90                 ;;
91         *solaris*)
92                 solaris=yes
93                 PCIACCESS_LIBS="$PCIACCESS_LIBS -ldevinfo"
94                 ;;
95         gnu*)
96                 gnu=yes
97                 ;;
98 esac
99
100 AM_CONDITIONAL(LINUX, [test "x$linux" = xyes])
101 AM_CONDITIONAL(FREEBSD, [test "x$freebsd" = xyes])
102 AM_CONDITIONAL(NETBSD, [test "x$netbsd" = xyes])
103 AM_CONDITIONAL(OPENBSD, [test "x$openbsd" = xyes])
104 AM_CONDITIONAL(SOLARIS, [test "x$solaris" = xyes])
105 AM_CONDITIONAL(GNU, [test "x$gnu" = xyes])
106
107 AC_SYS_LARGEFILE
108
109 AC_CHECK_HEADERS([err.h])
110
111 if test "x$netbsd" = xyes; then
112 AC_CHECK_HEADERS([machine/sysarch.h])
113 AC_CHECK_HEADERS([machine/mtrr.h], [have_mtrr_h="yes"], [have_mtrr_h="no"],
114 [#ifdef HAVE_MACHINE_SYSARCH_H
115 #include <sys/types.h>
116 #include <machine/sysarch.h>
117 #endif
118 ])
119 else
120 AC_CHECK_HEADER([asm/mtrr.h], [have_mtrr_h="yes"], [have_mtrr_h="no"])
121 fi
122
123 if test "x$have_mtrr_h" = xyes; then
124     AC_DEFINE(HAVE_MTRR, 1, [Use MTRRs on mappings])
125 fi
126
127 # check for the pci_io.pi_sel.pc_domain
128 AC_CHECK_MEMBER([struct pci_io.pi_sel.pc_domain],
129                [AC_DEFINE(HAVE_PCI_IO_PC_DOMAIN,1,[Have the pci_io.pi_sel.pc_domain member.])],
130                [],
131                [ #include <sys/types.h>
132                  #include <sys/pciio.h>
133                ])
134
135 AC_SUBST(PCIACCESS_CFLAGS)
136 AC_SUBST(PCIACCESS_LIBS)
137
138 AC_CONFIG_FILES([Makefile
139                 include/Makefile
140                 man/Makefile
141                 src/Makefile
142                 scanpci/Makefile
143                 pciaccess.pc])
144 AC_OUTPUT