[Pkg-wmaker-commits] [wmfire] 06/61: Imported Debian patch 1.2.1-4

Doug Torrance dtorrance-guest at moszumanska.debian.org
Mon Aug 24 03:38:46 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository wmfire.

commit b6338f4ed12ca62396fe387391361766ba36b523
Merge: 4c1aba6 60b33dd
Author: Christoph Siess (CHS) <chs at geekhost.info>
Date:   Tue Aug 17 15:49:00 2004 +0000

    Imported Debian patch 1.2.1-4

 ALL_I_GET_IS_A_GREY_BOX |   14 +
 AUTHORS                 |   13 +-
 COPYING                 |   12 +-
 CREDITS                 |   17 -
 ChangeLog               |   61 +-
 INSTALL                 |  225 +-
 Makefile.am             |    8 +-
 Makefile.in             |  687 +++---
 NEWS                    |   58 +-
 README                  |   56 +-
 aclocal.m4              |  870 ++++++-
 config.guess            | 1118 ++++++---
 config.h.in             |   38 -
 config.sub              |  764 +++++-
 configure               | 6265 ++++++++++++++++++++++++++++++++++++-----------
 configure.in            |   86 +-
 debian/changelog        |   89 +
 debian/control          |   13 +-
 debian/copyright        |   25 +-
 debian/rules            |   22 +-
 debian/wmfire.1         |   51 +-
 debian/wmfire.menu      |    1 +
 depcomp                 |  411 ++++
 fireload_cpu.c          |  195 --
 fireload_file.c         |  102 -
 install-sh              |    1 -
 libtool                 | 5285 +++++++++++++++++++++++++++++++++++++++
 ltmain.sh               | 4999 +++++++++++++++++++++++++++++++++++++
 lttr.xpm                |   13 -
 missing                 |   26 +-
 mkinstalldirs           |    4 +-
 src/.deps/session.Po    |  466 ++++
 src/.deps/wmfire.Po     |  556 +++++
 src/Makefile.am         |   18 +
 src/Makefile.in         |  401 +++
 src/flameblue.h         |   33 +
 src/flamecorona.h       |   35 +
 src/flamedefault.h      |   35 +
 src/flamegreen.h        |   33 +
 src/icon.xpm            |  130 +
 src/master.xpm          |   71 +
 src/session.c           |  155 ++
 src/session.h           |   30 +
 src/wmfire.c            |  702 ++++++
 stamp-h.in              |    1 -
 wmfire.c                |  466 ----
 wmfire.xpm              |  656 -----
 wmgeneral.c             |  481 ----
 wmgeneral.h             |   59 -
 49 files changed, 21185 insertions(+), 4672 deletions(-)

diff --cc config.guess
index 4e5345f,6ead80a..1127162
--- a/config.guess
+++ b/config.guess
@@@ -1,7 -1,10 +1,10 @@@
  #! /bin/sh
  # Attempt to guess a canonical system name.
- #   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
- #
 -#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 -#   Free Software Foundation, Inc.
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ 
 -timestamp='2001-08-21'
++timestamp='2003-10-07'
+ 
  # 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,118 -24,265 +24,288 @@@
  # 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 at cygnus.com>.
- # The master version of this file is at the FSF in /home/gd/gnu/lib.
 -# Please send patches to <config-patches at gnu.org>.
++# Originally written by Per Bothner <per at bothner.com>.
++# Please send patches to <config-patches at 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 at gnu.org>."
+ 
+ version="\
+ GNU config.guess ($timestamp)
+ 
+ Originally written by Per Bothner.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ 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
+ 
 -dummy=dummy-$$
 -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; 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.
+ 
 -# CC_FOR_BUILD -- compiler used by this script.
+ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+ # use `HOST_CC' if defined, but it is deprecated.
+ 
 -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
 - ,,)    echo "int dummy(){}" > $dummy.c ;
 -	for c in cc gcc c89 ; do
 -	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
 -	  if test $? = 0 ; then
++# 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 ;
 -	rm -f $dummy.c $dummy.o $dummy.rel ;
+ 	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'
++esac ;'
  
  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
- # (ghazi at noc.rutgers.edu 8/24/94.)
+ # (ghazi at 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
  
- dummy=dummy-$$
- trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
 -case "${UNAME_MACHINE}" in
 -    i?86)
 -	test -z "$VENDOR" && VENDOR=pc
 -	;;
 -    *)
 -	test -z "$VENDOR" && VENDOR=unknown
 -	;;
 -esac
 -test -f /etc/SuSE-release && VENDOR=suse
--
  # 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
++	# 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.
 -	# Determine the machine/vendor (is the vendor relevant).
 -	case "${UNAME_MACHINE}" in
 -	    amiga) machine=m68k-unknown ;;
 -	    arm32) machine=arm-unknown ;;
 -	    atari*) machine=m68k-atari ;;
 -	    sun3*) machine=m68k-sun ;;
 -	    mac68k) machine=m68k-apple ;;
 -	    macppc) machine=powerpc-apple ;;
 -	    hp3[0-9][05]) machine=m68k-hp ;;
 -	    ibmrt|romp-ibm) machine=romp-ibm ;;
 -	    *) machine=${UNAME_MACHINE}-unknown ;;
++	#
++	# 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}" in
 -	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
++	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
 -	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++	# 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 ;;
++    amiga:OpenBSD:*:*)
++	echo m68k-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
++    arc:OpenBSD:*:*)
++	echo mipsel-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
++    hp300:OpenBSD:*:*)
++	echo m68k-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 ;;
++    pmax:OpenBSD:*:*)
++	echo mipsel-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
++    sgi:OpenBSD:*:*)
++	echo mipseb-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
++    sun3:OpenBSD:*:*)
++	echo m68k-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
++    wgrisc:OpenBSD:*:*)
++	echo mipsel-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
++    *:OpenBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
++	exit 0 ;;
      alpha:OSF1:*:*)
  	if test $UNAME_RELEASE = "V4.0"; then
  		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
  	fi
++	# 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 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
 -	.data
 -\$Lformat:
 -	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
 -
 -	.text
--	.globl main
 -	.align 4
--	.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
 -	.frame \$30,16,\$26,0
 -	ldgp \$29,0(\$27)
 -	.prologue 1
 -	.long 0x47e03d80 # implver \$0
 -	lda \$2,-1
 -	.long 0x47e20c21 # amask \$2,\$1
 -	lda \$16,\$Lformat
 -	mov \$0,\$17
 -	not \$1,\$18
 -	jsr \$26,printf
 -	ldgp \$29,0(\$26)
 -	mov 0,\$16
 -	jsr \$26,exit
--	.end main
--EOF
- 	${CC-cc} $dummy.s -o $dummy 2>/dev/null
 -	eval $set_cc_for_build
 -	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
--	if test "$?" = 0 ; then
- 		./$dummy
- 		case "$?" in
- 			7)
 -		case `./$dummy` in
 -			0-0)
--				UNAME_MACHINE="alpha"
--				;;
- 			15)
 -			1-0)
--				UNAME_MACHINE="alphaev5"
--				;;
- 			14)
 -			1-1)
--				UNAME_MACHINE="alphaev56"
--				;;
- 			10)
 -			1-101)
--				UNAME_MACHINE="alphapca56"
--				;;
- 			16)
 -			2-303)
--				UNAME_MACHINE="alphaev6"
 -				;;
 -			2-307)
 -				UNAME_MACHINE="alphaev67"
 -				;;
 -			2-1307)
 -				UNAME_MACHINE="alphaev68"
--				;;
--		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/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ 	exit 0 ;;
++    Alpha*:OpenVMS:*:*)
++	echo alpha-hp-vms
++	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 ;;
      *:[Aa]miga[Oo][Ss]:*:*)
  	echo ${UNAME_MACHINE}-unknown-amigaos
  	exit 0 ;;
--    arc64:OpenBSD:*:*)
--	echo mips64el-unknown-openbsd${UNAME_RELEASE}
--	exit 0 ;;
--    arc:OpenBSD:*:*)
 -	echo mipsel-unknown-openbsd${UNAME_RELEASE}
 -	exit 0 ;;
 -    hkmips:OpenBSD:*:*)
 -	echo mips-unknown-openbsd${UNAME_RELEASE}
 -	exit 0 ;;
 -    pmax:OpenBSD:*:*)
 -	echo mipsel-unknown-openbsd${UNAME_RELEASE}
 -	exit 0 ;;
 -    sgi:OpenBSD:*:*)
 -	echo mips-unknown-openbsd${UNAME_RELEASE}
 -	exit 0 ;;
 -    wgrisc: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}
- 	exit 0 ;;
-     pmax:OpenBSD:*:*)
- 	echo mipsel-unknown-openbsd${UNAME_RELEASE}
- 	exit 0 ;;
-     sgi:OpenBSD:*:*)
- 	echo mips-unknown-openbsd${UNAME_RELEASE}
- 	exit 0 ;;
-     wgrisc:OpenBSD:*:*)
- 	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+     *:OS/390:*:*)
+ 	echo i370-ibm-openedition
  	exit 0 ;;
      arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  	echo arm-acorn-riscix${UNAME_RELEASE}
@@@ -151,9 -298,9 +321,16 @@@
  		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*)
++	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 ;;
@@@ -182,7 -329,7 +359,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)
@@@ -196,30 -343,50 +373,32 @@@
      aushp:SunOS:*:*)
  	echo sparc-auspex-sunos${UNAME_RELEASE}
  	exit 0 ;;
-     atari*:NetBSD:*:*)
- 	echo m68k-atari-netbsd${UNAME_RELEASE}
 -    sparc*:NetBSD:*)
 -	echo `uname -p`-unknown-netbsd${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}
--	exit 0 ;;
-     mvme88k:OpenBSD:*:*)
- 	echo m88k-unknown-openbsd${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*:*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 ;;
+     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 ;;
 -    sun3*:OpenBSD:*:*)
 -	echo m68k-unknown-openbsd${UNAME_RELEASE}
 -	exit 0 ;;
 -    mac68k:OpenBSD:*:*)
 -	echo m68k-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 ;;
      powerpc:machten:*:*)
  	echo powerpc-apple-machten${UNAME_RELEASE}
  	exit 0 ;;
@@@ -239,8 -403,13 +415,14 @@@
  	echo clipper-intergraph-clix${UNAME_RELEASE}
  	exit 0 ;;
      mips:*:*:UMIPS | mips:*:*:RISCos)
