X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure;h=ecd350352d444fac3d1ddcc5b67b41c2cc5b8feb;hb=152967235012b72c4c99f2d9631d19a2afc0ef8c;hp=e7ea209ce7cd16a4e472db7011b5140451e03cea;hpb=2dfd48cdcbaa0bba372025b47580121555396d27;p=pciutils.git diff --git a/lib/configure b/lib/configure index e7ea209..ecd3503 100755 --- a/lib/configure +++ b/lib/configure @@ -1,67 +1,106 @@ #!/bin/sh -echo -n "Configuring libpci for your system..." -prefix=${1:-/usr} +echo_n() { + if [ -n "$BASH" ] + then + echo -n "$*" + else + echo "$*\c" + fi +} + +echo_n "Configuring libpci for your system..." +idsdir=${1:-/usr/share} version=${2:-0.0} sys=`uname -s` rel=`uname -r` -cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'` -echo "$sys/$cpu $rel" +if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ] +then + rel=`/usr/bin/oslevel` + proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1` + cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'` +else + cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/'` +fi +host=${3:-$cpu-$sys} +host=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)$/\1--\2/' | tr 'A-Z' 'a-z'` +cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +sys=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +rel=${4:-$rel} +echo " $host $rel" c=config.h -echo >$c "#define ARCH_`echo $cpu | tr 'a-z' 'A-Z'`" -echo >$c "#define OS_`echo $sys | tr 'a-z' 'A-Z'`" +echo >$c "#define PCI_ARCH_`echo $cpu | tr 'a-z' 'A-Z'`" +echo >>$c "#define PCI_OS_`echo $sys | tr 'a-z' 'A-Z'`" -echo -n "Looking for access methods..." +echo_n "Looking for access methods..." case $sys in - Linux) + linux*) case $rel in - 2.[1-9]*|[3-9]*) echo -n " proc" - echo >>$c '#define HAVE_PM_LINUX_PROC' - echo >>$c '#define HAVE_LINUX_BYTEORDER_H' - echo >>$c '#define PATH_PROC_BUS_PCI "/proc/bus/pci"' + 2.[1-9]*|[3-9]*) echo_n " sysfs proc" + echo >>$c '#define PCI_HAVE_PM_LINUX_SYSFS' + echo >>$c '#define PCI_HAVE_PM_LINUX_PROC' + echo >>$c '#define PCI_HAVE_LINUX_BYTEORDER_H' + echo >>$c '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"' + echo >>$c '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"' ok=1 ;; esac case $cpu in - i386) echo -n " i386-ports" - echo >>$c '#define HAVE_PM_INTEL_CONF' + i386) echo_n " i386-ports" + echo >>$c '#define PCI_HAVE_PM_INTEL_CONF' ok=1 ;; - alpha|ia64) echo >>$c '#define HAVE_64BIT_ADDRESS' -# echo -n " syscalls" -# echo >>$c '#define HAVE_PM_SYSCALLS' -# ok=1 + esac + echo >>$c '#define PCI_HAVE_64BIT_ADDRESS' + ;; + sunos) + case $cpu in + i386) echo_n " i386-ports" + echo >>$c "#define PCI_HAVE_PM_INTEL_CONF" + ok=1 ;; - sparc|sparc64) echo >>$c '#define HAVE_64BIT_ADDRESS' - echo >>$c '#define HAVE_LONG_ADDRESS' -# echo -n " syscalls" -# echo >>$c '#define HAVE_PM_SYSCALLS' -# ok=1 + *) + echo " The PCI library is does not support Solaris for this architecture: $cpu" + exit 1 ;; esac ;; - FreeBSD) - echo -n " fbsd-device" - echo >>$c '#define HAVE_PM_FBSD_DEVICE' - echo >>$c '#define PATH_FBSD_DEVICE "/dev/pci"' + + freebsd) + echo_n " fbsd-device" + echo >>$c '#define PCI_HAVE_PM_FBSD_DEVICE' + echo >>$c '#define PCI_PATH_FBSD_DEVICE "/dev/pci"' + ok=1 + ;; + aix) + echo_n " aix-device" + echo >>$c '#define PCI_HAVE_PM_AIX_DEVICE' + ok=1 + ;; + netbsd) + echo_n " nbsd-libpci" + echo >>$c '#define PCI_HAVE_PM_NBSD_LIBPCI' + echo >>$c '#define PCI_PATH_NBSD_DEVICE "/dev/pci0"' + ok=1 + ;; + gnu) + echo_n " i386-ports" + echo >>$c '#define PCI_HAVE_PM_INTEL_CONF' ok=1 ;; *) - echo " The PCI library currently supports only Linux and FreeBSD" + echo " Unfortunately, your OS is not supported by the PCI Library" exit 1 ;; esac -echo >>$c '#define HAVE_PM_DUMP' +echo >>$c '#define PCI_HAVE_PM_DUMP' echo " dump" if [ -z "$ok" ] ; then echo "WARNING: No real configuration access method is available." fi -echo >>$c "#define PATH_PCI_IDS \"$prefix/share/pci.ids\"" -if [ -f header.h ] ; then - echo >>$c '#define HAVE_OWN_HEADER_H' -fi +echo >>$c "#define PCI_PATH_IDS \"$idsdir/pci.ids\"" echo >>$c "#define PCILIB_VERSION \"$version\"" sed '/^#define [^ ]*$/!d;s/^#define \(.*\)/\1=1/' <$c >config.mk