home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.lbl.gov / 2014.05.ftp.ee.lbl.gov.tar / ftp.ee.lbl.gov / ipsearch-1.0.tar.gz / ipsearch-1.0.tar / ipsearch-1.0 / config.guess < prev    next >
Text File  |  2011-07-06  |  42KB  |  1,408 lines

  1. #! /bin/sh
  2. # Attempt to guess a canonical system name.
  3. #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
  4. #   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
  5.  
  6. timestamp='2003-07-02'
  7.  
  8. # This file is free software; you can redistribute it and/or modify it
  9. # under the terms of the GNU General Public License as published by
  10. # the Free Software Foundation; either version 2 of the License, or
  11. # (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful, but
  14. # WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16. # General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  21. #
  22. # As a special exception to the GNU General Public License, if you
  23. # distribute this file as part of a program that contains a
  24. # configuration script generated by Autoconf, you may include it under
  25. # the same distribution terms that you use for the rest of that program.
  26.  
  27. # Originally written by Per Bothner <per@bothner.com>.
  28. # Please send patches to <config-patches@gnu.org>.  Submit a context
  29. # diff and a properly formatted ChangeLog entry.
  30. #
  31. # This script attempts to guess a canonical system name similar to
  32. # config.sub.  If it succeeds, it prints the system name on stdout, and
  33. # exits with 0.  Otherwise, it exits with 1.
  34. #
  35. # The plan is that this can be called by configure scripts if you
  36. # don't specify an explicit build system type.
  37.  
  38. me=`echo "$0" | sed -e 's,.*/,,'`
  39.  
  40. usage="\
  41. Usage: $0 [OPTION]
  42.  
  43. Output the configuration name of the system \`$me' is run on.
  44.  
  45. Operation modes:
  46.   -h, --help         print this help, then exit
  47.   -t, --time-stamp   print date of last modification, then exit
  48.   -v, --version      print version number, then exit
  49.  
  50. Report bugs and patches to <config-patches@gnu.org>."
  51.  
  52. version="\
  53. GNU config.guess ($timestamp)
  54.  
  55. Originally written by Per Bothner.
  56. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  57. Free Software Foundation, Inc.
  58.  
  59. This is free software; see the source for copying conditions.  There is NO
  60. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
  61.  
  62. help="
  63. Try \`$me --help' for more information."
  64.  
  65. # Parse command line
  66. while test $# -gt 0 ; do
  67.   case $1 in
  68.     --time-stamp | --time* | -t )
  69.        echo "$timestamp" ; exit 0 ;;
  70.     --version | -v )
  71.        echo "$version" ; exit 0 ;;
  72.     --help | --h* | -h )
  73.        echo "$usage"; exit 0 ;;
  74.     -- )     # Stop option processing
  75.        shift; break ;;
  76.     - )    # Use stdin as input.
  77.        break ;;
  78.     -* )
  79.        echo "$me: invalid option $1$help" >&2
  80.        exit 1 ;;
  81.     * )
  82.        break ;;
  83.   esac
  84. done
  85.  
  86. if test $# != 0; then
  87.   echo "$me: too many arguments$help" >&2
  88.   exit 1
  89. fi
  90.  
  91. trap 'exit 1' 1 2 15
  92.  
  93. # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
  94. # compiler to aid in system detection is discouraged as it requires
  95. # temporary files to be created and, as you can see below, it is a
  96. # headache to deal with in a portable fashion.
  97.  
  98. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
  99. # use `HOST_CC' if defined, but it is deprecated.
  100.  
  101. # Portable tmp directory creation inspired by the Autoconf team.
  102.  
  103. set_cc_for_build='
  104. trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
  105. trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
  106. : ${TMPDIR=/tmp} ;
  107.  { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  108.  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
  109.  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
  110.  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
  111. dummy=$tmp/dummy ;
  112. tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
  113. case $CC_FOR_BUILD,$HOST_CC,$CC in
  114.  ,,)    echo "int x;" > $dummy.c ;
  115.     for c in cc gcc c89 c99 ; do
  116.       if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
  117.          CC_FOR_BUILD="$c"; break ;
  118.       fi ;
  119.     done ;
  120.     if test x"$CC_FOR_BUILD" = x ; then
  121.       CC_FOR_BUILD=no_compiler_found ;
  122.     fi
  123.     ;;
  124.  ,,*)   CC_FOR_BUILD=$CC ;;
  125.  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
  126. esac ;'
  127.  
  128. # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  129. # (ghazi@noc.rutgers.edu 1994-08-24)
  130. if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
  131.     PATH=$PATH:/.attbin ; export PATH
  132. fi
  133.  
  134. UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
  135. UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
  136. UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
  137. UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
  138.  
  139. # Note: order is significant - the case branches are not exclusive.
  140.  
  141. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
  142.     *:NetBSD:*:*)
  143.     # NetBSD (nbsd) targets should (where applicable) match one or
  144.     # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
  145.     # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
  146.     # switched to ELF, *-*-netbsd* would select the old
  147.     # object file format.  This provides both forward
  148.     # compatibility and a consistent mechanism for selecting the
  149.     # object file format.
  150.     #
  151.     # Note: NetBSD doesn't particularly care about the vendor
  152.     # portion of the name.  We always set it to "unknown".
  153.     sysctl="sysctl -n hw.machine_arch"
  154.     UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
  155.         /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
  156.     case "${UNAME_MACHINE_ARCH}" in
  157.         armeb) machine=armeb-unknown ;;
  158.         arm*) machine=arm-unknown ;;
  159.         sh3el) machine=shl-unknown ;;
  160.         sh3eb) machine=sh-unknown ;;
  161.         *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
  162.     esac
  163.     # The Operating System including object format, if it has switched
  164.     # to ELF recently, or will in the future.
  165.     case "${UNAME_MACHINE_ARCH}" in
  166.         arm*|i386|m68k|ns32k|sh3*|sparc|vax)
  167.         eval $set_cc_for_build
  168.         if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
  169.             | grep __ELF__ >/dev/null
  170.         then
  171.             # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
  172.             # Return netbsd for either.  FIX?
  173.             os=netbsd
  174.         else
  175.             os=netbsdelf
  176.         fi
  177.         ;;
  178.         *)
  179.             os=netbsd
  180.         ;;
  181.     esac
  182.     # The OS release
  183.     # Debian GNU/NetBSD machines have a different userland, and
  184.     # thus, need a distinct triplet. However, they do not need
  185.     # kernel version information, so it can be replaced with a
  186.     # suitable tag, in the style of linux-gnu.
  187.     case "${UNAME_VERSION}" in
  188.         Debian*)
  189.         release='-gnu'
  190.         ;;
  191.         *)
  192.         release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
  193.         ;;
  194.     esac
  195.     # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
  196.     # contains redundant information, the shorter form:
  197.     # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
  198.     echo "${machine}-${os}${release}"
  199.     exit 0 ;;
  200.     amiga:OpenBSD:*:*)
  201.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  202.     exit 0 ;;
  203.     arc:OpenBSD:*:*)
  204.     echo mipsel-unknown-openbsd${UNAME_RELEASE}
  205.     exit 0 ;;
  206.     hp300:OpenBSD:*:*)
  207.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  208.     exit 0 ;;
  209.     mac68k:OpenBSD:*:*)
  210.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  211.     exit 0 ;;
  212.     macppc:OpenBSD:*:*)
  213.     echo powerpc-unknown-openbsd${UNAME_RELEASE}
  214.     exit 0 ;;
  215.     mvme68k:OpenBSD:*:*)
  216.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  217.     exit 0 ;;
  218.     mvme88k:OpenBSD:*:*)
  219.     echo m88k-unknown-openbsd${UNAME_RELEASE}
  220.     exit 0 ;;
  221.     mvmeppc:OpenBSD:*:*)
  222.     echo powerpc-unknown-openbsd${UNAME_RELEASE}
  223.     exit 0 ;;
  224.     pmax:OpenBSD:*:*)
  225.     echo mipsel-unknown-openbsd${UNAME_RELEASE}
  226.     exit 0 ;;
  227.     sgi:OpenBSD:*:*)
  228.     echo mipseb-unknown-openbsd${UNAME_RELEASE}
  229.     exit 0 ;;
  230.     sun3:OpenBSD:*:*)
  231.     echo m68k-unknown-openbsd${UNAME_RELEASE}
  232.     exit 0 ;;
  233.     wgrisc:OpenBSD:*:*)
  234.     echo mipsel-unknown-openbsd${UNAME_RELEASE}
  235.     exit 0 ;;
  236.     *:OpenBSD:*:*)
  237.     echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
  238.     exit 0 ;;
  239.     alpha:OSF1:*:*)
  240.     if test $UNAME_RELEASE = "V4.0"; then
  241.         UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
  242.     fi
  243.     # According to Compaq, /usr/sbin/psrinfo has been available on
  244.     # OSF/1 and Tru64 systems produced since 1995.  I hope that
  245.     # covers most systems running today.  This code pipes the CPU
  246.     # types through head -n 1, so we only detect the type of CPU 0.
  247.     ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
  248.     case "$ALPHA_CPU_TYPE" in
  249.         "EV4 (21064)")
  250.         UNAME_MACHINE="alpha" ;;
  251.         "EV4.5 (21064)")
  252.         UNAME_MACHINE="alpha" ;;
  253.         "LCA4 (21066/21068)")
  254.         UNAME_MACHINE="alpha" ;;
  255.         "EV5 (21164)")
  256.         UNAME_MACHINE="alphaev5" ;;
  257.         "EV5.6 (21164A)")
  258.         UNAME_MACHINE="alphaev56" ;;
  259.         "EV5.6 (21164PC)")
  260.         UNAME_MACHINE="alphapca56" ;;
  261.         "EV5.7 (21164PC)")
  262.         UNAME_MACHINE="alphapca57" ;;
  263.         "EV6 (21264)")
  264.         UNAME_MACHINE="alphaev6" ;;
  265.         "EV6.7 (21264A)")
  266.         UNAME_MACHINE="alphaev67" ;;
  267.         "EV6.8CB (21264C)")
  268.         UNAME_MACHINE="alphaev68" ;;
  269.         "EV6.8AL (21264B)")
  270.         UNAME_MACHINE="alphaev68" ;;
  271.         "EV6.8CX (21264D)")
  272.         UNAME_MACHINE="alphaev68" ;;
  273.         "EV6.9A (21264/EV69A)")
  274.         UNAME_MACHINE="alphaev69" ;;
  275.         "EV7 (21364)")
  276.         UNAME_MACHINE="alphaev7" ;;
  277.         "EV7.9 (21364A)")
  278.         UNAME_MACHINE="alphaev79" ;;
  279.     esac
  280.     # A Vn.n version is a released version.
  281.     # A Tn.n version is a released field test version.
  282.     # A Xn.n version is an unreleased experimental baselevel.
  283.     # 1.2 uses "1.2" for uname -r.
  284.     echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  285.     exit 0 ;;
  286.     Alpha*:OpenVMS:*:*)
  287.     echo alpha-hp-vms
  288.     exit 0 ;;
  289.     Alpha\ *:Windows_NT*:*)
  290.     # How do we know it's Interix rather than the generic POSIX subsystem?
  291.     # Should we change UNAME_MACHINE based on the output of uname instead
  292.     # of the specific Alpha model?
  293.     echo alpha-pc-interix
  294.     exit 0 ;;
  295.     21064:Windows_NT:50:3)
  296.     echo alpha-dec-winnt3.5
  297.     exit 0 ;;
  298.     Amiga*:UNIX_System_V:4.0:*)
  299.     echo m68k-unknown-sysv4
  300.     exit 0;;
  301.     *:[Aa]miga[Oo][Ss]:*:*)
  302.     echo ${UNAME_MACHINE}-unknown-amigaos
  303.     exit 0 ;;
  304.     *:[Mm]orph[Oo][Ss]:*:*)
  305.     echo ${UNAME_MACHINE}-unknown-morphos
  306.     exit 0 ;;
  307.     *:OS/390:*:*)
  308.     echo i370-ibm-openedition
  309.     exit 0 ;;
  310.     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  311.     echo arm-acorn-riscix${UNAME_RELEASE}
  312.     exit 0;;
  313.     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
  314.     echo hppa1.1-hitachi-hiuxmpp
  315.     exit 0;;
  316.     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
  317.     # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
  318.     if test "`(/bin/universe) 2>/dev/null`" = att ; then
  319.         echo pyramid-pyramid-sysv3
  320.     else
  321.         echo pyramid-pyramid-bsd
  322.     fi
  323.     exit 0 ;;
  324.     NILE*:*:*:dcosx)
  325.     echo pyramid-pyramid-svr4
  326.     exit 0 ;;
  327.     DRS?6000:unix:4.0:6*)
  328.     echo sparc-icl-nx6
  329.     exit 0 ;;
  330.     DRS?6000:UNIX_SV:4.2*:7*)
  331.     case `/usr/bin/uname -p` in
  332.         sparc) echo sparc-icl-nx7 && exit 0 ;;
  333.     esac ;;
  334.     sun4H:SunOS:5.*:*)
  335.     echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  336.     exit 0 ;;
  337.     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  338.     echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  339.     exit 0 ;;
  340.     i86pc:SunOS:5.*:*)
  341.     echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  342.     exit 0 ;;
  343.     sun4*:SunOS:6*:*)
  344.     # According to config.sub, this is the proper way to canonicalize
  345.     # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
  346.     # it's likely to be more like Solaris than SunOS4.
  347.     echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  348.     exit 0 ;;
  349.     sun4*:SunOS:*:*)
  350.     case "`/usr/bin/arch -k`" in
  351.         Series*|S4*)
  352.         UNAME_RELEASE=`uname -v`
  353.         ;;
  354.     esac
  355.     # Japanese Language versions have a version number like `4.1.3-JL'.
  356.     echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
  357.     exit 0 ;;
  358.     sun3*:SunOS:*:*)
  359.     echo m68k-sun-sunos${UNAME_RELEASE}
  360.     exit 0 ;;
  361.     sun*:*:4.2BSD:*)
  362.     UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
  363.     test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
  364.     case "`/bin/arch`" in
  365.         sun3)
  366.         echo m68k-sun-sunos${UNAME_RELEASE}
  367.         ;;
  368.         sun4)
  369.         echo sparc-sun-sunos${UNAME_RELEASE}
  370.         ;;
  371.     esac
  372.     exit 0 ;;
  373.     aushp:SunOS:*:*)
  374.     echo sparc-auspex-sunos${UNAME_RELEASE}
  375.     exit 0 ;;
  376.     # The situation for MiNT is a little confusing.  The machine name
  377.     # can be virtually everything (everything which is not
  378.     # "atarist" or "atariste" at least should have a processor
  379.     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
  380.     # to the lowercase version "mint" (or "freemint").  Finally
  381.     # the system name "TOS" denotes a system which is actually not
  382.     # MiNT.  But MiNT is downward compatible to TOS, so this should
  383.     # be no problem.
  384.     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
  385.         echo m68k-atari-mint${UNAME_RELEASE}
  386.     exit 0 ;;
  387.     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
  388.     echo m68k-atari-mint${UNAME_RELEASE}
  389.         exit 0 ;;
  390.     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
  391.         echo m68k-atari-mint${UNAME_RELEASE}
  392.     exit 0 ;;
  393.     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
  394.         echo m68k-milan-mint${UNAME_RELEASE}
  395.         exit 0 ;;
  396.     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
  397.         echo m68k-hades-mint${UNAME_RELEASE}
  398.         exit 0 ;;
  399.     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
  400.         echo m68k-unknown-mint${UNAME_RELEASE}
  401.         exit 0 ;;
  402.     powerpc:machten:*:*)
  403.     echo powerpc-apple-machten${UNAME_RELEASE}
  404.     exit 0 ;;
  405.     RISC*:Mach:*:*)
  406.     echo mips-dec-mach_bsd4.3
  407.     exit 0 ;;
  408.     RISC*:ULTRIX:*:*)
  409.     echo mips-dec-ultrix${UNAME_RELEASE}
  410.     exit 0 ;;
  411.     VAX*:ULTRIX*:*:*)
  412.     echo vax-dec-ultrix${UNAME_RELEASE}
  413.     exit 0 ;;
  414.     2020:CLIX:*:* | 2430:CLIX:*:*)
  415.     echo clipper-intergraph-clix${UNAME_RELEASE}
  416.     exit 0 ;;
  417.     mips:*:*:UMIPS | mips:*:*:RISCos)
  418.     eval $set_cc_for_build
  419.     sed 's/^    //' << EOF >$dummy.c
  420. #ifdef __cplusplus
  421. #include <stdio.h>  /* for printf() prototype */
  422.     int main (int argc, char *argv[]) {
  423. #else
  424.     int main (argc, argv) int argc; char *argv[]; {
  425. #endif
  426.     #if defined (host_mips) && defined (MIPSEB)
  427.     #if defined (SYSTYPE_SYSV)
  428.       printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
  429.     #endif
  430.     #if defined (SYSTYPE_SVR4)
  431.       printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
  432.     #endif
  433.     #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
  434.       printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
  435.     #endif
  436.     #endif
  437.       exit (-1);
  438.     }
  439. EOF
  440.     $CC_FOR_BUILD -o $dummy $dummy.c \
  441.       && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
  442.       && exit 0
  443.     echo mips-mips-riscos${UNAME_RELEASE}
  444.     exit 0 ;;
  445.     Motorola:PowerMAX_OS:*:*)
  446.     echo powerpc-motorola-powermax
  447.     exit 0 ;;
  448.     Motorola:*:4.3:PL8-*)
  449.     echo powerpc-harris-powermax
  450.     exit 0 ;;
  451.     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
  452.     echo powerpc-harris-powermax
  453.     exit 0 ;;
  454.     Night_Hawk:Power_UNIX:*:*)
  455.     echo powerpc-harris-powerunix
  456.     exit 0 ;;
  457.     m88k:CX/UX:7*:*)
  458.     echo m88k-harris-cxux7
  459.     exit 0 ;;
  460.     m88k:*:4*:R4*)
  461.     echo m88k-motorola-sysv4
  462.     exit 0 ;;
  463.     m88k:*:3*:R3*)
  464.     echo m88k-motorola-sysv3
  465.     exit 0 ;;
  466.     AViiON:dgux:*:*)
  467.         # DG/UX returns AViiON for all architectures
  468.         UNAME_PROCESSOR=`/usr/bin/uname -p`
  469.     if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
  470.     then
  471.         if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
  472.            [ ${TARGET_BINARY_INTERFACE}x = x ]
  473.         then
  474.         echo m88k-dg-dgux${UNAME_RELEASE}
  475.         else
  476.         echo m88k-dg-dguxbcs${UNAME_RELEASE}
  477.         fi
  478.     else
  479.         echo i586-dg-dgux${UNAME_RELEASE}
  480.     fi
  481.      exit 0 ;;
  482.     M88*:DolphinOS:*:*)    # DolphinOS (SVR3)
  483.     echo m88k-dolphin-sysv3
  484.     exit 0 ;;
  485.     M88*:*:R3*:*)
  486.     # Delta 88k system running SVR3
  487.     echo m88k-motorola-sysv3
  488.     exit 0 ;;
  489.     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  490.     echo m88k-tektronix-sysv3
  491.     exit 0 ;;
  492.     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  493.     echo m68k-tektronix-bsd
  494.     exit 0 ;;
  495.     *:IRIX*:*:*)
  496.     echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
  497.     exit 0 ;;
  498.     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
  499.     echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
  500.     exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
  501.     i*86:AIX:*:*)
  502.     echo i386-ibm-aix
  503.     exit 0 ;;
  504.     ia64:AIX:*:*)
  505.     if [ -x /usr/bin/oslevel ] ; then
  506.         IBM_REV=`/usr/bin/oslevel`
  507.     else
  508.         IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  509.     fi
  510.     echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
  511.     exit 0 ;;
  512.     *:AIX:2:3)
  513.     if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  514.         eval $set_cc_for_build
  515.         sed 's/^        //' << EOF >$dummy.c
  516.         #include <sys/systemcfg.h>
  517.  
  518.         main()
  519.             {
  520.             if (!__power_pc())
  521.                 exit(1);
  522.             puts("powerpc-ibm-aix3.2.5");
  523.             exit(0);
  524.             }
  525. EOF
  526.         $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
  527.         echo rs6000-ibm-aix3.2.5
  528.     elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  529.         echo rs6000-ibm-aix3.2.4
  530.     else
  531.         echo rs6000-ibm-aix3.2
  532.     fi
  533.     exit 0 ;;
  534.     *:AIX:*:[45])
  535.     IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
  536.     if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
  537.         IBM_ARCH=rs6000
  538.     else
  539.         IBM_ARCH=powerpc
  540.     fi
  541.     if [ -x /usr/bin/oslevel ] ; then
  542.         IBM_REV=`/usr/bin/oslevel`
  543.     else
  544.         IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  545.     fi
  546.     echo ${IBM_ARCH}-ibm-aix${IBM_REV}
  547.     exit 0 ;;
  548.     *:AIX:*:*)
  549.     echo rs6000-ibm-aix
  550.     exit 0 ;;
  551.     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  552.     echo romp-ibm-bsd4.4
  553.     exit 0 ;;
  554.     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
  555.     echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
  556.     exit 0 ;;                           # report: romp-ibm BSD 4.3
  557.     *:BOSX:*:*)
  558.     echo rs6000-bull-bosx
  559.     exit 0 ;;
  560.     DPX/2?00:B.O.S.:*:*)
  561.     echo m68k-bull-sysv3
  562.     exit 0 ;;
  563.     9000/[34]??:4.3bsd:1.*:*)
  564.     echo m68k-hp-bsd
  565.     exit 0 ;;
  566.     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  567.     echo m68k-hp-bsd4.4
  568.     exit 0 ;;
  569.     9000/[34678]??:HP-UX:*:*)
  570.     HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  571.     case "${UNAME_MACHINE}" in
  572.         9000/31? )            HP_ARCH=m68000 ;;
  573.         9000/[34]?? )         HP_ARCH=m68k ;;
  574.         9000/[678][0-9][0-9])
  575.         if [ -x /usr/bin/getconf ]; then
  576.             sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
  577.                     sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
  578.                     case "${sc_cpu_version}" in
  579.                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
  580.                       528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
  581.                       532)                      # CPU_PA_RISC2_0
  582.                         case "${sc_kernel_bits}" in
  583.                           32) HP_ARCH="hppa2.0n" ;;
  584.                           64) HP_ARCH="hppa2.0w" ;;
  585.               '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
  586.                         esac ;;
  587.                     esac
  588.         fi
  589.         if [ "${HP_ARCH}" = "" ]; then
  590.             eval $set_cc_for_build
  591.             sed 's/^              //' << EOF >$dummy.c
  592.  
  593.               #define _HPUX_SOURCE
  594.               #include <stdlib.h>
  595.               #include <unistd.h>
  596.  
  597.               int main ()
  598.               {
  599.               #if defined(_SC_KERNEL_BITS)
  600.                   long bits = sysconf(_SC_KERNEL_BITS);
  601.               #endif
  602.                   long cpu  = sysconf (_SC_CPU_VERSION);
  603.  
  604.                   switch (cpu)
  605.                   {
  606.                   case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
  607.                   case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
  608.                   case CPU_PA_RISC2_0:
  609.               #if defined(_SC_KERNEL_BITS)
  610.                       switch (bits)
  611.                       {
  612.                       case 64: puts ("hppa2.0w"); break;
  613.                       case 32: puts ("hppa2.0n"); break;
  614.                       default: puts ("hppa2.0"); break;
  615.                       } break;
  616.               #else  /* !defined(_SC_KERNEL_BITS) */
  617.                       puts ("hppa2.0"); break;
  618.               #endif
  619.                   default: puts ("hppa1.0"); break;
  620.                   }
  621.                   exit (0);
  622.               }
  623. EOF
  624.             (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
  625.             test -z "$HP_ARCH" && HP_ARCH=hppa
  626.         fi ;;
  627.     esac
  628.     if [ ${HP_ARCH} = "hppa2.0w" ]
  629.     then
  630.         # avoid double evaluation of $set_cc_for_build
  631.         test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
  632.         if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
  633.         then
  634.         HP_ARCH="hppa2.0w"
  635.         else
  636.         HP_ARCH="hppa64"
  637.         fi
  638.     fi
  639.     echo ${HP_ARCH}-hp-hpux${HPUX_REV}
  640.     exit 0 ;;
  641.     ia64:HP-UX:*:*)
  642.     HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  643.     echo ia64-hp-hpux${HPUX_REV}
  644.     exit 0 ;;
  645.     3050*:HI-UX:*:*)
  646.     eval $set_cc_for_build
  647.     sed 's/^    //' << EOF >$dummy.c
  648.     #include <unistd.h>
  649.     int
  650.     main ()
  651.     {
  652.       long cpu = sysconf (_SC_CPU_VERSION);
  653.       /* The order matters, because CPU_IS_HP_MC68K erroneously returns
  654.          true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
  655.          results, however.  */
  656.       if (CPU_IS_PA_RISC (cpu))
  657.         {
  658.           switch (cpu)
  659.         {
  660.           case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
  661.           case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
  662.           case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
  663.           default: puts ("hppa-hitachi-hiuxwe2"); break;
  664.         }
  665.         }
  666.       else if (CPU_IS_HP_MC68K (cpu))
  667.         puts ("m68k-hitachi-hiuxwe2");
  668.       else puts ("unknown-hitachi-hiuxwe2");
  669.       exit (0);
  670.     }
  671. EOF
  672.     $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
  673.     echo unknown-hitachi-hiuxwe2
  674.     exit 0 ;;
  675.     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  676.     echo hppa1.1-hp-bsd
  677.     exit 0 ;;
  678.     9000/8??:4.3bsd:*:*)
  679.     echo hppa1.0-hp-bsd
  680.     exit 0 ;;
  681.     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
  682.     echo hppa1.0-hp-mpeix
  683.     exit 0 ;;
  684.     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  685.     echo hppa1.1-hp-osf
  686.     exit 0 ;;
  687.     hp8??:OSF1:*:*)
  688.     echo hppa1.0-hp-osf
  689.     exit 0 ;;
  690.     i*86:OSF1:*:*)
  691.     if [ -x /usr/sbin/sysversion ] ; then
  692.         echo ${UNAME_MACHINE}-unknown-osf1mk
  693.     else
  694.         echo ${UNAME_MACHINE}-unknown-osf1
  695.     fi
  696.     exit 0 ;;
  697.     parisc*:Lites*:*:*)
  698.     echo hppa1.1-hp-lites
  699.     exit 0 ;;
  700.     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  701.     echo c1-convex-bsd
  702.         exit 0 ;;
  703.     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  704.     if getsysinfo -f scalar_acc
  705.     then echo c32-convex-bsd
  706.     else echo c2-convex-bsd
  707.     fi
  708.         exit 0 ;;
  709.     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  710.     echo c34-convex-bsd
  711.         exit 0 ;;
  712.     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  713.     echo c38-convex-bsd
  714.         exit 0 ;;
  715.     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
  716.     echo c4-convex-bsd
  717.         exit 0 ;;
  718.     CRAY*Y-MP:*:*:*)
  719.     echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  720.     exit 0 ;;
  721.     CRAY*[A-Z]90:*:*:*)
  722.     echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
  723.     | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
  724.           -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
  725.           -e 's/\.[^.]*$/.X/'
  726.     exit 0 ;;
  727.     CRAY*TS:*:*:*)
  728.     echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  729.     exit 0 ;;
  730.     CRAY*T3E:*:*:*)
  731.     echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  732.     exit 0 ;;
  733.     CRAY*SV1:*:*:*)
  734.     echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
  735.     exit 0 ;;
  736.     *:UNICOS/mp:*:*)
  737.     echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
  738.     exit 0 ;;
  739.     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
  740.     FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  741.         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
  742.         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
  743.         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
  744.         exit 0 ;;
  745.     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
  746.     echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
  747.     exit 0 ;;
  748.     sparc*:BSD/OS:*:*)
  749.     echo sparc-unknown-bsdi${UNAME_RELEASE}
  750.     exit 0 ;;
  751.     *:BSD/OS:*:*)
  752.     echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
  753.     exit 0 ;;
  754.     *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
  755.     # Determine whether the default compiler uses glibc.
  756.     eval $set_cc_for_build
  757.     sed 's/^    //' << EOF >$dummy.c
  758.     #include <features.h>
  759.     #if __GLIBC__ >= 2
  760.     LIBC=gnu
  761.     #else
  762.     LIBC=
  763.     #endif
  764. EOF
  765.     eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
  766.     # GNU/FreeBSD systems have a "k" prefix to indicate we are using
  767.     # FreeBSD's kernel, but not the complete OS.
  768.     case ${LIBC} in gnu) kernel_only='k' ;; esac
  769.     echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
  770.     exit 0 ;;
  771.     i*:CYGWIN*:*)
  772.     echo ${UNAME_MACHINE}-pc-cygwin
  773.     exit 0 ;;
  774.     i*:MINGW*:*)
  775.     echo ${UNAME_MACHINE}-pc-mingw32
  776.     exit 0 ;;
  777.     i*:PW*:*)
  778.     echo ${UNAME_MACHINE}-pc-pw32
  779.     exit 0 ;;
  780.     x86:Interix*:[34]*)
  781.     echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
  782.     exit 0 ;;
  783.     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
  784.     echo i${UNAME_MACHINE}-pc-mks
  785.     exit 0 ;;
  786.     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
  787.     # How do we know it's Interix rather than the generic POSIX subsystem?
  788.     # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
  789.     # UNAME_MACHINE based on the output of uname instead of i386?
  790.     echo i586-pc-interix
  791.     exit 0 ;;
  792.     i*:UWIN*:*)
  793.     echo ${UNAME_MACHINE}-pc-uwin
  794.     exit 0 ;;
  795.     p*:CYGWIN*:*)
  796.     echo powerpcle-unknown-cygwin
  797.     exit 0 ;;
  798.     prep*:SunOS:5.*:*)
  799.     echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  800.     exit 0 ;;
  801.     *:GNU:*:*)
  802.     echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
  803.     exit 0 ;;
  804.     i*86:Minix:*:*)
  805.     echo ${UNAME_MACHINE}-pc-minix
  806.     exit 0 ;;
  807.     arm*:Linux:*:*)
  808.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  809.     exit 0 ;;
  810.     cris:Linux:*:*)
  811.     echo cris-axis-linux-gnu
  812.     exit 0 ;;
  813.     ia64:Linux:*:*)
  814.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  815.     exit 0 ;;
  816.     m68*:Linux:*:*)
  817.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  818.     exit 0 ;;
  819.     mips:Linux:*:*)
  820.     eval $set_cc_for_build
  821.     sed 's/^    //' << EOF >$dummy.c
  822.     #undef CPU
  823.     #undef mips
  824.     #undef mipsel
  825.     #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
  826.     CPU=mipsel
  827.     #else
  828.     #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
  829.     CPU=mips
  830.     #else
  831.     CPU=
  832.     #endif
  833.     #endif
  834. EOF
  835.     eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
  836.     test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
  837.     ;;
  838.     mips64:Linux:*:*)
  839.     eval $set_cc_for_build
  840.     sed 's/^    //' << EOF >$dummy.c
  841.     #undef CPU
  842.     #undef mips64
  843.     #undef mips64el
  844.     #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
  845.     CPU=mips64el
  846.     #else
  847.     #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
  848.     CPU=mips64
  849.     #else
  850.     CPU=
  851.     #endif
  852.     #endif
  853. EOF
  854.     eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
  855.     test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
  856.     ;;
  857.     ppc:Linux:*:*)
  858.     echo powerpc-unknown-linux-gnu
  859.     exit 0 ;;
  860.     ppc64:Linux:*:*)
  861.     echo powerpc64-unknown-linux-gnu
  862.     exit 0 ;;
  863.     alpha:Linux:*:*)
  864.     case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  865.       EV5)   UNAME_MACHINE=alphaev5 ;;
  866.       EV56)  UNAME_MACHINE=alphaev56 ;;
  867.       PCA56) UNAME_MACHINE=alphapca56 ;;
  868.       PCA57) UNAME_MACHINE=alphapca56 ;;
  869.       EV6)   UNAME_MACHINE=alphaev6 ;;
  870.       EV67)  UNAME_MACHINE=alphaev67 ;;
  871.       EV68*) UNAME_MACHINE=alphaev68 ;;
  872.         esac
  873.     objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
  874.     if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  875.     echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
  876.     exit 0 ;;
  877.     parisc:Linux:*:* | hppa:Linux:*:*)
  878.     # Look for CPU level
  879.     case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
  880.       PA7*) echo hppa1.1-unknown-linux-gnu ;;
  881.       PA8*) echo hppa2.0-unknown-linux-gnu ;;
  882.       *)    echo hppa-unknown-linux-gnu ;;
  883.     esac
  884.     exit 0 ;;
  885.     parisc64:Linux:*:* | hppa64:Linux:*:*)
  886.     echo hppa64-unknown-linux-gnu
  887.     exit 0 ;;
  888.     s390:Linux:*:* | s390x:Linux:*:*)
  889.     echo ${UNAME_MACHINE}-ibm-linux
  890.     exit 0 ;;
  891.     sh64*:Linux:*:*)
  892.         echo ${UNAME_MACHINE}-unknown-linux-gnu
  893.     exit 0 ;;
  894.     sh*:Linux:*:*)
  895.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  896.     exit 0 ;;
  897.     sparc:Linux:*:* | sparc64:Linux:*:*)
  898.     echo ${UNAME_MACHINE}-unknown-linux-gnu
  899.     exit 0 ;;
  900.     x86_64:Linux:*:*)
  901.     echo x86_64-unknown-linux-gnu
  902.     exit 0 ;;
  903.     i*86:Linux:*:*)
  904.     # The BFD linker knows what the default object file format is, so
  905.     # first see if it will tell us. cd to the root directory to prevent
  906.     # problems with other programs or directories called `ld' in the path.
  907.     # Set LC_ALL=C to ensure ld outputs messages in English.
  908.     ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
  909.              | sed -ne '/supported targets:/!d
  910.                     s/[     ][     ]*/ /g
  911.                     s/.*supported targets: *//
  912.                     s/ .*//
  913.                     p'`
  914.         case "$ld_supported_targets" in
  915.       elf32-i386)
  916.         TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
  917.         ;;
  918.       a.out-i386-linux)
  919.         echo "${UNAME_MACHINE}-pc-linux-gnuaout"
  920.         exit 0 ;;
  921.       coff-i386)
  922.         echo "${UNAME_MACHINE}-pc-linux-gnucoff"
  923.         exit 0 ;;
  924.       "")
  925.         # Either a pre-BFD a.out linker (linux-gnuoldld) or
  926.         # one that does not give us useful --help.
  927.         echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
  928.         exit 0 ;;
  929.     esac
  930.     # Determine whether the default compiler is a.out or elf
  931.     eval $set_cc_for_build
  932.     sed 's/^    //' << EOF >$dummy.c
  933.     #include <features.h>
  934.     #ifdef __ELF__
  935.     # ifdef __GLIBC__
  936.     #  if __GLIBC__ >= 2
  937.     LIBC=gnu
  938.     #  else
  939.     LIBC=gnulibc1
  940.     #  endif
  941.     # else
  942.     LIBC=gnulibc1
  943.     # endif
  944.     #else
  945.     #ifdef __INTEL_COMPILER
  946.     LIBC=gnu
  947.     #else
  948.     LIBC=gnuaout
  949.     #endif
  950.     #endif
  951. EOF
  952.     eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
  953.     test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
  954.     test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
  955.     ;;
  956.     i*86:DYNIX/ptx:4*:*)
  957.     # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  958.     # earlier versions are messed up and put the nodename in both
  959.     # sysname and nodename.
  960.     echo i386-sequent-sysv4
  961.     exit 0 ;;
  962.     i*86:UNIX_SV:4.2MP:2.*)
  963.         # Unixware is an offshoot of SVR4, but it has its own version
  964.         # number series starting with 2...
  965.         # I am not positive that other SVR4 systems won't match this,
  966.     # I just have to hope.  -- rms.
  967.         # Use sysv4.2uw... so that sysv4* matches it.
  968.     echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
  969.     exit 0 ;;
  970.     i*86:OS/2:*:*)
  971.     # If we were able to find `uname', then EMX Unix compatibility
  972.     # is probably installed.
  973.     echo ${UNAME_MACHINE}-pc-os2-emx
  974.     exit 0 ;;
  975.     i*86:XTS-300:*:STOP)
  976.     echo ${UNAME_MACHINE}-unknown-stop
  977.     exit 0 ;;
  978.     i*86:atheos:*:*)
  979.     echo ${UNAME_MACHINE}-unknown-atheos
  980.     exit 0 ;;
  981.     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
  982.     echo i386-unknown-lynxos${UNAME_RELEASE}
  983.     exit 0 ;;
  984.     i*86:*DOS:*:*)
  985.     echo ${UNAME_MACHINE}-pc-msdosdjgpp
  986.     exit 0 ;;
  987.     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
  988.     UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
  989.     if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
  990.         echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
  991.     else
  992.         echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  993.     fi
  994.     exit 0 ;;
  995.     i*86:*:5:[78]*)
  996.     case `/bin/uname -X | grep "^Machine"` in
  997.         *486*)         UNAME_MACHINE=i486 ;;
  998.         *Pentium)         UNAME_MACHINE=i586 ;;
  999.         *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
  1000.     esac
  1001.     echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
  1002.     exit 0 ;;
  1003.     i*86:*:3.2:*)
  1004.     if test -f /usr/options/cb.name; then
  1005.         UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
  1006.         echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
  1007.     elif /bin/uname -X 2>/dev/null >/dev/null ; then
  1008.         UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
  1009.         (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
  1010.         (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
  1011.             && UNAME_MACHINE=i586
  1012.         (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
  1013.             && UNAME_MACHINE=i686
  1014.         (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
  1015.             && UNAME_MACHINE=i686
  1016.         echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
  1017.     else
  1018.         echo ${UNAME_MACHINE}-pc-sysv32
  1019.     fi
  1020.     exit 0 ;;
  1021.     pc:*:*:*)
  1022.     # Left here for compatibility:
  1023.         # uname -m prints for DJGPP always 'pc', but it prints nothing about
  1024.         # the processor, so we play safe by assuming i386.
  1025.     echo i386-pc-msdosdjgpp
  1026.         exit 0 ;;
  1027.     Intel:Mach:3*:*)
  1028.     echo i386-pc-mach3
  1029.     exit 0 ;;
  1030.     paragon:*:*:*)
  1031.     echo i860-intel-osf1
  1032.     exit 0 ;;
  1033.     i860:*:4.*:*) # i860-SVR4
  1034.     if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  1035.       echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  1036.     else # Add other i860-SVR4 vendors below as they are discovered.
  1037.       echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  1038.     fi
  1039.     exit 0 ;;
  1040.     mini*:CTIX:SYS*5:*)
  1041.     # "miniframe"
  1042.     echo m68010-convergent-sysv
  1043.     exit 0 ;;
  1044.     mc68k:UNIX:SYSTEM5:3.51m)
  1045.     echo m68k-convergent-sysv
  1046.     exit 0 ;;
  1047.     M680?0:D-NIX:5.3:*)
  1048.     echo m68k-diab-dnix
  1049.     exit 0 ;;
  1050.     M68*:*:R3V[567]*:*)
  1051.     test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
  1052.     3[34]??:*: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)
  1053.     OS_REL=''
  1054.     test -r /etc/.relid \
  1055.     && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  1056.     /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1057.       && echo i486-ncr-sysv4.3${OS_REL} && exit 0
  1058.     /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
  1059.       && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
  1060.     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
  1061.         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
  1062.           && echo i486-ncr-sysv4 && exit 0 ;;
  1063.     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  1064.     echo m68k-unknown-lynxos${UNAME_RELEASE}
  1065.     exit 0 ;;
  1066.     mc68030:UNIX_System_V:4.*:*)
  1067.     echo m68k-atari-sysv4
  1068.     exit 0 ;;
  1069.     TSUNAMI:LynxOS:2.*:*)
  1070.     echo sparc-unknown-lynxos${UNAME_RELEASE}
  1071.     exit 0 ;;
  1072.     rs6000:LynxOS:2.*:*)
  1073.     echo rs6000-unknown-lynxos${UNAME_RELEASE}
  1074.     exit 0 ;;
  1075.     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
  1076.     echo powerpc-unknown-lynxos${UNAME_RELEASE}
  1077.     exit 0 ;;
  1078.     SM[BE]S:UNIX_SV:*:*)
  1079.     echo mips-dde-sysv${UNAME_RELEASE}
  1080.     exit 0 ;;
  1081.     RM*:ReliantUNIX-*:*:*)
  1082.     echo mips-sni-sysv4
  1083.     exit 0 ;;
  1084.     RM*:SINIX-*:*:*)
  1085.     echo mips-sni-sysv4
  1086.     exit 0 ;;
  1087.     *:SINIX-*:*:*)
  1088.     if uname -p 2>/dev/null >/dev/null ; then
  1089.         UNAME_MACHINE=`(uname -p) 2>/dev/null`
  1090.         echo ${UNAME_MACHINE}-sni-sysv4
  1091.     else
  1092.         echo ns32k-sni-sysv
  1093.     fi
  1094.     exit 0 ;;
  1095.     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
  1096.                       # says <Richard.M.Bartel@ccMail.Census.GOV>
  1097.         echo i586-unisys-sysv4
  1098.         exit 0 ;;
  1099.     *:UNIX_System_V:4*:FTX*)
  1100.     # From Gerald Hewes <hewes@openmarket.com>.
  1101.     # How about differentiating between stratus architectures? -djm
  1102.     echo hppa1.1-stratus-sysv4
  1103.     exit 0 ;;
  1104.     *:*:*:FTX*)
  1105.     # From seanf@swdc.stratus.com.
  1106.     echo i860-stratus-sysv4
  1107.     exit 0 ;;
  1108.     *:VOS:*:*)
  1109.     # From Paul.Green@stratus.com.
  1110.     echo hppa1.1-stratus-vos
  1111.     exit 0 ;;
  1112.     mc68*:A/UX:*:*)
  1113.     echo m68k-apple-aux${UNAME_RELEASE}
  1114.     exit 0 ;;
  1115.     news*:NEWS-OS:6*:*)
  1116.     echo mips-sony-newsos6
  1117.     exit 0 ;;
  1118.     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  1119.     if [ -d /usr/nec ]; then
  1120.             echo mips-nec-sysv${UNAME_RELEASE}
  1121.     else
  1122.             echo mips-unknown-sysv${UNAME_RELEASE}
  1123.     fi
  1124.         exit 0 ;;
  1125.     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
  1126.     echo powerpc-be-beos
  1127.     exit 0 ;;
  1128.     BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
  1129.     echo powerpc-apple-beos
  1130.     exit 0 ;;
  1131.     BePC:BeOS:*:*)    # BeOS running on Intel PC compatible.
  1132.     echo i586-pc-beos
  1133.     exit 0 ;;
  1134.     SX-4:SUPER-UX:*:*)
  1135.     echo sx4-nec-superux${UNAME_RELEASE}
  1136.     exit 0 ;;
  1137.     SX-5:SUPER-UX:*:*)
  1138.     echo sx5-nec-superux${UNAME_RELEASE}
  1139.     exit 0 ;;
  1140.     SX-6:SUPER-UX:*:*)
  1141.     echo sx6-nec-superux${UNAME_RELEASE}
  1142.     exit 0 ;;
  1143.     Power*:Rhapsody:*:*)
  1144.     echo powerpc-apple-rhapsody${UNAME_RELEASE}
  1145.     exit 0 ;;
  1146.     *:Rhapsody:*:*)
  1147.     echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
  1148.     exit 0 ;;
  1149.     *:Darwin:*:*)
  1150.     case `uname -p` in
  1151.         *86) UNAME_PROCESSOR=i686 ;;
  1152.         powerpc) UNAME_PROCESSOR=powerpc ;;
  1153.     esac
  1154.     echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
  1155.     exit 0 ;;
  1156.     *:procnto*:*:* | *:QNX:[0123456789]*:*)
  1157.     UNAME_PROCESSOR=`uname -p`
  1158.     if test "$UNAME_PROCESSOR" = "x86"; then
  1159.         UNAME_PROCESSOR=i386
  1160.         UNAME_MACHINE=pc
  1161.     fi
  1162.     echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
  1163.     exit 0 ;;
  1164.     *:QNX:*:4*)
  1165.     echo i386-pc-qnx
  1166.     exit 0 ;;
  1167.     NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
  1168.     echo nsr-tandem-nsk${UNAME_RELEASE}
  1169.     exit 0 ;;
  1170.     *:NonStop-UX:*:*)
  1171.     echo mips-compaq-nonstopux
  1172.     exit 0 ;;
  1173.     BS2000:POSIX*:*:*)
  1174.     echo bs2000-siemens-sysv
  1175.     exit 0 ;;
  1176.     DS/*:UNIX_System_V:*:*)
  1177.     echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
  1178.     exit 0 ;;
  1179.     *:Plan9:*:*)
  1180.     # "uname -m" is not consistent, so use $cputype instead. 386
  1181.     # is converted to i386 for consistency with other x86
  1182.     # operating systems.
  1183.     if test "$cputype" = "386"; then
  1184.         UNAME_MACHINE=i386
  1185.     else
  1186.         UNAME_MACHINE="$cputype"
  1187.     fi
  1188.     echo ${UNAME_MACHINE}-unknown-plan9
  1189.     exit 0 ;;
  1190.     *:TOPS-10:*:*)
  1191.     echo pdp10-unknown-tops10
  1192.     exit 0 ;;
  1193.     *:TENEX:*:*)
  1194.     echo pdp10-unknown-tenex
  1195.     exit 0 ;;
  1196.     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
  1197.     echo pdp10-dec-tops20
  1198.     exit 0 ;;
  1199.     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
  1200.     echo pdp10-xkl-tops20
  1201.     exit 0 ;;
  1202.     *:TOPS-20:*:*)
  1203.     echo pdp10-unknown-tops20
  1204.     exit 0 ;;
  1205.     *:ITS:*:*)
  1206.     echo pdp10-unknown-its
  1207.     exit 0 ;;
  1208.     SEI:*:*:SEIUX)
  1209.         echo mips-sei-seiux${UNAME_RELEASE}
  1210.     exit 0 ;;
  1211. esac
  1212.  
  1213. #echo '(No uname command or uname output not recognized.)' 1>&2
  1214. #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
  1215.  
  1216. eval $set_cc_for_build
  1217. cat >$dummy.c <<EOF
  1218. #ifdef _SEQUENT_
  1219. # include <sys/types.h>
  1220. # include <sys/utsname.h>
  1221. #endif
  1222. main ()
  1223. {
  1224. #if defined (sony)
  1225. #if defined (MIPSEB)
  1226.   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
  1227.      I don't know....  */
  1228.   printf ("mips-sony-bsd\n"); exit (0);
  1229. #else
  1230. #include <sys/param.h>
  1231.   printf ("m68k-sony-newsos%s\n",
  1232. #ifdef NEWSOS4
  1233.           "4"
  1234. #else
  1235.       ""
  1236. #endif
  1237.          ); exit (0);
  1238. #endif
  1239. #endif
  1240.  
  1241. #if defined (__arm) && defined (__acorn) && defined (__unix)
  1242.   printf ("arm-acorn-riscix"); exit (0);
  1243. #endif
  1244.  
  1245. #if defined (hp300) && !defined (hpux)
  1246.   printf ("m68k-hp-bsd\n"); exit (0);
  1247. #endif
  1248.  
  1249. #if defined (NeXT)
  1250. #if !defined (__ARCHITECTURE__)
  1251. #define __ARCHITECTURE__ "m68k"
  1252. #endif
  1253.   int version;
  1254.   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
  1255.   if (version < 4)
  1256.     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  1257.   else
  1258.     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
  1259.   exit (0);
  1260. #endif
  1261.  
  1262. #if defined (MULTIMAX) || defined (n16)
  1263. #if defined (UMAXV)
  1264.   printf ("ns32k-encore-sysv\n"); exit (0);
  1265. #else
  1266. #if defined (CMU)
  1267.   printf ("ns32k-encore-mach\n"); exit (0);
  1268. #else
  1269.   printf ("ns32k-encore-bsd\n"); exit (0);
  1270. #endif
  1271. #endif
  1272. #endif
  1273.  
  1274. #if defined (__386BSD__)
  1275.   printf ("i386-pc-bsd\n"); exit (0);
  1276. #endif
  1277.  
  1278. #if defined (sequent)
  1279. #if defined (i386)
  1280.   printf ("i386-sequent-dynix\n"); exit (0);
  1281. #endif
  1282. #if defined (ns32000)
  1283.   printf ("ns32k-sequent-dynix\n"); exit (0);
  1284. #endif
  1285. #endif
  1286.  
  1287. #if defined (_SEQUENT_)
  1288.     struct utsname un;
  1289.  
  1290.     uname(&un);
  1291.  
  1292.     if (strncmp(un.version, "V2", 2) == 0) {
  1293.     printf ("i386-sequent-ptx2\n"); exit (0);
  1294.     }
  1295.     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
  1296.     printf ("i386-sequent-ptx1\n"); exit (0);
  1297.     }
  1298.     printf ("i386-sequent-ptx\n"); exit (0);
  1299.  
  1300. #endif
  1301.  
  1302. #if defined (vax)
  1303. # if !defined (ultrix)
  1304. #  include <sys/param.h>
  1305. #  if defined (BSD)
  1306. #   if BSD == 43
  1307.       printf ("vax-dec-bsd4.3\n"); exit (0);
  1308. #   else
  1309. #    if BSD == 199006
  1310.       printf ("vax-dec-bsd4.3reno\n"); exit (0);
  1311. #    else
  1312.       printf ("vax-dec-bsd\n"); exit (0);
  1313. #    endif
  1314. #   endif
  1315. #  else
  1316.     printf ("vax-dec-bsd\n"); exit (0);
  1317. #  endif
  1318. # else
  1319.     printf ("vax-dec-ultrix\n"); exit (0);
  1320. # endif
  1321. #endif
  1322.  
  1323. #if defined (alliant) && defined (i860)
  1324.   printf ("i860-alliant-bsd\n"); exit (0);
  1325. #endif
  1326.  
  1327.   exit (1);
  1328. }
  1329. EOF
  1330.  
  1331. $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
  1332.  
  1333. # Apollos put the system type in the environment.
  1334.  
  1335. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
  1336.  
  1337. # Convex versions that predate uname can use getsysinfo(1)
  1338.  
  1339. if [ -x /usr/convex/getsysinfo ]
  1340. then
  1341.     case `getsysinfo -f cpu_type` in
  1342.     c1*)
  1343.     echo c1-convex-bsd
  1344.     exit 0 ;;
  1345.     c2*)
  1346.     if getsysinfo -f scalar_acc
  1347.     then echo c32-convex-bsd
  1348.     else echo c2-convex-bsd
  1349.     fi
  1350.     exit 0 ;;
  1351.     c34*)
  1352.     echo c34-convex-bsd
  1353.     exit 0 ;;
  1354.     c38*)
  1355.     echo c38-convex-bsd
  1356.     exit 0 ;;
  1357.     c4*)
  1358.     echo c4-convex-bsd
  1359.     exit 0 ;;
  1360.     esac
  1361. fi
  1362.  
  1363. cat >&2 <<EOF
  1364. $0: unable to guess system type
  1365.  
  1366. This script, last modified $timestamp, has failed to recognize
  1367. the operating system you are using. It is advised that you
  1368. download the most up to date version of the config scripts from
  1369.  
  1370.     ftp://ftp.gnu.org/pub/gnu/config/
  1371.  
  1372. If the version you run ($0) is already up to date, please
  1373. send the following data and any information you think might be
  1374. pertinent to <config-patches@gnu.org> in order to provide the needed
  1375. information to handle your system.
  1376.  
  1377. config.guess timestamp = $timestamp
  1378.  
  1379. uname -m = `(uname -m) 2>/dev/null || echo unknown`
  1380. uname -r = `(uname -r) 2>/dev/null || echo unknown`
  1381. uname -s = `(uname -s) 2>/dev/null || echo unknown`
  1382. uname -v = `(uname -v) 2>/dev/null || echo unknown`
  1383.  
  1384. /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
  1385. /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
  1386.  
  1387. hostinfo               = `(hostinfo) 2>/dev/null`
  1388. /bin/universe          = `(/bin/universe) 2>/dev/null`
  1389. /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
  1390. /bin/arch              = `(/bin/arch) 2>/dev/null`
  1391. /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
  1392. /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
  1393.  
  1394. UNAME_MACHINE = ${UNAME_MACHINE}
  1395. UNAME_RELEASE = ${UNAME_RELEASE}
  1396. UNAME_SYSTEM  = ${UNAME_SYSTEM}
  1397. UNAME_VERSION = ${UNAME_VERSION}
  1398. EOF
  1399.  
  1400. exit 1
  1401.  
  1402. # Local variables:
  1403. # eval: (add-hook 'write-file-hooks 'time-stamp)
  1404. # time-stamp-start: "timestamp='"
  1405. # time-stamp-format: "%:y-%02m-%02d"
  1406. # time-stamp-end: "'"
  1407. # End:
  1408.