++	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
- 	int main (argc, argv) int argc; char **argv; {
+ #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);
@@@ -255,12 -424,16 +437,20 @@@
  	  exit (-1);
  	}
  EOF
- 	${CC-cc} $dummy.c -o $dummy \
 -	eval $set_cc_for_build
 -	$CC_FOR_BUILD $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 && 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 ;;
@@@ -305,11 -481,19 +498,20 @@@
      ????????: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
++		eval $set_cc_for_build
  		sed 's/^		//' << EOF >$dummy.c
  		#include <sys/systemcfg.h>
  
@@@ -321,8 -505,9 +523,7 @@@
  			exit(0);
  			}
  EOF
- 		${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
 -		eval $set_cc_for_build
 -		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $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
@@@ -330,9 -515,9 +531,9 @@@
  		echo rs6000-ibm-aix3.2
  	fi
  	exit 0 ;;
-     *:AIX:*:4)
- 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
- 	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
+     *:AIX:*:[45])
 -	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
++	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
@@@ -369,11 -555,30 +571,29 @@@
  	case "${UNAME_MACHINE}" in
  	    9000/31? )            HP_ARCH=m68000 ;;
  	    9000/[34]?? )         HP_ARCH=m68k ;;
- 	    9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
-               sed 's/^              //' << EOF >$dummy.c
+ 	    9000/[678][0-9][0-9])
 -              case "${HPUX_REV}" in
 -                11.[0-9][0-9])
 -                  if [ -x /usr/bin/getconf ]; then
 -                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
++		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 ;;
 -              esac
 -              if [ "${HP_ARCH}" = "" ]; then
 -              sed 's/^              //' << EOF >$dummy.c
++		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)
@@@ -401,13 -606,19 +621,29 @@@
                    exit (0);
                }
  EOF
- 	(${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
 -	eval $set_cc_for_build
 -	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
 -	if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
--	rm -f $dummy.c $dummy
 -	fi ;;
++		    (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:*:*)
++	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
  	#include <unistd.h>
  	int
@@@ -433,8 -644,9 +669,7 @@@
  	  exit (0);
  	}
  EOF
- 	${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
 -	eval $set_cc_for_build
 -	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $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:*:* )
@@@ -477,39 -695,44 +715,35 @@@
      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*T3D:*:*:*)
 -	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 -	exit 0 ;;
      CRAY*T3E:*:*:*)
- 	echo t3e-cray-unicosmk${UNAME_RELEASE}
+ 	echo alphaev5-cray-unicosmk${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*SV1:*:*:*)
+ 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ 	exit 0 ;;
 -    CRAY-2:*:*:*)
 -	echo cray2-cray-unicos
 -        exit 0 ;;
++    *:UNICOS/mp:*:*)
++	echo nv1-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}
- 	exit 0 ;;
--    hp300:OpenBSD:*:*)
--	echo m68k-unknown-openbsd${UNAME_RELEASE}
 -	exit 0 ;;
+     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
  	exit 0 ;;
      sparc*:BSD/OS:*:*)
  	echo sparc-unknown-bsdi${UNAME_RELEASE}
@@@ -521,13 -741,10 +752,21 @@@
  	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
  	exit 0 ;;
      *:FreeBSD:*:*)
--	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- 	exit 0 ;;
-     *:NetBSD:*:*)
- 	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
--	exit 0 ;;
--    *:OpenBSD:*:*)
--	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++	# Determine whether the default compiler uses glibc.
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#include <features.h>
++	#if __GLIBC__ >= 2
++	LIBC=gnu
++	#else
++	LIBC=
++	#endif
++EOF
++	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
++	# GNU/KFreeBSD systems have a "k" prefix to indicate we are using
++	# FreeBSD's kernel, but not the complete OS.
++	case ${LIBC} in gnu) kernel_only='k' ;; esac
++	echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
  	exit 0 ;;
      i*:CYGWIN*:*)
  	echo ${UNAME_MACHINE}-pc-cygwin
@@@ -535,6 -752,18 +774,24 @@@
      i*:MINGW*:*)
  	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 i386-pc-interix
++	echo i586-pc-interix
+ 	exit 0 ;;
+     i*:UWIN*:*)
+ 	echo ${UNAME_MACHINE}-pc-uwin
+ 	exit 0 ;;
      p*:CYGWIN*:*)
  	echo powerpcle-unknown-cygwin
  	exit 0 ;;
@@@ -542,147 -771,135 +799,175 @@@
  	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:*:*)
- 	# uname on the ARM produces all sorts of strangeness, and we need to
- 	# filter it out.
- 	case "$UNAME_MACHINE" in
- 	  arm* | sa110*)	      UNAME_MACHINE="arm" ;;
++    *: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}-${VENDOR}-linux
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit 0 ;;
++    cris:Linux:*:*)
++	echo cris-axis-linux-gnu
+ 	exit 0 ;;
+     ia64:Linux:*:*)
 -	echo ${UNAME_MACHINE}-${VENDOR}-linux
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit 0 ;;
+     m68*:Linux:*:*)
 -	echo ${UNAME_MACHINE}-${VENDOR}-linux
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit 0 ;;
+     mips:Linux:*:*)
 -	case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
 -	  big)    echo mips-${VENDOR}-linux && exit 0 ;;
 -	  little) echo mipsel-${VENDOR}-linux && exit 0 ;;
 -	esac
 -	case `sed -n '/^system type/s/^.*: \([^ ]*\).*/\1/p' < /proc/cpuinfo` in
 -	  SGI|sgi)    echo mips-${VENDOR}-linux-gnu && exit 0 ;;
 -	esac
++	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:*:*|ppc64:Linux:*:*)
 -	echo powerpc-${VENDOR}-linux
++    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}-${VENDOR}-linux${LIBC}
++	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-${VENDOR}-linux ;;
 -	  PA8*) echo hppa2.0-${VENDOR}-linux ;;
 -	  *)    echo hppa-${VENDOR}-linux ;;
