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