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