]> git.ipfire.org Git - thirdparty/pciutils.git/blame - lib/configure
Released as 3.2.0.
[thirdparty/pciutils.git] / lib / configure
CommitLineData
727ce158 1#!/bin/sh
3b75e19a 2# Configuration script for the PCI library
17ec7e70 3# (c) 1998--2013 Martin Mares <mj@ucw.cz>
666422c6
MM
4
5LC_ALL=C
6export LC_ALL
727ce158 7
14d6c0a3
MM
8echo_n() {
9 if [ -n "$BASH" ]
10 then
11 echo -n "$*"
12 else
13 echo "$*\c"
14 fi
15}
16
3b75e19a
MM
17if [ -z "$VERSION" -o -z "$IDSDIR" ] ; then
18 echo >&2 "Please run the configure script from the top-level Makefile"
19 exit 1
14d6c0a3 20fi
3b75e19a
MM
21
22echo_n "Configuring libpci for your system..."
23if [ -z "$HOST" ] ; then
24 sys=`uname -s`
25 rel=`uname -r`
d0097572 26 realsys="$sys"
3b75e19a
MM
27 if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
28 then
29 rel=`/usr/bin/oslevel`
30 proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
31 cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
32 else
40e253d7 33 cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/;s/^BePC$/i386/;s/^BeMac$/powerpc/;s/^BeBox$/powerpc/'`
3b75e19a
MM
34 fi
35 if [ "$sys" = "GNU/kFreeBSD" -o "$sys" = "DragonFly" ]
36 then
37 sys=freebsd
38 fi
6c4e6afe 39 if [ "$sys" = "CYGWIN_NT-5.1" -o "$sys" = "CYGWIN_NT-6.0" ]
550d67d1
MM
40 then
41 sys=cygwin
42 fi
3b75e19a 43 HOST=${3:-$cpu-$sys}
d1058e9d 44fi
f683f54a 45[ -n "$RELEASE" ] && rel="${RELEASE}"
b0eb18cc 46# CAVEAT: tr on Solaris is a bit weird and the extra [] is otherwise harmless.
f683f54a 47host=`echo $HOST | sed -e 's/^\([^-]*\)-\([^-]*\)-\([^-]*\)-\([^-]*\)$/\1-\3/' -e 's/^\([^-]*\)-\([^-]*\)$/\1--\2/' | tr '[A-Z]' '[a-z]'`
0d656226
MM
48cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
49sys=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
f683f54a 50echo " $host $rel $cpu $sys"
168b4f46 51
727ce158 52c=config.h
840d09ae 53m=config.mk
59a0211a 54echo >$c '#define PCI_CONFIG_H'
daf2ef4e 55echo >>$c "#define PCI_ARCH_`echo $cpu | tr '[a-z]' '[A-Z]'`"
b0eb18cc 56echo >>$c "#define PCI_OS_`echo $sys | tr '[a-z]' '[A-Z]'`"
d7ea742c 57echo >$m 'WITH_LIBS='
168b4f46 58
14d6c0a3 59echo_n "Looking for access methods..."
17b215b0 60LIBRESOLV=-lresolv
168b4f46
MM
61
62case $sys in
0d656226 63 linux*)
2100f710
MM
64 echo_n " sysfs proc"
65 echo >>$c '#define PCI_HAVE_PM_LINUX_SYSFS'
66 echo >>$c '#define PCI_HAVE_PM_LINUX_PROC'
67 echo >>$c '#define PCI_HAVE_LINUX_BYTEORDER_H'
68 echo >>$c '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"'
69 echo >>$c '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"'
168b4f46 70 case $cpu in
f683f54a 71 i?86|x86_64) echo_n " i386-ports"
489233b4 72 echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
168b4f46 73 ;;
168b4f46 74 esac
15296723 75 echo >>$c '#define PCI_HAVE_64BIT_ADDRESS'
168b4f46 76 ;;
0d656226 77 sunos)
8fc75dbc 78 case $cpu in
f683f54a 79 i?86) echo_n " i386-ports"
489233b4 80 echo >>$c "#define PCI_HAVE_PM_INTEL_CONF"
8fc75dbc
MM
81 ;;
82 *)
545d5126 83 echo " The PCI library does not support Solaris for this architecture: $cpu"
8fc75dbc
MM
84 exit 1
85 ;;
86 esac
e49ed044 87 echo >>$c '#define PCI_HAVE_STDINT_H'
8fc75dbc 88 ;;
657bd95d 89 freebsd*)
14d6c0a3 90 echo_n " fbsd-device"
489233b4
MM
91 echo >>$c '#define PCI_HAVE_PM_FBSD_DEVICE'
92 echo >>$c '#define PCI_PATH_FBSD_DEVICE "/dev/pci"'
d0097572
MM
93 if [ "$realsys" != "GNU/kFreeBSD" ] ; then
94 LIBRESOLV=
95 fi
168b4f46 96 ;;
b6359063
MM
97 openbsd)
98 echo_n " obsd-device"
99 echo >>$c '#define PCI_HAVE_PM_OBSD_DEVICE'
100 echo >>$c '#define PCI_PATH_OBSD_DEVICE "/dev/pci"'
17b215b0 101 LIBRESOLV=
b6359063 102 ;;
0d656226 103 aix)
14d6c0a3 104 echo_n " aix-device"
489233b4 105 echo >>$c '#define PCI_HAVE_PM_AIX_DEVICE'
840d09ae
MM
106 echo >>$m 'CFLAGS=-g'
107 echo >>$m 'INSTALL=installbsd'
108 echo >>$m 'DIRINSTALL=mkdir -p'
14d6c0a3 109 ;;
0d656226 110 netbsd)
848b4347 111 echo_n " nbsd-libpci"
489233b4
MM
112 echo >>$c '#define PCI_HAVE_PM_NBSD_LIBPCI'
113 echo >>$c '#define PCI_PATH_NBSD_DEVICE "/dev/pci0"'
d7ea742c
MM
114 echo >>$m 'LIBNAME=libpciutils'
115 echo >>$m 'WITH_LIBS+=-lpci'
17b215b0 116 LIBRESOLV=
848b4347 117 ;;
0d656226 118 gnu)
8fc75dbc 119 echo_n " i386-ports"
489233b4 120 echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
80459c65 121 ;;
550d67d1
MM
122 cygwin)
123 echo_n " i386-ports"
124 echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
d4553175 125 echo >>$m 'WITH_LIBS+=-lioperm'
550d67d1 126 ;;
40e253d7
FR
127 beos|haiku)
128 case $cpu in
129 i?86|x86_64) echo_n " i386-ports"
130 echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
131 ;;
132 esac
133 echo >>$c '#define PCI_HAVE_STDINT_H'
134 ;;
135 *)
80459c65 136 echo " Unfortunately, your OS is not supported by the PCI Library"
168b4f46
MM
137 exit 1
138 ;;
727ce158 139esac
168b4f46 140
489233b4 141echo >>$c '#define PCI_HAVE_PM_DUMP'
727ce158 142echo " dump"
cc062b4a
MM
143
144echo_n "Checking for zlib support... "
3b75e19a
MM
145if [ "$ZLIB" = yes -o "$ZLIB" = no ] ; then
146 echo "$ZLIB (set manually)"
cc062b4a 147else
ff94bc05 148 if [ -f /usr/include/zlib.h -o -f /usr/local/include/zlib.h ] ; then
3b75e19a 149 ZLIB=yes
cc062b4a 150 else
3b75e19a 151 ZLIB=no
cc062b4a 152 fi
3b75e19a 153 echo "$ZLIB (auto-detected)"
cc062b4a 154fi
3b75e19a 155if [ "$ZLIB" = yes ] ; then
cc062b4a 156 echo >>$c '#define PCI_COMPRESSED_IDS'
840d09ae 157 echo >>$c '#define PCI_IDS "pci.ids.gz"'
5670e427 158 echo >>$m 'LIBZ=-lz'
d7ea742c 159 echo >>$m 'WITH_LIBS+=$(LIBZ)'
cc062b4a 160else
840d09ae 161 echo >>$c '#define PCI_IDS "pci.ids"'
cc062b4a 162fi
3b75e19a
MM
163echo >>$c "#define PCI_PATH_IDS_DIR \"$IDSDIR\""
164
165echo_n "Checking for DNS support... "
166if [ "$DNS" = yes -o "$DNS" = no ] ; then
167 echo "$DNS (set manually)"
168else
169 if [ -f /usr/include/resolv.h ] ; then
170 DNS=yes
171 else
172 DNS=no
173 fi
174 echo "$DNS (auto-detected)"
175fi
176if [ "$DNS" = yes ] ; then
177 echo >>$c "#define PCI_USE_DNS"
cd2f6a34 178 echo >>$c "#define PCI_ID_DOMAIN \"pci.id.ucw.cz\""
17b215b0 179 echo >>$m "WITH_LIBS+=$LIBRESOLV"
3b75e19a 180fi
cc062b4a 181
17ec7e70
MM
182if [ "$sys" = linux ] ; then
183 echo_n "Checking for libkmod... "
184 LIBKMOD_DETECTED=
5bfe14fd
MM
185 if [ -z "$PKG_CONFIG" ] ; then
186 PKG_CONFIG=pkg-config
187 fi
17ec7e70 188 if [ "$LIBKMOD" != no ] ; then
5bfe14fd
MM
189 if ! which $PKG_CONFIG >/dev/null ; then
190 echo_n "($PKG_CONFIG not found) "
191 elif $PKG_CONFIG libkmod ; then
17ec7e70
MM
192 LIBKMOD_DETECTED=1
193 fi
194 fi
195 if [ "$LIBKMOD" = yes -o "$LIBKMOD" = no ] ; then
196 echo "$LIBKMOD (set manually)"
197 if [ "$LIBKMOD" = yes -a -z "$LIBKMOD_DETECTED" ] ; then
198 echo "Requested use of libkmod, but it is not available. Giving up."
199 exit 1
200 fi
201 else
202 if [ -n "$LIBKMOD_DETECTED" ] ; then
203 LIBKMOD=yes
204 else
205 LIBKMOD=no
206 fi
207 echo "$LIBKMOD (auto-detected)"
208 fi
209 if [ "$LIBKMOD" = yes ] ; then
210 echo >>$c "#define PCI_USE_LIBKMOD"
5bfe14fd
MM
211 echo >>$m "LIBKMOD_CFLAGS=$($PKG_CONFIG --cflags libkmod)"
212 echo >>$m "LIBKMOD_LIBS=$($PKG_CONFIG --libs libkmod)"
17ec7e70
MM
213 fi
214fi
215
d7ea742c
MM
216echo "Checking whether to build a shared library... $SHARED (set manually)"
217if [ "$SHARED" = no ] ; then
218 echo >>$m 'PCILIB=$(LIBNAME).a'
219 echo >>$m 'LDLIBS=$(WITH_LIBS)'
220 echo >>$m 'LIB_LDLIBS='
221else
5ad89ed9 222 echo >>$m 'PCILIB=$(LIBNAME).so.$(VERSION)'
d7ea742c
MM
223 # We link the dependencies _to_ the library, so we do not need explicit deps in .pc
224 echo >>$m 'LDLIBS='
225 echo >>$m 'LIB_LDLIBS=$(WITH_LIBS)'
59a0211a 226 echo >>$c '#define PCI_SHARED_LIB'
d7ea742c
MM
227 if [ "$SHARED" = yes ] ; then
228 echo >>$m 'SONAME=-Wl,-soname,$(LIBNAME).so$(ABI_VERSION)'
229 fi
230fi
231echo >>$m 'PCILIBPC=$(LIBNAME).pc'
232
3b75e19a 233echo >>$c "#define PCILIB_VERSION \"$VERSION\""
840d09ae 234sed '/"/{s/^#define \([^ ]*\) "\(.*\)"$/\1=\2/;p;d;};s/^#define \(.*\)/\1=1/' <$c >>$m