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