2
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.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002 Free Software Foundation, Inc.
8
8
# This file is free software; you can redistribute it and/or modify it
9
9
# under the terms of the GNU General Public License as published by
24
24
# configuration script generated by Autoconf, you may include it under
25
25
# the same distribution terms that you use for the rest of that program.
27
# Written by Per Bothner <bothner@cygnus.com>.
28
# Please send patches to <config-patches@gnu.org>.
27
# Originally written by Per Bothner <per@bothner.com>.
28
# Please send patches to <config-patches@gnu.org>. Submit a context
29
# diff and a properly formatted ChangeLog entry.
30
31
# This script attempts to guess a canonical system name similar to
31
32
# config.sub. If it succeeds, it prints the system name on stdout, and
92
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94
# CC_FOR_BUILD -- compiler used by this script.
93
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94
# compiler to aid in system detection is discouraged as it requires
95
# temporary files to be created and, as you can see below, it is a
96
# headache to deal with in a portable fashion.
95
98
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
96
99
# use `HOST_CC' if defined, but it is deprecated.
98
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
99
,,) echo "int dummy(){}" > $dummy.c ;
100
for c in cc gcc c89 ; do
101
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
102
if test $? = 0 ; then
101
# This shell variable is my proudest work .. or something. --bje
103
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
104
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
105
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
106
dummy=$tmpdir/dummy ;
107
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
108
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
109
case $CC_FOR_BUILD,$HOST_CC,$CC in
110
,,) echo "int x;" > $dummy.c ;
111
for c in cc gcc c89 c99 ; do
112
if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
103
113
CC_FOR_BUILD="$c"; break ;
106
rm -f $dummy.c $dummy.o $dummy.rel ;
107
117
if test x"$CC_FOR_BUILD" = x ; then
108
118
CC_FOR_BUILD=no_compiler_found ;
111
121
,,*) CC_FOR_BUILD=$CC ;;
112
122
,*,*) CC_FOR_BUILD=$HOST_CC ;;
115
126
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
116
127
# (ghazi@noc.rutgers.edu 1994-08-24)
128
139
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130
# Netbsd (nbsd) targets should (where applicable) match one or
141
# NetBSD (nbsd) targets should (where applicable) match one or
131
142
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
132
143
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
133
144
# switched to ELF, *-*-netbsd* would select the old
134
145
# object file format. This provides both forward
135
146
# compatibility and a consistent mechanism for selecting the
136
147
# 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 ;;
149
# Note: NetBSD doesn't particularly care about the vendor
150
# portion of the name. We always set it to "unknown".
151
sysctl="sysctl -n hw.machine_arch"
152
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
153
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
154
case "${UNAME_MACHINE_ARCH}" in
155
armeb) machine=armeb-unknown ;;
156
arm*) machine=arm-unknown ;;
157
sh3el) machine=shl-unknown ;;
158
sh3eb) machine=sh-unknown ;;
159
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
149
161
# The Operating System including object format, if it has switched
150
162
# 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)
163
case "${UNAME_MACHINE_ARCH}" in
164
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
153
165
eval $set_cc_for_build
154
166
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
155
167
| grep __ELF__ >/dev/null
172
184
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173
185
echo "${machine}-${os}${release}"
188
echo m68k-unknown-openbsd${UNAME_RELEASE}
191
echo mipsel-unknown-openbsd${UNAME_RELEASE}
194
echo m68k-unknown-openbsd${UNAME_RELEASE}
197
echo m68k-unknown-openbsd${UNAME_RELEASE}
200
echo powerpc-unknown-openbsd${UNAME_RELEASE}
203
echo m68k-unknown-openbsd${UNAME_RELEASE}
206
echo m88k-unknown-openbsd${UNAME_RELEASE}
209
echo powerpc-unknown-openbsd${UNAME_RELEASE}
212
echo mipsel-unknown-openbsd${UNAME_RELEASE}
215
echo mipseb-unknown-openbsd${UNAME_RELEASE}
218
echo m68k-unknown-openbsd${UNAME_RELEASE}
221
echo mipsel-unknown-openbsd${UNAME_RELEASE}
224
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
176
227
if test $UNAME_RELEASE = "V4.0"; then
177
228
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
247
301
Amiga*:UNIX_System_V:4.0:*)
248
302
echo m68k-unknown-sysv4
251
echo m68k-unknown-openbsd${UNAME_RELEASE}
253
304
*:[Aa]miga[Oo][Ss]:*:*)
254
305
echo ${UNAME_MACHINE}-unknown-amigaos
257
echo mips64el-unknown-openbsd${UNAME_RELEASE}
260
echo mipsel-unknown-openbsd${UNAME_RELEASE}
263
echo mips-unknown-openbsd${UNAME_RELEASE}
266
echo mipsel-unknown-openbsd${UNAME_RELEASE}
269
echo mips-unknown-openbsd${UNAME_RELEASE}
272
echo mipsel-unknown-openbsd${UNAME_RELEASE}
307
*:[Mm]orph[Oo][Ss]:*:*)
308
echo ${UNAME_MACHINE}-unknown-morphos
275
311
echo i370-ibm-openedition
292
328
echo pyramid-pyramid-svr4
330
DRS?6000:UNIX_SV:4.2*:7*)
331
case `/usr/bin/uname -p` in
332
sparc) echo sparc-icl-nx7 && exit 0 ;;
294
334
sun4H:SunOS:5.*:*)
295
335
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319
359
echo m68k-sun-sunos${UNAME_RELEASE}
322
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
362
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
323
363
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
324
364
case "`/bin/arch`" in
334
374
echo sparc-auspex-sunos${UNAME_RELEASE}
337
echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
340
echo m68k-unknown-openbsd${UNAME_RELEASE}
342
376
# The situation for MiNT is a little confusing. The machine name
343
377
# can be virtually everything (everything which is not
344
378
# "atarist" or "atariste" at least should have a processor
365
399
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
366
400
echo m68k-unknown-mint${UNAME_RELEASE}
369
echo m68k-unknown-openbsd${UNAME_RELEASE}
372
echo m68k-unknown-openbsd${UNAME_RELEASE}
375
echo m68k-unknown-openbsd${UNAME_RELEASE}
378
echo m88k-unknown-openbsd${UNAME_RELEASE}
380
402
powerpc:machten:*:*)
381
403
echo powerpc-apple-machten${UNAME_RELEASE}
418
440
$CC_FOR_BUILD $dummy.c -o $dummy \
419
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420
&& rm -f $dummy.c $dummy && exit 0
421
rm -f $dummy.c $dummy
441
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
442
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
443
rm -f $dummy.c $dummy && rmdir $tmpdir
422
444
echo mips-mips-riscos${UNAME_RELEASE}
424
446
Motorola:PowerMAX_OS:*:*)
425
447
echo powerpc-motorola-powermax
449
Motorola:*:4.3:PL8-*)
450
echo powerpc-harris-powermax
452
Night_Hawk:*:*:PowerMAX_OS)
453
echo powerpc-harris-powermax
427
455
Night_Hawk:Power_UNIX:*:*)
428
456
echo powerpc-harris-powerunix
546
574
9000/31? ) HP_ARCH=m68000 ;;
547
575
9000/[34]?? ) HP_ARCH=m68k ;;
548
576
9000/[678][0-9][0-9])
549
case "${HPUX_REV}" in
551
if [ -x /usr/bin/getconf ]; then
552
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
577
if [ -x /usr/bin/getconf ]; then
578
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
553
579
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
554
580
case "${sc_cpu_version}" in
555
581
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
558
584
case "${sc_kernel_bits}" in
559
585
32) HP_ARCH="hppa2.0n" ;;
560
586
64) HP_ARCH="hppa2.0w" ;;
587
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
565
if [ "${HP_ARCH}" = "" ]; then
566
eval $set_cc_for_build
567
sed 's/^ //' << EOF >$dummy.c
591
if [ "${HP_ARCH}" = "" ]; then
592
eval $set_cc_for_build
593
sed 's/^ //' << EOF >$dummy.c
569
595
#define _HPUX_SOURCE
570
596
#include <stdlib.h>
600
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
601
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
602
rm -f $dummy.c $dummy
626
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
627
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
628
rm -f $dummy.c $dummy && rmdir $tmpdir
605
631
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
638
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
639
rm -f $dummy.c $dummy
664
$CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
665
rm -f $dummy.c $dummy && rmdir $tmpdir
640
666
echo unknown-hitachi-hiuxwe2
642
668
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
710
730
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
713
echo cray2-cray-unicos
715
732
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
716
733
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
717
734
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
718
735
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
719
736
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
722
echo m68k-unknown-openbsd${UNAME_RELEASE}
724
738
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
725
739
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
731
745
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
734
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
737
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
748
# Determine whether the default compiler uses glibc.
749
eval $set_cc_for_build
750
sed 's/^ //' << EOF >$dummy.c
751
#include <features.h>
758
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
759
rm -f $dummy.c && rmdir $tmpdir
760
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
740
763
echo ${UNAME_MACHINE}-pc-cygwin
770
796
echo ${UNAME_MACHINE}-unknown-linux-gnu
773
echo ${UNAME_MACHINE}-unknown-linux
799
echo ${UNAME_MACHINE}-unknown-linux-gnu
776
802
echo ${UNAME_MACHINE}-unknown-linux-gnu
779
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
780
big) echo mips-unknown-linux-gnu && exit 0 ;;
781
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
805
eval $set_cc_for_build
806
sed 's/^ //' << EOF >$dummy.c
810
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
813
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
820
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
821
rm -f $dummy.c && rmdir $tmpdir
822
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
785
825
echo powerpc-unknown-linux-gnu
828
868
# The BFD linker knows what the default object file format is, so
829
869
# first see if it will tell us. cd to the root directory to prevent
830
870
# problems with other programs or directories called `ld' in the path.
831
ld_supported_targets=`cd /; ld --help 2>&1 \
871
# Set LC_ALL=C to ensure ld outputs messages in English.
872
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
832
873
| sed -ne '/supported targets:/!d
834
875
s/.*supported targets: *//
853
894
# Determine whether the default compiler is a.out or elf
854
895
eval $set_cc_for_build
856
#include <features.h>
858
#include <stdio.h> /* for printf() prototype */
859
int main (int argc, char *argv[]) {
861
int main (argc, argv) int argc; char *argv[]; {
866
printf ("%s-pc-linux-gnu\n", argv[1]);
868
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
871
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
874
printf ("%s-pc-linux-gnuaout\n", argv[1]);
896
sed 's/^ //' << EOF >$dummy.c
897
#include <features.h>
909
#ifdef __INTEL_COMPILER
879
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
880
rm -f $dummy.c $dummy
916
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
917
rm -f $dummy.c && rmdir $tmpdir
918
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
881
919
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
883
921
i*86:DYNIX/ptx:4*:*)
915
953
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
916
954
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
917
955
elif /bin/uname -X 2>/dev/null >/dev/null ; then
918
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
919
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
920
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
956
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
957
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
958
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
921
959
&& UNAME_MACHINE=i586
922
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
960
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
923
961
&& UNAME_MACHINE=i686
924
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
962
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
925
963
&& UNAME_MACHINE=i686
926
964
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
955
993
echo m68010-convergent-sysv
995
mc68k:UNIX:SYSTEM5:3.51m)
996
echo m68k-convergent-sysv
957
998
M68*:*:R3V[567]*:*)
958
999
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
959
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
1000
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)
961
1002
test -r /etc/.relid \
962
1003
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1057
1101
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1059
1103
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1060
if test "${UNAME_MACHINE}" = "x86pc"; then
1104
UNAME_PROCESSOR=`uname -p`
1105
if test "$UNAME_PROCESSOR" = "x86"; then
1106
UNAME_PROCESSOR=i386
1061
1107
UNAME_MACHINE=pc
1063
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1109
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1066
1112
echo i386-pc-qnx
1068
NSR-[KW]:NONSTOP_KERNEL:*:*)
1114
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1069
1115
echo nsr-tandem-nsk${UNAME_RELEASE}
1071
1117
*:NonStop-UX:*:*)