home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / config.guess < prev    next >
Text File  |  2001-10-14  |  40KB  |  1,318 lines

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