++	  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-${VENDOR}-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}-${VENDOR}-linux
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit 0 ;;
+     sparc:Linux:*:* | sparc64:Linux:*:*)
 -	echo ${UNAME_MACHINE}-${VENDOR}-linux
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit 0 ;;
+     x86_64:Linux:*:*)
 -	echo x86_64-${VENDOR}-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.
 -	ld_supported_targets=`cd /; ld --help 2>&1 \
++	# 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 ;;
- 	  armlinux)   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 ;;
+         case "$ld_supported_targets" in
+ 	  elf32-i386)
 -		TENTATIVE="${UNAME_MACHINE}-${VENDOR}-linux"
++		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ 		;;
+ 	  a.out-i386-linux)
 -		echo "${UNAME_MACHINE}-${VENDOR}-linuxaout"
 -		exit 0 ;;		
++		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
++		exit 0 ;;
+ 	  coff-i386)
 -		echo "${UNAME_MACHINE}-${VENDOR}-linuxcoff"
++		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ 		exit 0 ;;
+ 	  "")
 -		# Either a pre-BFD a.out linker (linuxoldld) or
++		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+ 		# one that does not give us useful --help.
 -		echo "${UNAME_MACHINE}-${VENDOR}-linuxoldld"
++		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ 		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;
- }
+ 	# Determine whether the default compiler is a.out or elf
 -	cat >$dummy.c <<EOF
 -#include <features.h>
 -#ifdef __cplusplus
 -#include <stdio.h>  /* for printf() prototype */
 -	int main (int argc, char *argv[]) {
 -#else
 -	int main (argc, argv) int argc; char *argv[]; {
 -#endif
 -#ifdef __ELF__
 -# ifdef __GLIBC__
 -#  if __GLIBC__ >= 2
 -    printf ("%s-${VENDOR}-linux\n", argv[1]);
 -#  else
 -    printf ("%s-${VENDOR}-linuxlibc1\n", argv[1]);
 -#  endif
 -# else
 -   printf ("%s-${VENDOR}-linuxlibc1\n", argv[1]);
 -# endif
 -#else
 -  printf ("%s-${VENDOR}-linuxaout\n", argv[1]);
 -#endif
 -  return 0;
 -}
 -EOF
+ 	eval $set_cc_for_build
 -	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
 -	rm -f $dummy.c $dummy
++	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,
@@@ -690,35 -907,45 +975,59 @@@
          # 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: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|egrep '^Machine.*Pent ?II' >/dev/null) \
++		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ 			&& UNAME_MACHINE=i686
 -		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
++		(/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 ;;
-     i?86:UnixWare:*:*)
- 	if /bin/uname -X 2>/dev/null >/dev/null ; then
- 	  (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
- 	    && UNAME_MACHINE=i586
- 	fi
- 	echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
 -    i*86:*DOS:*:*)
 -	echo ${UNAME_MACHINE}-pc-msdosdjgpp
--	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
@@@ -740,9 -967,9 +1049,15 @@@
  	# "miniframe"
  	echo m68010-convergent-sysv
  	exit 0 ;;
++    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[567]*:*)
  	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[34]??:*:4.0:3.0 | 3[34]??A:*: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)
  	OS_REL=''
  	test -r /etc/.relid \
  	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@@ -759,9 -986,9 +1074,6 @@@
      mc68030:UNIX_System_V:4.*:*)
  	echo m68k-atari-sysv4
  	exit 0 ;;
-     i?86:LynxOS:2.*:*)
 -    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
--	echo i386-unknown-lynxos${UNAME_RELEASE}
--	exit 0 ;;
      TSUNAMI:LynxOS:2.*:*)
  	echo sparc-unknown-lynxos${UNAME_RELEASE}
  	exit 0 ;;
@@@ -823,17 -1060,78 +1145,83 @@@
      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:*:*)
 -	echo `uname -p`-apple-darwin${UNAME_RELEASE}
++	case `uname -p` in
++	    *86) UNAME_PROCESSOR=i686 ;;
++	    powerpc) UNAME_PROCESSOR=powerpc ;;
++	esac
++	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ 	exit 0 ;;
+     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 -	if test "${UNAME_MACHINE}" = "x86pc"; then
++	UNAME_PROCESSOR=`uname -p`
++	if test "$UNAME_PROCESSOR" = "x86"; then
++		UNAME_PROCESSOR=i386
+ 		UNAME_MACHINE=pc
+ 	fi
 -	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
++	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ 	exit 0 ;;
+     *:QNX:*:4*)
+ 	echo i386-pc-qnx
+ 	exit 0 ;;
 -    NSR-[KW]:NONSTOP_KERNEL:*:*)
++    NSR-[DGKLNPTVWY]: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 ;;
 -    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 ;;
+     *: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 ;;
 -    i*86:XTS-300:*:STOP)
 -	echo ${UNAME_MACHINE}-unknown-stop
++    SEI:*:*:SEIUX)
++        echo mips-sei-seiux${UNAME_RELEASE}
+ 	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
  
++eval $set_cc_for_build
  cat >$dummy.c <<EOF
  #ifdef _SEQUENT_
  # include <sys/types.h>
@@@ -935,8 -1246,9 +1336,7 @@@ main (
  }
  EOF
  
- ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
 -eval $set_cc_for_build
 -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $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.
  
diff --cc config.sub
index da8b7ae,83f4b01..79657cd
--- a/config.sub
+++ b/config.sub
@@@ -1,6 -1,10 +1,10 @@@
  #! /bin/sh
- # Configuration validation subroutine script, version 1.1.
- #   Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
+ # Configuration validation subroutine script.
 -#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 -#   Free Software Foundation, Inc.
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ 
 -timestamp='2001-08-13'
++timestamp='2003-10-07'
+ 
  # This file is (in principle) common to ALL GNU software.
  # The presence of a machine in this file suggests that SOME GNU software
  # can handle that machine.  It does not imply ALL GNU software can.
@@@ -25,6 -29,8 +29,9 @@@
  # configuration script generated by Autoconf, you may include it under
  # the same distribution terms that you use for the rest of that program.
  
 -# Please send patches to <config-patches at gnu.org>.
++# Please send patches to <config-patches at gnu.org>.  Submit a context
++# diff and a properly formatted ChangeLog entry.
+ #
  # Configuration subroutine to validate and canonicalize a configuration type.
  # Supply the specified configuration type as an argument.
  # If it is invalid, we print an error message on stderr and exit with code 1.
@@@ -68,7 -117,7 +118,7 @@@ esa
  # Here we must recognize all the valid KERNEL-OS combinations.
  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
  case $maybe_os in
-   linux-gnu*)
 -  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
++  nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
      os=-$maybe_os
      basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
      ;;
@@@ -149,16 -223,45 +224,60 @@@ esa
  case $basic_machine in
  	# Recognize the basic CPU types without company name.
  	# Some are omitted here because they have special meanings below.
- 	tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
- 		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
- 		| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
- 		| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
- 		| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
- 		| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
- 		| mipstx39 | mipstx39el \
- 		| sparc | sparclet | sparclite | sparc64 | v850)
+ 	1750a | 580 \
+ 	| a29k \
+ 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++	| am33_2.0 \
+ 	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ 	| c4x | clipper \
 -	| d10v | d30v | dsp16xx \
 -	| fr30 \
++	| d10v | d30v | dlx | dsp16xx \
++	| fr30 | frv \
+ 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ 	| i370 | i860 | i960 | ia64 \
++	| ip2k | iq2000 \
+ 	| m32r | m68000 | m68k | m88k | mcore \
 -	| mips16 | mips64 | mips64el | mips64orion | mips64orionel \
 -	| mips64vr4100 | mips64vr4100el | mips64vr4300 \
 -	| mips64vr4300el | mips64vr5000 | mips64vr5000el \
 -	| mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \
++	| mips | mipsbe | mipseb | mipsel | mipsle \
++	| mips16 \
++	| mips64 | mips64el \
++	| mips64vr | mips64vrel \
++	| mips64orion | mips64orionel \
++	| mips64vr4100 | mips64vr4100el \
++	| mips64vr4300 | mips64vr4300el \
++	| mips64vr5000 | mips64vr5000el \
++	| mipsisa32 | mipsisa32el \
++	| mipsisa32r2 | mipsisa32r2el \
++	| mipsisa64 | mipsisa64el \
++	| mipsisa64r2 | mipsisa64r2el \
++	| mipsisa64sb1 | mipsisa64sb1el \
++	| mipsisa64sr71k | mipsisa64sr71kel \
++	| mipstx39 | mipstx39el \
+ 	| mn10200 | mn10300 \
++	| msp430 \
+ 	| ns16k | ns32k \
 -	| openrisc \
++	| openrisc | or32 \
+ 	| pdp10 | pdp11 | pj | pjl \
+ 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ 	| pyramid \
 -	| s390 | s390x \
 -	| sh | sh[34] | sh[34]eb | shbe | shle \
 -	| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
++	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++	| sh64 | sh64le \
++	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+ 	| strongarm \
 -	| tahoe | thumb | tic80 | tron \
 -	| v850 \
++	| tahoe | thumb | tic4x | tic80 | tron \
++	| v850 | v850e \
+ 	| we32k \
 -	| x86 | xscale \
++	| x86 | xscale | xstormy16 | xtensa \
+ 	| z8k)
  		basic_machine=$basic_machine-unknown
  		;;
+ 	m6811 | m68hc11 | m6812 | m68hc12)
+ 		# Motorola 68HC11/12.
+ 		basic_machine=$basic_machine-unknown
+ 		os=-none
+ 		;;
+ 	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ 		;;
+ 
  	# We use `pc' rather than `unknown'
  	# because (1) that's what they normally are, and
  	# (2) the word "unknown" tends to confuse beginning users.
@@@ -171,18 -274,43 +290,61 @@@
  		exit 1
  		;;
  	# Recognize the basic CPU types with company name.
- 	vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
- 	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
- 	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- 	      | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
- 	      | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
- 	      | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
- 	      | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
- 	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
- 	      | sparc64-* | mips64-* | mipsel-* \
- 	      | mips64el-* | mips64orion-* | mips64orionel-*  \
- 	      | mipstx39-* | mipstx39el-* \
- 	      | f301-*)
+ 	580-* \
+ 	| a29k-* \
+ 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 -	| alphapca5[67]-* | arc-* \
 -	| arm-*  | armbe-* | armle-* | armv*-* \
++	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
++	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
++	| avr-* \
+ 	| bs2000-* \
 -	| c[123]* | c30-* | [cjt]90-* | c54x-* \
 -	| clipper-* | cray2-* | cydra-* \
 -	| d10v-* | d30v-* \
++	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++	| clipper-* | cydra-* \
++	| d10v-* | d30v-* | dlx-* \
+ 	| elxsi-* \
 -	| f30[01]-* | f700-* | fr30-* | fx80-* \
++	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ 	| h8300-* | h8500-* \
+ 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ 	| i*86-* | i860-* | i960-* | ia64-* \
++	| ip2k-* | iq2000-* \
+ 	| m32r-* \
 -	| m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
++	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ 	| m88110-* | m88k-* | mcore-* \
 -	| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
 -	| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
 -	| mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \
 -	| mipsle-* | mipstx39-* | mipstx39el-* \
 -	| none-* | np1-* | ns16k-* | ns32k-* \
++	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
++	| mips16-* \
++	| mips64-* | mips64el-* \
++	| mips64vr-* | mips64vrel-* \
++	| mips64orion-* | mips64orionel-* \
++	| mips64vr4100-* | mips64vr4100el-* \
++	| mips64vr4300-* | mips64vr4300el-* \
++	| mips64vr5000-* | mips64vr5000el-* \
++	| mipsisa32-* | mipsisa32el-* \
++	| mipsisa32r2-* | mipsisa32r2el-* \
++	| mipsisa64-* | mipsisa64el-* \
++	| mipsisa64r2-* | mipsisa64r2el-* \
++	| mipsisa64sb1-* | mipsisa64sb1el-* \
++	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
++	| mipstx39-* | mipstx39el-* \
++	| msp430-* \
++	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+ 	| orion-* \
+ 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ 	| pyramid-* \
+ 	| romp-* | rs6000-* \
 -	| s390-* | s390x-* \
 -	| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
 -	| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
 -	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
 -	| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
 -	| v850-* | vax-* \
++	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
++	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
++	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
++	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
++	| tahoe-* | thumb-* \
++	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++	| tron-* \
++	| v850-* | v850e-* | vax-* \
+ 	| we32k-* \
 -	| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
++	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
++	| xtensa-* \
+ 	| ymp-* \
+ 	| z8k-*)
  		;;
  	# Recognize the various machine names and aliases which stand
  	# for a CPU type and a company and sometimes even an OS.
@@@ -202,6 -342,6 +376,9 @@@
  		basic_machine=a29k-none
  		os=-bsd
  		;;
++	amd64)
++		basic_machine=x86_64-pc
++		;;
  	amdahl)
  		basic_machine=580-amdahl
  		os=-sysv
@@@ -229,6 -373,6 +410,10 @@@
  		basic_machine=ns32k-sequent
  		os=-dynix
  		;;
++	c90)
++		basic_machine=c90-cray
++		os=-unicos
++		;;
  	convex-c1)
  		basic_machine=c1-convex
  		os=-bsd
@@@ -249,16 -393,16 +434,8 @@@
  		basic_machine=c38-convex
  		os=-bsd
  		;;
--	cray | ymp)
--		basic_machine=ymp-cray
--		os=-unicos
--		;;
--	cray2)
--		basic_machine=cray2-cray
--		os=-unicos
--		;;
- 	[ctj]90-cray)
- 		basic_machine=c90-cray
 -	[cjt]90)
 -		basic_machine=${basic_machine}-cray
++	cray | j90)
++		basic_machine=j90-cray
  		os=-unicos
  		;;
  	crds | unos)
@@@ -270,6 -417,6 +450,14 @@@
  	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
  		basic_machine=mips-dec
  		;;
++	decsystem10* | dec10*)
++		basic_machine=pdp10-dec
++		os=-tops10
++		;;
++	decsystem20* | dec20*)
++		basic_machine=pdp10-dec
++		os=-tops20
++		;;
  	delta | 3300 | motorola-3300 | motorola-delta \
  	      | 3300-motorola | delta-motorola)
  		basic_machine=m68k-motorola
@@@ -394,20 -593,38 +634,36 @@@
  	miniframe)
  		basic_machine=m68000-convergent
  		;;
