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