]> mj.ucw.cz Git - pciutils.git/blob - lib/configure
New config system.
[pciutils.git] / lib / configure
1 #!/bin/sh
2
3 echo_n() {
4         if [ -n "$BASH" ]
5         then
6                 echo -n "$*"
7         else
8                 echo "$*\c"
9         fi
10 }
11
12 echo_n "Configuring libpci for your system..."
13 sharedir=${1:-/usr/share}
14 version=${2:-0.0}
15 sys=`uname -s`
16 rel=`uname -r`
17 if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
18 then
19         rel=`/usr/bin/oslevel`
20         proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
21         cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
22 else
23         cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`
24 fi
25 echo " $sys/$cpu $rel"
26
27 c=config.h
28 echo >$c "#define ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"
29 echo >>$c "#define OS_`echo $sys | tr 'a-z' 'A-Z'`"
30
31 echo_n "Looking for access methods..."
32
33 case $sys in
34         Linux)
35                 case $rel in
36                         2.[1-9]*|[3-9]*)        echo_n " proc"
37                                                 echo >>$c '#define HAVE_PM_LINUX_PROC'
38                                                 echo >>$c '#define HAVE_LINUX_BYTEORDER_H'
39                                                 echo >>$c '#define PATH_PROC_BUS_PCI "/proc/bus/pci"'
40                                                 ok=1
41                                                 ;;
42                 esac
43                 case $cpu in
44                                 i386)           echo_n " i386-ports"
45                                                 echo >>$c '#define HAVE_PM_INTEL_CONF'
46                                                 ok=1
47                                                 ;;
48                                 alpha|ia64)     echo >>$c '#define HAVE_64BIT_ADDRESS'
49                                                 ;;
50                                 sparc|sparc64)  echo >>$c '#define HAVE_64BIT_ADDRESS'
51                                                 echo >>$c '#define HAVE_LONG_ADDRESS'
52                                                 ;;
53                 esac
54                 ;;
55         FreeBSD)
56                 echo_n " fbsd-device"
57                 echo >>$c '#define HAVE_PM_FBSD_DEVICE'
58                 echo >>$c '#define PATH_FBSD_DEVICE "/dev/pci"'
59                 ok=1
60                 ;;
61         AIX)
62                 echo_n " aix-device"
63                 echo >>$c '#define HAVE_PM_AIX_DEVICE'
64                 ok=1
65                 ;;
66         NetBSD)
67                 echo_n " nbsd-libpci"
68                 echo >>$c '#define HAVE_PM_NBSD_LIBPCI'
69                 echo >>$c '#define PATH_NBSD_DEVICE "/dev/pci0"'
70                 ok=1
71                 ;;
72         *)
73                 echo " The PCI library currently supports only Linux, AIX, FreeBSD and NetBSD"
74                 exit 1
75                 ;;
76 esac
77
78 echo >>$c '#define HAVE_PM_DUMP'
79 echo " dump"
80 if [ -z "$ok" ] ; then
81         echo "WARNING: No real configuration access method is available."
82 fi
83 echo >>$c "#define PATH_PCI_IDS \"$sharedir/pci.ids\""
84 echo >>$c "#define PCILIB_VERSION \"$version\""
85 sed '/^#define [^ ]*$/!d;s/^#define \(.*\)/\1=1/' <$c >config.mk