- 	mipsel*-linux*)
- 		basic_machine=mipsel-unknown
- 		os=-linux-gnu
- 		;;
- 	mips*-linux*)
- 		basic_machine=mips-unknown
- 		os=-linux-gnu
+ 	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ 		basic_machine=m68k-atari
+ 		os=-mint
  		;;
 -	mipsel*-linux*)
 -		basic_machine=mipsel-unknown
 -		;;
 -	mips*-linux*)
 -		basic_machine=mips-unknown
 -		;;
  	mips3*-*)
  		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
  		;;
  	mips3*)
  		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
  		;;
+ 	mmix*)
+ 		basic_machine=mmix-knuth
+ 		os=-mmixware
+ 		;;
+ 	monitor)
+ 		basic_machine=m68k-rom68k
+ 		os=-coff
+ 		;;
++	morphos)
++		basic_machine=powerpc-unknown
++		os=-morphos
++		;;
+ 	msdos)
+ 		basic_machine=i386-pc
+ 		os=-msdos
+ 		;;
+ 	mvs)
+ 		basic_machine=i370-ibm
+ 		os=-mvs
+ 		;;
  	ncr3000)
  		basic_machine=i486-ncr
  		os=-sysv4
@@@ -452,6 -689,21 +728,29 @@@
  	np1)
  		basic_machine=np1-gould
  		;;
++	nv1)
++		basic_machine=nv1-cray
++		os=-unicosmp
++		;;
+ 	nsr-tandem)
+ 		basic_machine=nsr-tandem
+ 		;;
+ 	op50n-* | op60c-*)
+ 		basic_machine=hppa1.1-oki
+ 		os=-proelf
+ 		;;
++	or32 | or32-*)
++		basic_machine=or32-unknown
++		os=-coff
++		;;
+ 	OSE68000 | ose68000)
+ 		basic_machine=m68000-ericsson
+ 		os=-ose
+ 		;;
+ 	os68k)
+ 		basic_machine=m68k-none
+ 		os=-os68k
+ 		;;
  	pa-hitachi)
  		basic_machine=hppa1.1-hitachi
  		os=-hiuxwe2
@@@ -466,42 -718,54 +765,58 @@@
  	pbb)
  		basic_machine=m68k-tti
  		;;
--        pc532 | pc532-*)
++	pc532 | pc532-*)
  		basic_machine=ns32k-pc532
  		;;
- 	pentium | p5 | k5 | nexen)
 -	pentium | p5 | k5 | k6 | nexgen)
++	pentium | p5 | k5 | k6 | nexgen | viac3)
  		basic_machine=i586-pc
  		;;
- 	pentiumpro | p6 | k6 | 6x86)
 -	pentiumpro | p6 | 6x86 | athlon)
++	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ 		basic_machine=i686-pc
+ 		;;
 -	pentiumii | pentium2)
++	pentiumii | pentium2 | pentiumiii | pentium3)
  		basic_machine=i686-pc
  		;;
- 	pentiumii | pentium2)
 -	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
++	pentium4)
 +		basic_machine=i786-pc
 +		;;
- 	pentium-* | p5-* | k5-* | nexen-*)
++	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
  		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
- 	pentiumpro-* | p6-* | k6-* | 6x86-*)
+ 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
  		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
--	pentiumii-* | pentium2-*)
++	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
++	pentium4-*)
 +		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
 +		;;
  	pn)
  		basic_machine=pn-gould
  		;;
- 	power)	basic_machine=rs6000-ibm
+ 	power)	basic_machine=power-ibm
  		;;
  	ppc)	basic_machine=powerpc-unknown
--	        ;;
 -	ppc64)  basic_machine=powerpc-unknown
+ 		;;
  	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
  	ppcle | powerpclittle | ppc-le | powerpc-little)
  		basic_machine=powerpcle-unknown
--	        ;;
++		;;
  	ppcle-* | powerpclittle-*)
  		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
+ 	ppc64)	basic_machine=powerpc64-unknown
 -	        ;;
++		;;
+ 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
+ 	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ 		basic_machine=powerpc64le-unknown
 -	        ;;
++		;;
+ 	ppc64le-* | powerpc64little-*)
+ 		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
  	ps2)
  		basic_machine=i386-ibm
  		;;
@@@ -511,6 -783,10 +834,26 @@@
  	rtpc | rtpc-*)
  		basic_machine=romp-ibm
  		;;
++	s390 | s390-*)
++		basic_machine=s390-ibm
++		;;
++	s390x | s390x-*)
++		basic_machine=s390x-ibm
++		;;
+ 	sa29200)
+ 		basic_machine=a29k-amd
+ 		os=-udi
+ 		;;
++	sb1)
++		basic_machine=mipsisa64sb1-unknown
++		;;
++	sb1el)
++		basic_machine=mipsisa64sb1el-unknown
++		;;
++	sei)
++		basic_machine=mips-sei
++		os=-seiux
++		;;
  	sequent)
  		basic_machine=i386-sequent
  		;;
@@@ -518,6 -794,10 +861,13 @@@
  		basic_machine=sh-hitachi
  		os=-hms
  		;;
 -	sparclite-wrs)
++	sh64)
++		basic_machine=sh64-unknown
++		;;
++	sparclite-wrs | simso-wrs)
+ 		basic_machine=sparclite-wrs
+ 		os=-vxworks
+ 		;;
  	sps7)
  		basic_machine=m68k-bull
  		os=-sysv2
@@@ -569,12 -860,20 +930,36 @@@
  		basic_machine=i386-sequent
  		os=-dynix
  		;;
+ 	t3e)
 -		basic_machine=t3e-cray
++		basic_machine=alphaev5-cray
++		os=-unicos
++		;;
++	t90)
++		basic_machine=t90-cray
+ 		os=-unicos
+ 		;;
+ 	tic54x | c54x*)
+ 		basic_machine=tic54x-unknown
+ 		os=-coff
+ 		;;
++	tic55x | c55x*)
++		basic_machine=tic55x-unknown
++		os=-coff
++		;;
++	tic6x | c6x*)
++		basic_machine=tic6x-unknown
++		os=-coff
++		;;
  	tx39)
  		basic_machine=mipstx39-unknown
  		;;
  	tx39el)
  		basic_machine=mipstx39el-unknown
  		;;
++	toad1)
++		basic_machine=pdp10-xkl
++		os=-tops20
++		;;
  	tower | tower-32)
  		basic_machine=m68k-ncr
  		;;
@@@ -595,8 -898,8 +984,8 @@@
  		os=-vms
  		;;
  	vpp*|vx|vx-*)
--               basic_machine=f301-fujitsu
--               ;;
++		basic_machine=f301-fujitsu
++		;;
  	vxworks960)
  		basic_machine=i960-wrs
  		os=-vxworks
@@@ -609,13 -912,29 +998,25 @@@
  		basic_machine=a29k-wrs
  		os=-vxworks
  		;;
- 	xmp)
- 		basic_machine=xmp-cray
- 		os=-unicos
+ 	w65*)
+ 		basic_machine=w65-wdc
+ 		os=-none
+ 		;;
+ 	w89k-*)
+ 		basic_machine=hppa1.1-winbond
+ 		os=-proelf
  		;;
-         xps | xps100)
 -	windows32)
 -		basic_machine=i386-pc
 -		os=-windows32-msvcrt
++	xps | xps100)
 +		basic_machine=xps100-honeywell
  		;;
 -	xmp)
 -		basic_machine=xmp-cray
++	ymp)
++		basic_machine=ymp-cray
+ 		os=-unicos
+ 		;;
 -        xps | xps100)
 -		basic_machine=xps100-honeywell
 -		;;
+ 	z8k-*-coff)
+ 		basic_machine=z8k-unknown
+ 		os=-sim
+ 		;;
  	none)
  		basic_machine=none-none
  		os=-none
@@@ -623,13 -942,25 +1024,15 @@@
  
  # Here we handle the default manufacturer of certain CPU types.  It is in
  # some cases the only manufacturer, in others, it is the most popular.
- 	mips)
- 		if [ x$os = x-linux-gnu ]; then
- 			basic_machine=mips-unknown
- 		else
- 			basic_machine=mips-mips
- 		fi
+ 	w89k)
+ 		basic_machine=hppa1.1-winbond
+ 		;;
+ 	op50n)
+ 		basic_machine=hppa1.1-oki
+ 		;;
+ 	op60c)
+ 		basic_machine=hppa1.1-oki
  		;;
 -	mips)
 -		case $os in
 -		linux*)
 -			basic_machine=mips-unknown
 -			;;
 -		*)
 -			basic_machine=mips-mips
 -			;;
 -		esac
 -		;;
  	romp)
  		basic_machine=romp-ibm
  		;;
@@@ -645,10 -980,13 +1052,16 @@@
  	we32k)
  		basic_machine=we32k-att
  		;;
- 	sparc)
 -	sh3 | sh4 | sh3eb | sh4eb)
++	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ 		basic_machine=sh-unknown
+ 		;;
++	sh64)
++		basic_machine=sh64-unknown
++		;;
+ 	sparc | sparcv9 | sparcv9b)
  		basic_machine=sparc-sun
  		;;
--        cydra)
++	cydra)
  		basic_machine=cydra-cydrome
  		;;
  	orion)
@@@ -657,6 -995,19 +1070,15 @@@
  	orion105)
  		basic_machine=clipper-highlevel
  		;;
+ 	mac | mpw | mac-mpw)
+ 		basic_machine=m68k-apple
+ 		;;
+ 	pmac | pmac-mpw)
+ 		basic_machine=powerpc-apple
+ 		;;
 -	c4x*)
 -		basic_machine=c4x-none
 -		os=-coff
 -		;;
+ 	*-unknown)
+ 		# Make sure to match an already-canonicalized machine name.
+ 		;;
  	*)
  		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  		exit 1
@@@ -709,18 -1060,38 +1131,48 @@@ case $os i
  	      | -aos* \
  	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
--	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
++	      | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+ 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ 	      | -chorusos* | -chorusrdb* \
  	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- 	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \
- 	      | -openstep*)
 -	      | -mingw32* | -linux* | -uxpv* | -beos* | -mpeix* | -udk* \
 -	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
++	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 -	      | -os2* | -vos*)
++	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
++	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
++	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
  	# Remember, each alternative MUST END IN *, to match a version number.
  		;;
