]> mj.ucw.cz Git - pciutils.git/blob - lib/configure
7c828d9974b96a7de0c4c17b91190a275abbb544
[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 idsdir=${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/;s/^i86pc$/i386/'`
24 fi
25 if [ "$sys" = "GNU/kFreeBSD" ]
26 then
27         sys=freebsd
28 fi
29 host=${3:-$cpu-$sys}
30 host=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)$/\1--\2/' | tr 'A-Z' 'a-z'`
31 cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
32 sys=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
33 rel=${4:-$rel}
34 echo " $host $rel"
35 zlib=$5
36
37 c=config.h
38 echo >$c "#define PCI_ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"
39 echo >>$c "#define PCI_OS_`echo $sys | tr 'a-z' 'A-Z'`"
40
41 echo_n "Looking for access methods..."
42
43 case $sys in
44         linux*)
45                 case $rel in
46                         2.[1-9]*|[3-9]*)        echo_n " sysfs proc"
47                                                 echo >>$c '#define PCI_HAVE_PM_LINUX_SYSFS'
48                                                 echo >>$c '#define PCI_HAVE_PM_LINUX_PROC'
49                                                 echo >>$c '#define PCI_HAVE_LINUX_BYTEORDER_H'
50                                                 echo >>$c '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"'
51                                                 echo >>$c '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"'
52                                                 ok=1
53                                                 ;;
54                 esac
55                 case $cpu in
56                                 i386)           echo_n " i386-ports"
57                                                 echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
58                                                 ok=1
59                                                 ;;
60                 esac
61                 echo >>$c '#define PCI_HAVE_64BIT_ADDRESS'
62                 ;;
63         sunos)
64                 case $cpu in
65                                 i386)           echo_n " i386-ports"
66                                                 echo >>$c "#define PCI_HAVE_PM_INTEL_CONF"
67                                                 ok=1
68                                                 ;;
69                                 *)
70                                                 echo " The PCI library is does not support Solaris for this architecture: $cpu"
71                                                 exit 1
72                                                 ;;
73                 esac
74                 ;;
75         freebsd)
76                 echo_n " fbsd-device"
77                 echo >>$c '#define PCI_HAVE_PM_FBSD_DEVICE'
78                 echo >>$c '#define PCI_PATH_FBSD_DEVICE "/dev/pci"'
79                 ok=1
80                 ;;
81         openbsd)
82                 echo_n " obsd-device"
83                 echo >>$c '#define PCI_HAVE_PM_OBSD_DEVICE'
84                 echo >>$c '#define PCI_PATH_OBSD_DEVICE "/dev/pci"'
85                 ok=1
86                 ;;
87         aix)
88                 echo_n " aix-device"
89                 echo >>$c '#define PCI_HAVE_PM_AIX_DEVICE'
90                 ok=1
91                 ;;
92         netbsd)
93                 echo_n " nbsd-libpci"
94                 echo >>$c '#define PCI_HAVE_PM_NBSD_LIBPCI'
95                 echo >>$c '#define PCI_PATH_NBSD_DEVICE "/dev/pci0"'
96                 ok=1
97                 ;;
98         gnu)
99                 echo_n " i386-ports"
100                 echo >>$c '#define PCI_HAVE_PM_INTEL_CONF'
101                 ok=1
102                 ;;
103         *)
104                 echo " Unfortunately, your OS is not supported by the PCI Library"
105                 exit 1
106                 ;;
107 esac
108
109 echo >>$c '#define PCI_HAVE_PM_DUMP'
110 echo " dump"
111 if [ -z "$ok" ] ; then
112         echo "WARNING: No real configuration access method is available."
113 fi
114
115 echo_n "Checking for zlib support... "
116 if [ "$zlib" = yes -o "$zlib" = no ] ; then
117         echo "$zlib (set manually)"
118 else
119         if [ -f /usr/include/zlib.h ] ; then
120                 zlib=yes
121         else
122                 zlib=no
123         fi
124         echo "$zlib (auto-detected)"
125 fi
126 if [ "$zlib" = yes ] ; then
127         echo >>$c '#define PCI_COMPRESSED_IDS'
128         echo >>$c "#define PCI_IDS \"pci.ids.gz\""
129 else
130         echo >>$c "#define PCI_IDS \"pci.ids\""
131 fi
132 echo >>$c "#define PCI_PATH_IDS_DIR \"$idsdir\""
133
134 echo >>$c "#define PCILIB_VERSION \"$version\""
135 sed '/"/{s/^#define \([^ ]*\) "\(.*\)"$/\1=\2/;p;d;};s/^#define \(.*\)/\1=1/' <$c >config.mk