add libjpeg
authorNicolas Thill <nico@openwrt.org>
Mon, 19 Sep 2005 22:57:49 +0000 (22:57 +0000)
committerNicolas Thill <nico@openwrt.org>
Mon, 19 Sep 2005 22:57:49 +0000 (22:57 +0000)
SVN-Revision: 1946

openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/jpeg/Config.in [new file with mode: 0644]
openwrt/package/jpeg/Makefile [new file with mode: 0644]
openwrt/package/jpeg/ipkg/libjpeg.control [new file with mode: 0644]
openwrt/package/jpeg/patches/jpeg-6b-config_guess.patch [new file with mode: 0644]

index eb48b4704fd0272b519e1ff48524012b1daab707..3a7af6cce92d5188d667df0c3d2ab6536624e2aa 100644 (file)
@@ -142,6 +142,7 @@ source "package/gmp/Config.in"  # libgmp
 source "package/gnutls/Config.in" ## libgnutls
 source "package/libgpg-error/Config.in"
 source "package/libid3tag/Config.in"
+source "package/jpeg/Config.in"  # libjpeg
 source "package/libtool/Config.in"  # libltdl
 source "package/lzo/Config.in"  # liblzo
 source "package/matrixssl/Config.in"  # libmatrixssl
index 1e774f1d3a0a932669db9d0c79bf496d1efc1d6f..ef6a71273095b7156fa65ac1dbe21317587b9d26 100644 (file)
@@ -57,6 +57,7 @@ package-$(BR2_PACKAGE_IPROUTE2) += iproute2
 package-$(BR2_PACKAGE_IPSET) += ipset
 package-$(BR2_PACKAGE_IPTABLES) += iptables
 package-$(BR2_PACKAGE_IRSSI) += irssi
+package-$(BR2_COMPILE_JPEG) += jpeg
 package-$(BR2_PACKAGE_KISMET) += kismet
 package-$(BR2_PACKAGE_L2TPD) += l2tpd
 package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
