~ubuntu-branches/debian/sid/grip/sid

« back to all changes in this revision

Viewing changes to config.guess

  • Committer: Bazaar Package Importer
  • Author(s): Taku YASUI
  • Date: 2002-04-15 12:34:02 UTC
  • Revision ID: james.westby@ubuntu.com-20020415123402-868ezmdfi1yzu1tv
Tags: upstream-3.0.0
ImportĀ upstreamĀ versionĀ 3.0.0

Show diffs side-by-side

added added

removed removed

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