+ 	-qnx*)
+ 		case $basic_machine in
+ 		    x86-* | i*86-*)
+ 			;;
+ 		    *)
+ 			os=-nto$os
+ 			;;
+ 		esac
+ 		;;
++	-nto-qnx*)
++		;;
+ 	-nto*)
 -		os=-nto-qnx
++		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ 		;;
+ 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ 	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ 		;;
+ 	-mac*)
+ 		os=`echo $os | sed -e 's|mac|macos|'`
+ 		;;
++	-linux-dietlibc)
++		os=-linux-dietlibc
++		;;
 +	-linux*)
 +		os=`echo $os | sed -e 's|linux|linux-gnu|'`
 +		;;
  	-sunos5*)
  		os=`echo $os | sed -e 's|sunos5|solaris2|'`
  		;;
@@@ -742,11 -1119,17 +1200,23 @@@
  	-acis*)
  		os=-aos
  		;;
++	-atheos*)
++		os=-atheos
++		;;
+ 	-386bsd)
+ 		os=-bsd
+ 		;;
  	-ctix* | -uts*)
  		os=-sysv
  		;;
++	-nova*)
++		os=-rtmk-nova
++		;;
  	-ns2 )
--	        os=-nextstep2
++		os=-nextstep2
+ 		;;
+ 	-nsk*)
+ 		os=-nsk
  		;;
  	# Preserve the version number of sinix5.
  	-sinix5.*)
@@@ -776,6 -1165,9 +1252,15 @@@
  	-xenix)
  		os=-xenix
  		;;
 -        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 -	        os=-mint
++	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++		os=-mint
++		;;
++	-aros*)
++		os=-aros
++		;;
++	-kaos*)
++		os=-kaos
+ 		;;
  	-none)
  		;;
  	*)
@@@ -804,7 -1199,10 +1292,14 @@@ case $basic_machine i
  	arm*-semi)
  		os=-aout
  		;;
-         pdp11-*)
++    c4x-* | tic4x-*)
++        os=-coff
++        ;;
++	# This must come before the *-dec entry.
+ 	pdp10-*)
+ 		os=-tops20
+ 		;;
 -        pdp11-*)
++	pdp11-*)
  		os=-none
  		;;
  	*-dec | vax-*)
@@@ -822,6 -1220,15 +1317,18 @@@
  		# default.
  		# os=-sunos4
  		;;
+ 	m68*-cisco)
+ 		os=-aout
+ 		;;
+ 	mips*-cisco)
+ 		os=-elf
+ 		;;
+ 	mips*-*)
+ 		os=-elf
+ 		;;
++	or32-*)
++		os=-coff
++		;;
  	*-tti)	# must be before sparc entry or we get the wrong os.
  		os=-sysv3
  		;;
@@@ -876,19 -1292,19 +1392,19 @@@
  	*-next)
  		os=-nextstep3
  		;;
--        *-gould)
++	*-gould)
  		os=-sysv
  		;;
--        *-highlevel)
++	*-highlevel)
  		os=-bsd
  		;;
  	*-encore)
  		os=-bsd
  		;;
--        *-sgi)
++	*-sgi)
  		os=-irix
  		;;
--        *-siemens)
++	*-siemens)
  		os=-sysv4
  		;;
  	*-masscomp)
@@@ -942,7 -1376,7 +1476,7 @@@ case $basic_machine i
  			-ptx*)
  				vendor=sequent
  				;;
--			-vxsim* | -vxworks*)
++			-vxsim* | -vxworks* | -windiss*)
  				vendor=wrs
  				;;
  			-aux*)