diff --git a/openwrt/package/jpeg/Config.in b/openwrt/package/jpeg/Config.in
new file mode 100644 (file)
index 0000000..48a01ba
--- /dev/null
@@ -0,0 +1,15 @@
+config BR2_COMPILE_JPEG
+       bool
+       default n
+       depends BR2_PACKAGE_LIBJPEG
+
+config BR2_PACKAGE_LIBJPEG
+       tristate "libjpeg - The Independent JPEG Group's JPEG runtime library"
+       default m if CONFIG_DEVEL
+       select BR2_COMPILE_JPEG
+       help
+         The Independent JPEG Group's JPEG runtime library.
+         
+         http://www.ijg.org/
+         
+
diff --git a/openwrt/package/jpeg/Makefile b/openwrt/package/jpeg/Makefile
new file mode 100644 (file)
index 0000000..bcd7a65
--- /dev/null
@@ -0,0 +1,87 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=jpeg
+PKG_VERSION:=6b
+PKG_RELEASE:=1
+PKG_MD5SUM:=dbd5f3b47ed13132f04c685d608a7547
+
+PKG_SOURCE_URL:=http://www.ijg.org/files/ \
+       ftp://ftp.uu.net/graphics/jpeg/
+PKG_SOURCE:=$(PKG_NAME)src.v$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBJPEG,libjpeg,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+       (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+               ./configure \
+                       --target=$(GNU_TARGET_NAME) \
+                       --host=$(GNU_TARGET_NAME) \
+                       --build=$(GNU_HOST_NAME) \
+                       --program-prefix="" \
+                       --program-suffix="" \
+                       --prefix=/usr \
+                       --exec-prefix=/usr \
+                       --bindir=/usr/bin \
+                       --datadir=/usr/share \
+                       --includedir=/usr/include \
+                       --infodir=/usr/share/info \
+                       --libdir=/usr/lib \
+                       --libexecdir=/usr/lib \
+                       --localstatedir=/var \
+                       --mandir=/usr/share/man \
+                       --sbindir=/usr/sbin \
+                       --sysconfdir=/etc \
+                       $(DISABLE_LARGEFILE) \
+                       $(DISABLE_NLS) \
+                       --enable-shared \
+                       --enable-static \
+       )
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)/usr/{include,lib}
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               all
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               prefix="$(PKG_INSTALL_DIR)/usr" \
+               exec_prefix="$(PKG_INSTALL_DIR)/usr" \
+               install-headers install-lib
+       touch $@
+
+$(IPKG_LIBJPEG):
+       install -d -m0755 $(IDIR_LIBJPEG)/usr/lib
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libjpeg.so.* $(IDIR_LIBJPEG)/usr/lib/
+       $(RSTRIP) $(IDIR_LIBJPEG)
+       $(IPKG_BUILD) $(IDIR_LIBJPEG) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libjpeg.so: $(PKG_BUILD_DIR)/.built
+       mkdir -p $(STAGING_DIR)/usr/include
+       cp -fpR $(PKG_INSTALL_DIR)/usr/include/jpeglib.h $(STAGING_DIR)/usr/include/
+       cp -fpR $(PKG_INSTALL_DIR)/usr/include/j{config,error,morecfg}.h $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libjpeg.{a,so*} $(STAGING_DIR)/usr/lib/
+
+install-dev: $(STAGING_DIR)/usr/lib/libjpeg.so
+
+uninstall-dev:
+       rm -rf \
+         $(STAGING_DIR)/usr/include/jpeglib.h \
+         $(STAGING_DIR)/usr/include/j{config,error,morecfg}.h \
+         $(STAGING_DIR)/usr/lib/libjpeg.{a,so*} \
+
+compile: install-dev
+clean: uninstall-dev
+
diff --git a/openwrt/package/jpeg/ipkg/libjpeg.control b/openwrt/package/jpeg/ipkg/libjpeg.control
new file mode 100644 (file)
index 0000000..7386d91
--- /dev/null
@@ -0,0 +1,8 @@
+Package: libjpeg
+Priority: optional
+Section: libs
+Maintainer: OpenWrt Developer Team <openwrt-devel@openwrt.org>
+Source:  http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/jpeg/
+Depends:
+Description: The Independent JPEG Group's JPEG runtime library
+
diff --git a/openwrt/package/jpeg/patches/jpeg-6b-config_guess.patch b/openwrt/package/jpeg/patches/jpeg-6b-config_guess.patch
new file mode 100644 (file)
index 0000000..d691207
--- /dev/null
@@ -0,0 +1,1536 @@
+The supplied config.guess is just too old.
+Use the one shipped with binutils instead.
+
+diff -ruN jpeg-6b-old/config.guess jpeg-6b-new/config.guess
+--- jpeg-6b-old/config.guess   1998-03-25 16:25:38.000000000 +0100
++++ jpeg-6b-new/config.guess   2004-11-22 21:33:30.000000000 +0100
+@@ -1,7 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+-#   Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+-#
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++
++timestamp='2004-11-12'
++
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+@@ -21,125 +24,314 @@
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+-# Written by Per Bothner <bothner@cygnus.com>.
+-# The master version of this file is at the FSF in /home/gd/gnu/lib.
++# Originally written by Per Bothner <per@bothner.com>.
++# Please send patches to <config-patches@gnu.org>.  Submit a context
++# diff and a properly formatted ChangeLog entry.
+ #
+ # This script attempts to guess a canonical system name similar to
+ # config.sub.  If it succeeds, it prints the system name on stdout, and
+ # exits with 0.  Otherwise, it exits with 1.
+ #
+ # The plan is that this can be called by configure scripts if you
+-# don't specify an explicit system type (host/target name).
+-#
+-# Only a few systems have been added to this list; please add others
+-# (but try to keep the structure clean).
+-#
++# don't specify an explicit build system type.
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION]
++
++Output the configuration name of the system \`$me' is run on.
++
++Operation modes:
++  -h, --help         print this help, then exit
++  -t, --time-stamp   print date of last modification, then exit
++  -v, --version      print version number, then exit
++
++Report bugs and patches to <config-patches@gnu.org>."
++
++version="\
++GNU config.guess ($timestamp)
++
++Originally written by Per Bothner.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
++Free Software Foundation, Inc.
++
++This is free software; see the source for copying conditions.  There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++
++help="
++Try \`$me --help' for more information."
++
++# Parse command line
++while test $# -gt 0 ; do
++  case $1 in
++    --time-stamp | --time* | -t )
++       echo "$timestamp" ; exit 0 ;;
++    --version | -v )
++       echo "$version" ; exit 0 ;;
++    --help | --h* | -h )
++       echo "$usage"; exit 0 ;;
++    -- )     # Stop option processing
++       shift; break ;;
++    - )       # Use stdin as input.
++       break ;;
++    -* )
++       echo "$me: invalid option $1$help" >&2
++       exit 1 ;;
++    * )
++       break ;;
++  esac
++done
++
++if test $# != 0; then
++  echo "$me: too many arguments$help" >&2
++  exit 1
++fi
++
++trap 'exit 1' 1 2 15
++
++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
++# compiler to aid in system detection is discouraged as it requires
++# temporary files to be created and, as you can see below, it is a
++# headache to deal with in a portable fashion.
++
++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
++# use `HOST_CC' if defined, but it is deprecated.
++
++# Portable tmp directory creation inspired by the Autoconf team.
++
++set_cc_for_build='
++trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
++: ${TMPDIR=/tmp} ;
++ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
++dummy=$tmp/dummy ;
++tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
++case $CC_FOR_BUILD,$HOST_CC,$CC in
++ ,,)    echo "int x;" > $dummy.c ;
++      for c in cc gcc c89 c99 ; do
++        if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
++           CC_FOR_BUILD="$c"; break ;
++        fi ;
++      done ;
++      if test x"$CC_FOR_BUILD" = x ; then
++        CC_FOR_BUILD=no_compiler_found ;
++      fi
++      ;;
++ ,,*)   CC_FOR_BUILD=$CC ;;
++ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
++esac ;'
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+-# (ghazi@noc.rutgers.edu 8/24/94.)
++# (ghazi@noc.rutgers.edu 1994-08-24)
+ if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+ fi
+ UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
++UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
+-
+ # Note: order is significant - the case branches are not exclusive.
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
++    *:NetBSD:*:*)
++      # NetBSD (nbsd) targets should (where applicable) match one or
++      # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++      # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
++      # switched to ELF, *-*-netbsd* would select the old
++      # object file format.  This provides both forward
++      # compatibility and a consistent mechanism for selecting the
++      # object file format.
++      #
++      # Note: NetBSD doesn't particularly care about the vendor
++      # portion of the name.  We always set it to "unknown".
++      sysctl="sysctl -n hw.machine_arch"
++      UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
++          /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
++      case "${UNAME_MACHINE_ARCH}" in
++          armeb) machine=armeb-unknown ;;
++          arm*) machine=arm-unknown ;;
++          sh3el) machine=shl-unknown ;;
++          sh3eb) machine=sh-unknown ;;
++          *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
++      esac
++      # The Operating System including object format, if it has switched
++      # to ELF recently, or will in the future.
++      case "${UNAME_MACHINE_ARCH}" in
++          arm*|i386|m68k|ns32k|sh3*|sparc|vax)
++              eval $set_cc_for_build
++              if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
++                      | grep __ELF__ >/dev/null
++              then
++                  # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
++                  # Return netbsd for either.  FIX?
++                  os=netbsd
++              else
++                  os=netbsdelf
++              fi
++              ;;
++          *)
++              os=netbsd
++              ;;
++      esac
++      # The OS release
++      # Debian GNU/NetBSD machines have a different userland, and
++      # thus, need a distinct triplet. However, they do not need
++      # kernel version information, so it can be replaced with a
++      # suitable tag, in the style of linux-gnu.
++      case "${UNAME_VERSION}" in
++          Debian*)
++              release='-gnu'
++              ;;
++          *)
++              release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++              ;;
++      esac
++      # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
++      # contains redundant information, the shorter form:
++      # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
++      echo "${machine}-${os}${release}"
++      exit 0 ;;
++    amd64:OpenBSD:*:*)
++      echo x86_64-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    amiga:OpenBSD:*:*)
++      echo m68k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    cats:OpenBSD:*:*)
++      echo arm-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    hp300:OpenBSD:*:*)
++      echo m68k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    luna88k:OpenBSD:*:*)
++      echo m88k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    mac68k:OpenBSD:*:*)
++      echo m68k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    macppc:OpenBSD:*:*)
++      echo powerpc-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    mvme68k:OpenBSD:*:*)
++      echo m68k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    mvme88k:OpenBSD:*:*)
++      echo m88k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    mvmeppc:OpenBSD:*:*)
++      echo powerpc-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    sgi:OpenBSD:*:*)
++      echo mips64-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    sun3:OpenBSD:*:*)
++      echo m68k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    *:OpenBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
++    *:ekkoBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++      exit 0 ;;
++    macppc:MirBSD:*:*)
++      echo powerppc-unknown-mirbsd${UNAME_RELEASE}
++      exit 0 ;;
++    *:MirBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++      exit 0 ;;
+     alpha:OSF1:*:*)
+-      if test $UNAME_RELEASE = "V4.0"; then
++      case $UNAME_RELEASE in
++      *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+-      fi
++              ;;
++      *5.*)
++              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++              ;;
++      esac
++      # According to Compaq, /usr/sbin/psrinfo has been available on
++      # OSF/1 and Tru64 systems produced since 1995.  I hope that
++      # covers most systems running today.  This code pipes the CPU
++      # types through head -n 1, so we only detect the type of CPU 0.
++      ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
++      case "$ALPHA_CPU_TYPE" in
++          "EV4 (21064)")
++              UNAME_MACHINE="alpha" ;;
++          "EV4.5 (21064)")
++              UNAME_MACHINE="alpha" ;;
++          "LCA4 (21066/21068)")
++              UNAME_MACHINE="alpha" ;;
++          "EV5 (21164)")
++              UNAME_MACHINE="alphaev5" ;;
++          "EV5.6 (21164A)")
++              UNAME_MACHINE="alphaev56" ;;
++          "EV5.6 (21164PC)")
++              UNAME_MACHINE="alphapca56" ;;
++          "EV5.7 (21164PC)")
++              UNAME_MACHINE="alphapca57" ;;
++          "EV6 (21264)")
++              UNAME_MACHINE="alphaev6" ;;
++          "EV6.7 (21264A)")
++              UNAME_MACHINE="alphaev67" ;;
++          "EV6.8CB (21264C)")
++              UNAME_MACHINE="alphaev68" ;;
++          "EV6.8AL (21264B)")
++              UNAME_MACHINE="alphaev68" ;;
++          "EV6.8CX (21264D)")
++              UNAME_MACHINE="alphaev68" ;;
++          "EV6.9A (21264/EV69A)")
++              UNAME_MACHINE="alphaev69" ;;
++          "EV7 (21364)")
++              UNAME_MACHINE="alphaev7" ;;
++          "EV7.9 (21364A)")
++              UNAME_MACHINE="alphaev79" ;;
++      esac
++      # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+-      cat <<EOF >dummy.s
+-      .globl main
+-      .ent main
+-main:
+-      .frame \$30,0,\$26,0
+-      .prologue 0
+-      .long 0x47e03d80 # implver $0
+-      lda \$2,259
+-      .long 0x47e20c21 # amask $2,$1
+-      srl \$1,8,\$2
+-      sll \$2,2,\$2
+-      sll \$0,3,\$0
+-      addl \$1,\$0,\$0
+-      addl \$2,\$0,\$0
+-      ret \$31,(\$26),1
+-      .end main
+-EOF
+-      ${CC-cc} dummy.s -o dummy 2>/dev/null
+-      if test "$?" = 0 ; then
+-              ./dummy
+-              case "$?" in
+-                      7)
+-                              UNAME_MACHINE="alpha"
+-                              ;;
+-                      15)
+-                              UNAME_MACHINE="alphaev5"
+-                              ;;
+-                      14)
+-                              UNAME_MACHINE="alphaev56"
+-                              ;;
+-                      10)
+-                              UNAME_MACHINE="alphapca56"
+-                              ;;
+-                      16)
+-                              UNAME_MACHINE="alphaev6"
+-                              ;;
+-              esac
+-      fi
+-      rm -f dummy.s dummy
+-      echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
++      echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++      exit 0 ;;
++    Alpha\ *:Windows_NT*:*)
++      # How do we know it's Interix rather than the generic POSIX subsystem?
++      # Should we change UNAME_MACHINE based on the output of uname instead
++      # of the specific Alpha model?
++      echo alpha-pc-interix
+       exit 0 ;;
+     21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit 0 ;;
+     Amiga*:UNIX_System_V:4.0:*)
+-      echo m68k-cbm-sysv4
++      echo m68k-unknown-sysv4
+       exit 0;;
+-    amiga:NetBSD:*:*)
+-      echo m68k-cbm-netbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    amiga:OpenBSD:*:*)
+-      echo m68k-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    arc64:OpenBSD:*:*)
+-      echo mips64el-unknown-openbsd${UNAME_RELEASE}
++    *:[Aa]miga[Oo][Ss]:*:*)
++      echo ${UNAME_MACHINE}-unknown-amigaos
+       exit 0 ;;
+-    arc:OpenBSD:*:*)
+-      echo mipsel-unknown-openbsd${UNAME_RELEASE}
++    *:[Mm]orph[Oo][Ss]:*:*)
++      echo ${UNAME_MACHINE}-unknown-morphos
+       exit 0 ;;
+-    hkmips:OpenBSD:*:*)
+-      echo mips-unknown-openbsd${UNAME_RELEASE}
++    *:OS/390:*:*)
++      echo i370-ibm-openedition
+       exit 0 ;;
+-    pmax:OpenBSD:*:*)
+-      echo mipsel-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    sgi:OpenBSD:*:*)
+-      echo mips-unknown-openbsd${UNAME_RELEASE}
++    *:z/VM:*:*)
++      echo s390-ibm-zvmoe
+       exit 0 ;;
+-    wgrisc:OpenBSD:*:*)
+-      echo mipsel-unknown-openbsd${UNAME_RELEASE}
++    *:OS400:*:*)
++        echo powerpc-ibm-os400
+       exit 0 ;;
+     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit 0;;
+-    arm32:NetBSD:*:*)
+-      echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+-      exit 0 ;;
+-    SR2?01:HI-UX/MPP:*:*)
++    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit 0;;
+-    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
++    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+@@ -147,9 +339,19 @@
+               echo pyramid-pyramid-bsd
+       fi
+       exit 0 ;;
+-    NILE:*:*:dcosx)
++    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit 0 ;;
++    DRS?6000:unix:4.0:6*)
++      echo sparc-icl-nx6
++      exit 0 ;;
++    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
++      case `/usr/bin/uname -p` in
++          sparc) echo sparc-icl-nx7 && exit 0 ;;
++      esac ;;
++    sun4H:SunOS:5.*:*)
++      echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++      exit 0 ;;
+     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+@@ -175,7 +377,7 @@
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit 0 ;;
+     sun*:*:4.2BSD:*)
+-      UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
++      UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+@@ -189,29 +391,34 @@
+     aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit 0 ;;
+-    atari*:NetBSD:*:*)
+-      echo m68k-atari-netbsd${UNAME_RELEASE}
++    # The situation for MiNT is a little confusing.  The machine name
++    # can be virtually everything (everything which is not
++    # "atarist" or "atariste" at least should have a processor
++    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
++    # to the lowercase version "mint" (or "freemint").  Finally
++    # the system name "TOS" denotes a system which is actually not
++    # MiNT.  But MiNT is downward compatible to TOS, so this should
++    # be no problem.
++    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
++        echo m68k-atari-mint${UNAME_RELEASE}
+       exit 0 ;;
+-    atari*:OpenBSD:*:*)
+-      echo m68k-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    sun3*:NetBSD:*:*)
+-      echo m68k-sun-netbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    sun3*:OpenBSD:*:*)
+-      echo m68k-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    mac68k:NetBSD:*:*)
+-      echo m68k-apple-netbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    mac68k:OpenBSD:*:*)
+-      echo m68k-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    mvme68k:OpenBSD:*:*)
+-      echo m68k-unknown-openbsd${UNAME_RELEASE}
++    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
++      echo m68k-atari-mint${UNAME_RELEASE}
++        exit 0 ;;
++    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
++        echo m68k-atari-mint${UNAME_RELEASE}
+       exit 0 ;;
+-    mvme88k:OpenBSD:*:*)
+-      echo m88k-unknown-openbsd${UNAME_RELEASE}
++    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
++        echo m68k-milan-mint${UNAME_RELEASE}
++        exit 0 ;;
++    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
++        echo m68k-hades-mint${UNAME_RELEASE}
++        exit 0 ;;
++    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
++        echo m68k-unknown-mint${UNAME_RELEASE}
++        exit 0 ;;
++    m68k:machten:*:*)
++      echo m68k-apple-machten${UNAME_RELEASE}
+       exit 0 ;;
+     powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+@@ -225,12 +432,18 @@
+     VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit 0 ;;
+-    2020:CLIX:*:*)
++    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit 0 ;;
+     mips:*:*:UMIPS | mips:*:*:RISCos)
+-      sed 's/^        //' << EOF >dummy.c
+-      int main (argc, argv) int argc; char **argv; {
++      eval $set_cc_for_build
++      sed 's/^        //' << EOF >$dummy.c
++#ifdef __cplusplus
++#include <stdio.h>  /* for printf() prototype */
++      int main (int argc, char *argv[]) {
++#else
++      int main (argc, argv) int argc; char *argv[]; {
++#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+@@ -245,12 +458,20 @@
+         exit (-1);
+       }
+ EOF
+-      ${CC-cc} dummy.c -o dummy \
+-        && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+-        && rm dummy.c dummy && exit 0
+-      rm -f dummy.c dummy
++      $CC_FOR_BUILD -o $dummy $dummy.c \
++        && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
++        && exit 0
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit 0 ;;
++    Motorola:PowerMAX_OS:*:*)
++      echo powerpc-motorola-powermax
++      exit 0 ;;
++    Motorola:*:4.3:PL8-*)
++      echo powerpc-harris-powermax
++      exit 0 ;;
++    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
++      echo powerpc-harris-powermax
++      exit 0 ;;
+     Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit 0 ;;
+@@ -266,15 +487,18 @@
+     AViiON:dgux:*:*)
+         # DG/UX returns AViiON for all architectures
+         UNAME_PROCESSOR=`/usr/bin/uname -p`
+-        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
+-      if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
+-           -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
++      if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
++      then
++          if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
++             [ ${TARGET_BINARY_INTERFACE}x = x ]
++          then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+-      else
++          else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
++          fi
++      else
++          echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+-        else echo i586-dg-dgux${UNAME_RELEASE}
+-        fi
+       exit 0 ;;
+     M88*:DolphinOS:*:*)       # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+@@ -295,12 +519,21 @@
+     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+       exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+-    i?86:AIX:*:*)
++    i*86:AIX:*:*)
+       echo i386-ibm-aix
+       exit 0 ;;
++    ia64:AIX:*:*)
++      if [ -x /usr/bin/oslevel ] ; then
++              IBM_REV=`/usr/bin/oslevel`
++      else
++              IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++      fi
++      echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
++      exit 0 ;;
+     *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+-              sed 's/^                //' << EOF >dummy.c
++              eval $set_cc_for_build
++              sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+               main()
+@@ -311,8 +544,7 @@
+                       exit(0);
+                       }
+ EOF
+-              ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
+-              rm -f dummy.c dummy
++              $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+               echo rs6000-ibm-aix3.2.5
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+@@ -320,8 +552,9 @@
+               echo rs6000-ibm-aix3.2
+       fi
+       exit 0 ;;
+-    *:AIX:*:4)
+-      if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
++    *:AIX:*:[45])
++      IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
++      if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+@@ -329,7 +562,7 @@
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+-              IBM_REV=4.${UNAME_RELEASE}
++              IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit 0 ;;
+@@ -339,7 +572,7 @@
+     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit 0 ;;
+-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
++    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit 0 ;;                           # report: romp-ibm BSD 4.3
+     *:BOSX:*:*)
+@@ -354,18 +587,85 @@
+     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit 0 ;;
+-    9000/[3478]??:HP-UX:*:*)
++    9000/[34678]??:HP-UX:*:*)
++      HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+-          9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
+-          9000/8?? )            HP_ARCH=hppa1.0 ;;
++          9000/[678][0-9][0-9])
++              if [ -x /usr/bin/getconf ]; then
++                  sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
++                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++                    case "${sc_cpu_version}" in
++                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++                      532)                      # CPU_PA_RISC2_0
++                        case "${sc_kernel_bits}" in
++                          32) HP_ARCH="hppa2.0n" ;;
++                          64) HP_ARCH="hppa2.0w" ;;
++                        '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
++                        esac ;;
++                    esac
++              fi
++              if [ "${HP_ARCH}" = "" ]; then
++                  eval $set_cc_for_build
++                  sed 's/^              //' << EOF >$dummy.c
++
++              #define _HPUX_SOURCE
++              #include <stdlib.h>
++              #include <unistd.h>
++
++              int main ()
++              {
++              #if defined(_SC_KERNEL_BITS)
++                  long bits = sysconf(_SC_KERNEL_BITS);
++              #endif
++                  long cpu  = sysconf (_SC_CPU_VERSION);
++
++                  switch (cpu)
++                      {
++                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++                      case CPU_PA_RISC2_0:
++              #if defined(_SC_KERNEL_BITS)
++                          switch (bits)
++                              {
++                              case 64: puts ("hppa2.0w"); break;
++                              case 32: puts ("hppa2.0n"); break;
++                              default: puts ("hppa2.0"); break;
++                              } break;
++              #else  /* !defined(_SC_KERNEL_BITS) */
++                          puts ("hppa2.0"); break;
++              #endif
++                      default: puts ("hppa1.0"); break;
++                      }
++                  exit (0);
++              }
++EOF
++                  (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
++                  test -z "$HP_ARCH" && HP_ARCH=hppa
++              fi ;;
+       esac
+-      HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++      if [ ${HP_ARCH} = "hppa2.0w" ]
++      then
++          # avoid double evaluation of $set_cc_for_build
++          test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
++          if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
++          then
++              HP_ARCH="hppa2.0w"
++          else
++              HP_ARCH="hppa64"
++          fi
++      fi
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit 0 ;;
++    ia64:HP-UX:*:*)
++      HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++      echo ia64-hp-hpux${HPUX_REV}
++      exit 0 ;;
+     3050*:HI-UX:*:*)
+-      sed 's/^        //' << EOF >dummy.c
++      eval $set_cc_for_build
++      sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+@@ -390,8 +690,7 @@
+         exit (0);
+       }
+ EOF
+-      ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
+-      rm -f dummy.c dummy
++      $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+       echo unknown-hitachi-hiuxwe2
+       exit 0 ;;
+     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+@@ -400,13 +699,16 @@
+     9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit 0 ;;
++    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
++      echo hppa1.0-hp-mpeix
++      exit 0 ;;
+     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit 0 ;;
+     hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit 0 ;;
+-    i?86:OSF1:*:*)
++    i*86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+@@ -434,196 +736,259 @@
+     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+         exit 0 ;;
+-    CRAY*X-MP:*:*:*)
+-      echo xmp-cray-unicos
+-        exit 0 ;;
+     CRAY*Y-MP:*:*:*)
+-      echo ymp-cray-unicos${UNAME_RELEASE}
++      echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+     CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+-            -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
++            -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
++            -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+     CRAY*TS:*:*:*)
+-      echo t90-cray-unicos${UNAME_RELEASE}
++      echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+-    CRAY-2:*:*:*)
+-      echo cray2-cray-unicos
+-        exit 0 ;;
+-    F300:UNIX_System_V:*:*)
+-        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
++    CRAY*T3E:*:*:*)
++      echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++      exit 0 ;;
++    CRAY*SV1:*:*:*)
++      echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++      exit 0 ;;
++    *:UNICOS/mp:*:*)
++      echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++      exit 0 ;;
++    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
++      FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+         exit 0 ;;
+-    F301:UNIX_System_V:*:*)
+-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
+-       exit 0 ;;
+-    hp3[0-9][05]:NetBSD:*:*)
+-      echo m68k-hp-netbsd${UNAME_RELEASE}
++    5000:UNIX_System_V:4.*:*)
++        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit 0 ;;
+-    hp300:OpenBSD:*:*)
+-      echo m68k-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+-    i?86:BSD/386:*:* | *:BSD/OS:*:*)
++    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+-    *:FreeBSD:*:*)
+-      echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++    sparc*:BSD/OS:*:*)
++      echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+-    *:NetBSD:*:*)
+-      echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++    *:BSD/OS:*:*)
++      echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+-    *:OpenBSD:*:*)
+-      echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++    *:FreeBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+     i*:CYGWIN*:*)
+-      echo i386-pc-cygwin32
++      echo ${UNAME_MACHINE}-pc-cygwin
+       exit 0 ;;
+     i*:MINGW*:*)
+-      echo i386-pc-mingw32
++      echo ${UNAME_MACHINE}-pc-mingw32
++      exit 0 ;;
++    i*:PW*:*)
++      echo ${UNAME_MACHINE}-pc-pw32
++      exit 0 ;;
++    x86:Interix*:[34]*)
++      echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
++      exit 0 ;;
++    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
++      echo i${UNAME_MACHINE}-pc-mks
++      exit 0 ;;
++    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
++      # How do we know it's Interix rather than the generic POSIX subsystem?
++      # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
++      # UNAME_MACHINE based on the output of uname instead of i386?
++      echo i586-pc-interix
++      exit 0 ;;
++    i*:UWIN*:*)
++      echo ${UNAME_MACHINE}-pc-uwin
+       exit 0 ;;
+     p*:CYGWIN*:*)
+-      echo powerpcle-unknown-cygwin32
++      echo powerpcle-unknown-cygwin
+       exit 0 ;;
+     prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+     *:GNU:*:*)
++      # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit 0 ;;
+-    *:Linux:*:*)
++    *:GNU/*:*:*)
++      # other systems with GNU libc and userland
++      echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
++      exit 0 ;;
++    i*86:Minix:*:*)
++      echo ${UNAME_MACHINE}-pc-minix
++      exit 0 ;;
++    arm*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    cris:Linux:*:*)
++      echo cris-axis-linux-gnu
++      exit 0 ;;
++    crisv32:Linux:*:*)
++      echo crisv32-axis-linux-gnu
++      exit 0 ;;
++    frv:Linux:*:*)
++      echo frv-unknown-linux-gnu
++      exit 0 ;;
++    ia64:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    m32r*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    m68*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    mips:Linux:*:*)
++      eval $set_cc_for_build
++      sed 's/^        //' << EOF >$dummy.c
++      #undef CPU
++      #undef mips
++      #undef mipsel
++      #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++      CPU=mipsel
++      #else
++      #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++      CPU=mips
++      #else
++      CPU=
++      #endif
++      #endif
++EOF
++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
++      test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++      ;;
++    mips64:Linux:*:*)
++      eval $set_cc_for_build
++      sed 's/^        //' << EOF >$dummy.c
++      #undef CPU
++      #undef mips64
++      #undef mips64el
++      #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++      CPU=mips64el
++      #else
++      #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++      CPU=mips64
++      #else
++      CPU=
++      #endif
++      #endif
++EOF
++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
++      test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++      ;;
++    ppc:Linux:*:*)
++      echo powerpc-unknown-linux-gnu
++      exit 0 ;;
++    ppc64:Linux:*:*)
++      echo powerpc64-unknown-linux-gnu
++      exit 0 ;;
++    alpha:Linux:*:*)
++      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
++        EV5)   UNAME_MACHINE=alphaev5 ;;
++        EV56)  UNAME_MACHINE=alphaev56 ;;
++        PCA56) UNAME_MACHINE=alphapca56 ;;
++        PCA57) UNAME_MACHINE=alphapca56 ;;
++        EV6)   UNAME_MACHINE=alphaev6 ;;
++        EV67)  UNAME_MACHINE=alphaev67 ;;
++        EV68*) UNAME_MACHINE=alphaev68 ;;
++        esac
++      objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
++      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
++      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
++      exit 0 ;;
++    parisc:Linux:*:* | hppa:Linux:*:*)
++      # Look for CPU level
++      case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
++        PA7*) echo hppa1.1-unknown-linux-gnu ;;
++        PA8*) echo hppa2.0-unknown-linux-gnu ;;
++        *)    echo hppa-unknown-linux-gnu ;;
++      esac
++      exit 0 ;;
++    parisc64:Linux:*:* | hppa64:Linux:*:*)
++      echo hppa64-unknown-linux-gnu
++      exit 0 ;;
++    s390:Linux:*:* | s390x:Linux:*:*)
++      echo ${UNAME_MACHINE}-ibm-linux
++      exit 0 ;;
++    sh64*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    sh*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    sparc:Linux:*:* | sparc64:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
++    x86_64:Linux:*:*)
++      echo x86_64-unknown-linux-gnu
++      exit 0 ;;
++    i*86:Linux:*:*)
+       # The BFD linker knows what the default object file format is, so
+-      # first see if it will tell us.
+-      ld_help_string=`ld --help 2>&1`
+-      ld_supported_emulations=`echo $ld_help_string \
+-                       | sed -ne '/supported emulations:/!d
++      # first see if it will tell us. cd to the root directory to prevent
++      # problems with other programs or directories called `ld' in the path.
++      # Set LC_ALL=C to ensure ld outputs messages in English.
++      ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
++                       | sed -ne '/supported targets:/!d
+                                   s/[         ][      ]*/ /g
+-                                  s/.*supported emulations: *//
++                                  s/.*supported targets: *//
+                                   s/ .*//
+                                   p'`
+-        case "$ld_supported_emulations" in
+-        i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
+-        i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
+-        sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+-        m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+-        elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;;
+-      esac
+-
+-      if test "${UNAME_MACHINE}" = "alpha" ; then
+-              sed 's/^        //'  <<EOF >dummy.s
+-              .globl main
+-              .ent main
+-      main:
+-              .frame \$30,0,\$26,0
+-              .prologue 0
+-              .long 0x47e03d80 # implver $0
+-              lda \$2,259
+-              .long 0x47e20c21 # amask $2,$1
+-              srl \$1,8,\$2
+-              sll \$2,2,\$2
+-              sll \$0,3,\$0
+-              addl \$1,\$0,\$0
+-              addl \$2,\$0,\$0
+-              ret \$31,(\$26),1
+-              .end main
+-EOF
+-              LIBC=""
+-              ${CC-cc} dummy.s -o dummy 2>/dev/null
+-              if test "$?" = 0 ; then
+-                      ./dummy
+-                      case "$?" in
+-                      7)
+-                              UNAME_MACHINE="alpha"
+-                              ;;
+-                      15)
+-                              UNAME_MACHINE="alphaev5"
+-                              ;;
+-                      14)
+-                              UNAME_MACHINE="alphaev56"
+-                              ;;
+-                      10)
+-                              UNAME_MACHINE="alphapca56"
+-                              ;;
+-                      16)
+-                              UNAME_MACHINE="alphaev6"
+-                              ;;
+-                      esac    
+-
+-                      objdump --private-headers dummy | \
+-                        grep ld.so.1 > /dev/null
+-                      if test "$?" = 0 ; then
+-                              LIBC="libc1"
+-                      fi
+-              fi      
+-              rm -f dummy.s dummy
+-              echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
+-      elif test "${UNAME_MACHINE}" = "mips" ; then
+-        cat >dummy.c <<EOF
+-main(argc, argv)
+-     int argc;
+-     char *argv[];
+-{
+-#ifdef __MIPSEB__
+-  printf ("%s-unknown-linux-gnu\n", argv[1]);
+-#endif
+-#ifdef __MIPSEL__
+-  printf ("%sel-unknown-linux-gnu\n", argv[1]);
+-#endif
+-  return 0;
+-}
+-EOF
+-        ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
+-        rm -f dummy.c dummy
+-      else
+-        # Either a pre-BFD a.out linker (linux-gnuoldld)
+-        # or one that does not give us useful --help.
+-        # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
+-        # If ld does not provide *any* "supported emulations:"
+-        # that means it is gnuoldld.
+-        echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
+-        test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+-
+-        case "${UNAME_MACHINE}" in
+-        i?86)
+-          VENDOR=pc;
+-          ;;
+-        *)
+-          VENDOR=unknown;
+-          ;;
+-        esac
+-        # Determine whether the default compiler is a.out or elf
+-        cat >dummy.c <<EOF
+-#include <features.h>
+-main(argc, argv)
+-     int argc;
+-     char *argv[];
+-{
+-#ifdef __ELF__
+-# ifdef __GLIBC__
+-#  if __GLIBC__ >= 2
+-    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
+-#  else
+-    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+-#  endif
+-# else
+-   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+-# endif
+-#else
+-  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
+-#endif
+-  return 0;
+-}
++        case "$ld_supported_targets" in
++        elf32-i386)
++              TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
++              ;;
++        a.out-i386-linux)
++              echo "${UNAME_MACHINE}-pc-linux-gnuaout"
++              exit 0 ;;
++        coff-i386)
++              echo "${UNAME_MACHINE}-pc-linux-gnucoff"
++              exit 0 ;;
++        "")
++              # Either a pre-BFD a.out linker (linux-gnuoldld) or
++              # one that does not give us useful --help.
++              echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
++              exit 0 ;;
++      esac
++      # Determine whether the default compiler is a.out or elf
++      eval $set_cc_for_build
++      sed 's/^        //' << EOF >$dummy.c
++      #include <features.h>
++      #ifdef __ELF__
++      # ifdef __GLIBC__
++      #  if __GLIBC__ >= 2
++      LIBC=gnu
++      #  else
++      LIBC=gnulibc1
++      #  endif
++      # else
++      LIBC=gnulibc1
++      # endif
++      #else
++      #ifdef __INTEL_COMPILER
++      LIBC=gnu
++      #else
++      LIBC=gnuaout
++      #endif
++      #endif
++      #ifdef __dietlibc__
++      LIBC=dietlibc
++      #endif
+ EOF
+-        ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
+-        rm -f dummy.c dummy
+-      fi ;;
+-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
+-# are messed up and put the nodename in both sysname and nodename.
+-    i?86:DYNIX/ptx:4*:*)
++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
++      test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
++      test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
++      ;;
++    i*86:DYNIX/ptx:4*:*)
++      # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
++      # earlier versions are messed up and put the nodename in both
++      # sysname and nodename.
+       echo i386-sequent-sysv4
+       exit 0 ;;
+-    i?86:UNIX_SV:4.2MP:2.*)
++    i*86:UNIX_SV:4.2MP:2.*)
+         # Unixware is an offshoot of SVR4, but it has its own version
+         # number series starting with 2...
+         # I am not positive that other SVR4 systems won't match this,
+@@ -631,28 +996,62 @@
+         # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit 0 ;;
+-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
++    i*86:OS/2:*:*)
++      # If we were able to find `uname', then EMX Unix compatibility
++      # is probably installed.
++      echo ${UNAME_MACHINE}-pc-os2-emx
++      exit 0 ;;
++    i*86:XTS-300:*:STOP)
++      echo ${UNAME_MACHINE}-unknown-stop
++      exit 0 ;;
++    i*86:atheos:*:*)
++      echo ${UNAME_MACHINE}-unknown-atheos
++      exit 0 ;;
++      i*86:syllable:*:*)
++      echo ${UNAME_MACHINE}-pc-syllable
++      exit 0 ;;
++    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
++      echo i386-unknown-lynxos${UNAME_RELEASE}
++      exit 0 ;;
++    i*86:*DOS:*:*)
++      echo ${UNAME_MACHINE}-pc-msdosdjgpp
++      exit 0 ;;
++    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
++      UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+-              echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
++              echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+-              echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
++              echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit 0 ;;
+-    i?86:*:3.2:*)
++    i*86:*:5:[78]*)
++      case `/bin/uname -X | grep "^Machine"` in
++          *486*)           UNAME_MACHINE=i486 ;;
++          *Pentium)        UNAME_MACHINE=i586 ;;
++          *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
++      esac
++      echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
++      exit 0 ;;
++    i*86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+-              UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+-              (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+-              (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
++              UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
++              (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
++              (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
++              (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
++                      && UNAME_MACHINE=i686
++              (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
++                      && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit 0 ;;
+     pc:*:*:*)
++      # Left here for compatibility:
+         # uname -m prints for DJGPP always 'pc', but it prints nothing about
+         # the processor, so we play safe by assuming i386.
+       echo i386-pc-msdosdjgpp
+@@ -674,9 +1073,15 @@
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit 0 ;;
+-    M68*:*:R3V[567]*:*)
++    mc68k:UNIX:SYSTEM5:3.51m)
++      echo m68k-convergent-sysv
++      exit 0 ;;
++    M680?0:D-NIX:5.3:*)
++      echo m68k-diab-dnix
++      exit 0 ;;
++    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
++    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+@@ -687,24 +1092,27 @@
+     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+           && echo i486-ncr-sysv4 && exit 0 ;;
+-    m68*:LynxOS:2.*:*)
++    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+     mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit 0 ;;
+-    i?86:LynxOS:2.*:*)
+-      echo i386-unknown-lynxos${UNAME_RELEASE}
+-      exit 0 ;;
+     TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
++    rs6000:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
++    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
++      echo powerpc-unknown-lynxos${UNAME_RELEASE}
++      exit 0 ;;
+     SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit 0 ;;
++    RM*:ReliantUNIX-*:*:*)
++      echo mips-sni-sysv4
++      exit 0 ;;
+     RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit 0 ;;
+@@ -716,8 +1124,8 @@
+               echo ns32k-sni-sysv
+       fi
+       exit 0 ;;
+-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+-                           # says <Richard.M.Bartel@ccMail.Census.GOV>
++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+         echo i586-unisys-sysv4
+         exit 0 ;;
+     *:UNIX_System_V:4*:FTX*)
+@@ -729,25 +1137,130 @@
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit 0 ;;
++    *:VOS:*:*)
++      # From Paul.Green@stratus.com.
++      echo hppa1.1-stratus-vos
++      exit 0 ;;
+     mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit 0 ;;
+-    news*:NEWS-OS:*:6*)
++    news*:NEWS-OS:6*:*)
+       echo mips-sony-newsos6
+       exit 0 ;;
+-    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
++    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+         exit 0 ;;
++    BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
++      echo powerpc-be-beos
++      exit 0 ;;
++    BeMac:BeOS:*:*)   # BeOS running on Mac or Mac clone, PPC only.
++      echo powerpc-apple-beos
++      exit 0 ;;
++    BePC:BeOS:*:*)    # BeOS running on Intel PC compatible.
++      echo i586-pc-beos
++      exit 0 ;;
++    SX-4:SUPER-UX:*:*)
++      echo sx4-nec-superux${UNAME_RELEASE}
++      exit 0 ;;
++    SX-5:SUPER-UX:*:*)
++      echo sx5-nec-superux${UNAME_RELEASE}
++      exit 0 ;;
++    SX-6:SUPER-UX:*:*)
++      echo sx6-nec-superux${UNAME_RELEASE}
++      exit 0 ;;
++    Power*:Rhapsody:*:*)
++      echo powerpc-apple-rhapsody${UNAME_RELEASE}
++      exit 0 ;;
++    *:Rhapsody:*:*)
++      echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
++      exit 0 ;;
++    *:Darwin:*:*)
++      UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
++      case $UNAME_PROCESSOR in
++          *86) UNAME_PROCESSOR=i686 ;;
++          unknown) UNAME_PROCESSOR=powerpc ;;
++      esac
++      echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
++      exit 0 ;;
++    *:procnto*:*:* | *:QNX:[0123456789]*:*)
++      UNAME_PROCESSOR=`uname -p`
++      if test "$UNAME_PROCESSOR" = "x86"; then
++              UNAME_PROCESSOR=i386
++              UNAME_MACHINE=pc
++      fi
++      echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
++      exit 0 ;;
++    *:QNX:*:4*)
++      echo i386-pc-qnx
++      exit 0 ;;
++    NSR-?:NONSTOP_KERNEL:*:*)
++      echo nsr-tandem-nsk${UNAME_RELEASE}
++      exit 0 ;;
++    *:NonStop-UX:*:*)
++      echo mips-compaq-nonstopux
++      exit 0 ;;
++    BS2000:POSIX*:*:*)
++      echo bs2000-siemens-sysv
++      exit 0 ;;
++    DS/*:UNIX_System_V:*:*)
++      echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
++      exit 0 ;;
++    *:Plan9:*:*)
++      # "uname -m" is not consistent, so use $cputype instead. 386
++      # is converted to i386 for consistency with other x86
++      # operating systems.
++      if test "$cputype" = "386"; then
++          UNAME_MACHINE=i386
++      else
++          UNAME_MACHINE="$cputype"
++      fi
++      echo ${UNAME_MACHINE}-unknown-plan9
++      exit 0 ;;
++    *:TOPS-10:*:*)
++      echo pdp10-unknown-tops10
++      exit 0 ;;
++    *:TENEX:*:*)
++      echo pdp10-unknown-tenex
++      exit 0 ;;
++    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
++      echo pdp10-dec-tops20
++      exit 0 ;;
++    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
++      echo pdp10-xkl-tops20
++      exit 0 ;;
++    *:TOPS-20:*:*)
++      echo pdp10-unknown-tops20
++      exit 0 ;;
++    *:ITS:*:*)
++      echo pdp10-unknown-its
++      exit 0 ;;
++    SEI:*:*:SEIUX)
++        echo mips-sei-seiux${UNAME_RELEASE}
++      exit 0 ;;
++    *:DragonFly:*:*)
++      echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++      exit 0 ;;
++    *:*VMS:*:*)
++      UNAME_MACHINE=`(uname -p) 2>/dev/null`
++      case "${UNAME_MACHINE}" in
++          A*) echo alpha-dec-vms && exit 0 ;;
++          I*) echo ia64-dec-vms && exit 0 ;;
++          V*) echo vax-dec-vms && exit 0 ;;
++      esac ;;
++    *:XENIX:*:SysV)
++      echo i386-pc-xenix
++      exit 0 ;;
+ esac
+ #echo '(No uname command or uname output not recognized.)' 1>&2
+ #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+-cat >dummy.c <<EOF
++eval $set_cc_for_build
++cat >$dummy.c <<EOF
+ #ifdef _SEQUENT_
+ # include <sys/types.h>
+ # include <sys/utsname.h>
+@@ -785,7 +1298,10 @@
+ #endif
+   int version;
+   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+-  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
++  if (version < 4)
++    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
++  else
++    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+   exit (0);
+ #endif
+@@ -830,11 +1346,24 @@
+ #endif
+ #if defined (vax)
+-#if !defined (ultrix)
+-  printf ("vax-dec-bsd\n"); exit (0);
+-#else
+-  printf ("vax-dec-ultrix\n"); exit (0);
+-#endif
++# if !defined (ultrix)
++#  include <sys/param.h>
++#  if defined (BSD)
++#   if BSD == 43
++      printf ("vax-dec-bsd4.3\n"); exit (0);
++#   else
++#    if BSD == 199006
++      printf ("vax-dec-bsd4.3reno\n"); exit (0);
++#    else
++      printf ("vax-dec-bsd\n"); exit (0);
++#    endif
++#   endif
++#  else
++    printf ("vax-dec-bsd\n"); exit (0);
++#  endif
++# else
++    printf ("vax-dec-ultrix\n"); exit (0);
++# endif
+ #endif
+ #if defined (alliant) && defined (i860)
+@@ -845,8 +1374,7 @@
+ }
+ EOF
+-${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
+-rm -f dummy.c dummy
++$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+ # Apollos put the system type in the environment.
+@@ -878,6 +1406,48 @@
+     esac
+ fi
+-#echo '(Unable to guess system type)' 1>&2
++cat >&2 <<EOF
++$0: unable to guess system type
++
++This script, last modified $timestamp, has failed to recognize
++the operating system you are using. It is advised that you
++download the most up to date version of the config scripts from
++
++    ftp://ftp.gnu.org/pub/gnu/config/
++
++If the version you run ($0) is already up to date, please
++send the following data and any information you think might be
++pertinent to <config-patches@gnu.org> in order to provide the needed
++information to handle your system.
++
++config.guess timestamp = $timestamp
++
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
++
++hostinfo               = `(hostinfo) 2>/dev/null`
++/bin/universe          = `(/bin/universe) 2>/dev/null`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
++/bin/arch              = `(/bin/arch) 2>/dev/null`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
++
++UNAME_MACHINE = ${UNAME_MACHINE}
++UNAME_RELEASE = ${UNAME_RELEASE}
++UNAME_SYSTEM  = ${UNAME_SYSTEM}
++UNAME_VERSION = ${UNAME_VERSION}
++EOF
+ exit 1
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "timestamp='"
++# time-stamp-format: "%:y-%02m-%02d"
++# time-stamp-end: "'"
++# End: