[Spread-cvs] cvs commit: spread/daemon/buildtools aclocal.m4 config.guess config.sub fixpaths install-sh mdoc2man.pl mkinstalldirs

jonathan at spread.org jonathan at spread.org
Mon Sep 16 12:59:09 EDT 2002


jonathan    02/09/16 16:59:09

  Added:       daemon/buildtools aclocal.m4 config.guess config.sub
                        fixpaths install-sh mdoc2man.pl mkinstalldirs
  Log:
  Change Spread's build system to use autoconf instead of manual makefiles.
  This change includes Theo's autoconf patch which did all of the substantive
  changes required. I made some small modifications when I merged it.
  A few small bugs in his patch were fixed.
  The ETCDIR and _SPREAD_PATH_PIDDIR defines were changed from commandline to be
  included in config.h.
  The name of the spread library was changed from libsp to libspread.
  Programs to support building Spread were moved to a buildtools directory.
  
  The changelog that was in Readme.txt was split off into a separate Changelog file.
  
  Revision  Changes    Path
  1.1                  spread/daemon/buildtools/aclocal.m4
  
  Index: aclocal.m4
  ===================================================================
  dnl FreeBSD -pthread check - Jonathan McDowell <<EMAIL: PROTECTED>>
  AC_DEFUN(AC_PTHREAD_FREEBSD,
  [AC_MSG_CHECKING([if we need -pthread for threads])
  AC_CACHE_VAL(ac_ldflag_pthread,
  [ac_save_LDFLAGS="$LDFLAGS"
  LDFLAGS="-pthread $LDFLAGS"
  AC_TRY_LINK(
  [
  char pthread_create();
  ],
  pthread_create();,
  eval "ac_ldflag_pthread=yes",
  eval "ac_ldflag_pthread=no"),
  LIBS="$ac_save_LDFLAGS"
  ])
  if eval "test \"`echo $ac_ldflag_pthread`\" = yes"; then
  	AC_MSG_RESULT(yes)
  else
  	AC_MSG_RESULT(no)
  fi
  ])
  
  
  
  
  1.1                  spread/daemon/buildtools/config.guess
  
  Index: config.guess
  ===================================================================
  #! /bin/sh
  # Attempt to guess a canonical system name.
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  #   Free Software Foundation, Inc.
  
  timestamp='2001-04-20'
  
  # 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
  # (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.
  #
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
  # 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>.
  # Please send patches to <config-patches at gnu.org>.
  #
  # 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 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, 93, 94, 95, 96, 97, 98, 99, 2000
  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
  
  
  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.
  # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
  # use `HOST_CC' if defined, but it is deprecated.
  
  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
  	     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
  
  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  # (ghazi at noc.rutgers.edu 8/24/94.)
  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_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
  
  # Note: order is significant - the case branches are not exclusive.
  
  case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
      *:NetBSD:*:*)
  	# Netbsd (nbsd) targets should (where applicable) match one or
  	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
  	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
  	# switched to ELF, *-*-netbsd* would select the old
  	# object file format.  This provides both forward
  	# compatibility and a consistent mechanism for selecting the
  	# object file format.
  	# 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 ;;
  	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)
  		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/[-_].*/\./'`
  	# 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 ;;
      alpha:OSF1:*:*)
  	if test $UNAME_RELEASE = "V4.0"; then
  		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
  	fi
  	# 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,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_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
  	if test "$?" = 0 ; then
  		case `./$dummy` in
  			0-0)
  				UNAME_MACHINE="alpha"
  				;;
  			1-0)
  				UNAME_MACHINE="alphaev5"
  				;;
  			1-1)
  				UNAME_MACHINE="alphaev56"
  				;;
  			1-101)
  				UNAME_MACHINE="alphapca56"
  				;;
  			2-303)
  				UNAME_MACHINE="alphaev6"
  				;;
  			2-307)
  				UNAME_MACHINE="alphaev67"
  				;;
  		esac
  	fi
  	rm -f $dummy.s $dummy
  	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  	exit 0 ;;
      Alpha\ *:Windows_NT*:*)
  	# How do we know it's Interix rather than the generic POSIX subsystem?
  	# Should we change UNAME_MACHINE based on the output of uname instead
  	# of the specific Alpha model?
  	echo alpha-pc-interix
  	exit 0 ;;
      21064:Windows_NT:50:3)
  	echo alpha-dec-winnt3.5
  	exit 0 ;;
      Amiga*:UNIX_System_V:4.0:*)
  	echo m68k-unknown-sysv4
  	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}
  	exit 0 ;;
      *:OS/390:*:*)
  	echo i370-ibm-openedition
  	exit 0 ;;
      arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  	echo arm-acorn-riscix${UNAME_RELEASE}
  	exit 0;;
      SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
  	echo hppa1.1-hitachi-hiuxmpp
  	exit 0;;
      Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
  	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
  	if test "`(/bin/universe) 2>/dev/null`" = att ; then
  		echo pyramid-pyramid-sysv3
  	else
  		echo pyramid-pyramid-bsd
  	fi
  	exit 0 ;;
      NILE*:*:*:dcosx)
  	echo pyramid-pyramid-svr4
  	exit 0 ;;
      sun4H:SunOS:5.*:*)
  	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  	exit 0 ;;
      sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  	exit 0 ;;
      i86pc:SunOS:5.*:*)
  	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  	exit 0 ;;
      sun4*:SunOS:6*:*)
  	# According to config.sub, this is the proper way to canonicalize
  	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
  	# it's likely to be more like Solaris than SunOS4.
  	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  	exit 0 ;;
      sun4*:SunOS:*:*)
  	case "`/usr/bin/arch -k`" in
  	    Series*|S4*)
  		UNAME_RELEASE=`uname -v`
  		;;
  	esac
  	# Japanese Language versions have a version number like `4.1.3-JL'.
  	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
  	exit 0 ;;
      sun3*:SunOS:*:*)
  	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`
  	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
  	case "`/bin/arch`" in
  	    sun3)
  		echo m68k-sun-sunos${UNAME_RELEASE}
  		;;
  	    sun4)
  		echo sparc-sun-sunos${UNAME_RELEASE}
  		;;
  	esac
  	exit 0 ;;
      aushp:SunOS:*:*)
  	echo sparc-auspex-sunos${UNAME_RELEASE}
  	exit 0 ;;
      atari*:OpenBSD:*:*)
  	echo m68k-unknown-openbsd${UNAME_RELEASE}
  	exit 0 ;;
      # 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 ;;
      RISC*:Mach:*:*)
  	echo mips-dec-mach_bsd4.3
  	exit 0 ;;
      RISC*:ULTRIX:*:*)
  	echo mips-dec-ultrix${UNAME_RELEASE}
  	exit 0 ;;
      VAX*:ULTRIX*:*:*)
  	echo vax-dec-ultrix${UNAME_RELEASE}
  	exit 0 ;;
      2020:CLIX:*:* | 2430:CLIX:*:*)
  	echo clipper-intergraph-clix${UNAME_RELEASE}
  	exit 0 ;;
      mips:*:*:UMIPS | mips:*:*:RISCos)
  	sed 's/^	//' << EOF >$dummy.c
  #ifdef __cplusplus
  #include <stdio.h>  /* for printf() prototype */
  	int main (int argc, char *argv[]) {
  #else
  	int main (argc, argv) int argc; char *argv[]; {
  #endif
  	#if defined (host_mips) && defined (MIPSEB)
  	#if defined (SYSTYPE_SYSV)
  	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
  	#endif
  	#if defined (SYSTYPE_SVR4)
  	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
  	#endif
  	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
  	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
  	#endif
  	#endif
  	  exit (-1);
  	}
  EOF
  	$CC_FOR_BUILD $dummy.c -o $dummy \
  	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
  	  && rm -f $dummy.c $dummy && exit 0
  	rm -f $dummy.c $dummy
  	echo mips-mips-riscos${UNAME_RELEASE}
  	exit 0 ;;
      Motorola:PowerMAX_OS:*:*)
  	echo powerpc-motorola-powermax
  	exit 0 ;;
      Night_Hawk:Power_UNIX:*:*)
  	echo powerpc-harris-powerunix
  	exit 0 ;;
      m88k:CX/UX:7*:*)
  	echo m88k-harris-cxux7
  	exit 0 ;;
      m88k:*:4*:R4*)
  	echo m88k-motorola-sysv4
  	exit 0 ;;
      m88k:*:3*:R3*)
  	echo m88k-motorola-sysv3
  	exit 0 ;;
      AViiON:dgux:*:*)
          # DG/UX returns AViiON for all architectures
          UNAME_PROCESSOR=`/usr/bin/uname -p`
  	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
  	then
  	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
  	       [ ${TARGET_BINARY_INTERFACE}x = x ]
  	    then
  		echo m88k-dg-dgux${UNAME_RELEASE}
  	    else
  		echo m88k-dg-dguxbcs${UNAME_RELEASE}
  	    fi
  	else
  	    echo i586-dg-dgux${UNAME_RELEASE}
  	fi
   	exit 0 ;;
      M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
  	echo m88k-dolphin-sysv3
  	exit 0 ;;
      M88*:*:R3*:*)
  	# Delta 88k system running SVR3
  	echo m88k-motorola-sysv3
  	exit 0 ;;
      XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  	echo m88k-tektronix-sysv3
  	exit 0 ;;
      Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  	echo m68k-tektronix-bsd
  	exit 0 ;;
      *:IRIX*:*:*)
  	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
  	exit 0 ;;
      ????????: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:*:*)
  	echo i386-ibm-aix
  	exit 0 ;;
      ia64:AIX:*:*)
  	if [ -x /usr/bin/oslevel ] ; then
  		IBM_REV=`/usr/bin/oslevel`
  	else
  		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  	fi
  	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
  	exit 0 ;;
      *:AIX:2:3)
  	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  		sed 's/^		//' << EOF >$dummy.c
  		#include <sys/systemcfg.h>
  
  		main()
  			{
  			if (!__power_pc())
  				exit(1);
  			puts("powerpc-ibm-aix3.2.5");
  			exit(0);
  			}
  EOF
  		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
  		rm -f $dummy.c $dummy
  		echo rs6000-ibm-aix3.2.5
  	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  		echo rs6000-ibm-aix3.2.4
  	else
  		echo rs6000-ibm-aix3.2
  	fi
  	exit 0 ;;
      *:AIX:*:[45])
  	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | 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
  	fi
  	if [ -x /usr/bin/oslevel ] ; then
  		IBM_REV=`/usr/bin/oslevel`
  	else
  		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  	fi
  	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
  	exit 0 ;;
      *:AIX:*:*)
  	echo rs6000-ibm-aix
  	exit 0 ;;
      ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  	echo romp-ibm-bsd4.4
  	exit 0 ;;
      ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
  	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
  	exit 0 ;;                           # report: romp-ibm BSD 4.3
      *:BOSX:*:*)
  	echo rs6000-bull-bosx
  	exit 0 ;;
      DPX/2?00:B.O.S.:*:*)
  	echo m68k-bull-sysv3
  	exit 0 ;;
      9000/[34]??:4.3bsd:1.*:*)
  	echo m68k-hp-bsd
  	exit 0 ;;
      hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  	echo m68k-hp-bsd4.4
  	exit 0 ;;
      9000/[34678]??:HP-UX:*:*)
  	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  	case "${UNAME_MACHINE}" in
  	    9000/31? )            HP_ARCH=m68000 ;;
  	    9000/[34]?? )         HP_ARCH=m68k ;;
  	    9000/[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`
                      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" ;;
                          esac ;;
                      esac
                    fi ;;
                esac
                if [ "${HP_ARCH}" = "" ]; then
                sed 's/^              //' << EOF >$dummy.c
  
                #define _HPUX_SOURCE
                #include <stdlib.h>
                #include <unistd.h>
  
                int main ()
                {
                #if defined(_SC_KERNEL_BITS)
                    long bits = sysconf(_SC_KERNEL_BITS);
                #endif
                    long cpu  = sysconf (_SC_CPU_VERSION);
  
                    switch (cpu)
                	{
                	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
                	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
                	case CPU_PA_RISC2_0:
                #if defined(_SC_KERNEL_BITS)
                	    switch (bits)
                		{
                		case 64: puts ("hppa2.0w"); break;
                		case 32: puts ("hppa2.0n"); break;
                		default: puts ("hppa2.0"); break;
                		} break;
                #else  /* !defined(_SC_KERNEL_BITS) */
                	    puts ("hppa2.0"); break;
                #endif
                	default: puts ("hppa1.0"); break;
                	}
                    exit (0);
                }
  EOF
  	(CCOPTS= $CC_FOR_BUILD $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 ;;
  	esac
  	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
  	exit 0 ;;
      ia64:HP-UX:*:*)
  	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  	echo ia64-hp-hpux${HPUX_REV}
  	exit 0 ;;
      3050*:HI-UX:*:*)
  	sed 's/^	//' << EOF >$dummy.c
  	#include <unistd.h>
  	int
  	main ()
  	{
  	  long cpu = sysconf (_SC_CPU_VERSION);
  	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
  	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
  	     results, however.  */
  	  if (CPU_IS_PA_RISC (cpu))
  	    {
  	      switch (cpu)
  		{
  		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
  		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
  		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
  		  default: puts ("hppa-hitachi-hiuxwe2"); break;
  		}
  	    }
  	  else if (CPU_IS_HP_MC68K (cpu))
  	    puts ("m68k-hitachi-hiuxwe2");
  	  else puts ("unknown-hitachi-hiuxwe2");
  	  exit (0);
  	}
  EOF
  	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
  	rm -f $dummy.c $dummy
  	echo unknown-hitachi-hiuxwe2
  	exit 0 ;;
      9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  	echo hppa1.1-hp-bsd
  	exit 0 ;;
      9000/8??:4.3bsd:*:*)
  	echo hppa1.0-hp-bsd
  	exit 0 ;;
      *9??*:MPE/iX:*:*)
  	echo hppa1.0-hp-mpeix
  	exit 0 ;;
      hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  	echo hppa1.1-hp-osf
  	exit 0 ;;
      hp8??:OSF1:*:*)
  	echo hppa1.0-hp-osf
  	exit 0 ;;
      i*86:OSF1:*:*)
  	if [ -x /usr/sbin/sysversion ] ; then
  	    echo ${UNAME_MACHINE}-unknown-osf1mk
  	else
  	    echo ${UNAME_MACHINE}-unknown-osf1
  	fi
  	exit 0 ;;
      parisc*:Lites*:*:*)
  	echo hppa1.1-hp-lites
  	exit 0 ;;
      hppa*:OpenBSD:*:*)
  	echo hppa-unknown-openbsd
  	exit 0 ;;
      C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  	echo c1-convex-bsd
          exit 0 ;;
      C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  	if getsysinfo -f scalar_acc
  	then echo c32-convex-bsd
  	else echo c2-convex-bsd
  	fi
          exit 0 ;;
      C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  	echo c34-convex-bsd
          exit 0 ;;
      C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  	echo c38-convex-bsd
          exit 0 ;;
      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}
  	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/
  	exit 0 ;;
      CRAY*TS:*:*:*)
  	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 alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  	exit 0 ;;
      CRAY*SV1:*:*:*)
  	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  	exit 0 ;;
      CRAY-2:*:*:*)
  	echo cray2-cray-unicos
          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 "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
          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}
  	exit 0 ;;
      *:BSD/OS:*:*)
  	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
  	exit 0 ;;
      *:FreeBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
  	exit 0 ;;
      *:OpenBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
  	exit 0 ;;
      i*:CYGWIN*:*)
  	echo ${UNAME_MACHINE}-pc-cygwin
  	exit 0 ;;
      i*:MINGW*:*)
  	echo ${UNAME_MACHINE}-pc-mingw32
  	exit 0 ;;
      i*:PW*:*)
  	echo ${UNAME_MACHINE}-pc-pw32
  	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
  	exit 0 ;;
      i*:UWIN*:*)
  	echo ${UNAME_MACHINE}-pc-uwin
  	exit 0 ;;
      p*:CYGWIN*:*)
  	echo powerpcle-unknown-cygwin
  	exit 0 ;;
      prep*:SunOS:5.*:*)
  	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  	exit 0 ;;
      *:GNU:*:*)
  	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
  	exit 0 ;;
      i*86:Minix:*:*)
  	echo ${UNAME_MACHINE}-pc-minix
  	exit 0 ;;
      arm*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
  	exit 0 ;;
      ia64:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux
  	exit 0 ;;
      m68*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
  	exit 0 ;;
      mips:Linux:*:*)
  	cat >$dummy.c <<EOF
  #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 __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_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
  	rm -f $dummy.c $dummy
  	;;
      ppc:Linux:*:*)
  	# Determine Lib Version
  	cat >$dummy.c <<EOF
  #include <features.h>
  #if defined(__GLIBC__)
  extern char __libc_version[];
  extern char __libc_release[];
  #endif
  main(argc, argv)
       int argc;
       char *argv[];
  {
  #if defined(__GLIBC__)
    printf("%s %s\n", __libc_version, __libc_release);
  #else
    printf("unknown\n");
  #endif
    return 0;
  }
  EOF
  	LIBC=""
  	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
  	if test "$?" = 0 ; then
  		./$dummy | grep 1\.99 > /dev/null
  		if test "$?" = 0 ; then LIBC="libc1" ; fi
  	fi
  	rm -f $dummy.c $dummy
  	echo powerpc-unknown-linux-gnu${LIBC}
  	exit 0 ;;
      alpha:Linux:*:*)
  	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,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
  	LIBC=""
  	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
  	if test "$?" = 0 ; then
  		case `./$dummy` in
  		0-0)	UNAME_MACHINE="alpha" ;;
  		1-0)	UNAME_MACHINE="alphaev5" ;;
  		1-1)    UNAME_MACHINE="alphaev56" ;;
  		1-101)	UNAME_MACHINE="alphapca56" ;;
  		2-303)	UNAME_MACHINE="alphaev6" ;;
  		2-307)	UNAME_MACHINE="alphaev67" ;;
  		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 ;;
      parisc:Linux:*:* | hppa:Linux:*:*)
  	# Look for CPU level
  	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
  	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
  	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
  	  *)    echo hppa-unknown-linux-gnu ;;
  	esac
  	exit 0 ;;
      parisc64:Linux:*:* | hppa64:Linux:*:*)
  	echo hppa64-unknown-linux-gnu
  	exit 0 ;;
      s390:Linux:*:* | s390x:Linux:*:*)
  	echo ${UNAME_MACHINE}-ibm-linux
  	exit 0 ;;
      sh*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
  	exit 0 ;;
      sparc:Linux:*:* | sparc64:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
  	exit 0 ;;
      x86_64:Linux:*:*)
  	echo x86_64-unknown-linux-gnu
  	exit 0 ;;
      i*86:Linux:*:*)
  	# The BFD linker knows what the default object file format is, so
  	# first see if it will tell us. cd to the root directory to prevent
  	# problems with other programs or directories called `ld' in the path.
  	ld_supported_emulations=`cd /; ld --help 2>&1 \
  			 | sed -ne '/supported emulations:/!d
  				    s/[ 	][ 	]*/ /g
  				    s/.*supported emulations: *//
  				    s/ .*//
  				    p'`
          case "$ld_supported_emulations" in
  	  i*86linux)
  		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
  		exit 0
  		;;
  	  elf_i*86)
  		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
  		;;
  	  i*86coff)
  		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
  		exit 0
  		;;
  	esac
  	# 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.
  	test -z "$ld_supported_emulations" && 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>
  #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-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;
  }
  EOF
  	$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
  	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
  	;;
  # 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*:*)
  	echo i386-sequent-sysv4
  	exit 0 ;;
      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,
  	# I just have to hope.  -- rms.
          # 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.*:*)
  	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_REL}
  	else
  		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  	fi
  	exit 0 ;;
      i*86:*:5:7*)
          # Fixed at (any) Pentium or better
          UNAME_MACHINE=i586
          if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
  	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
  	else
  	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
  	fi
  	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_MACHINE=i586
  		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
  			&& UNAME_MACHINE=i686
  		(/bin/uname -X|egrep '^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:*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
          exit 0 ;;
      Intel:Mach:3*:*)
  	echo i386-pc-mach3
  	exit 0 ;;
      paragon:*:*:*)
  	echo i860-intel-osf1
  	exit 0 ;;
      i860:*:4.*:*) # i860-SVR4
  	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  	else # Add other i860-SVR4 vendors below as they are discovered.
  	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  	fi
  	exit 0 ;;
      mini*:CTIX:SYS*5:*)
  	# "miniframe"
  	echo m68010-convergent-sysv
  	exit 0 ;;
      M68*:*:R3V[567]*:*)
  	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 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)
  	OS_REL=''
  	test -r /etc/.relid \
  	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
  	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
      3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
          /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
            && echo i486-ncr-sysv4 && exit 0 ;;
      m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  	echo m68k-unknown-lynxos${UNAME_RELEASE}
  	exit 0 ;;
      mc68030:UNIX_System_V:4.*:*)
  	echo m68k-atari-sysv4
  	exit 0 ;;
      i*86:LynxOS:2.*:* | 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 ;;
      rs6000:LynxOS:2.*:*)
  	echo rs6000-unknown-lynxos${UNAME_RELEASE}
  	exit 0 ;;
      PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
  	echo powerpc-unknown-lynxos${UNAME_RELEASE}
  	exit 0 ;;
      SM[BE]S:UNIX_SV:*:*)
  	echo mips-dde-sysv${UNAME_RELEASE}
  	exit 0 ;;
      RM*:ReliantUNIX-*:*:*)
  	echo mips-sni-sysv4
  	exit 0 ;;
      RM*:SINIX-*:*:*)
  	echo mips-sni-sysv4
  	exit 0 ;;
      *:SINIX-*:*:*)
  	if uname -p 2>/dev/null >/dev/null ; then
  		UNAME_MACHINE=`(uname -p) 2>/dev/null`
  		echo ${UNAME_MACHINE}-sni-sysv4
  	else
  		echo ns32k-sni-sysv
  	fi
  	exit 0 ;;
      PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                             # says <Richard.M.Bartel at ccMail.Census.GOV>
          echo i586-unisys-sysv4
          exit 0 ;;
      *:UNIX_System_V:4*:FTX*)
  	# From Gerald Hewes <hewes at openmarket.com>.
  	# How about differentiating between stratus architectures? -djm
  	echo hppa1.1-stratus-sysv4
  	exit 0 ;;
      *:*:*:FTX*)
  	# From seanf at swdc.stratus.com.
  	echo i860-stratus-sysv4
  	exit 0 ;;
      mc68*:A/UX:*:*)
  	echo m68k-apple-aux${UNAME_RELEASE}
  	exit 0 ;;
      news*:NEWS-OS:6*:*)
  	echo mips-sony-newsos6
  	exit 0 ;;
      R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  	if [ -d /usr/nec ]; then
  	        echo mips-nec-sysv${UNAME_RELEASE}
  	else
  	        echo mips-unknown-sysv${UNAME_RELEASE}
  	fi
          exit 0 ;;
      BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
  	echo powerpc-be-beos
  	exit 0 ;;
      BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
  	echo powerpc-apple-beos
  	exit 0 ;;
      BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
  	echo i586-pc-beos
  	exit 0 ;;
      SX-4:SUPER-UX:*:*)
  	echo sx4-nec-superux${UNAME_RELEASE}
  	exit 0 ;;
      SX-5:SUPER-UX:*:*)
  	echo sx5-nec-superux${UNAME_RELEASE}
  	exit 0 ;;
      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}
  	exit 0 ;;
      *:procnto*:*:* | *:QNX:[0123456789]*:*)
  	if test "${UNAME_MACHINE}" = "x86pc"; then
  		UNAME_MACHINE=pc
  	fi
  	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
  	exit 0 ;;
      *:QNX:*:4*)
  	echo i386-pc-qnx
  	exit 0 ;;
      NSR-[KW]: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 ;;
  esac
  
  #echo '(No uname command or uname output not recognized.)' 1>&2
  #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
  
  cat >$dummy.c <<EOF
  #ifdef _SEQUENT_
  # include <sys/types.h>
  # include <sys/utsname.h>
  #endif
  main ()
  {
  #if defined (sony)
  #if defined (MIPSEB)
    /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
       I don't know....  */
    printf ("mips-sony-bsd\n"); exit (0);
  #else
  #include <sys/param.h>
    printf ("m68k-sony-newsos%s\n",
  #ifdef NEWSOS4
            "4"
  #else
  	  ""
  #endif
           ); exit (0);
  #endif
  #endif
  
  #if defined (__arm) && defined (__acorn) && defined (__unix)
    printf ("arm-acorn-riscix"); exit (0);
  #endif
  
  #if defined (hp300) && !defined (hpux)
    printf ("m68k-hp-bsd\n"); exit (0);
  #endif
  
  #if defined (NeXT)
  #if !defined (__ARCHITECTURE__)
  #define __ARCHITECTURE__ "m68k"
  #endif
    int version;
    version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
    if (version < 4)
      printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
    else
      printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
    exit (0);
  #endif
  
  #if defined (MULTIMAX) || defined (n16)
  #if defined (UMAXV)
    printf ("ns32k-encore-sysv\n"); exit (0);
  #else
  #if defined (CMU)
    printf ("ns32k-encore-mach\n"); exit (0);
  #else
    printf ("ns32k-encore-bsd\n"); exit (0);
  #endif
  #endif
  #endif
  
  #if defined (__386BSD__)
    printf ("i386-pc-bsd\n"); exit (0);
  #endif
  
  #if defined (sequent)
  #if defined (i386)
    printf ("i386-sequent-dynix\n"); exit (0);
  #endif
  #if defined (ns32000)
    printf ("ns32k-sequent-dynix\n"); exit (0);
  #endif
  #endif
  
  #if defined (_SEQUENT_)
      struct utsname un;
  
      uname(&un);
  
      if (strncmp(un.version, "V2", 2) == 0) {
  	printf ("i386-sequent-ptx2\n"); exit (0);
      }
      if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
  	printf ("i386-sequent-ptx1\n"); exit (0);
      }
      printf ("i386-sequent-ptx\n"); exit (0);
  
  #endif
  
  #if defined (vax)
  # if !defined (ultrix)
  #  include <sys/param.h>
  #  if defined (BSD)
  #   if BSD == 43
        printf ("vax-dec-bsd4.3\n"); exit (0);
  #   else
  #    if BSD == 199006
        printf ("vax-dec-bsd4.3reno\n"); exit (0);
  #    else
        printf ("vax-dec-bsd\n"); exit (0);
  #    endif
  #   endif
  #  else
      printf ("vax-dec-bsd\n"); exit (0);
  #  endif
  # else
      printf ("vax-dec-ultrix\n"); exit (0);
  # endif
  #endif
  
  #if defined (alliant) && defined (i860)
    printf ("i860-alliant-bsd\n"); exit (0);
  #endif
  
    exit (1);
  }
  EOF
  
  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
  rm -f $dummy.c $dummy
  
  # Apollos put the system type in the environment.
  
  test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
  
  # Convex versions that predate uname can use getsysinfo(1)
  
  if [ -x /usr/convex/getsysinfo ]
  then
      case `getsysinfo -f cpu_type` in
      c1*)
  	echo c1-convex-bsd
  	exit 0 ;;
      c2*)
  	if getsysinfo -f scalar_acc
  	then echo c32-convex-bsd
  	else echo c2-convex-bsd
  	fi
  	exit 0 ;;
      c34*)
  	echo c34-convex-bsd
  	exit 0 ;;
      c38*)
  	echo c38-convex-bsd
  	exit 0 ;;
      c4*)
  	echo c4-convex-bsd
  	exit 0 ;;
      esac
  fi
  
  cat >&2 <<EOF
  $0: unable to guess system type
  
  This script, last modified $timestamp, has failed to recognize
  the operating system you are using. It is advised that you
  download the most up to date version of the config scripts from
  
      ftp://ftp.gnu.org/pub/gnu/config/
  
  If the version you run ($0) is already up to date, please
  send the following data and any information you think might be
  pertinent to <config-patches at gnu.org> in order to provide the needed
  information to handle your system.
  
  config.guess timestamp = $timestamp
  
  uname -m = `(uname -m) 2>/dev/null || echo unknown`
  uname -r = `(uname -r) 2>/dev/null || echo unknown`
  uname -s = `(uname -s) 2>/dev/null || echo unknown`
  uname -v = `(uname -v) 2>/dev/null || echo unknown`
  
  /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
  /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
  
  hostinfo               = `(hostinfo) 2>/dev/null`
  /bin/universe          = `(/bin/universe) 2>/dev/null`
  /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
  /bin/arch              = `(/bin/arch) 2>/dev/null`
  /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
  /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
  
  UNAME_MACHINE = ${UNAME_MACHINE}
  UNAME_RELEASE = ${UNAME_RELEASE}
  UNAME_SYSTEM  = ${UNAME_SYSTEM}
  UNAME_VERSION = ${UNAME_VERSION}
  EOF
  
  exit 1
  
  # Local variables:
  # eval: (add-hook 'write-file-hooks 'time-stamp)
  # time-stamp-start: "timestamp='"
  # time-stamp-format: "%:y-%02m-%02d"
  # time-stamp-end: "'"
  # End:
  
  
  
  1.1                  spread/daemon/buildtools/config.sub
  
  Index: config.sub
  ===================================================================
  #! /bin/sh
  # Configuration validation subroutine script.
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  #   Free Software Foundation, Inc.
  
  timestamp='2001-04-20'
  
  # 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.
  #
  # 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
  # (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.
  
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
  # 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>.
  #
  # 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.
  # Otherwise, we print the canonical config type on stdout and succeed.
  
  # This file is supposed to be the same for all GNU packages
  # and recognize all the CPU types, system types and aliases
  # that are meaningful with *any* GNU software.
  # Each package is responsible for reporting which valid configurations
  # it does not support.  The user should be able to distinguish
  # a failure to support a valid configuration from a meaningless
  # configuration.
  
  # The goal of this file is to map all the various variations of a given
  # machine specification into a single specification in the form:
  #	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
  # or in some cases, the newer four-part form:
  #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
  # It is wrong to echo any other type of specification.
  
  me=`echo "$0" | sed -e 's,.*/,,'`
  
  usage="\
  Usage: $0 [OPTION] CPU-MFR-OPSYS
         $0 [OPTION] ALIAS
  
  Canonicalize a configuration name.
  
  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.sub ($timestamp)
  
  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"
         exit 1 ;;
  
      *local*)
         # First pass through any local machine types.
         echo $1
         exit 0;;
  
      * )
         break ;;
    esac
  done
  
  case $# in
   0) echo "$me: missing argument$help" >&2
      exit 1;;
   1) ;;
   *) echo "$me: too many arguments$help" >&2
      exit 1;;
  esac
  
  # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
  # Here we must recognize all the valid KERNEL-OS combinations.
  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
  case $maybe_os in
    nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
      os=-$maybe_os
      basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
      ;;
    *)
      basic_machine=`echo $1 | sed 's/-[^-]*$//'`
      if [ $basic_machine != $1 ]
      then os=`echo $1 | sed 's/.*-/-/'`
      else os=; fi
      ;;
  esac
  
  ### Let's recognize common machines as not being operating systems so
  ### that things like config.sub decstation-3100 work.  We also
  ### recognize some manufacturers as not being operating systems, so we
  ### can provide default operating systems below.
  case $os in
  	-sun*os*)
  		# Prevent following clause from handling this invalid input.
  		;;
  	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
  	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
  	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
  	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
  	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
  	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
  	-apple | -axis)
  		os=
  		basic_machine=$1
  		;;
  	-sim | -cisco | -oki | -wec | -winbond)
  		os=
  		basic_machine=$1
  		;;
  	-scout)
  		;;
  	-wrs)
  		os=-vxworks
  		basic_machine=$1
  		;;
  	-hiux*)
  		os=-hiuxwe2
  		;;
  	-sco5)
  		os=-sco3.2v5
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-sco4)
  		os=-sco3.2v4
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-sco3.2.[4-9]*)
  		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-sco3.2v[4-9]*)
  		# Don't forget version if it is 3.2v4 or newer.
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-sco*)
  		os=-sco3.2v2
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-udk*)
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-isc)
  		os=-isc2.2
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-clix*)
  		basic_machine=clipper-intergraph
  		;;
  	-isc*)
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
  	-lynx*)
  		os=-lynxos
  		;;
  	-ptx*)
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
  		;;
  	-windowsnt*)
  		os=`echo $os | sed -e 's/windowsnt/winnt/'`
  		;;
  	-psos*)
  		os=-psos
  		;;
  	-mint | -mint[0-9]*)
  		basic_machine=m68k-atari
  		os=-mint
  		;;
  esac
  
  # Decode aliases for certain CPU-COMPANY combinations.
  case $basic_machine in
  	# Recognize the basic CPU types without company name.
  	# Some are omitted here because they have special meanings below.
  	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
  	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
  		| pyramid | mn10200 | mn10300 | tron | a29k \
  		| 580 | i960 | h8300 \
  		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
  		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
  		| hppa64 \
  		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
  		| alphaev6[78] \
  		| we32k | ns16k | clipper | i370 | sh | sh[34] \
  		| powerpc | powerpcle \
  		| 1750a | dsp16xx | pdp10 | pdp11 \
  		| mips16 | mips64 | mipsel | mips64el \
  		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
  		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
  		| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
  		| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
  		| v850 | c4x \
  		| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
  		| pj | pjl | h8500)
  		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 | z8k | v70 | w65)
  		;;
  
  	# We use `pc' rather than `unknown'
  	# because (1) that's what they normally are, and
  	# (2) the word "unknown" tends to confuse beginning users.
  	i*86 | x86_64)
  	  basic_machine=$basic_machine-pc
  	  ;;
  	# Object if more than one company name word.
  	*-*-*)
  		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  		exit 1
  		;;
  	# Recognize the basic CPU types with company name.
  	# FIXME: clean up the formatting here.
  	vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
  	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
  	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
  	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
  	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
  	      | xmp-* | ymp-* \
  	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
  	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
  	      | hppa2.0n-* | hppa64-* \
  	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
  	      | alphaev6[78]-* \
  	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
  	      | clipper-* | orion-* \
  	      | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
  	      | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
  	      | mips16-* | mips64-* | mipsel-* \
  	      | mips64el-* | mips64orion-* | mips64orionel-* \
  	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
  	      | mipstx39-* | mipstx39el-* | mcore-* \
  	      | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
  	      | [cjt]90-* \
  	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
  	      | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
  	      | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
  		;;
  	# Recognize the various machine names and aliases which stand
  	# for a CPU type and a company and sometimes even an OS.
  	386bsd)
  		basic_machine=i386-unknown
  		os=-bsd
  		;;
  	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
  		basic_machine=m68000-att
  		;;
  	3b*)
  		basic_machine=we32k-att
  		;;
  	a29khif)
  		basic_machine=a29k-amd
  		os=-udi
  		;;
  	adobe68k)
  		basic_machine=m68010-adobe
  		os=-scout
  		;;
  	alliant | fx80)
  		basic_machine=fx80-alliant
  		;;
  	altos | altos3068)
  		basic_machine=m68k-altos
  		;;
  	am29k)
  		basic_machine=a29k-none
  		os=-bsd
  		;;
  	amdahl)
  		basic_machine=580-amdahl
  		os=-sysv
  		;;
  	amiga | amiga-*)
  		basic_machine=m68k-unknown
  		;;
  	amigaos | amigados)
  		basic_machine=m68k-unknown
  		os=-amigaos
  		;;
  	amigaunix | amix)
  		basic_machine=m68k-unknown
  		os=-sysv4
  		;;
  	apollo68)
  		basic_machine=m68k-apollo
  		os=-sysv
  		;;
  	apollo68bsd)
  		basic_machine=m68k-apollo
  		os=-bsd
  		;;
  	aux)
  		basic_machine=m68k-apple
  		os=-aux
  		;;
  	balance)
  		basic_machine=ns32k-sequent
  		os=-dynix
  		;;
  	convex-c1)
  		basic_machine=c1-convex
  		os=-bsd
  		;;
  	convex-c2)
  		basic_machine=c2-convex
  		os=-bsd
  		;;
  	convex-c32)
  		basic_machine=c32-convex
  		os=-bsd
  		;;
  	convex-c34)
  		basic_machine=c34-convex
  		os=-bsd
  		;;
  	convex-c38)
  		basic_machine=c38-convex
  		os=-bsd
  		;;
  	cray | ymp)
  		basic_machine=ymp-cray
  		os=-unicos
  		;;
  	cray2)
  		basic_machine=cray2-cray
  		os=-unicos
  		;;
  	[cjt]90)
  		basic_machine=${basic_machine}-cray
  		os=-unicos
  		;;
  	crds | unos)
  		basic_machine=m68k-crds
  		;;
  	cris | cris-* | etrax*)
  		basic_machine=cris-axis
  		;;
  	da30 | da30-*)
  		basic_machine=m68k-da30
  		;;
  	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
  		basic_machine=mips-dec
  		;;
  	delta | 3300 | motorola-3300 | motorola-delta \
  	      | 3300-motorola | delta-motorola)
  		basic_machine=m68k-motorola
  		;;
  	delta88)
  		basic_machine=m88k-motorola
  		os=-sysv3
  		;;
  	dpx20 | dpx20-*)
  		basic_machine=rs6000-bull
  		os=-bosx
  		;;
  	dpx2* | dpx2*-bull)
  		basic_machine=m68k-bull
  		os=-sysv3
  		;;
  	ebmon29k)
  		basic_machine=a29k-amd
  		os=-ebmon
  		;;
  	elxsi)
  		basic_machine=elxsi-elxsi
  		os=-bsd
  		;;
  	encore | umax | mmax)
  		basic_machine=ns32k-encore
  		;;
  	es1800 | OSE68k | ose68k | ose | OSE)
  		basic_machine=m68k-ericsson
  		os=-ose
  		;;
  	fx2800)
  		basic_machine=i860-alliant
  		;;
  	genix)
  		basic_machine=ns32k-ns
  		;;
  	gmicro)
  		basic_machine=tron-gmicro
  		os=-sysv
  		;;
  	go32)
  		basic_machine=i386-pc
  		os=-go32
  		;;
  	h3050r* | hiux*)
  		basic_machine=hppa1.1-hitachi
  		os=-hiuxwe2
  		;;
  	h8300hms)
  		basic_machine=h8300-hitachi
  		os=-hms
  		;;
  	h8300xray)
  		basic_machine=h8300-hitachi
  		os=-xray
  		;;
  	h8500hms)
  		basic_machine=h8500-hitachi
  		os=-hms
  		;;
  	harris)
  		basic_machine=m88k-harris
  		os=-sysv3
  		;;
  	hp300-*)
  		basic_machine=m68k-hp
  		;;
  	hp300bsd)
  		basic_machine=m68k-hp
  		os=-bsd
  		;;
  	hp300hpux)
  		basic_machine=m68k-hp
  		os=-hpux
  		;;
  	hp3k9[0-9][0-9] | hp9[0-9][0-9])
  		basic_machine=hppa1.0-hp
  		;;
  	hp9k2[0-9][0-9] | hp9k31[0-9])
  		basic_machine=m68000-hp
  		;;
  	hp9k3[2-9][0-9])
  		basic_machine=m68k-hp
  		;;
  	hp9k6[0-9][0-9] | hp6[0-9][0-9])
  		basic_machine=hppa1.0-hp
  		;;
  	hp9k7[0-79][0-9] | hp7[0-79][0-9])
  		basic_machine=hppa1.1-hp
  		;;
  	hp9k78[0-9] | hp78[0-9])
  		# FIXME: really hppa2.0-hp
  		basic_machine=hppa1.1-hp
  		;;
  	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
  		# FIXME: really hppa2.0-hp
  		basic_machine=hppa1.1-hp
  		;;
  	hp9k8[0-9][13679] | hp8[0-9][13679])
  		basic_machine=hppa1.1-hp
  		;;
  	hp9k8[0-9][0-9] | hp8[0-9][0-9])
  		basic_machine=hppa1.0-hp
  		;;
  	hppa-next)
  		os=-nextstep3
  		;;
  	hppaosf)
  		basic_machine=hppa1.1-hp
  		os=-osf
  		;;
  	hppro)
  		basic_machine=hppa1.1-hp
  		os=-proelf
  		;;
  	i370-ibm* | ibm*)
  		basic_machine=i370-ibm
  		;;
  # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
  	i*86v32)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  		os=-sysv32
  		;;
  	i*86v4*)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  		os=-sysv4
  		;;
  	i*86v)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  		os=-sysv
  		;;
  	i*86sol2)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
  		os=-solaris2
  		;;
  	i386mach)
  		basic_machine=i386-mach
  		os=-mach
  		;;
  	i386-vsta | vsta)
  		basic_machine=i386-unknown
  		os=-vsta
  		;;
  	iris | iris4d)
  		basic_machine=mips-sgi
  		case $os in
  		    -irix*)
  			;;
  		    *)
  			os=-irix4
  			;;
  		esac
  		;;
  	isi68 | isi)
  		basic_machine=m68k-isi
  		os=-sysv
  		;;
  	m88k-omron*)
  		basic_machine=m88k-omron
  		;;
  	magnum | m3230)
  		basic_machine=mips-mips
  		os=-sysv
  		;;
  	merlin)
  		basic_machine=ns32k-utek
  		os=-sysv
  		;;
  	mingw32)
  		basic_machine=i386-pc
  		os=-mingw32
  		;;
  	miniframe)
  		basic_machine=m68000-convergent
  		;;
  	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
  		basic_machine=m68k-atari
  		os=-mint
  		;;
  	mipsel*-linux*)
  		basic_machine=mipsel-unknown
  		os=-linux-gnu
  		;;
  	mips*-linux*)
  		basic_machine=mips-unknown
  		os=-linux-gnu
  		;;
  	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
  		;;
  	msdos)
  		basic_machine=i386-pc
  		os=-msdos
  		;;
  	mvs)
  		basic_machine=i370-ibm
  		os=-mvs
  		;;
  	ncr3000)
  		basic_machine=i486-ncr
  		os=-sysv4
  		;;
  	netbsd386)
  		basic_machine=i386-unknown
  		os=-netbsd
  		;;
  	netwinder)
  		basic_machine=armv4l-rebel
  		os=-linux
  		;;
  	news | news700 | news800 | news900)
  		basic_machine=m68k-sony
  		os=-newsos
  		;;
  	news1000)
  		basic_machine=m68030-sony
  		os=-newsos
  		;;
  	news-3600 | risc-news)
  		basic_machine=mips-sony
  		os=-newsos
  		;;
  	necv70)
  		basic_machine=v70-nec
  		os=-sysv
  		;;
  	next | m*-next )
  		basic_machine=m68k-next
  		case $os in
  		    -nextstep* )
  			;;
  		    -ns2*)
  		      os=-nextstep2
  			;;
  		    *)
  		      os=-nextstep3
  			;;
  		esac
  		;;
  	nh3000)
  		basic_machine=m68k-harris
  		os=-cxux
  		;;
  	nh[45]000)
  		basic_machine=m88k-harris
  		os=-cxux
  		;;
  	nindy960)
  		basic_machine=i960-intel
  		os=-nindy
  		;;
  	mon960)
  		basic_machine=i960-intel
  		os=-mon960
  		;;
  	nonstopux)
  		basic_machine=mips-compaq
  		os=-nonstopux
  		;;
  	np1)
  		basic_machine=np1-gould
  		;;
  	nsr-tandem)
  		basic_machine=nsr-tandem
  		;;
  	op50n-* | op60c-*)
  		basic_machine=hppa1.1-oki
  		os=-proelf
  		;;
  	OSE68000 | ose68000)
  		basic_machine=m68000-ericsson
  		os=-ose
  		;;
  	os68k)
  		basic_machine=m68k-none
  		os=-os68k
  		;;
  	pa-hitachi)
  		basic_machine=hppa1.1-hitachi
  		os=-hiuxwe2
  		;;
  	paragon)
  		basic_machine=i860-intel
  		os=-osf
  		;;
  	pbd)
  		basic_machine=sparc-tti
  		;;
  	pbb)
  		basic_machine=m68k-tti
  		;;
          pc532 | pc532-*)
  		basic_machine=ns32k-pc532
  		;;
  	pentium | p5 | k5 | k6 | nexgen)
  		basic_machine=i586-pc
  		;;
  	pentiumpro | p6 | 6x86 | athlon)
  		basic_machine=i686-pc
  		;;
  	pentiumii | pentium2)
  		basic_machine=i686-pc
  		;;
  	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
  		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
  	pentiumpro-* | p6-* | 6x86-* | athlon-*)
  		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
  	pentiumii-* | pentium2-*)
  		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
  		;;
  	pn)
  		basic_machine=pn-gould
  		;;
  	power)	basic_machine=power-ibm
  		;;
  	ppc)	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/^[^-]*-//'`
  		;;
  	ps2)
  		basic_machine=i386-ibm
  		;;
  	pw32)
  		basic_machine=i586-unknown
  		os=-pw32
  		;;
  	rom68k)
  		basic_machine=m68k-rom68k
  		os=-coff
  		;;
  	rm[46]00)
  		basic_machine=mips-siemens
  		;;
  	rtpc | rtpc-*)
  		basic_machine=romp-ibm
  		;;
  	sa29200)
  		basic_machine=a29k-amd
  		os=-udi
  		;;
  	sequent)
  		basic_machine=i386-sequent
  		;;
  	sh)
  		basic_machine=sh-hitachi
  		os=-hms
  		;;
  	sparclite-wrs)
  		basic_machine=sparclite-wrs
  		os=-vxworks
  		;;
  	sps7)
  		basic_machine=m68k-bull
  		os=-sysv2
  		;;
  	spur)
  		basic_machine=spur-unknown
  		;;
  	st2000)
  		basic_machine=m68k-tandem
  		;;
  	stratus)
  		basic_machine=i860-stratus
  		os=-sysv4
  		;;
  	sun2)
  		basic_machine=m68000-sun
  		;;
  	sun2os3)
  		basic_machine=m68000-sun
  		os=-sunos3
  		;;
  	sun2os4)
  		basic_machine=m68000-sun
  		os=-sunos4
  		;;
  	sun3os3)
  		basic_machine=m68k-sun
  		os=-sunos3
  		;;
  	sun3os4)
  		basic_machine=m68k-sun
  		os=-sunos4
  		;;
  	sun4os3)
  		basic_machine=sparc-sun
  		os=-sunos3
  		;;
  	sun4os4)
  		basic_machine=sparc-sun
  		os=-sunos4
  		;;
  	sun4sol2)
  		basic_machine=sparc-sun
  		os=-solaris2
  		;;
  	sun3 | sun3-*)
  		basic_machine=m68k-sun
  		;;
  	sun4)
  		basic_machine=sparc-sun
  		;;
  	sun386 | sun386i | roadrunner)
  		basic_machine=i386-sun
  		;;
  	sv1)
  		basic_machine=sv1-cray
  		os=-unicos
  		;;
  	symmetry)
  		basic_machine=i386-sequent
  		os=-dynix
  		;;
  	t3e)
  		basic_machine=t3e-cray
  		os=-unicos
  		;;
  	tic54x | c54x*)
  		basic_machine=tic54x-unknown
  		os=-coff
  		;;
  	tx39)
  		basic_machine=mipstx39-unknown
  		;;
  	tx39el)
  		basic_machine=mipstx39el-unknown
  		;;
  	tower | tower-32)
  		basic_machine=m68k-ncr
  		;;
  	udi29k)
  		basic_machine=a29k-amd
  		os=-udi
  		;;
  	ultra3)
  		basic_machine=a29k-nyu
  		os=-sym1
  		;;
  	v810 | necv810)
  		basic_machine=v810-nec
  		os=-none
  		;;
  	vaxv)
  		basic_machine=vax-dec
  		os=-sysv
  		;;
  	vms)
  		basic_machine=vax-dec
  		os=-vms
  		;;
  	vpp*|vx|vx-*)
                 basic_machine=f301-fujitsu
                 ;;
  	vxworks960)
  		basic_machine=i960-wrs
  		os=-vxworks
  		;;
  	vxworks68)
  		basic_machine=m68k-wrs
  		os=-vxworks
  		;;
  	vxworks29k)
  		basic_machine=a29k-wrs
  		os=-vxworks
  		;;
  	w65*)
  		basic_machine=w65-wdc
  		os=-none
  		;;
  	w89k-*)
  		basic_machine=hppa1.1-winbond
  		os=-proelf
  		;;
  	xmp)
  		basic_machine=xmp-cray
  		os=-unicos
  		;;
          xps | xps100)
  		basic_machine=xps100-honeywell
  		;;
  	z8k-*-coff)
  		basic_machine=z8k-unknown
  		os=-sim
  		;;
  	none)
  		basic_machine=none-none
  		os=-none
  		;;
  
  # 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.
  	w89k)
  		basic_machine=hppa1.1-winbond
  		;;
  	op50n)
  		basic_machine=hppa1.1-oki
  		;;
  	op60c)
  		basic_machine=hppa1.1-oki
  		;;
  	mips)
  		if [ x$os = x-linux-gnu ]; then
  			basic_machine=mips-unknown
  		else
  			basic_machine=mips-mips
  		fi
  		;;
  	romp)
  		basic_machine=romp-ibm
  		;;
  	rs6000)
  		basic_machine=rs6000-ibm
  		;;
  	vax)
  		basic_machine=vax-dec
  		;;
  	pdp10)
  		# there are many clones, so DEC is not a safe bet
  		basic_machine=pdp10-unknown
  		;;
  	pdp11)
  		basic_machine=pdp11-dec
  		;;
  	we32k)
  		basic_machine=we32k-att
  		;;
  	sh3 | sh4)
  		basic_machine=sh-unknown
  		;;
  	sparc | sparcv9 | sparcv9b)
  		basic_machine=sparc-sun
  		;;
          cydra)
  		basic_machine=cydra-cydrome
  		;;
  	orion)
  		basic_machine=orion-highlevel
  		;;
  	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
  		;;
  esac
  
  # Here we canonicalize certain aliases for manufacturers.
  case $basic_machine in
  	*-digital*)
  		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
  		;;
  	*-commodore*)
  		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
  		;;
  	*)
  		;;
  esac
  
  # Decode manufacturer-specific aliases for certain operating systems.
  
  if [ x"$os" != x"" ]
  then
  case $os in
          # First match some system type aliases
          # that might get confused with valid system types.
  	# -solaris* is a basic system type, with this one exception.
  	-solaris1 | -solaris1.*)
  		os=`echo $os | sed -e 's|solaris1|sunos4|'`
  		;;
  	-solaris)
  		os=-solaris2
  		;;
  	-svr4*)
  		os=-sysv4
  		;;
  	-unixware*)
  		os=-sysv4.2uw
  		;;
  	-gnu/linux*)
  		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
  		;;
  	# First accept the basic system types.
  	# The portable systems comes first.
  	# Each alternative MUST END IN A *, to match a version number.
  	# -sysv* is not here because it comes later, after sysvr4.
  	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
  	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
  	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
  	      | -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* | -oabi* \
  	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
  	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
  	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
  	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
  	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
  	# Remember, each alternative MUST END IN *, to match a version number.
  		;;
  	-qnx*)
  		case $basic_machine in
  		    x86-* | i*86-*)
  			;;
  		    *)
  			os=-nto$os
  			;;
  		esac
  		;;
  	-nto*)
  		os=-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*)
  		os=`echo $os | sed -e 's|linux|linux-gnu|'`
  		;;
  	-sunos5*)
  		os=`echo $os | sed -e 's|sunos5|solaris2|'`
  		;;
  	-sunos6*)
  		os=`echo $os | sed -e 's|sunos6|solaris3|'`
  		;;
  	-opened*)
  		os=-openedition
  		;;
  	-wince*)
  		os=-wince
  		;;
  	-osfrose*)
  		os=-osfrose
  		;;
  	-osf*)
  		os=-osf
  		;;
  	-utek*)
  		os=-bsd
  		;;
  	-dynix*)
  		os=-bsd
  		;;
  	-acis*)
  		os=-aos
  		;;
  	-386bsd)
  		os=-bsd
  		;;
  	-ctix* | -uts*)
  		os=-sysv
  		;;
  	-ns2 )
  	        os=-nextstep2
  		;;
  	-nsk*)
  		os=-nsk
  		;;
  	# Preserve the version number of sinix5.
  	-sinix5.*)
  		os=`echo $os | sed -e 's|sinix|sysv|'`
  		;;
  	-sinix*)
  		os=-sysv4
  		;;
  	-triton*)
  		os=-sysv3
  		;;
  	-oss*)
  		os=-sysv3
  		;;
  	-svr4)
  		os=-sysv4
  		;;
  	-svr3)
  		os=-sysv3
  		;;
  	-sysvr4)
  		os=-sysv4
  		;;
  	# This must come after -sysvr4.
  	-sysv*)
  		;;
  	-ose*)
  		os=-ose
  		;;
  	-es1800*)
  		os=-ose
  		;;
  	-xenix)
  		os=-xenix
  		;;
          -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  	        os=-mint
  		;;
  	-none)
  		;;
  	*)
  		# Get rid of the `-' at the beginning of $os.
  		os=`echo $os | sed 's/[^-]*-//'`
  		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
  		exit 1
  		;;
  esac
  else
  
  # Here we handle the default operating systems that come with various machines.
  # The value should be what the vendor currently ships out the door with their
  # machine or put another way, the most popular os provided with the machine.
  
  # Note that if you're going to try to match "-MANUFACTURER" here (say,
  # "-sun"), then you have to tell the case statement up towards the top
  # that MANUFACTURER isn't an operating system.  Otherwise, code above
  # will signal an error saying that MANUFACTURER isn't an operating
  # system, and we'll never get to this point.
  
  case $basic_machine in
  	*-acorn)
  		os=-riscix1.2
  		;;
  	arm*-rebel)
  		os=-linux
  		;;
  	arm*-semi)
  		os=-aout
  		;;
  	pdp10-*)
  		os=-tops20
  		;;
          pdp11-*)
  		os=-none
  		;;
  	*-dec | vax-*)
  		os=-ultrix4.2
  		;;
  	m68*-apollo)
  		os=-domain
  		;;
  	i386-sun)
  		os=-sunos4.0.2
  		;;
  	m68000-sun)
  		os=-sunos3
  		# This also exists in the configure program, but was not the
  		# default.
  		# os=-sunos4
  		;;
  	m68*-cisco)
  		os=-aout
  		;;
  	mips*-cisco)
  		os=-elf
  		;;
  	mips*-*)
  		os=-elf
  		;;
  	*-tti)	# must be before sparc entry or we get the wrong os.
  		os=-sysv3
  		;;
  	sparc-* | *-sun)
  		os=-sunos4.1.1
  		;;
  	*-be)
  		os=-beos
  		;;
  	*-ibm)
  		os=-aix
  		;;
  	*-wec)
  		os=-proelf
  		;;
  	*-winbond)
  		os=-proelf
  		;;
  	*-oki)
  		os=-proelf
  		;;
  	*-hp)
  		os=-hpux
  		;;
  	*-hitachi)
  		os=-hiux
  		;;
  	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
  		os=-sysv
  		;;
  	*-cbm)
  		os=-amigaos
  		;;
  	*-dg)
  		os=-dgux
  		;;
  	*-dolphin)
  		os=-sysv3
  		;;
  	m68k-ccur)
  		os=-rtu
  		;;
  	m88k-omron*)
  		os=-luna
  		;;
  	*-next )
  		os=-nextstep
  		;;
  	*-sequent)
  		os=-ptx
  		;;
  	*-crds)
  		os=-unos
  		;;
  	*-ns)
  		os=-genix
  		;;
  	i370-*)
  		os=-mvs
  		;;
  	*-next)
  		os=-nextstep3
  		;;
          *-gould)
  		os=-sysv
  		;;
          *-highlevel)
  		os=-bsd
  		;;
  	*-encore)
  		os=-bsd
  		;;
          *-sgi)
  		os=-irix
  		;;
          *-siemens)
  		os=-sysv4
  		;;
  	*-masscomp)
  		os=-rtu
  		;;
  	f30[01]-fujitsu | f700-fujitsu)
  		os=-uxpv
  		;;
  	*-rom68k)
  		os=-coff
  		;;
  	*-*bug)
  		os=-coff
  		;;
  	*-apple)
  		os=-macos
  		;;
  	*-atari*)
  		os=-mint
  		;;
  	*)
  		os=-none
  		;;
  esac
  fi
  
  # Here we handle the case where we know the os, and the CPU type, but not the
  # manufacturer.  We pick the logical manufacturer.
  vendor=unknown
  case $basic_machine in
  	*-unknown)
  		case $os in
  			-riscix*)
  				vendor=acorn
  				;;
  			-sunos*)
  				vendor=sun
  				;;
  			-aix*)
  				vendor=ibm
  				;;
  			-beos*)
  				vendor=be
  				;;
  			-hpux*)
  				vendor=hp
  				;;
  			-mpeix*)
  				vendor=hp
  				;;
  			-hiux*)
  				vendor=hitachi
  				;;
  			-unos*)
  				vendor=crds
  				;;
  			-dgux*)
  				vendor=dg
  				;;
  			-luna*)
  				vendor=omron
  				;;
  			-genix*)
  				vendor=ns
  				;;
  			-mvs* | -opened*)
  				vendor=ibm
  				;;
  			-ptx*)
  				vendor=sequent
  				;;
  			-vxsim* | -vxworks*)
  				vendor=wrs
  				;;
  			-aux*)
  				vendor=apple
  				;;
  			-hms*)
  				vendor=hitachi
  				;;
  			-mpw* | -macos*)
  				vendor=apple
  				;;
  			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
  				vendor=atari
  				;;
  		esac
  		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
  		;;
  esac
  
  echo $basic_machine$os
  exit 0
  
  # Local variables:
  # eval: (add-hook 'write-file-hooks 'time-stamp)
  # time-stamp-start: "timestamp='"
  # time-stamp-format: "%:y-%02m-%02d"
  # time-stamp-end: "'"
  # End:
  
  
  
  1.1                  spread/daemon/buildtools/fixpaths
  
  Index: fixpaths
  ===================================================================
  #!/usr/bin/perl -w
  #
  # fixpaths  - substitute makefile variables into text files
  
  
  $usage = "Usage: $0 [-Dstring=replacement] [[infile] ...]\n";
  
  if (!defined(@ARGV)) { die ("$usage"); }
  
  # read in the command line and get some definitions
  while ($_=$ARGV[0], /^-/) {
    if (/^-D/) {
      # definition
      shift(@ARGV);
      if ( /-D(.*)=(.*)/ ) {
        $def{"$1"}=$2;
      } else {
        die ("$usage$0: error in command line arguments.\n");
      }
    } else {
      @cmd = split(//, $ARGV[0]); $opt = $cmd[1];
      die ("$usage$0: unknown option '-$opt'\n");
    }
  } # while parsing arguments
  
  if (!defined(%def)) {
    die ("$0: nothing to do - no substitutions listed!\n");
  }
  
  for $f (@ARGV) {
  
    $f =~ /(.*\/)*(.*)$/;
  
    open(IN, "<$f")          || die ("$0: input file $f missing!\n");
    while (<IN>) {
      for $s (keys(%def)) {
        s#$s#$def{$s}#;
      } # for $s
      print;
    } # while <IN>
  } # for $f
  
  exit 0;
  
  
  
  1.1                  spread/daemon/buildtools/install-sh
  
  Index: install-sh
  ===================================================================
  #!/bin/sh
  #
  # install - install a program, script, or datafile
  # This comes from X11R5 (mit/util/scripts/install.sh).
  #
  # Copyright 1991 by the Massachusetts Institute of Technology
  #
  # Permission to use, copy, modify, distribute, and sell this software and its
  # documentation for any purpose is hereby granted without fee, provided that
  # the above copyright notice appear in all copies and that both that
  # copyright notice and this permission notice appear in supporting
  # documentation, and that the name of M.I.T. not be used in advertising or
  # publicity pertaining to distribution of the software without specific,
  # written prior permission.  M.I.T. makes no representations about the
  # suitability of this software for any purpose.  It is provided "as is"
  # without express or implied warranty.
  #
  # Calling this script install-sh is preferred over install.sh, to prevent
  # `make' implicit rules from creating a file called install from it
  # when there is no Makefile.
  #
  # This script is compatible with the BSD install script, but was written
  # from scratch.  It can only install one file at a time, a restriction
  # shared with many OS's install programs.
  
  
  # set DOITPROG to echo to test this script
  
  # Don't use :- since 4.3BSD and earlier shells don't like it.
  doit="${DOITPROG-}"
  
  
  # put in absolute paths if you don't have them in your path; or use env. vars.
  
  mvprog="${MVPROG-mv}"
  cpprog="${CPPROG-cp}"
  chmodprog="${CHMODPROG-chmod}"
  chownprog="${CHOWNPROG-chown}"
  chgrpprog="${CHGRPPROG-chgrp}"
  stripprog="${STRIPPROG-strip}"
  rmprog="${RMPROG-rm}"
  mkdirprog="${MKDIRPROG-mkdir}"
  
  transformbasename=""
  transform_arg=""
  instcmd="$mvprog"
  chmodcmd="$chmodprog 0755"
  chowncmd=""
  chgrpcmd=""
  stripcmd=""
  rmcmd="$rmprog -f"
  mvcmd="$mvprog"
  src=""
  dst=""
  dir_arg=""
  
  while [ x"$1" != x ]; do
      case $1 in
  	-c) instcmd="$cpprog"
  	    shift
  	    continue;;
  
  	-d) dir_arg=true
  	    shift
  	    continue;;
  
  	-m) chmodcmd="$chmodprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-o) chowncmd="$chownprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-g) chgrpcmd="$chgrpprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-s) stripcmd="$stripprog"
  	    shift
  	    continue;;
  
  	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
  	    shift
  	    continue;;
  
  	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
  	    shift
  	    continue;;
  
  	*)  if [ x"$src" = x ]
  	    then
  		src=$1
  	    else
  		# this colon is to work around a 386BSD /bin/sh bug
  		:
  		dst=$1
  	    fi
  	    shift
  	    continue;;
      esac
  done
  
  if [ x"$src" = x ]
  then
  	echo "install:	no input file specified"
  	exit 1
  else
  	true
  fi
  
  if [ x"$dir_arg" != x ]; then
  	dst=$src
  	src=""
  	
  	if [ -d $dst ]; then
  		instcmd=:
  		chmodcmd=""
  	else
  		instcmd=mkdir
  	fi
  else
  
  # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
  # might cause directories to be created, which would be especially bad 
  # if $src (and thus $dsttmp) contains '*'.
  
  	if [ -f $src -o -d $src ]
  	then
  		true
  	else
  		echo "install:  $src does not exist"
  		exit 1
  	fi
  	
  	if [ x"$dst" = x ]
  	then
  		echo "install:	no destination specified"
  		exit 1
  	else
  		true
  	fi
  
  # If destination is a directory, append the input filename; if your system
  # does not like double slashes in filenames, you may need to add some logic
  
  	if [ -d $dst ]
  	then
  		dst="$dst"/`basename $src`
  	else
  		true
  	fi
  fi
  
  ## this sed command emulates the dirname command
  dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
  
  # Make sure that the destination directory exists.
  #  this part is taken from Noah Friedman's mkinstalldirs script
  
  # Skip lots of stat calls in the usual case.
  if [ ! -d "$dstdir" ]; then
  defaultIFS='	
  '
  IFS="${IFS-${defaultIFS}}"
  
  oIFS="${IFS}"
  # Some sh's can't handle IFS=/ for some reason.
  IFS='%'
  set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
  IFS="${oIFS}"
  
  pathcomp=''
  
  while [ $# -ne 0 ] ; do
  	pathcomp="${pathcomp}${1}"
  	shift
  
  	if [ ! -d "${pathcomp}" ] ;
          then
  		$mkdirprog "${pathcomp}"
  	else
  		true
  	fi
  
  	pathcomp="${pathcomp}/"
  done
  fi
  
  if [ x"$dir_arg" != x ]
  then
  	$doit $instcmd $dst &&
  
  	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
  	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
  	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
  	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
  else
  
  # If we're going to rename the final executable, determine the name now.
  
  	if [ x"$transformarg" = x ] 
  	then
  		dstfile=`basename $dst`
  	else
  		dstfile=`basename $dst $transformbasename | 
  			sed $transformarg`$transformbasename
  	fi
  
  # don't allow the sed command to completely eliminate the filename
  
  	if [ x"$dstfile" = x ] 
  	then
  		dstfile=`basename $dst`
  	else
  		true
  	fi
  
  # Make a temp file name in the proper directory.
  
  	dsttmp=$dstdir/#inst.$$#
  
  # Move or copy the file name to the temp name
  
  	$doit $instcmd $src $dsttmp &&
  
  	trap "rm -f ${dsttmp}" 0 &&
  
  # and set any options; do chmod last to preserve setuid bits
  
  # If any of these fail, we abort the whole thing.  If we want to
  # ignore errors from any of these, just make sure not to ignore
  # errors from the above "$doit $instcmd $src $dsttmp" command.
  
  	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
  	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
  	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
  	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
  
  # Now rename the file to the real destination.
  
  	$doit $rmcmd -f $dstdir/$dstfile &&
  	$doit $mvcmd $dsttmp $dstdir/$dstfile 
  
  fi &&
  
  
  exit 0
  
  
  
  1.1                  spread/daemon/buildtools/mdoc2man.pl
  
  Index: mdoc2man.pl
  ===================================================================
  #!/usr/bin/perl
  ###
  ### Quick usage:  mdoc2man.pl < mdoc_manpage.8 > man_manpage.8
  ###
  ###
  ###  Copyright (c) 2001 University of Illinois Board of Trustees
  ###  Copyright (c) 2001 Mark D. Roth
  ###  All rights reserved.
  ### 
  ###  Redistribution and use in source and binary forms, with or without
  ###  modification, are permitted provided that the following conditions
  ###  are met:
  ###  1. Redistributions of source code must retain the above copyright
  ###     notice, this list of conditions and the following disclaimer.
  ###  2. Redistributions in binary form must reproduce the above copyright
  ###     notice, this list of conditions and the following disclaimer in the
  ###     documentation and/or other materials provided with the distribution.
  ###  3. All advertising materials mentioning features or use of this software
  ###     must display the following acknowledgement:
  ###     This product includes software developed by the University of
  ###     Illinois at Urbana, and their contributors.
  ###  4. The University nor the names of their
  ###     contributors may be used to endorse or promote products derived from
  ###     this software without specific prior written permission.
  ### 
  ###  THIS SOFTWARE IS PROVIDED BY THE TRUSTEES AND CONTRIBUTORS ``AS IS'' AND
  ###  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  ###  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ###  ARE DISCLAIMED.  IN NO EVENT SHALL THE TRUSTEES OR CONTRIBUTORS BE LIABLE
  ###  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  ###  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  ###  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  ###  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  ###  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  ###  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  ###  SUCH DAMAGE.
  ###
  
  use strict;
  
  my ($name, $date, $id);
  my ($line);
  my ($optlist, $nospace, $enum, $synopsis);
  
  
  $optlist = 0;		### 1 = bullet, 2 = enum, 3 = tag
  $nospace = 0;
  $synopsis = 0;
  
  while ($line = <STDIN>)
  {
  	if ($line !~ /^\./)
  	{
  		print $line;
  		next;
  	}
  
  	$line =~ s/^\.//;
  
  	next
  		if ($line =~ m/\\"/);
  
  	$line = ParseMacro($line);
  	print($line)
  		if (defined $line);
  }
  
  
  
  sub ParseMacro # ($line)
  {
  	my ($line) = @_;
  	my (@words, $retval, $option, $parens, $arg);
  
  	@words = split(/\s+/, $line);
  	$retval = '';
  	$option = 0;
  	$parens = 0;
  	$arg = 0;
  
  #	print('@words = ', scalar(@words), ': ', join(' ', @words), "\n");
  
  	while ($_ = shift @words)
  	{
  #		print "WORD: $_\n";
  
  		next
  			if (/^(Li|Pf|X[oc])$/);
  
  		if (/^Ns/)
  		{
  			$nospace = 1
  				if (! $nospace);
  			$retval =~ s/ $//;
  			next;
  		}
  
  		if (/^No/)
  		{
  			$retval =~ s/ $//;
  			$retval .= shift @words;
  			next;
  		}
  
  		if (/^Dq$/) {
  			$retval .= '``' . (shift @words) . '\'\'';
  			$nospace = 1
  				if (! $nospace && $words[0] =~ m/^[\.,]/);
  			next;
  		}
  
  		if (/^(Sq|Ql)$/) {
  			$retval .= '`' . (shift @words) . '\'';
  			$nospace = 1
  				if (! $nospace && $words[0] =~ m/^[\.,]/);
  			next;
  		}
  
  		$retval .= ' '
  			if (! $nospace && $retval ne '' && $retval !~ m/[\n ]$/);
  		$nospace = 0
  			if ($nospace == 1);
  
  		if (/^Dd$/) {
  			$date = join(' ', @words);
  			return undef;
  		}
  
  		if (/^Dt$/) {
  			$id = join(' ', @words);
  			return undef;
  		}
  
  		if (/^Os$/) {
  			$retval .= '.TH '
  				. $id
  				. " \"$date\" \""
  				. join(' ', @words)
  				. "\"";
  			last;
  		}
  
  		if (/^Sh$/) {
  			$retval .= '.SH';
  			if ($words[0] eq 'SYNOPSIS')
  			{
  				$synopsis = 1;
  			}
  			else
  			{
  				$synopsis = 0;
  			}
  			next;
  		}
  
  		if (/^Xr$/) {
  			$retval .= '\\fB' . (shift @words) .
  				'\\fR(' . (shift @words) . ')'
  				. (shift @words);
  			last;
  		}
  
  		if (/^Nm$/) {
  			$name = shift @words
  				if (@words > 0);
  			$retval .= ".br\n"
  				if ($synopsis);
  			$retval .= "\\fB$name\\fR";
  			$nospace = 1
  				if (! $nospace && $words[0] =~ m/^[\.,]/);
  			next;
  		}
  
  		if (/^Nd$/) {
  			$retval .= '\\-';
  			next;
  		}
  
  		if (/^Fl$/) {
  			$retval .= '\\fB\\-' . (shift @words) . '\\fR';
  			$nospace = 1
  				if (! $nospace && $words[0] =~ m/^[\.,]/);
  			next;
  		}
  
  		if (/^Ar$/) {
  			$retval .= '\\fI';
  			if (! defined $words[0])
  			{
  				$retval .= 'file ...\\fR';
  			}
  			$arg = 1;
  			$nospace = 1
  				if (! $nospace);
  			next;
  		}
  
  		if (/^Cm$/) {
  			$retval .= '\\fB' . (shift @words) . '\\fR';
  			next;
  		}
  
  		if (/^Op$/) {
  			$option = 1;
  			$nospace = 1
  				if (! $nospace);
  			$retval .= '[';
  			next;
  		}
  
  		if (/^Oo$/) {
  			$retval .= "[\\c\n";
  			next;
  		}
  
  		if (/^Oc$/) {
  			$retval .= ']';
  			next;
  		}
  
  		if (/^Pp$/) {
  			if ($optlist) {
  				$retval .= "\n";
  			} else {
  				$retval .= '.LP';
  			}
  			next;
  		}
  
  		if (/^Ss$/) {
  			$retval .= '.SS';
  			next;
  		}
  
  		if (/^Pa$/ && ! $option) {
  			$retval .= '\\fI';
  			$retval .= '\\&'
  				if ($words[0] =~ m/^\./);
  			$retval .= (shift @words) . '\\fR';
  			$nospace = 1
  				if (! $nospace && $words[0] =~ m/^[\.,]/);
  			next;
  		}
  
  		if (/^Dv$/) {
  			$retval .= '.BR';
  			next;
  		}
  
  		if (/^(Em|Ev)$/) {
  			$retval .= '.IR';
  			next;
  		}
  
  		if (/^Pq$/) {
  			$retval .= '(';
  			$nospace = 1;
  			$parens = 1;
  			next;
  		}
  
  		if (/^(S[xy])$/) {
  			$retval .= '.B ' . join(' ', @words);
  			last;
  		}
  
  		if (/^Ic$/)
  		{
  			$retval .= '\\fB';
  			while (defined $words[0]
  				&& $words[0] !~ m/^[\.,]/)
  			{
  				$retval .= shift @words;
  				$retval .= ' '
  					if (! $nospace);
  			}
  			$retval =~ s/ $//;
  			$retval .= '\\fR';
  			$retval .= shift @words
  				if (defined $words[0]);
  			last;
  		}
  
  		if (/^Bl$/) {
  			if ($words[0] eq '-bullet') {
  				$optlist = 1;
  			} elsif ($words[0] eq '-enum') {
  				$optlist = 2;
  				$enum = 0;
  			} elsif ($words[0] eq '-tag') {
  				$optlist = 3;
  			}
  			last;
  		}
  
  		if (/^El$/) {
  			$optlist = 0;
  			next;
  		}
  
  		if ($optlist && /^It$/) {
  			if ($optlist == 1) {
  				# bullets
  				$retval .= '.IP \\(bu';
  				next;
  			}
  
  			if ($optlist == 2) {
  				# enum
  				$retval .= '.IP ' . (++$enum) . '.';
  				next;
  			}
  
  			if ($optlist == 3) {
  				# tags
  				$retval .= ".TP\n";
  				if ($words[0] =~ m/^(Pa|Ev)$/)
  				{
  					shift @words;
  					$retval .= '.B';
  				}
  				next;
  			}
  
  			next;
  		}
  
  		if (/^Sm$/) {
  			if ($words[0] eq 'off') {
  				$nospace = 2;
  			} elsif ($words[0] eq 'on') {
  				$retval .= "\n";
  				$nospace = 0;
  			}
  			shift @words;
  			next;
  		}
  
  		$retval .= "$_";
  	}
  
  	return undef
  		if ($retval eq '.');
  
  	$retval =~ s/^\.([^a-zA-Z])/$1/;
  	$retval =~ s/ $//;
  
  	$retval .= ')'
  		if ($parens == 1);
  
  	$retval .= ']'
  		if ($option == 1);
  
  	$retval .= '\\fR'
  		if ($arg);
  
  	$retval .= '\\c'
  		if ($nospace && $retval ne '' && $retval !~ m/\n$/);
  
  	$retval .= "\n"
  		if ($retval ne '' && $retval !~ m/\n$/);
  
  	return $retval;
  }
  
  
  
  1.1                  spread/daemon/buildtools/mkinstalldirs
  
  Index: mkinstalldirs
  ===================================================================
  #! /bin/sh
  # mkinstalldirs --- make directory hierarchy
  # Author: Noah Friedman <friedman at prep.ai.mit.edu>
  # Created: 1993-05-16
  # Public domain
  
  # $Id: mkinstalldirs,v 1.1 2002/09/16 16:59:08 jonathan Exp $
  
  errstatus=0
  
  for file
  do
     set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
     shift
  
     pathcomp=
     for d
     do
       pathcomp="$pathcomp$d"
       case "$pathcomp" in
         -* ) pathcomp=./$pathcomp ;;
       esac
  
       if test ! -d "$pathcomp"; then
          echo "mkdir $pathcomp"
  
          mkdir "$pathcomp" || lasterr=$?
  
          if test ! -d "$pathcomp"; then
    	  errstatus=$lasterr
          fi
       fi
  
       pathcomp="$pathcomp/"
     done
  done
  
  exit $errstatus
  
  # mkinstalldirs ends here
  
  
  




More information about the Spread-cvs mailing list