diff --cc debian/changelog
index 220dc82,0000000..4ce4ca0
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,33 -1,0 +1,122 @@@
++wmfire (1.2.1-4) unstable; urgency=low
++
++  * applied the patch from Alan Swanson (see #250937) (Closes: #250937,
++    #256782)
++  * adjusted mandir to be FHS 2.1 compatible
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Tue, 17 Aug 2004 15:49:00 +0000
++
++wmfire (1.2.1-3) unstable; urgency=low
++
++  * Changed Build-Depends: libgtop2-dev (>=2.6.0-4) (Closes: #252189)
++  * sponsored by Martin Wuertele <maxx at debian.org>
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Sat, 12 Jun 2004 13:27:21 +0200
++
++wmfire (1.2.1-2) unstable; urgency=low
++
++  * recompile against libgtop-2.2 (Closes: #252189)
++  * sponsored by Martin Wuertele <maxx at debian.org>
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Sun,  6 Jun 2004 13:55:52 +0000
++
++wmfire (1.2.1-1) unstable; urgency=low
++
++  * New upstream release (Closes: #242536)
++  * manually applied the patch from Christof Douma (see #228357)
++  * some very small changes in wmfire.menu
++  * sponsored by Martin Wuertele <maxx at debian.org>
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Sun,  9 May 2004 20:37:58 +0200
++
++wmfire (1.1.99-5) unstable; urgency=low
++
++  * corrected the manpage section
++  * applied a patch from Christof Douma to manually set the X resource name (Closes: #228357)
++  * formating fixes to the manpage
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Sun, 18 Jan 2004 19:25:55 +0100
++
++wmfire (1.1.99-4) unstable; urgency=low
++
++  * New maintainer (really, this time)
++  * rm config.{log,cache,status} in build-stamp target to clean up upstream cruft
++  * updated config.sub and config.guess
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Fri,  2 Jan 2004 14:09:20 +0100
++
++wmfire (1.1.99-3) unstable; urgency=low
++
++  * New Maintainer (Closes: #210794)
++  * created wmfire.menu
++
++ -- Christoph Siess (CHS) <chs at geekhost.info>  Fri,  2 Jan 2004 11:41:38 +0100
++
++wmfire (1.1.99-2) unstable; urgency=low
++
++  * Fix missing build-depends on libgtop2-dev (closes: Bug#225225).
++
++ -- Søren Boll Overgaard <boll at debian.org>  Sun, 28 Dec 2003 15:34:32 +0000
++
++wmfire (1.1.99-1) unstable; urgency=low
++
++  * New upstream release
++
++ -- Søren Boll Overgaard <boll at debian.org>  Sun, 21 Dec 2003 22:37:20 +0000
++
++wmfire (1.0.0-3) unstable; urgency=low
++
++  * Fix manpage (closes: Bug#165589).
++
++ -- Søren Boll Overgaard <boll at debian.org>  Sun, 20 Oct 2002 18:17:47 +0200
++
++wmfire (1.0.0-2) unstable; urgency=low
++
++  * Fix build-deps (closes: Bug#165437).
++
++ -- Søren Boll Overgaard <boll at debian.org>  Sat, 19 Oct 2002 11:20:00 +0200
++
++wmfire (1.0.0-1) unstable; urgency=low
++
++  * New upstream release.
++  * New maintaner (closes: Bug#164989).
++  * New upstream maintainer.
++  * Install manpage for wmfire (closes: Bug#87084).
++  * Add build-depends/depends, to support now and improved[TM] code.
++  * Dont leave processes hanging (closes: Bug#98391).
++
++ -- Søren Boll Overgaard <boll at debian.org>  Fri, 18 Oct 2002 10:31:15 +0200
++
 +wmfire (0.0.3.9pre4-2) unstable; urgency=low
 +
 +  * typo. closes: #125490
 +  * install wmfire to /usr/bin not /usr/X11R6/bin.
 +  * Remove 'undocumented manpage'. closes: #87084
 +
 + -- Ryuichi Arafune <arafune at debian.org>  Sat, 22 Dec 2001 14:46:20 +0900
 +
 +wmfire (0.0.3.9pre4-1) unstable; urgency=low
 +
 +  * New upstream version: closes #46005, #61321
 +
 + -- Ryuichi Arafune <arafune at debian.org>  Mon,  3 Apr 2000 20:18:50 +0900
 +
 +wmfire (0.0.3.8-3) unstable; urgency=low
 +
 +  * Readme.Debian (empgy file) removed. (Bug#54371)
 +
 + -- Ryuichi Arafune <arafune at debian.org>  Sat,  8 Jan 2000 09:29:04 +0900
 +
 +wmfire (0.0.3.8-2) unstable; urgency=low
 +
 +  * /usr/doc -> /usr/share/doc/ (Use debhelper 2.0.40).
 +  * lintian free
 +  
 + -- Ryuichi Arafune <arafune at debian.org>  Tue,  7 Sep 1999 20:31:51 +0900
 +
 +wmfire (0.0.3.8-1) unstable; urgency=low
 +
 +  * Initial Release.
 +
 + -- Ryuichi Arafune <arafune at debian.org>  Fri, 27 Aug 1999 12:33:40 +0900
 +
diff --cc debian/control
index 98b350c,0000000..835b51a
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,14 -1,0 +1,13 @@@
 +Source: wmfire
 +Section: x11
 +Priority: optional
- Maintainer: Ryuichi Arafune <arafune at debian.org>
- Build-Depends: debhelper (>=3.0.5), xlibs-dev
- Standards-Version: 3.5.4
++Maintainer: Christoph Siess (CHS) <chs at geekhost.info>
++Build-Depends: debhelper (>=4.0.0), xlibs-dev, libgtop2-dev (>=2.6.0-4), libgtk2.0-dev, libgnome-dev
++Standards-Version: 3.6.1
 +
 +Package: wmfire
 +Architecture: any
 +Depends: ${shlibs:Depends}
- Description: A very cool fiery way of showing your CPU usage!
-  The display is a 64x64 window designed to Dock into 
-  Window Maker's Docking bar.
-    
++Description: very cool fiery way of showing your CPU usage
++ A windowmaker (or similar) dockapp, which shows your current CPU usage as
++ a roaring fire.
diff --cc debian/copyright
index 7c18e79,0000000..dba9565
mode 100644,000000..100644
--- a/debian/copyright
+++ b/debian/copyright
@@@ -1,7 -1,0 +1,26 @@@
 +This package was debianized by Ryuichi Arafune <arafune at debian.org> on
 +Fri, 27 Aug 1999 12:33:40 +0900.
 +
- It was downloaded from http://www.zebra.net/~dm/wmfire
++It was downloaded from http://www.swanson.ukfsn.org/#wmfire
 +
- Copyright: GPL
- In Debian GNU/Linxu System, Please see /usr/share/common-licenses/GPL
++Upstream Authors: 
++This version: Alan Swanson <swanson at uklinux.net>
++Previous versions: Zinx Verituse <zinx at linuxfreak.com> 
++
++Copyright: 
++This program 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 (at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
++
++On Debian systems, the complete text of the GNU General Public
++License, version 2, can be found in /usr/share/common-licenses/GPL-2.
diff --cc debian/rules
index a980fe5,0000000..5b4efaa
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,76 -1,0 +1,84 @@@
 +#!/usr/bin/make -f
 +#-*- makefile -*-
 +# Made with the aid of dh_make, by Craig Small
 +# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
 +# Some lines taken from debmake, by Christoph Lameter.
 +
 +# Uncomment this to turn on verbose mode.
 +#export DH_VERBOSE=1
- export DH_COMPAT=3
++export DH_COMPAT=4
++
++CFLAGS = -Wall -g
++
++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
++        CFLAGS += -O0
++else
++        CFLAGS += -O2
++endif
 +
 +build: build-stamp
 +build-stamp:
 +	dh_testdir
- 
- 	./configure --prefix=/usr
++	rm -f config.status config.log config.status	
++	./configure --prefix=/usr --mandir=/usr/share/man
 +	# Add here commands to compile the package.
 +	$(MAKE) 
 +
 +	touch build-stamp
 +
 +clean:
 +	dh_testdir
 +	dh_testroot
 +	rm -f build-stamp install-stamp
 +
 +	# Add here commands to clean up after the build process.
 +	-$(MAKE) distclean
 +
 +	dh_clean
 +
 +install: install-stamp
 +install-stamp: build-stamp
 +	dh_testdir
 +	dh_testroot
 +	dh_clean -k
 +	dh_installdirs
 +
 +	# Add here commands to install the package into debian/tmp.
 +	$(MAKE) install prefix=$(CURDIR)/debian/wmfire/usr/
 +	touch install-stamp
 +
 +# Build architecture-independent files here.
 +binary-indep: build install
 +# We have nothing to do by default.
 +
 +# Build architecture-dependent files here.
 +binary-arch: build install
 +#	dh_testversion
 +	dh_testdir
 +	dh_testroot
 +	dh_installdocs
- 	dh_installexamples
++#	dh_installexamples
 +	dh_installmenu
 +#	dh_installemacsen
 +#	dh_installinit
- 	dh_installcron
- 	dh_installmanpages
++#	dh_installcron
++	dh_installman debian/wmfire.1
 +#	dh_undocumented  fireload_cpu.1 fireload_file.1
 +	dh_installchangelogs ChangeLog
- 	dh_link
++#	dh_link
 +	dh_strip
 +	dh_compress
 +	dh_fixperms
 +#	dh_makeshlibs
 +	dh_installdeb
 +#	dh_perl 
 +	dh_shlibdeps
 +	dh_gencontrol
 +	dh_md5sums
 +	dh_builddeb
 +
 +source diff:                                                                  
 +	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
 +
 +binary: binary-indep binary-arch
 +.PHONY: build clean binary-indep binary-arch binary
diff --cc debian/wmfire.1
index afda445,0000000..fa48cca
mode 100644,000000..100644
--- a/debian/wmfire.1
+++ b/debian/wmfire.1
@@@ -1,44 -1,0 +1,65 @@@
- .TH WMFIRE 1x
++.TH WMFIRE 1
 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
 +.\" other parms are allowed: see man(7), man(1)
 +.SH NAME
 +wmfire \- Window Maker Dock app: Show the CPU usage as a fire height.
 +.SH SYNOPSIS
 +.B wmfire
- .I "[-L[1|0|on|off|yes|no]]  [-B[1|0|on|off|yes|no]]]
- [-C<0..2>][-s[1|0|on|off|yes|no]] [-P <program [args [...]]>] [-h]"
++.RI [ options... ]
 +.br
 +.SH "DESCRIPTION"
 +This manual page documents briefly the
 +.BR wmfire 
 +commands.
 +This manual page was written for the Debian GNU/Linux distribution
 +because the original program does not have a manual page.
 +Instead, it has documentation in the GNU Info format; see below.
 +.PP
 +.SH OPTIONS
 +The programs follow the usual GNU command line syntax.
 +A summary of options are included below.
 +.TP
- .B -L
- Toggles/Sets if flame height follows load
++.B -c 
++.RI [ 0..3 ]
++Monitor SMP CPU X.
 +.TP
- .B -B
- Toggles/Sets if load bar shows
++.B -m
++Monitor memory load.
 +.TP
- .B -s
- Toggles/Sets if the numbers are shown
++.B -n
++Monitor network load.
 +.TP
- .B -C<0..2>
- Start at a different colormap
++.B -i 
++.RI [ ... ]
++Change network interface (default is ppp0)
 +.TP
- .B -P<...>
- Set "load program"; will be expanded by shell...
++.B -s 
++.RI [ ... ]
++Change network speed (ppp:56K) (eth:100M)
++.TP
++.B -x
++Exclude nice'd CPU load.
++.TP
++.B -p
++Fire effect only.
++.TP
++.B -f 
++.RI [ 1..4 ]
++Change flame colour (1:Natural 2:Coronal 3:Blue 4:Green).
++.TP
++.B -l
++Lock flame colour and monitor
++.TP
++.B -b
++Activate broken window manager fix.
++.TP
++.B -r
++.RI [ ... ]
++Change resource name (default:wmfire)
 +.TP
 +.B \-h
 +Show summary of options.
- .SH "SEE ALSO"
- /usr/share/doc/wmfire/README
 +.SH AUTHOR
 +This manual page was written by Ryuichi Arafune <arafune at debian.org>,
++and modified by S�ren Boll Overgaard <boll at debian.org>, 
 +for the Debian GNU/Linux system (but may be used by others).
diff --cc debian/wmfire.menu
index 0000000,0000000..4b40354
new file mode 100644
--- /dev/null
+++ b/debian/wmfire.menu
@@@ -1,0 -1,0 +1,1 @@@
++?package(wmfire):needs="x11"  section="Apps/Tools" title="wmfire" longtitle="very cool fiery way of showing your CPU usage" command="/usr/bin/wmfire"
diff --cc src/wmfire.c
index 0000000,4a8e3f5..655e64a
mode 000000,100644..100644
--- a/src/wmfire.c
+++ b/src/wmfire.c
@@@ -1,0 -1,695 +1,702 @@@
+ /******************************************/
+ /* Wmfire - Flaming Monitor Dock          */
+ /******************************************/
+ 
+ /******************************************/
+ /* This program 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 (at your option) any later version.
+ /* 
+ /* This program is distributed in the hope that it will be useful,
+ /* but WITHOUT ANY WARRANTY; without even the implied warranty of
+ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ /* GNU General Public License for more details.
+ /* 
+ /* You should have received a copy of the GNU General Public License
+ /* along with this program; if not, write to the Free Software
+ /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ /******************************************/
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <pwd.h>
+ #include <dirent.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ 
+ #include <gdk/gdk.h>
+ #include <gdk/gdkx.h>
+ 
+ #include <glibtop.h>
+ #include <glibtop/cpu.h>
+ #include <glibtop/mem.h>
+ #include <glibtop/netload.h>
+ 
+ #include "session.h"
+ #include "flamedefault.h"
+ #include "flamecorona.h"
+ #include "flameblue.h"
+ #include "flamegreen.h"
+ 
+ #include "master.xpm"
+ #include "icon.xpm"
+ 
+ /******************************************/
+ /* Defines                                */
+ /******************************************/
+ 
+ #define XMAX 56
+ #define YMAX 56
+ #define CMAPSIZE (XMAX * YMAX)
+ #define RGBSIZE (XMAX * YMAX * 3)
+ #define NCOLOURS 256
+ #define NFLAMES 4
+ 
+ #define FIRE_NONE	0
+ #define FIRE_CPU	1
+ #define FIRE_MEM	2
+ #define FIRE_NET	3
+ 
+ #define NET_SPD_PPP	56
+ #define NET_SPD_ETH	100
+ 
+ #define UPDATE_SEC	4
+ #define UPDATE		1000000 / UPDATE_SEC
+ #define REFRESH		20000
+ 
+ /******************************************/
+ /* Structures                             */
+ /******************************************/
+ 
+ typedef struct {
+ 	Display *display;	/* X11 display */
+ 	GdkWindow *win;		/* Main window */
+ 	GdkWindow *iconwin;	/* Icon window */
+ 	GdkGC *gc;		/* Drawing GC */
+ 	GdkPixmap *pixmap;	/* Main pixmap */
+ 	GdkBitmap *mask;	/* Dockapp mask */
+ 
+ 	int x;			/* Window X position */
+ 	int y;			/* Window Y position */
+ 
+ 	unsigned char *flame;
+ 	unsigned char cmap[CMAPSIZE];
+ 	unsigned char rgb[RGBSIZE];
+ } wmfire_data;
+ 
+ typedef struct {
+ 	char *text;
+ 	unsigned char *data;
+ } flame_data;
+ 
+ /******************************************/
+ /* Functions                              */
+ /******************************************/
+ 
+ int update_cpu();
+ int update_mem();
+ int update_net();
+ int change_cpu(int);
+ void change_flame(int);
+ GdkCursor *setup_cursor();
+ void burn_spot(int, int, int);
+ inline void draw_fire(unsigned int);
+ static void make_wmfire_dockapp();
+ void read_config(int, char **);
+ void do_help(void);
+ 
+ /******************************************/
+ /* Globals                                */
+ /******************************************/
+ 
+ static wmfire_data bm;
+ 
+ char *session_id = NULL;
+ 
+ flame_data fire[] = {
+ 	{"Natural", flamedefault},
+ 	{"Coronal", flamecorona},
+ 	{"Blue", flameblue},
+ 	{"Green", flamegreen},
+ };
+ 
+ int monitor = FIRE_CPU;
+ int load = 100;
+ int cpu_av = 1;
+ int cpu_id = 0;
+ int cpu_nice = 1;
+ char net_dev[16] = "ppp0";
++char resource_name[64] = "wmfire";
+ int net_spd = 0;
+ int cmap = 0;
+ int lock = 0;
+ int proximity = 0;
+ int broken_wm = 0;
+ 
+ /******************************************/
+ /* Main                                   */
+ /******************************************/
+ 
+ int
+ main(int argc, char **argv)
+ {
+ 	GdkEvent *event;
+ 	GdkCursor *cursor;
+ 	int i;
+ 	int timer = 0;
+ 	int next = 0;
+ 
+ 	/* Initialise random seed */
+ 	srand(time(NULL));
+ 
+ 	/* Initialize GDK */
+ 	if (!gdk_init_check(&argc, &argv)) {
+ 		fprintf(stderr, "GDK init failed. Check \"DISPLAY\" variable.\n");
+ 		exit(-1);
+ 	}
+ 
+ 	/* Initialise invisible cursor */
+ 	cursor = setup_cursor();
+ 
+ 	/* Zero main data structures */
+ 	memset(&bm, 0, sizeof (bm));
+ 
+ 	/* Parse command line */
+ 	read_config(argc, argv);
+ #ifdef SESSION
+ 	smc_connect(argc, argv, session_id);
+ #endif
+ 
+ 	/* Create dockapp window. creates windows, allocates memory, etc */
+ 	make_wmfire_dockapp();
+ 
+ 	while (1) {
+ 		while (gdk_events_pending()) {
+ 			event = gdk_event_get();
+ 			if (event) {
+ 				switch (event->type) {
+ 				case GDK_DESTROY:
+ 				case GDK_DELETE:
+ 					gdk_cursor_destroy(cursor);
+ 					exit(0);
+ 					break;
+ 				case GDK_BUTTON_PRESS:
+ 					if (event->button.button == 1)
+ 						next = 1;
+ 					else if (event->button.button == 2)
+ 						cpu_nice = !cpu_nice;
+ 					else if (event->button.button == 3)
+ 						change_flame(0);
+ 					else if (event->button.button == 4)
+ 						next = 1;
+ 					else if (event->button.button == 5)
+ 						next = 1;
+ 					break;
+ 				case GDK_ENTER_NOTIFY:
+ 					proximity = 1;
+ 					gdk_window_set_cursor(bm.win, cursor);
+ 					break;
+ 				case GDK_LEAVE_NOTIFY:
+ 					proximity = 0;
+ 					gdk_window_set_cursor(bm.win, NULL);
+ 					break;
+ 				default:
+ 					break;
+ 				}
+ 				gdk_event_free(event);
+ 			}
+ 		}
+ 
+ 		/* Change monitored statistics */
+ 		if (next) {
+ 			next = 0;
+ 			
+ 			if (!lock) {
+ 				if (monitor == FIRE_CPU && change_cpu(-1))
+ 					monitor = FIRE_MEM;
+ 				else if (monitor == FIRE_MEM)
+ 					monitor = FIRE_NET;
+ 				else if (monitor == FIRE_NET)
+ 					monitor = FIRE_CPU;
+ 			}
+ 		}
+ 
+ 		/* Update statistics at intervals */
+ 		if ((timer += REFRESH) >= UPDATE) {
+ 			if (monitor == FIRE_CPU)
+ 				load = update_cpu();
+ 			else if (monitor == FIRE_MEM)
+ 				load = update_mem();
+ 			else if (monitor == FIRE_NET)
+ 				load = update_net();
+ 
+ 			if (load > 100)
+ 				load = 100;
+ 			else if (load < 0)
+ 				load = 0;
+ 
+ 			timer = 0;
+ 		}
+ 
+ 		draw_fire(load);
+ 
+ 		usleep(REFRESH);
+ 
+ 		/* Draw the rgb buffer to screen */
+ 		if (!broken_wm)
+ 			gdk_draw_rgb_image(bm.iconwin, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
+ 		else
+ 			gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
+ 	}
+ 
+ 	return 0;
+ }
+ 
+ /******************************************/
+ /* Update cpu load statistics             */
+ /******************************************/
+ 
+ int
+ update_cpu()
+ {
+ 	glibtop_cpu cpu;
+ 	unsigned long load, total;
+ 	static unsigned long oldload = 0, oldtotal = 0;
+ 	int percent;
+ 
+ 	glibtop_get_cpu(&cpu);
+ 
+ 	if (cpu_av) {
+ 		if (cpu_nice)
+ 			load = cpu.user + cpu.nice + cpu.sys;
+ 		else
+ 			load = cpu.user + cpu.sys;
+ 
+ 		total = cpu.total;
+ 	} else {
+ 		if (cpu_nice)
+ 			load = cpu.xcpu_user[cpu_id] + cpu.xcpu_nice[cpu_id] + cpu.xcpu_sys[cpu_id];
+ 		else
+ 			load = cpu.xcpu_user[cpu_id] + cpu.xcpu_sys[cpu_id];
+ 
+ 		total = cpu.xcpu_total[cpu_id];
+ 	}
+ 
+ 	if (total != oldtotal)
+ 		percent = 100 * (load - oldload) / (total - oldtotal);
+ 	else
+ 		percent = 0;
+ 
+ 	oldload = load;
+ 	oldtotal = total;
+ 
+ 	return percent;
+ }
+ 
+ /******************************************/
+ /* Update memory statistics               */
+ /******************************************/
+ 
+ int
+ update_mem()
+ {
+ 	glibtop_mem mem;
+ 	int percent;
+ 
+ 	glibtop_get_mem(&mem);
+ 
+ 	if (mem.total)
+ 		percent = 100 * (mem.user + mem.shared) / mem.total;
+ 	else
+ 		percent = 0;
+ 
+ 	return percent;
+ }
+ 
+ /******************************************/
+ /* Update network statistics              */
+ /******************************************/
+ 
+ int
+ update_net()
+ {
+ 	glibtop_netload netload;
+ 	static unsigned long oldtotal = 0;
+ 	int percent;
+ 
+ 	glibtop_get_netload(&netload,net_dev);
+ 
+ 	/* Disregard full duplex transmission */
+ 	percent = 100 * (netload.bytes_total - oldtotal) / (net_spd / UPDATE_SEC);
+ 
+ 	oldtotal = netload.bytes_total;
+ 
+ 	return percent;
+ }
+ 
+ /******************************************/
+ /* Change CPU monitor                     */
+ /******************************************/
+ 
+ int
+ change_cpu(int which)
+ {
+ 	glibtop_cpu cpu;
+ 
+ 	glibtop_get_cpu(&cpu);
+ 
+ 	/* This should work, but I have a lonely uniprocessor system */
+ 
+ 	if (which >= 0) {
+ 		cpu_id = which;
+ 		cpu_av = 0;
+ 	} else {
+ 		cpu_id++;
+ 		cpu_av = 0;
+ 	}
+ 
+ 	if (cpu_id >= glibtop_global_server->ncpu || cpu_id >= GLIBTOP_NCPU) {
+ 		cpu_id = 0;
+ 		cpu_av = 1;
+ 		return 1;
+ 	}
+ 	
+ 	return 0;
+ }
+ 
+ /******************************************/
+ /* Change flame effect                    */
+ /******************************************/
+ 
+ void
+ change_flame(int which)
+ {
+ 	if (which > 0 && which <= NFLAMES)
+ 		cmap = which - 1;
+ 	else if (!lock)
+ 		cmap++;
+ 
+ 	cmap = cmap % NFLAMES;
+ 
+ 	bm.flame = fire[cmap].data;
+ }
+ 
+ /******************************************/
+ /* Setup invisible cursor                 */
+ /******************************************/
+ 
+ GdkCursor *
+ setup_cursor()
+ {
+ 	GdkPixmap *source, *mask;
+ 	GdkColor col = { 0, 0, 0, 0 };
+ 	GdkCursor *cursor;
+ 	unsigned char hide[] = { 0x00 };
+ 
+ 	/* No obviously invisible cursor available though */
+ 	/* X/GDK, so using a custom 1x1 bitmap instead    */
+ 
+ 	source = gdk_bitmap_create_from_data(NULL, hide, 1, 1);
+ 	mask = gdk_bitmap_create_from_data(NULL, hide, 1, 1);
+ 
+ 	cursor = gdk_cursor_new_from_pixmap(source, mask, &col, &col, 0, 0);
+ 
+ 	gdk_pixmap_unref(source);
+ 	gdk_pixmap_unref(mask);
+ 
+ 	return cursor;
+ }
+ 
+ /******************************************/
+ /* Burn spot                              */
+ /******************************************/
+ 
+ void burn_spot(int x, int y, int c)
+ {
+ 	int i;
+ 
+ 	/* Co-ordinates from top left corner */
+ 	for (i = y; i < (y+c); i++)
+ 		memset(&bm.cmap[i*XMAX+x], 255, c);
+ 
+ }
+ 
+ /******************************************/
+ /* Draw fire                              */
+ /******************************************/
+ 
+ inline void
+ draw_fire(unsigned int load)
+ {
+ 	int x, y, i, j;
+ 
+ 	/* Setup hot spots */
+ 	for (i = 0; i < ((load >> 3) + 2); i++)
+ 		bm.cmap[(random() % XMAX) + ((YMAX - 1) * XMAX)] = random() % NCOLOURS;
+ 	for (i = 0; i < ((100 - load) >> 4); i++)
+ 		bm.cmap[(random() % XMAX) + ((YMAX - 1) * XMAX)] = bm.cmap[i + ((YMAX - 1) * XMAX)] >> 1;
+ 
+ 	/* Mouse in window */
+ 	if (proximity) {
+ 		gdk_window_get_pointer(bm.win, &x, &y, NULL);
+ 
+ 		/* Burn spot at mouse position */
+ 		if ((y > 1 && y < 53) && (x > 1 && x < 53))
+ 			burn_spot(x,y,3);
+ 
+ 		/* Show after two seconds */
+ 		if (proximity++ > 100) {
+ 
+ 			if (monitor == FIRE_CPU) {
+ 				if (cpu_av) {
+ 					/* Horizontal bar for average cpu */
+ 					memset(&bm.cmap[27 * XMAX + 20], 255, 16);
+ 					memset(&bm.cmap[28 * XMAX + 20], 255, 16);
+ 					memset(&bm.cmap[29 * XMAX + 20], 255, 16);
+ 				} else {
+ 					/* Horizontal line of spots per cpu */
+ 					for (i = 0; i <= cpu_id; i++) {
+ 						j = 5 + 44 * (i + 1) / (cpu_id + 2);
+ 						burn_spot(j, 27, 3);
+ 					}
+ 				}
+ 			} else if (monitor == FIRE_MEM) {
+ 				/* Grid effect for memory arrays */
+ 				for (i = 0; i< 4; i++) {
+ 					for (j = 0; j < 4; j++)
+ 						burn_spot(13+i*10, 13+j*10, 3);
+ 				}
+ 			} else if (monitor == FIRE_NET) {
+ 				/* Marching ants for network traffic */
+ 				for (i = 7; i< XMAX-10;i+=6) {
+ 					j = i + (proximity/12) % 6;
+ 					burn_spot(j, 27, 3);
+ 				}
+ 			}
+ 		}
+ 	}
+ 
+ 	/* Flame algorithm */
+ 	for (y = (YMAX - 2); y >= 0; y--) {
+ 		i = y * XMAX;
+ 		for (x = 1; x < (XMAX - 1); x++) {
+ 			j = i + x;
+ 
+ 			bm.cmap[j] = (bm.cmap[j + XMAX - 1] + bm.cmap[j + XMAX] + bm.cmap[j + XMAX + 1] + bm.cmap[j]) >> 2;
+ 		}
+ 	}
+ 
+ 	/* Convert colourmap to rgb */
+ 	for (i = 0; i < (CMAPSIZE - XMAX); i++)
+ 		memcpy(&bm.rgb[i * 3], &bm.flame[bm.cmap[i] * 3], 3);
+ }
+ 
+ /******************************************/
+ /* Create dock app window                 */
+ /******************************************/
+ 
+ static void
+ make_wmfire_dockapp(void)
+ {
+ #define MASK GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_HINT_MASK
+ 
+ 	GdkWindowAttr attr;
+ 	GdkWindowAttr attri;
+ 	Window win;
+ 	Window iconwin;
+ 
+ 	GdkPixmap *icon;
+ 
+ 	XSizeHints sizehints;
+ 	XWMHints wmhints;
+ 
+ 	memset(&attr, 0, sizeof (GdkWindowAttr));
+ 
+ 	attr.width = 64;
+ 	attr.height = 64;
 -	attr.title = "wmfire";
++	attr.title = resource_name;
+ 	attr.event_mask = MASK;
+ 	attr.wclass = GDK_INPUT_OUTPUT;
+ 	attr.visual = gdk_visual_get_system();
+ 	attr.colormap = gdk_colormap_get_system();
 -	attr.wmclass_name = "wmfire";
++	attr.wmclass_name = resource_name;
+ 	attr.wmclass_class = "wmfire";
+ 	attr.window_type = GDK_WINDOW_TOPLEVEL;
+ 
+ 	/* Make a copy for the iconwin - parameters are the same */
+ 	memcpy(&attri, &attr, sizeof (GdkWindowAttr));
+ 	attri.window_type = GDK_WINDOW_CHILD;
+ 
+ 	sizehints.flags = USSize;
+ 	sizehints.width = 64;
+ 	sizehints.height = 64;
+ 
+ 	bm.win = gdk_window_new(NULL, &attr, GDK_WA_TITLE | GDK_WA_WMCLASS | GDK_WA_VISUAL | GDK_WA_COLORMAP);
+ 	if (!bm.win) {
+ 		fprintf(stderr, "FATAL: Cannot make toplevel window\n");
+ 		exit(1);
+ 	}
+ 
+ 	bm.iconwin = gdk_window_new(bm.win, &attri, GDK_WA_TITLE | GDK_WA_WMCLASS);
+ 	if (!bm.iconwin) {
+ 		fprintf(stderr, "FATAL: Cannot make icon window\n");
+ 		exit(1);
+ 	}
+ 
+ 	win = GDK_WINDOW_XWINDOW(bm.win);
+ 	iconwin = GDK_WINDOW_XWINDOW(bm.iconwin);
+ 	XSetWMNormalHints(GDK_WINDOW_XDISPLAY(bm.win), win, &sizehints);
+ 
+ 	wmhints.initial_state = WithdrawnState;
+ 	wmhints.icon_window = iconwin;
+ 	wmhints.icon_x = 0;
+ 	wmhints.icon_y = 0;
+ 	wmhints.window_group = win;
+ 	wmhints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint;
 -	XSetWMHints(GDK_WINDOW_XDISPLAY(bm.win), win, &wmhints);
+ 
+ 	bm.gc = gdk_gc_new(bm.win);
+ 
+ 	bm.pixmap = gdk_pixmap_create_from_xpm_d(bm.win, &(bm.mask), NULL, master_xpm);
+ 	gdk_window_shape_combine_mask(bm.win, bm.mask, 0, 0);
+ 	gdk_window_shape_combine_mask(bm.iconwin, bm.mask, 0, 0);
+ 
+ 	gdk_window_set_back_pixmap(bm.win, bm.pixmap, False);
+ 	gdk_window_set_back_pixmap(bm.iconwin, bm.pixmap, False);
+ 
+ #if 0
+         gdk_window_set_type_hint(bm.win, GDK_WINDOW_TYPE_HINT_DOCK);
+ #else
+         gdk_window_set_decorations(bm.win, 0);
+         gdk_window_set_skip_taskbar_hint(bm.win, 1);
+ #endif
+ 
+ 	icon = gdk_pixmap_create_from_xpm_d(bm.win, NULL, NULL, icon_xpm);
+ 	gdk_window_set_icon(bm.win, bm.iconwin, icon, NULL);
+ 
+ 	gdk_window_show(bm.win);
+ 
++	XSetWMHints(GDK_WINDOW_XDISPLAY(bm.win), win, &wmhints);
++
+ 	if (bm.x > 0 || bm.y > 0)
+ 		gdk_window_move(bm.win, bm.x, bm.y);
+ #undef MASK
+ }
+ 
+ /******************************************/
+ /* Read config file                       */
+ /******************************************/
+ 
+ void
+ read_config(int argc, char **argv)
+ {
+ 	int i, j;
+ 
+ 	/* Initialise flame to default */
+ 	bm.flame = fire[cmap].data;
+ 
+ 	/* Parse command options */
 -	while ((i = getopt(argc, argv, "c:mni:s:xpf:lbhg:S:")) != -1) {
++	while ((i = getopt(argc, argv, "c:mni:r:s:xpf:lbhg:S:")) != -1) {
+ 		switch (i) {
+ 		case 'S':
+ 			if (optarg)
+ 				session_id = strdup(optarg);
+ 			break;
+ 		case 'g':
+ 			if (optarg) {
+ 				j = XParseGeometry(optarg, &bm.x, &bm.y, &j, &j);
+ 
+ 				if (j & XNegative)
+ 					bm.x = gdk_screen_width() - 64 + bm.x;
+ 				if (j & YNegative)
+ 					bm.y = gdk_screen_height() - 64 + bm.y;
+ 			}
+ 			break;
+ 		case 'c':
+ 			monitor = FIRE_CPU;
+ 			if (optarg)
+ 				change_cpu(atoi(optarg));
+ 			break;
+ 		case 'm':
+ 			monitor = FIRE_MEM;
+ 			break;
+ 		case 'n':
+ 			monitor = FIRE_NET;
+ 			break;
+ 		case 'i':
+ 			if (optarg)
+ 				strcpy(net_dev, optarg);
+ 			break;
++		case 'r':
++			if(optarg)
++				strcpy(resource_name, optarg);
++			break;
+ 		case 's':
+ 			if (optarg)
+ 				net_spd = atoi(optarg);
+ 				if (strchr(optarg, 'k') || strchr(optarg, 'K'))
+ 					net_spd = net_spd * 1024 / 8;
+ 				else if (strchr(optarg, 'm') || strchr(optarg, 'M'))
+ 					net_spd = net_spd * 1024 * 1024 / 8;
+ 			break;
+ 		case 'x':
+ 			cpu_nice = 0;
+ 			break;
+ 		case 'p':
+ 			monitor = FIRE_NONE;
+ 			break;
+ 		case 'f':
+ 			if (optarg)
+ 				change_flame(atoi(optarg));
+ 			break;
+ 		case 'l':
+ 			lock = 1;
+ 			break;
+ 		case 'b':
+ 			broken_wm = 1;
+ 			break;
+ 		case 'h':
+ 		default:
+ 			do_help();
+ 			exit(1);
+ 		}
+ 	}
+ 
+ 	if (!net_spd) {
+ 		net_spd = NET_SPD_PPP * 1024 / 8;
+ 
+ 		if (strstr(net_dev, "eth"))
+ 			net_spd = NET_SPD_ETH * 1024 * 1024 / 8;
+ 	}
+ }
+ 
+ /******************************************/
+ /* Help                                   */
+ /******************************************/
+ 
+ void
+ do_help(void)
+ {
+ 	int i;
+ 
+ 	fprintf(stderr, "\nWmfire - Flaming Monitor Dock V %s\n\n", VERSION);
+ 	fprintf(stderr, "Usage: wmfire [ options... ]\n\n");
+ 	fprintf(stderr, "\t-g [{+-}X{+-}Y]\t\tinital window position\n");
+ 	fprintf(stderr, "\t-c [0..%d]\t\tmonitor smp cpu X\n", GLIBTOP_NCPU-1);
+ 	fprintf(stderr, "\t-m\t\t\tmonitor memory load\n");
+ 	fprintf(stderr, "\t-n\t\t\tmonitor network load\n");
+ 	fprintf(stderr, "\t-i [...]\t\tchange network interface (default:%s)\n", net_dev);
+ 	fprintf(stderr, "\t-s [...]\t\tchange network speed (ppp:%dK) (eth:%dM)\n", NET_SPD_PPP, NET_SPD_ETH);
+ 	fprintf(stderr, "\t-x\t\t\texclude nice'd cpu load\n");
+ 	fprintf(stderr, "\t-p\t\t\tfire effect only\n");
+ 	fprintf(stderr, "\t-f [1..%d]\t\tchange flame colour\n\t\t\t\t", NFLAMES);
+ 	for (i = 0; i < NFLAMES; i++)
+ 		fprintf(stderr, "%d:%s ", i + 1, fire[i].text);
+ 	fprintf(stderr, "\n\t-l\t\t\tlock flame colour and monitor\n");
+ 	fprintf(stderr, "\t-b\t\t\tactivate broken window manager fix\n");
++	fprintf(stderr, "\t-r [...]\t\tchange resource name (default:%s)\n", resource_name);
+ 	fprintf(stderr, "\t-h\t\t\tprints this help\n");
+ }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmfire.git



More information about the Pkg-wmaker-commits mailing list