aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorcatatsuy <catatsuy@catatsuy.org>2022-11-03 15:17:29 +0900
committercatatsuy <catatsuy@catatsuy.org>2022-11-03 15:17:29 +0900
commita08e4fbb3f6b6c885302c133b39d36646edfab44 (patch)
tree1d210967458458bff00c7d86fdbf3cfb0b4ef538 /scripts
parent6e1d17c2746defbf4bf9b2c72983f13a7277bab2 (diff)
downloadportable-a08e4fbb3f6b6c885302c133b39d36646edfab44.tar.gz
portable-a08e4fbb3f6b6c885302c133b39d36646edfab44.tar.bz2
portable-a08e4fbb3f6b6c885302c133b39d36646edfab44.zip
update config.sub and config.guess for M1 Mac
config.sub and config.guess on LibreSSL are very old. To build LibreSSL on M1 Mac, we need to update config.sub.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/config.guess1711
-rw-r--r--scripts/config.sub2664
2 files changed, 2398 insertions, 1977 deletions
diff --git a/scripts/config.guess b/scripts/config.guess
index b82ee23..980b020 100644
--- a/scripts/config.guess
+++ b/scripts/config.guess
@@ -1,12 +1,14 @@
1#! /bin/sh 1#! /bin/sh
2# Attempt to guess a canonical system name. 2# Attempt to guess a canonical system name.
3# Copyright 1992-2015 Free Software Foundation, Inc. 3# Copyright 1992-2022 Free Software Foundation, Inc.
4 4
5timestamp='2015-12-14' 5# shellcheck disable=SC2006,SC2268 # see below for rationale
6
7timestamp='2022-09-17'
6 8
7# This file is free software; you can redistribute it and/or modify it 9# 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 10# under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 3 of the License, or 11# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version. 12# (at your option) any later version.
11# 13#
12# This program is distributed in the hope that it will be useful, but 14# This program is distributed in the hope that it will be useful, but
@@ -15,7 +17,7 @@ timestamp='2015-12-14'
15# General Public License for more details. 17# General Public License for more details.
16# 18#
17# You should have received a copy of the GNU General Public License 19# You should have received a copy of the GNU General Public License
18# along with this program; if not, see <http://www.gnu.org/licenses/>. 20# along with this program; if not, see <https://www.gnu.org/licenses/>.
19# 21#
20# As a special exception to the GNU General Public License, if you 22# As a special exception to the GNU General Public License, if you
21# distribute this file as part of a program that contains a 23# distribute this file as part of a program that contains a
@@ -27,11 +29,19 @@ timestamp='2015-12-14'
27# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 29# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28# 30#
29# You can get the latest version of this script from: 31# You can get the latest version of this script from:
30# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 32# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
31# 33#
32# Please send patches to <config-patches@gnu.org>. 34# Please send patches to <config-patches@gnu.org>.
33 35
34 36
37# The "shellcheck disable" line above the timestamp inhibits complaints
38# about features and limitations of the classic Bourne shell that were
39# superseded or lifted in POSIX. However, this script identifies a wide
40# variety of pre-POSIX systems that do not have POSIX shells at all, and
41# even some reasonably current systems (Solaris 10 as case-in-point) still
42# have a pre-POSIX /bin/sh.
43
44
35me=`echo "$0" | sed -e 's,.*/,,'` 45me=`echo "$0" | sed -e 's,.*/,,'`
36 46
37usage="\ 47usage="\
@@ -39,7 +49,7 @@ Usage: $0 [OPTION]
39 49
40Output the configuration name of the system \`$me' is run on. 50Output the configuration name of the system \`$me' is run on.
41 51
42Operation modes: 52Options:
43 -h, --help print this help, then exit 53 -h, --help print this help, then exit
44 -t, --time-stamp print date of last modification, then exit 54 -t, --time-stamp print date of last modification, then exit
45 -v, --version print version number, then exit 55 -v, --version print version number, then exit
@@ -50,7 +60,7 @@ version="\
50GNU config.guess ($timestamp) 60GNU config.guess ($timestamp)
51 61
52Originally written by Per Bothner. 62Originally written by Per Bothner.
53Copyright 1992-2015 Free Software Foundation, Inc. 63Copyright 1992-2022 Free Software Foundation, Inc.
54 64
55This is free software; see the source for copying conditions. There is NO 65This is free software; see the source for copying conditions. There is NO
56warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 66warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -84,7 +94,8 @@ if test $# != 0; then
84 exit 1 94 exit 1
85fi 95fi
86 96
87trap 'exit 1' 1 2 15 97# Just in case it came from the environment.
98GUESS=
88 99
89# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 100# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90# compiler to aid in system detection is discouraged as it requires 101# compiler to aid in system detection is discouraged as it requires
@@ -96,66 +107,90 @@ trap 'exit 1' 1 2 15
96 107
97# Portable tmp directory creation inspired by the Autoconf team. 108# Portable tmp directory creation inspired by the Autoconf team.
98 109
99set_cc_for_build=' 110tmp=
100trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 111# shellcheck disable=SC2172
101trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 112trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
102: ${TMPDIR=/tmp} ; 113
103 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 114set_cc_for_build() {
104 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 115 # prevent multiple calls if $tmp is already set
105 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 116 test "$tmp" && return 0
106 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 117 : "${TMPDIR=/tmp}"
107dummy=$tmp/dummy ; 118 # shellcheck disable=SC2039,SC3028
108tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 119 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
109case $CC_FOR_BUILD,$HOST_CC,$CC in 120 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
110 ,,) echo "int x;" > $dummy.c ; 121 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
111 for c in cc gcc c89 c99 ; do 122 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
112 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 123 dummy=$tmp/dummy
113 CC_FOR_BUILD="$c"; break ; 124 case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
114 fi ; 125 ,,) echo "int x;" > "$dummy.c"
115 done ; 126 for driver in cc gcc c89 c99 ; do
116 if test x"$CC_FOR_BUILD" = x ; then 127 if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
117 CC_FOR_BUILD=no_compiler_found ; 128 CC_FOR_BUILD=$driver
118 fi 129 break
119 ;; 130 fi
120 ,,*) CC_FOR_BUILD=$CC ;; 131 done
121 ,*,*) CC_FOR_BUILD=$HOST_CC ;; 132 if test x"$CC_FOR_BUILD" = x ; then
122esac ; set_cc_for_build= ;' 133 CC_FOR_BUILD=no_compiler_found
134 fi
135 ;;
136 ,,*) CC_FOR_BUILD=$CC ;;
137 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
138 esac
139}
123 140
124# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 141# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125# (ghazi@noc.rutgers.edu 1994-08-24) 142# (ghazi@noc.rutgers.edu 1994-08-24)
126if (test -f /.attbin/uname) >/dev/null 2>&1 ; then 143if test -f /.attbin/uname ; then
127 PATH=$PATH:/.attbin ; export PATH 144 PATH=$PATH:/.attbin ; export PATH
128fi 145fi
129 146
130UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 147UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 148UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 149UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 150UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134 151
135case "${UNAME_SYSTEM}" in 152case $UNAME_SYSTEM in
136Linux|GNU|GNU/*) 153Linux|GNU|GNU/*)
137 # If the system lacks a compiler, then just pick glibc. 154 LIBC=unknown
138 # We could probably try harder.
139 LIBC=gnu
140 155
141 eval $set_cc_for_build 156 set_cc_for_build
142 cat <<-EOF > $dummy.c 157 cat <<-EOF > "$dummy.c"
143 #include <features.h> 158 #include <features.h>
144 #if defined(__UCLIBC__) 159 #if defined(__UCLIBC__)
145 LIBC=uclibc 160 LIBC=uclibc
146 #elif defined(__dietlibc__) 161 #elif defined(__dietlibc__)
147 LIBC=dietlibc 162 LIBC=dietlibc
148 #else 163 #elif defined(__GLIBC__)
149 LIBC=gnu 164 LIBC=gnu
165 #else
166 #include <stdarg.h>
167 /* First heuristic to detect musl libc. */
168 #ifdef __DEFINED_va_list
169 LIBC=musl
170 #endif
150 #endif 171 #endif
151 EOF 172 EOF
152 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 173 cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
174 eval "$cc_set_libc"
175
176 # Second heuristic to detect musl libc.
177 if [ "$LIBC" = unknown ] &&
178 command -v ldd >/dev/null &&
179 ldd --version 2>&1 | grep -q ^musl; then
180 LIBC=musl
181 fi
182
183 # If the system lacks a compiler, then just pick glibc.
184 # We could probably try harder.
185 if [ "$LIBC" = unknown ]; then
186 LIBC=gnu
187 fi
153 ;; 188 ;;
154esac 189esac
155 190
156# Note: order is significant - the case branches are not exclusive. 191# Note: order is significant - the case branches are not exclusive.
157 192
158case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 193case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
159 *:NetBSD:*:*) 194 *:NetBSD:*:*)
160 # NetBSD (nbsd) targets should (where applicable) match one or 195 # NetBSD (nbsd) targets should (where applicable) match one or
161 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 196 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -167,29 +202,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
167 # 202 #
168 # Note: NetBSD doesn't particularly care about the vendor 203 # Note: NetBSD doesn't particularly care about the vendor
169 # portion of the name. We always set it to "unknown". 204 # portion of the name. We always set it to "unknown".
170 sysctl="sysctl -n hw.machine_arch"
171 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 205 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
172 /sbin/$sysctl 2>/dev/null || \ 206 /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
173 /usr/sbin/$sysctl 2>/dev/null || \ 207 /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
174 echo unknown)` 208 echo unknown)`
175 case "${UNAME_MACHINE_ARCH}" in 209 case $UNAME_MACHINE_ARCH in
210 aarch64eb) machine=aarch64_be-unknown ;;
176 armeb) machine=armeb-unknown ;; 211 armeb) machine=armeb-unknown ;;
177 arm*) machine=arm-unknown ;; 212 arm*) machine=arm-unknown ;;
178 sh3el) machine=shl-unknown ;; 213 sh3el) machine=shl-unknown ;;
179 sh3eb) machine=sh-unknown ;; 214 sh3eb) machine=sh-unknown ;;
180 sh5el) machine=sh5le-unknown ;; 215 sh5el) machine=sh5le-unknown ;;
181 earmv*) 216 earmv*)
182 arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 217 arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183 endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` 218 endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
184 machine=${arch}${endian}-unknown 219 machine=${arch}${endian}-unknown
185 ;; 220 ;;
186 *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 221 *) machine=$UNAME_MACHINE_ARCH-unknown ;;
187 esac 222 esac
188 # The Operating System including object format, if it has switched 223 # The Operating System including object format, if it has switched
189 # to ELF recently, or will in the future. 224 # to ELF recently (or will in the future) and ABI.
190 case "${UNAME_MACHINE_ARCH}" in 225 case $UNAME_MACHINE_ARCH in
191 arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) 226 earm*)
192 eval $set_cc_for_build 227 os=netbsdelf
228 ;;
229 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
230 set_cc_for_build
193 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 231 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
194 | grep -q __ELF__ 232 | grep -q __ELF__
195 then 233 then
@@ -205,10 +243,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
205 ;; 243 ;;
206 esac 244 esac
207 # Determine ABI tags. 245 # Determine ABI tags.
208 case "${UNAME_MACHINE_ARCH}" in 246 case $UNAME_MACHINE_ARCH in
209 earm*) 247 earm*)
210 expr='s/^earmv[0-9]/-eabi/;s/eb$//' 248 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
211 abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` 249 abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
212 ;; 250 ;;
213 esac 251 esac
214 # The OS release 252 # The OS release
@@ -216,43 +254,68 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
216 # thus, need a distinct triplet. However, they do not need 254 # thus, need a distinct triplet. However, they do not need
217 # kernel version information, so it can be replaced with a 255 # kernel version information, so it can be replaced with a
218 # suitable tag, in the style of linux-gnu. 256 # suitable tag, in the style of linux-gnu.
219 case "${UNAME_VERSION}" in 257 case $UNAME_VERSION in
220 Debian*) 258 Debian*)
221 release='-gnu' 259 release='-gnu'
222 ;; 260 ;;
223 *) 261 *)
224 release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` 262 release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
225 ;; 263 ;;
226 esac 264 esac
227 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 265 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
228 # contains redundant information, the shorter form: 266 # contains redundant information, the shorter form:
229 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 267 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
230 echo "${machine}-${os}${release}${abi}" 268 GUESS=$machine-${os}${release}${abi-}
231 exit ;; 269 ;;
232 *:Bitrig:*:*) 270 *:Bitrig:*:*)
233 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 271 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
234 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} 272 GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
235 exit ;; 273 ;;
236 *:OpenBSD:*:*) 274 *:OpenBSD:*:*)
237 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 275 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
238 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 276 GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
239 exit ;; 277 ;;
278 *:SecBSD:*:*)
279 UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
280 GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
281 ;;
282 *:LibertyBSD:*:*)
283 UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
284 GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
285 ;;
286 *:MidnightBSD:*:*)
287 GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
288 ;;
240 *:ekkoBSD:*:*) 289 *:ekkoBSD:*:*)
241 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 290 GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
242 exit ;; 291 ;;
243 *:SolidBSD:*:*) 292 *:SolidBSD:*:*)
244 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 293 GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
245 exit ;; 294 ;;
295 *:OS108:*:*)
296 GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
297 ;;
246 macppc:MirBSD:*:*) 298 macppc:MirBSD:*:*)
247 echo powerpc-unknown-mirbsd${UNAME_RELEASE} 299 GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
248 exit ;; 300 ;;
249 *:MirBSD:*:*) 301 *:MirBSD:*:*)
250 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 302 GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
251 exit ;; 303 ;;
252 *:Sortix:*:*) 304 *:Sortix:*:*)
253 echo ${UNAME_MACHINE}-unknown-sortix 305 GUESS=$UNAME_MACHINE-unknown-sortix
254 exit ;; 306 ;;
307 *:Twizzler:*:*)
308 GUESS=$UNAME_MACHINE-unknown-twizzler
309 ;;
310 *:Redox:*:*)
311 GUESS=$UNAME_MACHINE-unknown-redox
312 ;;
313 mips:OSF1:*.*)
314 GUESS=mips-dec-osf1
315 ;;
255 alpha:OSF1:*:*) 316 alpha:OSF1:*:*)
317 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
318 trap '' 0
256 case $UNAME_RELEASE in 319 case $UNAME_RELEASE in
257 *4.0) 320 *4.0)
258 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 321 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -266,163 +329,158 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
266 # covers most systems running today. This code pipes the CPU 329 # covers most systems running today. This code pipes the CPU
267 # types through head -n 1, so we only detect the type of CPU 0. 330 # types through head -n 1, so we only detect the type of CPU 0.
268 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 331 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
269 case "$ALPHA_CPU_TYPE" in 332 case $ALPHA_CPU_TYPE in
270 "EV4 (21064)") 333 "EV4 (21064)")
271 UNAME_MACHINE="alpha" ;; 334 UNAME_MACHINE=alpha ;;
272 "EV4.5 (21064)") 335 "EV4.5 (21064)")
273 UNAME_MACHINE="alpha" ;; 336 UNAME_MACHINE=alpha ;;
274 "LCA4 (21066/21068)") 337 "LCA4 (21066/21068)")
275 UNAME_MACHINE="alpha" ;; 338 UNAME_MACHINE=alpha ;;
276 "EV5 (21164)") 339 "EV5 (21164)")
277 UNAME_MACHINE="alphaev5" ;; 340 UNAME_MACHINE=alphaev5 ;;
278 "EV5.6 (21164A)") 341 "EV5.6 (21164A)")
279 UNAME_MACHINE="alphaev56" ;; 342 UNAME_MACHINE=alphaev56 ;;
280 "EV5.6 (21164PC)") 343 "EV5.6 (21164PC)")
281 UNAME_MACHINE="alphapca56" ;; 344 UNAME_MACHINE=alphapca56 ;;
282 "EV5.7 (21164PC)") 345 "EV5.7 (21164PC)")
283 UNAME_MACHINE="alphapca57" ;; 346 UNAME_MACHINE=alphapca57 ;;
284 "EV6 (21264)") 347 "EV6 (21264)")
285 UNAME_MACHINE="alphaev6" ;; 348 UNAME_MACHINE=alphaev6 ;;
286 "EV6.7 (21264A)") 349 "EV6.7 (21264A)")
287 UNAME_MACHINE="alphaev67" ;; 350 UNAME_MACHINE=alphaev67 ;;
288 "EV6.8CB (21264C)") 351 "EV6.8CB (21264C)")
289 UNAME_MACHINE="alphaev68" ;; 352 UNAME_MACHINE=alphaev68 ;;
290 "EV6.8AL (21264B)") 353 "EV6.8AL (21264B)")
291 UNAME_MACHINE="alphaev68" ;; 354 UNAME_MACHINE=alphaev68 ;;
292 "EV6.8CX (21264D)") 355 "EV6.8CX (21264D)")
293 UNAME_MACHINE="alphaev68" ;; 356 UNAME_MACHINE=alphaev68 ;;
294 "EV6.9A (21264/EV69A)") 357 "EV6.9A (21264/EV69A)")
295 UNAME_MACHINE="alphaev69" ;; 358 UNAME_MACHINE=alphaev69 ;;
296 "EV7 (21364)") 359 "EV7 (21364)")
297 UNAME_MACHINE="alphaev7" ;; 360 UNAME_MACHINE=alphaev7 ;;
298 "EV7.9 (21364A)") 361 "EV7.9 (21364A)")
299 UNAME_MACHINE="alphaev79" ;; 362 UNAME_MACHINE=alphaev79 ;;
300 esac 363 esac
301 # A Pn.n version is a patched version. 364 # A Pn.n version is a patched version.
302 # A Vn.n version is a released version. 365 # A Vn.n version is a released version.
303 # A Tn.n version is a released field test version. 366 # A Tn.n version is a released field test version.
304 # A Xn.n version is an unreleased experimental baselevel. 367 # A Xn.n version is an unreleased experimental baselevel.
305 # 1.2 uses "1.2" for uname -r. 368 # 1.2 uses "1.2" for uname -r.
306 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 369 OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
307 # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 370 GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
308 exitcode=$? 371 ;;
309 trap '' 0
310 exit $exitcode ;;
311 Alpha\ *:Windows_NT*:*)
312 # How do we know it's Interix rather than the generic POSIX subsystem?
313 # Should we change UNAME_MACHINE based on the output of uname instead
314 # of the specific Alpha model?
315 echo alpha-pc-interix
316 exit ;;
317 21064:Windows_NT:50:3)
318 echo alpha-dec-winnt3.5
319 exit ;;
320 Amiga*:UNIX_System_V:4.0:*) 372 Amiga*:UNIX_System_V:4.0:*)
321 echo m68k-unknown-sysv4 373 GUESS=m68k-unknown-sysv4
322 exit ;; 374 ;;
323 *:[Aa]miga[Oo][Ss]:*:*) 375 *:[Aa]miga[Oo][Ss]:*:*)
324 echo ${UNAME_MACHINE}-unknown-amigaos 376 GUESS=$UNAME_MACHINE-unknown-amigaos
325 exit ;; 377 ;;
326 *:[Mm]orph[Oo][Ss]:*:*) 378 *:[Mm]orph[Oo][Ss]:*:*)
327 echo ${UNAME_MACHINE}-unknown-morphos 379 GUESS=$UNAME_MACHINE-unknown-morphos
328 exit ;; 380 ;;
329 *:OS/390:*:*) 381 *:OS/390:*:*)
330 echo i370-ibm-openedition 382 GUESS=i370-ibm-openedition
331 exit ;; 383 ;;
332 *:z/VM:*:*) 384 *:z/VM:*:*)
333 echo s390-ibm-zvmoe 385 GUESS=s390-ibm-zvmoe
334 exit ;; 386 ;;
335 *:OS400:*:*) 387 *:OS400:*:*)
336 echo powerpc-ibm-os400 388 GUESS=powerpc-ibm-os400
337 exit ;; 389 ;;
338 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 390 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
339 echo arm-acorn-riscix${UNAME_RELEASE} 391 GUESS=arm-acorn-riscix$UNAME_RELEASE
340 exit ;; 392 ;;
341 arm*:riscos:*:*|arm*:RISCOS:*:*) 393 arm*:riscos:*:*|arm*:RISCOS:*:*)
342 echo arm-unknown-riscos 394 GUESS=arm-unknown-riscos
343 exit ;; 395 ;;
344 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 396 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
345 echo hppa1.1-hitachi-hiuxmpp 397 GUESS=hppa1.1-hitachi-hiuxmpp
346 exit ;; 398 ;;
347 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 399 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
348 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 400 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
349 if test "`(/bin/universe) 2>/dev/null`" = att ; then 401 case `(/bin/universe) 2>/dev/null` in
350 echo pyramid-pyramid-sysv3 402 att) GUESS=pyramid-pyramid-sysv3 ;;
351 else 403 *) GUESS=pyramid-pyramid-bsd ;;
352 echo pyramid-pyramid-bsd 404 esac
353 fi 405 ;;
354 exit ;;
355 NILE*:*:*:dcosx) 406 NILE*:*:*:dcosx)
356 echo pyramid-pyramid-svr4 407 GUESS=pyramid-pyramid-svr4
357 exit ;; 408 ;;
358 DRS?6000:unix:4.0:6*) 409 DRS?6000:unix:4.0:6*)
359 echo sparc-icl-nx6 410 GUESS=sparc-icl-nx6
360 exit ;; 411 ;;
361 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 412 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
362 case `/usr/bin/uname -p` in 413 case `/usr/bin/uname -p` in
363 sparc) echo sparc-icl-nx7; exit ;; 414 sparc) GUESS=sparc-icl-nx7 ;;
364 esac ;; 415 esac
416 ;;
365 s390x:SunOS:*:*) 417 s390x:SunOS:*:*)
366 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 418 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
367 exit ;; 419 GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
420 ;;
368 sun4H:SunOS:5.*:*) 421 sun4H:SunOS:5.*:*)
369 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 422 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
370 exit ;; 423 GUESS=sparc-hal-solaris2$SUN_REL
424 ;;
371 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 425 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
372 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 426 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
373 exit ;; 427 GUESS=sparc-sun-solaris2$SUN_REL
428 ;;
374 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 429 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
375 echo i386-pc-auroraux${UNAME_RELEASE} 430 GUESS=i386-pc-auroraux$UNAME_RELEASE
376 exit ;; 431 ;;
377 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 432 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
378 eval $set_cc_for_build 433 set_cc_for_build
379 SUN_ARCH="i386" 434 SUN_ARCH=i386
380 # If there is a compiler, see if it is configured for 64-bit objects. 435 # If there is a compiler, see if it is configured for 64-bit objects.
381 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 436 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
382 # This test works for both compilers. 437 # This test works for both compilers.
383 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 438 if test "$CC_FOR_BUILD" != no_compiler_found; then
384 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 439 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
385 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 440 (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
386 grep IS_64BIT_ARCH >/dev/null 441 grep IS_64BIT_ARCH >/dev/null
387 then 442 then
388 SUN_ARCH="x86_64" 443 SUN_ARCH=x86_64
389 fi 444 fi
390 fi 445 fi
391 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 446 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
392 exit ;; 447 GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
448 ;;
393 sun4*:SunOS:6*:*) 449 sun4*:SunOS:6*:*)
394 # According to config.sub, this is the proper way to canonicalize 450 # According to config.sub, this is the proper way to canonicalize
395 # SunOS6. Hard to guess exactly what SunOS6 will be like, but 451 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
396 # it's likely to be more like Solaris than SunOS4. 452 # it's likely to be more like Solaris than SunOS4.
397 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 453 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
398 exit ;; 454 GUESS=sparc-sun-solaris3$SUN_REL
455 ;;
399 sun4*:SunOS:*:*) 456 sun4*:SunOS:*:*)
400 case "`/usr/bin/arch -k`" in 457 case `/usr/bin/arch -k` in
401 Series*|S4*) 458 Series*|S4*)
402 UNAME_RELEASE=`uname -v` 459 UNAME_RELEASE=`uname -v`
403 ;; 460 ;;
404 esac 461 esac
405 # Japanese Language versions have a version number like `4.1.3-JL'. 462 # Japanese Language versions have a version number like `4.1.3-JL'.
406 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 463 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
407 exit ;; 464 GUESS=sparc-sun-sunos$SUN_REL
465 ;;
408 sun3*:SunOS:*:*) 466 sun3*:SunOS:*:*)
409 echo m68k-sun-sunos${UNAME_RELEASE} 467 GUESS=m68k-sun-sunos$UNAME_RELEASE
410 exit ;; 468 ;;
411 sun*:*:4.2BSD:*) 469 sun*:*:4.2BSD:*)
412 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 470 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
413 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 471 test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
414 case "`/bin/arch`" in 472 case `/bin/arch` in
415 sun3) 473 sun3)
416 echo m68k-sun-sunos${UNAME_RELEASE} 474 GUESS=m68k-sun-sunos$UNAME_RELEASE
417 ;; 475 ;;
418 sun4) 476 sun4)
419 echo sparc-sun-sunos${UNAME_RELEASE} 477 GUESS=sparc-sun-sunos$UNAME_RELEASE
420 ;; 478 ;;
421 esac 479 esac
422 exit ;; 480 ;;
423 aushp:SunOS:*:*) 481 aushp:SunOS:*:*)
424 echo sparc-auspex-sunos${UNAME_RELEASE} 482 GUESS=sparc-auspex-sunos$UNAME_RELEASE
425 exit ;; 483 ;;
426 # The situation for MiNT is a little confusing. The machine name 484 # The situation for MiNT is a little confusing. The machine name
427 # can be virtually everything (everything which is not 485 # can be virtually everything (everything which is not
428 # "atarist" or "atariste" at least should have a processor 486 # "atarist" or "atariste" at least should have a processor
@@ -432,44 +490,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
432 # MiNT. But MiNT is downward compatible to TOS, so this should 490 # MiNT. But MiNT is downward compatible to TOS, so this should
433 # be no problem. 491 # be no problem.
434 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 492 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
435 echo m68k-atari-mint${UNAME_RELEASE} 493 GUESS=m68k-atari-mint$UNAME_RELEASE
436 exit ;; 494 ;;
437 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 495 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
438 echo m68k-atari-mint${UNAME_RELEASE} 496 GUESS=m68k-atari-mint$UNAME_RELEASE
439 exit ;; 497 ;;
440 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 498 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
441 echo m68k-atari-mint${UNAME_RELEASE} 499 GUESS=m68k-atari-mint$UNAME_RELEASE
442 exit ;; 500 ;;
443 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 501 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
444 echo m68k-milan-mint${UNAME_RELEASE} 502 GUESS=m68k-milan-mint$UNAME_RELEASE
445 exit ;; 503 ;;
446 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 504 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
447 echo m68k-hades-mint${UNAME_RELEASE} 505 GUESS=m68k-hades-mint$UNAME_RELEASE
448 exit ;; 506 ;;
449 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 507 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
450 echo m68k-unknown-mint${UNAME_RELEASE} 508 GUESS=m68k-unknown-mint$UNAME_RELEASE
451 exit ;; 509 ;;
452 m68k:machten:*:*) 510 m68k:machten:*:*)
453 echo m68k-apple-machten${UNAME_RELEASE} 511 GUESS=m68k-apple-machten$UNAME_RELEASE
454 exit ;; 512 ;;
455 powerpc:machten:*:*) 513 powerpc:machten:*:*)
456 echo powerpc-apple-machten${UNAME_RELEASE} 514 GUESS=powerpc-apple-machten$UNAME_RELEASE
457 exit ;; 515 ;;
458 RISC*:Mach:*:*) 516 RISC*:Mach:*:*)
459 echo mips-dec-mach_bsd4.3 517 GUESS=mips-dec-mach_bsd4.3
460 exit ;; 518 ;;
461 RISC*:ULTRIX:*:*) 519 RISC*:ULTRIX:*:*)
462 echo mips-dec-ultrix${UNAME_RELEASE} 520 GUESS=mips-dec-ultrix$UNAME_RELEASE
463 exit ;; 521 ;;
464 VAX*:ULTRIX*:*:*) 522 VAX*:ULTRIX*:*:*)
465 echo vax-dec-ultrix${UNAME_RELEASE} 523 GUESS=vax-dec-ultrix$UNAME_RELEASE
466 exit ;; 524 ;;
467 2020:CLIX:*:* | 2430:CLIX:*:*) 525 2020:CLIX:*:* | 2430:CLIX:*:*)
468 echo clipper-intergraph-clix${UNAME_RELEASE} 526 GUESS=clipper-intergraph-clix$UNAME_RELEASE
469 exit ;; 527 ;;
470 mips:*:*:UMIPS | mips:*:*:RISCos) 528 mips:*:*:UMIPS | mips:*:*:RISCos)
471 eval $set_cc_for_build 529 set_cc_for_build
472 sed 's/^ //' << EOF >$dummy.c 530 sed 's/^ //' << EOF > "$dummy.c"
473#ifdef __cplusplus 531#ifdef __cplusplus
474#include <stdio.h> /* for printf() prototype */ 532#include <stdio.h> /* for printf() prototype */
475 int main (int argc, char *argv[]) { 533 int main (int argc, char *argv[]) {
@@ -478,95 +536,96 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
478#endif 536#endif
479 #if defined (host_mips) && defined (MIPSEB) 537 #if defined (host_mips) && defined (MIPSEB)
480 #if defined (SYSTYPE_SYSV) 538 #if defined (SYSTYPE_SYSV)
481 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 539 printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
482 #endif 540 #endif
483 #if defined (SYSTYPE_SVR4) 541 #if defined (SYSTYPE_SVR4)
484 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 542 printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
485 #endif 543 #endif
486 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 544 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
487 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 545 printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
488 #endif 546 #endif
489 #endif 547 #endif
490 exit (-1); 548 exit (-1);
491 } 549 }
492EOF 550EOF
493 $CC_FOR_BUILD -o $dummy $dummy.c && 551 $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
494 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 552 dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
495 SYSTEM_NAME=`$dummy $dummyarg` && 553 SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
496 { echo "$SYSTEM_NAME"; exit; } 554 { echo "$SYSTEM_NAME"; exit; }
497 echo mips-mips-riscos${UNAME_RELEASE} 555 GUESS=mips-mips-riscos$UNAME_RELEASE
498 exit ;; 556 ;;
499 Motorola:PowerMAX_OS:*:*) 557 Motorola:PowerMAX_OS:*:*)
500 echo powerpc-motorola-powermax 558 GUESS=powerpc-motorola-powermax
501 exit ;; 559 ;;
502 Motorola:*:4.3:PL8-*) 560 Motorola:*:4.3:PL8-*)
503 echo powerpc-harris-powermax 561 GUESS=powerpc-harris-powermax
504 exit ;; 562 ;;
505 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 563 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
506 echo powerpc-harris-powermax 564 GUESS=powerpc-harris-powermax
507 exit ;; 565 ;;
508 Night_Hawk:Power_UNIX:*:*) 566 Night_Hawk:Power_UNIX:*:*)
509 echo powerpc-harris-powerunix 567 GUESS=powerpc-harris-powerunix
510 exit ;; 568 ;;
511 m88k:CX/UX:7*:*) 569 m88k:CX/UX:7*:*)
512 echo m88k-harris-cxux7 570 GUESS=m88k-harris-cxux7
513 exit ;; 571 ;;
514 m88k:*:4*:R4*) 572 m88k:*:4*:R4*)
515 echo m88k-motorola-sysv4 573 GUESS=m88k-motorola-sysv4
516 exit ;; 574 ;;
517 m88k:*:3*:R3*) 575 m88k:*:3*:R3*)
518 echo m88k-motorola-sysv3 576 GUESS=m88k-motorola-sysv3
519 exit ;; 577 ;;
520 AViiON:dgux:*:*) 578 AViiON:dgux:*:*)
521 # DG/UX returns AViiON for all architectures 579 # DG/UX returns AViiON for all architectures
522 UNAME_PROCESSOR=`/usr/bin/uname -p` 580 UNAME_PROCESSOR=`/usr/bin/uname -p`
523 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 581 if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
524 then 582 then
525 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 583 if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
526 [ ${TARGET_BINARY_INTERFACE}x = x ] 584 test "$TARGET_BINARY_INTERFACE"x = x
527 then 585 then
528 echo m88k-dg-dgux${UNAME_RELEASE} 586 GUESS=m88k-dg-dgux$UNAME_RELEASE
529 else 587 else
530 echo m88k-dg-dguxbcs${UNAME_RELEASE} 588 GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
531 fi 589 fi
532 else 590 else
533 echo i586-dg-dgux${UNAME_RELEASE} 591 GUESS=i586-dg-dgux$UNAME_RELEASE
534 fi 592 fi
535 exit ;; 593 ;;
536 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 594 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
537 echo m88k-dolphin-sysv3 595 GUESS=m88k-dolphin-sysv3
538 exit ;; 596 ;;
539 M88*:*:R3*:*) 597 M88*:*:R3*:*)
540 # Delta 88k system running SVR3 598 # Delta 88k system running SVR3
541 echo m88k-motorola-sysv3 599 GUESS=m88k-motorola-sysv3
542 exit ;; 600 ;;
543 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 601 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
544 echo m88k-tektronix-sysv3 602 GUESS=m88k-tektronix-sysv3
545 exit ;; 603 ;;
546 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 604 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
547 echo m68k-tektronix-bsd 605 GUESS=m68k-tektronix-bsd
548 exit ;; 606 ;;
549 *:IRIX*:*:*) 607 *:IRIX*:*:*)
550 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 608 IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
551 exit ;; 609 GUESS=mips-sgi-irix$IRIX_REL
610 ;;
552 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 611 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
553 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 612 GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
554 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 613 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
555 i*86:AIX:*:*) 614 i*86:AIX:*:*)
556 echo i386-ibm-aix 615 GUESS=i386-ibm-aix
557 exit ;; 616 ;;
558 ia64:AIX:*:*) 617 ia64:AIX:*:*)
559 if [ -x /usr/bin/oslevel ] ; then 618 if test -x /usr/bin/oslevel ; then
560 IBM_REV=`/usr/bin/oslevel` 619 IBM_REV=`/usr/bin/oslevel`
561 else 620 else
562 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 621 IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
563 fi 622 fi
564 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 623 GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
565 exit ;; 624 ;;
566 *:AIX:2:3) 625 *:AIX:2:3)
567 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 626 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
568 eval $set_cc_for_build 627 set_cc_for_build
569 sed 's/^ //' << EOF >$dummy.c 628 sed 's/^ //' << EOF > "$dummy.c"
570 #include <sys/systemcfg.h> 629 #include <sys/systemcfg.h>
571 630
572 main() 631 main()
@@ -577,77 +636,77 @@ EOF
577 exit(0); 636 exit(0);
578 } 637 }
579EOF 638EOF
580 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 639 if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
581 then 640 then
582 echo "$SYSTEM_NAME" 641 GUESS=$SYSTEM_NAME
583 else 642 else
584 echo rs6000-ibm-aix3.2.5 643 GUESS=rs6000-ibm-aix3.2.5
585 fi 644 fi
586 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 645 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
587 echo rs6000-ibm-aix3.2.4 646 GUESS=rs6000-ibm-aix3.2.4
588 else 647 else
589 echo rs6000-ibm-aix3.2 648 GUESS=rs6000-ibm-aix3.2
590 fi 649 fi
591 exit ;; 650 ;;
592 *:AIX:*:[4567]) 651 *:AIX:*:[4567])
593 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 652 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
594 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 653 if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
595 IBM_ARCH=rs6000 654 IBM_ARCH=rs6000
596 else 655 else
597 IBM_ARCH=powerpc 656 IBM_ARCH=powerpc
598 fi 657 fi
599 if [ -x /usr/bin/lslpp ] ; then 658 if test -x /usr/bin/lslpp ; then
600 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | 659 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
601 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 660 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
602 else 661 else
603 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 662 IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
604 fi 663 fi
605 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 664 GUESS=$IBM_ARCH-ibm-aix$IBM_REV
606 exit ;; 665 ;;
607 *:AIX:*:*) 666 *:AIX:*:*)
608 echo rs6000-ibm-aix 667 GUESS=rs6000-ibm-aix
609 exit ;; 668 ;;
610 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 669 ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
611 echo romp-ibm-bsd4.4 670 GUESS=romp-ibm-bsd4.4
612 exit ;; 671 ;;
613 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 672 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
614 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 673 GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
615 exit ;; # report: romp-ibm BSD 4.3 674 ;; # report: romp-ibm BSD 4.3
616 *:BOSX:*:*) 675 *:BOSX:*:*)
617 echo rs6000-bull-bosx 676 GUESS=rs6000-bull-bosx
618 exit ;; 677 ;;
619 DPX/2?00:B.O.S.:*:*) 678 DPX/2?00:B.O.S.:*:*)
620 echo m68k-bull-sysv3 679 GUESS=m68k-bull-sysv3
621 exit ;; 680 ;;
622 9000/[34]??:4.3bsd:1.*:*) 681 9000/[34]??:4.3bsd:1.*:*)
623 echo m68k-hp-bsd 682 GUESS=m68k-hp-bsd
624 exit ;; 683 ;;
625 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 684 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
626 echo m68k-hp-bsd4.4 685 GUESS=m68k-hp-bsd4.4
627 exit ;; 686 ;;
628 9000/[34678]??:HP-UX:*:*) 687 9000/[34678]??:HP-UX:*:*)
629 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 688 HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
630 case "${UNAME_MACHINE}" in 689 case $UNAME_MACHINE in
631 9000/31? ) HP_ARCH=m68000 ;; 690 9000/31?) HP_ARCH=m68000 ;;
632 9000/[34]?? ) HP_ARCH=m68k ;; 691 9000/[34]??) HP_ARCH=m68k ;;
633 9000/[678][0-9][0-9]) 692 9000/[678][0-9][0-9])
634 if [ -x /usr/bin/getconf ]; then 693 if test -x /usr/bin/getconf; then
635 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 694 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
636 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 695 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
637 case "${sc_cpu_version}" in 696 case $sc_cpu_version in
638 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 697 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
639 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 698 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
640 532) # CPU_PA_RISC2_0 699 532) # CPU_PA_RISC2_0
641 case "${sc_kernel_bits}" in 700 case $sc_kernel_bits in
642 32) HP_ARCH="hppa2.0n" ;; 701 32) HP_ARCH=hppa2.0n ;;
643 64) HP_ARCH="hppa2.0w" ;; 702 64) HP_ARCH=hppa2.0w ;;
644 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 703 '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
645 esac ;; 704 esac ;;
646 esac 705 esac
647 fi 706 fi
648 if [ "${HP_ARCH}" = "" ]; then 707 if test "$HP_ARCH" = ""; then
649 eval $set_cc_for_build 708 set_cc_for_build
650 sed 's/^ //' << EOF >$dummy.c 709 sed 's/^ //' << EOF > "$dummy.c"
651 710
652 #define _HPUX_SOURCE 711 #define _HPUX_SOURCE
653 #include <stdlib.h> 712 #include <stdlib.h>
@@ -680,13 +739,13 @@ EOF
680 exit (0); 739 exit (0);
681 } 740 }
682EOF 741EOF
683 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 742 (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
684 test -z "$HP_ARCH" && HP_ARCH=hppa 743 test -z "$HP_ARCH" && HP_ARCH=hppa
685 fi ;; 744 fi ;;
686 esac 745 esac
687 if [ ${HP_ARCH} = "hppa2.0w" ] 746 if test "$HP_ARCH" = hppa2.0w
688 then 747 then
689 eval $set_cc_for_build 748 set_cc_for_build
690 749
691 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 750 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
692 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 751 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -697,23 +756,23 @@ EOF
697 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 756 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
698 # => hppa64-hp-hpux11.23 757 # => hppa64-hp-hpux11.23
699 758
700 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 759 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
701 grep -q __LP64__ 760 grep -q __LP64__
702 then 761 then
703 HP_ARCH="hppa2.0w" 762 HP_ARCH=hppa2.0w
704 else 763 else
705 HP_ARCH="hppa64" 764 HP_ARCH=hppa64
706 fi 765 fi
707 fi 766 fi
708 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 767 GUESS=$HP_ARCH-hp-hpux$HPUX_REV
709 exit ;; 768 ;;
710 ia64:HP-UX:*:*) 769 ia64:HP-UX:*:*)
711 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 770 HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
712 echo ia64-hp-hpux${HPUX_REV} 771 GUESS=ia64-hp-hpux$HPUX_REV
713 exit ;; 772 ;;
714 3050*:HI-UX:*:*) 773 3050*:HI-UX:*:*)
715 eval $set_cc_for_build 774 set_cc_for_build
716 sed 's/^ //' << EOF >$dummy.c 775 sed 's/^ //' << EOF > "$dummy.c"
717 #include <unistd.h> 776 #include <unistd.h>
718 int 777 int
719 main () 778 main ()
@@ -738,38 +797,38 @@ EOF
738 exit (0); 797 exit (0);
739 } 798 }
740EOF 799EOF
741 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 800 $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
742 { echo "$SYSTEM_NAME"; exit; } 801 { echo "$SYSTEM_NAME"; exit; }
743 echo unknown-hitachi-hiuxwe2 802 GUESS=unknown-hitachi-hiuxwe2
744 exit ;; 803 ;;
745 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 804 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
746 echo hppa1.1-hp-bsd 805 GUESS=hppa1.1-hp-bsd
747 exit ;; 806 ;;
748 9000/8??:4.3bsd:*:*) 807 9000/8??:4.3bsd:*:*)
749 echo hppa1.0-hp-bsd 808 GUESS=hppa1.0-hp-bsd
750 exit ;; 809 ;;
751 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 810 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
752 echo hppa1.0-hp-mpeix 811 GUESS=hppa1.0-hp-mpeix
753 exit ;; 812 ;;
754 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 813 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
755 echo hppa1.1-hp-osf 814 GUESS=hppa1.1-hp-osf
756 exit ;; 815 ;;
757 hp8??:OSF1:*:*) 816 hp8??:OSF1:*:*)
758 echo hppa1.0-hp-osf 817 GUESS=hppa1.0-hp-osf
759 exit ;; 818 ;;
760 i*86:OSF1:*:*) 819 i*86:OSF1:*:*)
761 if [ -x /usr/sbin/sysversion ] ; then 820 if test -x /usr/sbin/sysversion ; then
762 echo ${UNAME_MACHINE}-unknown-osf1mk 821 GUESS=$UNAME_MACHINE-unknown-osf1mk
763 else 822 else
764 echo ${UNAME_MACHINE}-unknown-osf1 823 GUESS=$UNAME_MACHINE-unknown-osf1
765 fi 824 fi
766 exit ;; 825 ;;
767 parisc*:Lites*:*:*) 826 parisc*:Lites*:*:*)
768 echo hppa1.1-hp-lites 827 GUESS=hppa1.1-hp-lites
769 exit ;; 828 ;;
770 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 829 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
771 echo c1-convex-bsd 830 GUESS=c1-convex-bsd
772 exit ;; 831 ;;
773 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 832 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
774 if getsysinfo -f scalar_acc 833 if getsysinfo -f scalar_acc
775 then echo c32-convex-bsd 834 then echo c32-convex-bsd
@@ -777,139 +836,154 @@ EOF
777 fi 836 fi
778 exit ;; 837 exit ;;
779 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 838 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
780 echo c34-convex-bsd 839 GUESS=c34-convex-bsd
781 exit ;; 840 ;;
782 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 841 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
783 echo c38-convex-bsd 842 GUESS=c38-convex-bsd
784 exit ;; 843 ;;
785 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 844 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
786 echo c4-convex-bsd 845 GUESS=c4-convex-bsd
787 exit ;; 846 ;;
788 CRAY*Y-MP:*:*:*) 847 CRAY*Y-MP:*:*:*)
789 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 848 CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
790 exit ;; 849 GUESS=ymp-cray-unicos$CRAY_REL
850 ;;
791 CRAY*[A-Z]90:*:*:*) 851 CRAY*[A-Z]90:*:*:*)
792 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 852 echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
793 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 853 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
794 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 854 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
795 -e 's/\.[^.]*$/.X/' 855 -e 's/\.[^.]*$/.X/'
796 exit ;; 856 exit ;;
797 CRAY*TS:*:*:*) 857 CRAY*TS:*:*:*)
798 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 858 CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
799 exit ;; 859 GUESS=t90-cray-unicos$CRAY_REL
860 ;;
800 CRAY*T3E:*:*:*) 861 CRAY*T3E:*:*:*)
801 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 862 CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
802 exit ;; 863 GUESS=alphaev5-cray-unicosmk$CRAY_REL
864 ;;
803 CRAY*SV1:*:*:*) 865 CRAY*SV1:*:*:*)
804 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 866 CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
805 exit ;; 867 GUESS=sv1-cray-unicos$CRAY_REL
868 ;;
806 *:UNICOS/mp:*:*) 869 *:UNICOS/mp:*:*)
807 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 870 CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
808 exit ;; 871 GUESS=craynv-cray-unicosmp$CRAY_REL
872 ;;
809 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 873 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
810 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 874 FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
811 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 875 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
812 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 876 FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
813 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 877 GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
814 exit ;; 878 ;;
815 5000:UNIX_System_V:4.*:*) 879 5000:UNIX_System_V:4.*:*)
816 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 880 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
817 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 881 FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
818 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 882 GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
819 exit ;; 883 ;;
820 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 884 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
821 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 885 GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
822 exit ;; 886 ;;
823 sparc*:BSD/OS:*:*) 887 sparc*:BSD/OS:*:*)
824 echo sparc-unknown-bsdi${UNAME_RELEASE} 888 GUESS=sparc-unknown-bsdi$UNAME_RELEASE
825 exit ;; 889 ;;
826 *:BSD/OS:*:*) 890 *:BSD/OS:*:*)
827 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 891 GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
828 exit ;; 892 ;;
893 arm:FreeBSD:*:*)
894 UNAME_PROCESSOR=`uname -p`
895 set_cc_for_build
896 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
897 | grep -q __ARM_PCS_VFP
898 then
899 FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
900 GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
901 else
902 FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
903 GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
904 fi
905 ;;
829 *:FreeBSD:*:*) 906 *:FreeBSD:*:*)
830 UNAME_PROCESSOR=`/usr/bin/uname -p` 907 UNAME_PROCESSOR=`/usr/bin/uname -p`
831 case ${UNAME_PROCESSOR} in 908 case $UNAME_PROCESSOR in
832 amd64) 909 amd64)
833 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 910 UNAME_PROCESSOR=x86_64 ;;
834 *) 911 i386)
835 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 912 UNAME_PROCESSOR=i586 ;;
836 esac 913 esac
837 exit ;; 914 FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
915 GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
916 ;;
838 i*:CYGWIN*:*) 917 i*:CYGWIN*:*)
839 echo ${UNAME_MACHINE}-pc-cygwin 918 GUESS=$UNAME_MACHINE-pc-cygwin
840 exit ;; 919 ;;
841 *:MINGW64*:*) 920 *:MINGW64*:*)
842 echo ${UNAME_MACHINE}-pc-mingw64 921 GUESS=$UNAME_MACHINE-pc-mingw64
843 exit ;; 922 ;;
844 *:MINGW*:*) 923 *:MINGW*:*)
845 echo ${UNAME_MACHINE}-pc-mingw32 924 GUESS=$UNAME_MACHINE-pc-mingw32
846 exit ;; 925 ;;
847 *:MSYS*:*) 926 *:MSYS*:*)
848 echo ${UNAME_MACHINE}-pc-msys 927 GUESS=$UNAME_MACHINE-pc-msys
849 exit ;; 928 ;;
850 i*:windows32*:*)
851 # uname -m includes "-pc" on this system.
852 echo ${UNAME_MACHINE}-mingw32
853 exit ;;
854 i*:PW*:*) 929 i*:PW*:*)
855 echo ${UNAME_MACHINE}-pc-pw32 930 GUESS=$UNAME_MACHINE-pc-pw32
856 exit ;; 931 ;;
932 *:SerenityOS:*:*)
933 GUESS=$UNAME_MACHINE-pc-serenity
934 ;;
857 *:Interix*:*) 935 *:Interix*:*)
858 case ${UNAME_MACHINE} in 936 case $UNAME_MACHINE in
859 x86) 937 x86)
860 echo i586-pc-interix${UNAME_RELEASE} 938 GUESS=i586-pc-interix$UNAME_RELEASE
861 exit ;; 939 ;;
862 authenticamd | genuineintel | EM64T) 940 authenticamd | genuineintel | EM64T)
863 echo x86_64-unknown-interix${UNAME_RELEASE} 941 GUESS=x86_64-unknown-interix$UNAME_RELEASE
864 exit ;; 942 ;;
865 IA64) 943 IA64)
866 echo ia64-unknown-interix${UNAME_RELEASE} 944 GUESS=ia64-unknown-interix$UNAME_RELEASE
867 exit ;; 945 ;;
868 esac ;; 946 esac ;;
869 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
870 echo i${UNAME_MACHINE}-pc-mks
871 exit ;;
872 8664:Windows_NT:*)
873 echo x86_64-pc-mks
874 exit ;;
875 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
876 # How do we know it's Interix rather than the generic POSIX subsystem?
877 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
878 # UNAME_MACHINE based on the output of uname instead of i386?
879 echo i586-pc-interix
880 exit ;;
881 i*:UWIN*:*) 947 i*:UWIN*:*)
882 echo ${UNAME_MACHINE}-pc-uwin 948 GUESS=$UNAME_MACHINE-pc-uwin
883 exit ;; 949 ;;
884 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 950 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
885 echo x86_64-unknown-cygwin 951 GUESS=x86_64-pc-cygwin
886 exit ;; 952 ;;
887 p*:CYGWIN*:*)
888 echo powerpcle-unknown-cygwin
889 exit ;;
890 prep*:SunOS:5.*:*) 953 prep*:SunOS:5.*:*)
891 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 954 SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
892 exit ;; 955 GUESS=powerpcle-unknown-solaris2$SUN_REL
956 ;;
893 *:GNU:*:*) 957 *:GNU:*:*)
894 # the GNU system 958 # the GNU system
895 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 959 GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
896 exit ;; 960 GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
961 GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
962 ;;
897 *:GNU/*:*:*) 963 *:GNU/*:*:*)
898 # other systems with GNU libc and userland 964 # other systems with GNU libc and userland
899 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} 965 GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
900 exit ;; 966 GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
901 i*86:Minix:*:*) 967 GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
902 echo ${UNAME_MACHINE}-pc-minix 968 ;;
903 exit ;; 969 x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
970 GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
971 ;;
972 *:[Mm]anagarm:*:*)
973 GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
974 ;;
975 *:Minix:*:*)
976 GUESS=$UNAME_MACHINE-unknown-minix
977 ;;
904 aarch64:Linux:*:*) 978 aarch64:Linux:*:*)
905 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 979 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
906 exit ;; 980 ;;
907 aarch64_be:Linux:*:*) 981 aarch64_be:Linux:*:*)
908 UNAME_MACHINE=aarch64_be 982 UNAME_MACHINE=aarch64_be
909 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 983 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
910 exit ;; 984 ;;
911 alpha:Linux:*:*) 985 alpha:Linux:*:*)
912 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 986 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
913 EV5) UNAME_MACHINE=alphaev5 ;; 987 EV5) UNAME_MACHINE=alphaev5 ;;
914 EV56) UNAME_MACHINE=alphaev56 ;; 988 EV56) UNAME_MACHINE=alphaev56 ;;
915 PCA56) UNAME_MACHINE=alphapca56 ;; 989 PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -919,178 +993,237 @@ EOF
919 EV68*) UNAME_MACHINE=alphaev68 ;; 993 EV68*) UNAME_MACHINE=alphaev68 ;;
920 esac 994 esac
921 objdump --private-headers /bin/sh | grep -q ld.so.1 995 objdump --private-headers /bin/sh | grep -q ld.so.1
922 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi 996 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
923 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 997 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
924 exit ;; 998 ;;
925 arc:Linux:*:* | arceb:Linux:*:*) 999 arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
926 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1000 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
927 exit ;; 1001 ;;
928 arm*:Linux:*:*) 1002 arm*:Linux:*:*)
929 eval $set_cc_for_build 1003 set_cc_for_build
930 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1004 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
931 | grep -q __ARM_EABI__ 1005 | grep -q __ARM_EABI__
932 then 1006 then
933 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1007 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
934 else 1008 else
935 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1009 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
936 | grep -q __ARM_PCS_VFP 1010 | grep -q __ARM_PCS_VFP
937 then 1011 then
938 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi 1012 GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
939 else 1013 else
940 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf 1014 GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
941 fi 1015 fi
942 fi 1016 fi
943 exit ;; 1017 ;;
944 avr32*:Linux:*:*) 1018 avr32*:Linux:*:*)
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1019 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
946 exit ;; 1020 ;;
947 cris:Linux:*:*) 1021 cris:Linux:*:*)
948 echo ${UNAME_MACHINE}-axis-linux-${LIBC} 1022 GUESS=$UNAME_MACHINE-axis-linux-$LIBC
949 exit ;; 1023 ;;
950 crisv32:Linux:*:*) 1024 crisv32:Linux:*:*)
951 echo ${UNAME_MACHINE}-axis-linux-${LIBC} 1025 GUESS=$UNAME_MACHINE-axis-linux-$LIBC
952 exit ;; 1026 ;;
953 e2k:Linux:*:*) 1027 e2k:Linux:*:*)
954 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1028 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
955 exit ;; 1029 ;;
956 frv:Linux:*:*) 1030 frv:Linux:*:*)
957 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1031 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
958 exit ;; 1032 ;;
959 hexagon:Linux:*:*) 1033 hexagon:Linux:*:*)
960 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1034 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
961 exit ;; 1035 ;;
962 i*86:Linux:*:*) 1036 i*86:Linux:*:*)
963 echo ${UNAME_MACHINE}-pc-linux-${LIBC} 1037 GUESS=$UNAME_MACHINE-pc-linux-$LIBC
964 exit ;; 1038 ;;
965 ia64:Linux:*:*) 1039 ia64:Linux:*:*)
966 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1040 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
967 exit ;; 1041 ;;
968 k1om:Linux:*:*) 1042 k1om:Linux:*:*)
969 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1043 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
970 exit ;; 1044 ;;
1045 loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1046 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1047 ;;
971 m32r*:Linux:*:*) 1048 m32r*:Linux:*:*)
972 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1049 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
973 exit ;; 1050 ;;
974 m68*:Linux:*:*) 1051 m68*:Linux:*:*)
975 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1052 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
976 exit ;; 1053 ;;
977 mips:Linux:*:* | mips64:Linux:*:*) 1054 mips:Linux:*:* | mips64:Linux:*:*)
978 eval $set_cc_for_build 1055 set_cc_for_build
979 sed 's/^ //' << EOF >$dummy.c 1056 IS_GLIBC=0
1057 test x"${LIBC}" = xgnu && IS_GLIBC=1
1058 sed 's/^ //' << EOF > "$dummy.c"
980 #undef CPU 1059 #undef CPU
981 #undef ${UNAME_MACHINE} 1060 #undef mips
982 #undef ${UNAME_MACHINE}el 1061 #undef mipsel
1062 #undef mips64
1063 #undef mips64el
1064 #if ${IS_GLIBC} && defined(_ABI64)
1065 LIBCABI=gnuabi64
1066 #else
1067 #if ${IS_GLIBC} && defined(_ABIN32)
1068 LIBCABI=gnuabin32
1069 #else
1070 LIBCABI=${LIBC}
1071 #endif
1072 #endif
1073
1074 #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1075 CPU=mipsisa64r6
1076 #else
1077 #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1078 CPU=mipsisa32r6
1079 #else
1080 #if defined(__mips64)
1081 CPU=mips64
1082 #else
1083 CPU=mips
1084 #endif
1085 #endif
1086 #endif
1087
983 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1088 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
984 CPU=${UNAME_MACHINE}el 1089 MIPS_ENDIAN=el
985 #else 1090 #else
986 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1091 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
987 CPU=${UNAME_MACHINE} 1092 MIPS_ENDIAN=
988 #else 1093 #else
989 CPU= 1094 MIPS_ENDIAN=
990 #endif 1095 #endif
991 #endif 1096 #endif
992EOF 1097EOF
993 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 1098 cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
994 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } 1099 eval "$cc_set_vars"
1100 test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1101 ;;
1102 mips64el:Linux:*:*)
1103 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
995 ;; 1104 ;;
996 openrisc*:Linux:*:*) 1105 openrisc*:Linux:*:*)
997 echo or1k-unknown-linux-${LIBC} 1106 GUESS=or1k-unknown-linux-$LIBC
998 exit ;; 1107 ;;
999 or32:Linux:*:* | or1k*:Linux:*:*) 1108 or32:Linux:*:* | or1k*:Linux:*:*)
1000 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1109 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1001 exit ;; 1110 ;;
1002 padre:Linux:*:*) 1111 padre:Linux:*:*)
1003 echo sparc-unknown-linux-${LIBC} 1112 GUESS=sparc-unknown-linux-$LIBC
1004 exit ;; 1113 ;;
1005 parisc64:Linux:*:* | hppa64:Linux:*:*) 1114 parisc64:Linux:*:* | hppa64:Linux:*:*)
1006 echo hppa64-unknown-linux-${LIBC} 1115 GUESS=hppa64-unknown-linux-$LIBC
1007 exit ;; 1116 ;;
1008 parisc:Linux:*:* | hppa:Linux:*:*) 1117 parisc:Linux:*:* | hppa:Linux:*:*)
1009 # Look for CPU level 1118 # Look for CPU level
1010 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1119 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1011 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; 1120 PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1012 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; 1121 PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1013 *) echo hppa-unknown-linux-${LIBC} ;; 1122 *) GUESS=hppa-unknown-linux-$LIBC ;;
1014 esac 1123 esac
1015 exit ;; 1124 ;;
1016 ppc64:Linux:*:*) 1125 ppc64:Linux:*:*)
1017 echo powerpc64-unknown-linux-${LIBC} 1126 GUESS=powerpc64-unknown-linux-$LIBC
1018 exit ;; 1127 ;;
1019 ppc:Linux:*:*) 1128 ppc:Linux:*:*)
1020 echo powerpc-unknown-linux-${LIBC} 1129 GUESS=powerpc-unknown-linux-$LIBC
1021 exit ;; 1130 ;;
1022 ppc64le:Linux:*:*) 1131 ppc64le:Linux:*:*)
1023 echo powerpc64le-unknown-linux-${LIBC} 1132 GUESS=powerpc64le-unknown-linux-$LIBC
1024 exit ;; 1133 ;;
1025 ppcle:Linux:*:*) 1134 ppcle:Linux:*:*)
1026 echo powerpcle-unknown-linux-${LIBC} 1135 GUESS=powerpcle-unknown-linux-$LIBC
1027 exit ;; 1136 ;;
1137 riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1138 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139 ;;
1028 s390:Linux:*:* | s390x:Linux:*:*) 1140 s390:Linux:*:* | s390x:Linux:*:*)
1029 echo ${UNAME_MACHINE}-ibm-linux-${LIBC} 1141 GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1030 exit ;; 1142 ;;
1031 sh64*:Linux:*:*) 1143 sh64*:Linux:*:*)
1032 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1144 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1033 exit ;; 1145 ;;
1034 sh*:Linux:*:*) 1146 sh*:Linux:*:*)
1035 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1147 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1036 exit ;; 1148 ;;
1037 sparc:Linux:*:* | sparc64:Linux:*:*) 1149 sparc:Linux:*:* | sparc64:Linux:*:*)
1038 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1150 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1039 exit ;; 1151 ;;
1040 tile*:Linux:*:*) 1152 tile*:Linux:*:*)
1041 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1153 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1042 exit ;; 1154 ;;
1043 vax:Linux:*:*) 1155 vax:Linux:*:*)
1044 echo ${UNAME_MACHINE}-dec-linux-${LIBC} 1156 GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1045 exit ;; 1157 ;;
1046 x86_64:Linux:*:*) 1158 x86_64:Linux:*:*)
1047 echo ${UNAME_MACHINE}-pc-linux-${LIBC} 1159 set_cc_for_build
1048 exit ;; 1160 CPU=$UNAME_MACHINE
1161 LIBCABI=$LIBC
1162 if test "$CC_FOR_BUILD" != no_compiler_found; then
1163 ABI=64
1164 sed 's/^ //' << EOF > "$dummy.c"
1165 #ifdef __i386__
1166 ABI=x86
1167 #else
1168 #ifdef __ILP32__
1169 ABI=x32
1170 #endif
1171 #endif
1172EOF
1173 cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1174 eval "$cc_set_abi"
1175 case $ABI in
1176 x86) CPU=i686 ;;
1177 x32) LIBCABI=${LIBC}x32 ;;
1178 esac
1179 fi
1180 GUESS=$CPU-pc-linux-$LIBCABI
1181 ;;
1049 xtensa*:Linux:*:*) 1182 xtensa*:Linux:*:*)
1050 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1183 GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1051 exit ;; 1184 ;;
1052 i*86:DYNIX/ptx:4*:*) 1185 i*86:DYNIX/ptx:4*:*)
1053 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1186 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1054 # earlier versions are messed up and put the nodename in both 1187 # earlier versions are messed up and put the nodename in both
1055 # sysname and nodename. 1188 # sysname and nodename.
1056 echo i386-sequent-sysv4 1189 GUESS=i386-sequent-sysv4
1057 exit ;; 1190 ;;
1058 i*86:UNIX_SV:4.2MP:2.*) 1191 i*86:UNIX_SV:4.2MP:2.*)
1059 # Unixware is an offshoot of SVR4, but it has its own version 1192 # Unixware is an offshoot of SVR4, but it has its own version
1060 # number series starting with 2... 1193 # number series starting with 2...
1061 # I am not positive that other SVR4 systems won't match this, 1194 # I am not positive that other SVR4 systems won't match this,
1062 # I just have to hope. -- rms. 1195 # I just have to hope. -- rms.
1063 # Use sysv4.2uw... so that sysv4* matches it. 1196 # Use sysv4.2uw... so that sysv4* matches it.
1064 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1197 GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1065 exit ;; 1198 ;;
1066 i*86:OS/2:*:*) 1199 i*86:OS/2:*:*)
1067 # If we were able to find `uname', then EMX Unix compatibility 1200 # If we were able to find `uname', then EMX Unix compatibility
1068 # is probably installed. 1201 # is probably installed.
1069 echo ${UNAME_MACHINE}-pc-os2-emx 1202 GUESS=$UNAME_MACHINE-pc-os2-emx
1070 exit ;; 1203 ;;
1071 i*86:XTS-300:*:STOP) 1204 i*86:XTS-300:*:STOP)
1072 echo ${UNAME_MACHINE}-unknown-stop 1205 GUESS=$UNAME_MACHINE-unknown-stop
1073 exit ;; 1206 ;;
1074 i*86:atheos:*:*) 1207 i*86:atheos:*:*)
1075 echo ${UNAME_MACHINE}-unknown-atheos 1208 GUESS=$UNAME_MACHINE-unknown-atheos
1076 exit ;; 1209 ;;
1077 i*86:syllable:*:*) 1210 i*86:syllable:*:*)
1078 echo ${UNAME_MACHINE}-pc-syllable 1211 GUESS=$UNAME_MACHINE-pc-syllable
1079 exit ;; 1212 ;;
1080 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1213 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1081 echo i386-unknown-lynxos${UNAME_RELEASE} 1214 GUESS=i386-unknown-lynxos$UNAME_RELEASE
1082 exit ;; 1215 ;;
1083 i*86:*DOS:*:*) 1216 i*86:*DOS:*:*)
1084 echo ${UNAME_MACHINE}-pc-msdosdjgpp 1217 GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1085 exit ;; 1218 ;;
1086 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1219 i*86:*:4.*:*)
1087 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1220 UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1088 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1221 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1089 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1222 GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1090 else 1223 else
1091 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1224 GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1092 fi 1225 fi
1093 exit ;; 1226 ;;
1094 i*86:*:5:[678]*) 1227 i*86:*:5:[678]*)
1095 # UnixWare 7.x, OpenUNIX and OpenServer 6. 1228 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1096 case `/bin/uname -X | grep "^Machine"` in 1229 case `/bin/uname -X | grep "^Machine"` in
@@ -1098,12 +1231,12 @@ EOF
1098 *Pentium) UNAME_MACHINE=i586 ;; 1231 *Pentium) UNAME_MACHINE=i586 ;;
1099 *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1232 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1100 esac 1233 esac
1101 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1234 GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1102 exit ;; 1235 ;;
1103 i*86:*:3.2:*) 1236 i*86:*:3.2:*)
1104 if test -f /usr/options/cb.name; then 1237 if test -f /usr/options/cb.name; then
1105 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1238 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1106 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1239 GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1107 elif /bin/uname -X 2>/dev/null >/dev/null ; then 1240 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1108 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1241 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1109 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1242 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1113,11 +1246,11 @@ EOF
1113 && UNAME_MACHINE=i686 1246 && UNAME_MACHINE=i686
1114 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1247 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1115 && UNAME_MACHINE=i686 1248 && UNAME_MACHINE=i686
1116 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1249 GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1117 else 1250 else
1118 echo ${UNAME_MACHINE}-pc-sysv32 1251 GUESS=$UNAME_MACHINE-pc-sysv32
1119 fi 1252 fi
1120 exit ;; 1253 ;;
1121 pc:*:*:*) 1254 pc:*:*:*)
1122 # Left here for compatibility: 1255 # Left here for compatibility:
1123 # uname -m prints for DJGPP always 'pc', but it prints nothing about 1256 # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1125,31 +1258,31 @@ EOF
1125 # Note: whatever this is, it MUST be the same as what config.sub 1258 # Note: whatever this is, it MUST be the same as what config.sub
1126 # prints for the "djgpp" host, or else GDB configure will decide that 1259 # prints for the "djgpp" host, or else GDB configure will decide that
1127 # this is a cross-build. 1260 # this is a cross-build.
1128 echo i586-pc-msdosdjgpp 1261 GUESS=i586-pc-msdosdjgpp
1129 exit ;; 1262 ;;
1130 Intel:Mach:3*:*) 1263 Intel:Mach:3*:*)
1131 echo i386-pc-mach3 1264 GUESS=i386-pc-mach3
1132 exit ;; 1265 ;;
1133 paragon:*:*:*) 1266 paragon:*:*:*)
1134 echo i860-intel-osf1 1267 GUESS=i860-intel-osf1
1135 exit ;; 1268 ;;
1136 i860:*:4.*:*) # i860-SVR4 1269 i860:*:4.*:*) # i860-SVR4
1137 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1270 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1138 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1271 GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
1139 else # Add other i860-SVR4 vendors below as they are discovered. 1272 else # Add other i860-SVR4 vendors below as they are discovered.
1140 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1273 GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
1141 fi 1274 fi
1142 exit ;; 1275 ;;
1143 mini*:CTIX:SYS*5:*) 1276 mini*:CTIX:SYS*5:*)
1144 # "miniframe" 1277 # "miniframe"
1145 echo m68010-convergent-sysv 1278 GUESS=m68010-convergent-sysv
1146 exit ;; 1279 ;;
1147 mc68k:UNIX:SYSTEM5:3.51m) 1280 mc68k:UNIX:SYSTEM5:3.51m)
1148 echo m68k-convergent-sysv 1281 GUESS=m68k-convergent-sysv
1149 exit ;; 1282 ;;
1150 M680?0:D-NIX:5.3:*) 1283 M680?0:D-NIX:5.3:*)
1151 echo m68k-diab-dnix 1284 GUESS=m68k-diab-dnix
1152 exit ;; 1285 ;;
1153 M68*:*:R3V[5678]*:*) 1286 M68*:*:R3V[5678]*:*)
1154 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1287 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1155 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) 1288 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1157,9 +1290,9 @@ EOF
1157 test -r /etc/.relid \ 1290 test -r /etc/.relid \
1158 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1291 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1159 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1292 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1160 && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1293 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1161 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1294 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1162 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1295 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1163 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1296 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1164 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1297 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1165 && { echo i486-ncr-sysv4; exit; } ;; 1298 && { echo i486-ncr-sysv4; exit; } ;;
@@ -1168,251 +1301,444 @@ EOF
1168 test -r /etc/.relid \ 1301 test -r /etc/.relid \
1169 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1302 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1170 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1303 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1171 && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1304 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1172 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1305 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1173 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 1306 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1174 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1307 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1175 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1308 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1176 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1309 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1177 echo m68k-unknown-lynxos${UNAME_RELEASE} 1310 GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1178 exit ;; 1311 ;;
1179 mc68030:UNIX_System_V:4.*:*) 1312 mc68030:UNIX_System_V:4.*:*)
1180 echo m68k-atari-sysv4 1313 GUESS=m68k-atari-sysv4
1181 exit ;; 1314 ;;
1182 TSUNAMI:LynxOS:2.*:*) 1315 TSUNAMI:LynxOS:2.*:*)
1183 echo sparc-unknown-lynxos${UNAME_RELEASE} 1316 GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1184 exit ;; 1317 ;;
1185 rs6000:LynxOS:2.*:*) 1318 rs6000:LynxOS:2.*:*)
1186 echo rs6000-unknown-lynxos${UNAME_RELEASE} 1319 GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1187 exit ;; 1320 ;;
1188 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1321 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1189 echo powerpc-unknown-lynxos${UNAME_RELEASE} 1322 GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1190 exit ;; 1323 ;;
1191 SM[BE]S:UNIX_SV:*:*) 1324 SM[BE]S:UNIX_SV:*:*)
1192 echo mips-dde-sysv${UNAME_RELEASE} 1325 GUESS=mips-dde-sysv$UNAME_RELEASE
1193 exit ;; 1326 ;;
1194 RM*:ReliantUNIX-*:*:*) 1327 RM*:ReliantUNIX-*:*:*)
1195 echo mips-sni-sysv4 1328 GUESS=mips-sni-sysv4
1196 exit ;; 1329 ;;
1197 RM*:SINIX-*:*:*) 1330 RM*:SINIX-*:*:*)
1198 echo mips-sni-sysv4 1331 GUESS=mips-sni-sysv4
1199 exit ;; 1332 ;;
1200 *:SINIX-*:*:*) 1333 *:SINIX-*:*:*)
1201 if uname -p 2>/dev/null >/dev/null ; then 1334 if uname -p 2>/dev/null >/dev/null ; then
1202 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1335 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1203 echo ${UNAME_MACHINE}-sni-sysv4 1336 GUESS=$UNAME_MACHINE-sni-sysv4
1204 else 1337 else
1205 echo ns32k-sni-sysv 1338 GUESS=ns32k-sni-sysv
1206 fi 1339 fi
1207 exit ;; 1340 ;;
1208 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1341 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1209 # says <Richard.M.Bartel@ccMail.Census.GOV> 1342 # says <Richard.M.Bartel@ccMail.Census.GOV>
1210 echo i586-unisys-sysv4 1343 GUESS=i586-unisys-sysv4
1211 exit ;; 1344 ;;
1212 *:UNIX_System_V:4*:FTX*) 1345 *:UNIX_System_V:4*:FTX*)
1213 # From Gerald Hewes <hewes@openmarket.com>. 1346 # From Gerald Hewes <hewes@openmarket.com>.
1214 # How about differentiating between stratus architectures? -djm 1347 # How about differentiating between stratus architectures? -djm
1215 echo hppa1.1-stratus-sysv4 1348 GUESS=hppa1.1-stratus-sysv4
1216 exit ;; 1349 ;;
1217 *:*:*:FTX*) 1350 *:*:*:FTX*)
1218 # From seanf@swdc.stratus.com. 1351 # From seanf@swdc.stratus.com.
1219 echo i860-stratus-sysv4 1352 GUESS=i860-stratus-sysv4
1220 exit ;; 1353 ;;
1221 i*86:VOS:*:*) 1354 i*86:VOS:*:*)
1222 # From Paul.Green@stratus.com. 1355 # From Paul.Green@stratus.com.
1223 echo ${UNAME_MACHINE}-stratus-vos 1356 GUESS=$UNAME_MACHINE-stratus-vos
1224 exit ;; 1357 ;;
1225 *:VOS:*:*) 1358 *:VOS:*:*)
1226 # From Paul.Green@stratus.com. 1359 # From Paul.Green@stratus.com.
1227 echo hppa1.1-stratus-vos 1360 GUESS=hppa1.1-stratus-vos
1228 exit ;; 1361 ;;
1229 mc68*:A/UX:*:*) 1362 mc68*:A/UX:*:*)
1230 echo m68k-apple-aux${UNAME_RELEASE} 1363 GUESS=m68k-apple-aux$UNAME_RELEASE
1231 exit ;; 1364 ;;
1232 news*:NEWS-OS:6*:*) 1365 news*:NEWS-OS:6*:*)
1233 echo mips-sony-newsos6 1366 GUESS=mips-sony-newsos6
1234 exit ;; 1367 ;;
1235 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1368 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1236 if [ -d /usr/nec ]; then 1369 if test -d /usr/nec; then
1237 echo mips-nec-sysv${UNAME_RELEASE} 1370 GUESS=mips-nec-sysv$UNAME_RELEASE
1238 else 1371 else
1239 echo mips-unknown-sysv${UNAME_RELEASE} 1372 GUESS=mips-unknown-sysv$UNAME_RELEASE
1240 fi 1373 fi
1241 exit ;; 1374 ;;
1242 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1375 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1243 echo powerpc-be-beos 1376 GUESS=powerpc-be-beos
1244 exit ;; 1377 ;;
1245 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1378 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1246 echo powerpc-apple-beos 1379 GUESS=powerpc-apple-beos
1247 exit ;; 1380 ;;
1248 BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1381 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1249 echo i586-pc-beos 1382 GUESS=i586-pc-beos
1250 exit ;; 1383 ;;
1251 BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1384 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1252 echo i586-pc-haiku 1385 GUESS=i586-pc-haiku
1253 exit ;; 1386 ;;
1254 x86_64:Haiku:*:*) 1387 ppc:Haiku:*:*) # Haiku running on Apple PowerPC
1255 echo x86_64-unknown-haiku 1388 GUESS=powerpc-apple-haiku
1256 exit ;; 1389 ;;
1390 *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
1391 GUESS=$UNAME_MACHINE-unknown-haiku
1392 ;;
1257 SX-4:SUPER-UX:*:*) 1393 SX-4:SUPER-UX:*:*)
1258 echo sx4-nec-superux${UNAME_RELEASE} 1394 GUESS=sx4-nec-superux$UNAME_RELEASE
1259 exit ;; 1395 ;;
1260 SX-5:SUPER-UX:*:*) 1396 SX-5:SUPER-UX:*:*)
1261 echo sx5-nec-superux${UNAME_RELEASE} 1397 GUESS=sx5-nec-superux$UNAME_RELEASE
1262 exit ;; 1398 ;;
1263 SX-6:SUPER-UX:*:*) 1399 SX-6:SUPER-UX:*:*)
1264 echo sx6-nec-superux${UNAME_RELEASE} 1400 GUESS=sx6-nec-superux$UNAME_RELEASE
1265 exit ;; 1401 ;;
1266 SX-7:SUPER-UX:*:*) 1402 SX-7:SUPER-UX:*:*)
1267 echo sx7-nec-superux${UNAME_RELEASE} 1403 GUESS=sx7-nec-superux$UNAME_RELEASE
1268 exit ;; 1404 ;;
1269 SX-8:SUPER-UX:*:*) 1405 SX-8:SUPER-UX:*:*)
1270 echo sx8-nec-superux${UNAME_RELEASE} 1406 GUESS=sx8-nec-superux$UNAME_RELEASE
1271 exit ;; 1407 ;;
1272 SX-8R:SUPER-UX:*:*) 1408 SX-8R:SUPER-UX:*:*)
1273 echo sx8r-nec-superux${UNAME_RELEASE} 1409 GUESS=sx8r-nec-superux$UNAME_RELEASE
1274 exit ;; 1410 ;;
1411 SX-ACE:SUPER-UX:*:*)
1412 GUESS=sxace-nec-superux$UNAME_RELEASE
1413 ;;
1275 Power*:Rhapsody:*:*) 1414 Power*:Rhapsody:*:*)
1276 echo powerpc-apple-rhapsody${UNAME_RELEASE} 1415 GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1277 exit ;; 1416 ;;
1278 *:Rhapsody:*:*) 1417 *:Rhapsody:*:*)
1279 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1418 GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1280 exit ;; 1419 ;;
1420 arm64:Darwin:*:*)
1421 GUESS=aarch64-apple-darwin$UNAME_RELEASE
1422 ;;
1281 *:Darwin:*:*) 1423 *:Darwin:*:*)
1282 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1424 UNAME_PROCESSOR=`uname -p`
1283 eval $set_cc_for_build 1425 case $UNAME_PROCESSOR in
1284 if test "$UNAME_PROCESSOR" = unknown ; then 1426 unknown) UNAME_PROCESSOR=powerpc ;;
1285 UNAME_PROCESSOR=powerpc 1427 esac
1428 if command -v xcode-select > /dev/null 2> /dev/null && \
1429 ! xcode-select --print-path > /dev/null 2> /dev/null ; then
1430 # Avoid executing cc if there is no toolchain installed as
1431 # cc will be a stub that puts up a graphical alert
1432 # prompting the user to install developer tools.
1433 CC_FOR_BUILD=no_compiler_found
1434 else
1435 set_cc_for_build
1286 fi 1436 fi
1287 if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then 1437 if test "$CC_FOR_BUILD" != no_compiler_found; then
1288 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 1438 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1289 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1439 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1290 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 1440 grep IS_64BIT_ARCH >/dev/null
1291 grep IS_64BIT_ARCH >/dev/null 1441 then
1292 then 1442 case $UNAME_PROCESSOR in
1293 case $UNAME_PROCESSOR in 1443 i386) UNAME_PROCESSOR=x86_64 ;;
1294 i386) UNAME_PROCESSOR=x86_64 ;; 1444 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1295 powerpc) UNAME_PROCESSOR=powerpc64 ;; 1445 esac
1296 esac 1446 fi
1297 fi 1447 # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1448 if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1449 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1450 grep IS_PPC >/dev/null
1451 then
1452 UNAME_PROCESSOR=powerpc
1298 fi 1453 fi
1299 elif test "$UNAME_PROCESSOR" = i386 ; then 1454 elif test "$UNAME_PROCESSOR" = i386 ; then
1300 # Avoid executing cc on OS X 10.9, as it ships with a stub 1455 # uname -m returns i386 or x86_64
1301 # that puts up a graphical alert prompting to install 1456 UNAME_PROCESSOR=$UNAME_MACHINE
1302 # developer tools. Any system running Mac OS X 10.7 or
1303 # later (Darwin 11 and later) is required to have a 64-bit
1304 # processor. This is not true of the ARM version of Darwin
1305 # that Apple uses in portable devices.
1306 UNAME_PROCESSOR=x86_64
1307 fi 1457 fi
1308 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1458 GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1309 exit ;; 1459 ;;
1310 *:procnto*:*:* | *:QNX:[0123456789]*:*) 1460 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1311 UNAME_PROCESSOR=`uname -p` 1461 UNAME_PROCESSOR=`uname -p`
1312 if test "$UNAME_PROCESSOR" = "x86"; then 1462 if test "$UNAME_PROCESSOR" = x86; then
1313 UNAME_PROCESSOR=i386 1463 UNAME_PROCESSOR=i386
1314 UNAME_MACHINE=pc 1464 UNAME_MACHINE=pc
1315 fi 1465 fi
1316 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1466 GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1317 exit ;; 1467 ;;
1318 *:QNX:*:4*) 1468 *:QNX:*:4*)
1319 echo i386-pc-qnx 1469 GUESS=i386-pc-qnx
1320 exit ;; 1470 ;;
1321 NEO-?:NONSTOP_KERNEL:*:*) 1471 NEO-*:NONSTOP_KERNEL:*:*)
1322 echo neo-tandem-nsk${UNAME_RELEASE} 1472 GUESS=neo-tandem-nsk$UNAME_RELEASE
1323 exit ;; 1473 ;;
1324 NSE-*:NONSTOP_KERNEL:*:*) 1474 NSE-*:NONSTOP_KERNEL:*:*)
1325 echo nse-tandem-nsk${UNAME_RELEASE} 1475 GUESS=nse-tandem-nsk$UNAME_RELEASE
1326 exit ;; 1476 ;;
1327 NSR-?:NONSTOP_KERNEL:*:*) 1477 NSR-*:NONSTOP_KERNEL:*:*)
1328 echo nsr-tandem-nsk${UNAME_RELEASE} 1478 GUESS=nsr-tandem-nsk$UNAME_RELEASE
1329 exit ;; 1479 ;;
1480 NSV-*:NONSTOP_KERNEL:*:*)
1481 GUESS=nsv-tandem-nsk$UNAME_RELEASE
1482 ;;
1483 NSX-*:NONSTOP_KERNEL:*:*)
1484 GUESS=nsx-tandem-nsk$UNAME_RELEASE
1485 ;;
1330 *:NonStop-UX:*:*) 1486 *:NonStop-UX:*:*)
1331 echo mips-compaq-nonstopux 1487 GUESS=mips-compaq-nonstopux
1332 exit ;; 1488 ;;
1333 BS2000:POSIX*:*:*) 1489 BS2000:POSIX*:*:*)
1334 echo bs2000-siemens-sysv 1490 GUESS=bs2000-siemens-sysv
1335 exit ;; 1491 ;;
1336 DS/*:UNIX_System_V:*:*) 1492 DS/*:UNIX_System_V:*:*)
1337 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1493 GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1338 exit ;; 1494 ;;
1339 *:Plan9:*:*) 1495 *:Plan9:*:*)
1340 # "uname -m" is not consistent, so use $cputype instead. 386 1496 # "uname -m" is not consistent, so use $cputype instead. 386
1341 # is converted to i386 for consistency with other x86 1497 # is converted to i386 for consistency with other x86
1342 # operating systems. 1498 # operating systems.
1343 if test "$cputype" = "386"; then 1499 if test "${cputype-}" = 386; then
1344 UNAME_MACHINE=i386 1500 UNAME_MACHINE=i386
1345 else 1501 elif test "x${cputype-}" != x; then
1346 UNAME_MACHINE="$cputype" 1502 UNAME_MACHINE=$cputype
1347 fi 1503 fi
1348 echo ${UNAME_MACHINE}-unknown-plan9 1504 GUESS=$UNAME_MACHINE-unknown-plan9
1349 exit ;; 1505 ;;
1350 *:TOPS-10:*:*) 1506 *:TOPS-10:*:*)
1351 echo pdp10-unknown-tops10 1507 GUESS=pdp10-unknown-tops10
1352 exit ;; 1508 ;;
1353 *:TENEX:*:*) 1509 *:TENEX:*:*)
1354 echo pdp10-unknown-tenex 1510 GUESS=pdp10-unknown-tenex
1355 exit ;; 1511 ;;
1356 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1512 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1357 echo pdp10-dec-tops20 1513 GUESS=pdp10-dec-tops20
1358 exit ;; 1514 ;;
1359 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1515 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1360 echo pdp10-xkl-tops20 1516 GUESS=pdp10-xkl-tops20
1361 exit ;; 1517 ;;
1362 *:TOPS-20:*:*) 1518 *:TOPS-20:*:*)
1363 echo pdp10-unknown-tops20 1519 GUESS=pdp10-unknown-tops20
1364 exit ;; 1520 ;;
1365 *:ITS:*:*) 1521 *:ITS:*:*)
1366 echo pdp10-unknown-its 1522 GUESS=pdp10-unknown-its
1367 exit ;; 1523 ;;
1368 SEI:*:*:SEIUX) 1524 SEI:*:*:SEIUX)
1369 echo mips-sei-seiux${UNAME_RELEASE} 1525 GUESS=mips-sei-seiux$UNAME_RELEASE
1370 exit ;; 1526 ;;
1371 *:DragonFly:*:*) 1527 *:DragonFly:*:*)
1372 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1528 DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1373 exit ;; 1529 GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1530 ;;
1374 *:*VMS:*:*) 1531 *:*VMS:*:*)
1375 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1532 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1376 case "${UNAME_MACHINE}" in 1533 case $UNAME_MACHINE in
1377 A*) echo alpha-dec-vms ; exit ;; 1534 A*) GUESS=alpha-dec-vms ;;
1378 I*) echo ia64-dec-vms ; exit ;; 1535 I*) GUESS=ia64-dec-vms ;;
1379 V*) echo vax-dec-vms ; exit ;; 1536 V*) GUESS=vax-dec-vms ;;
1380 esac ;; 1537 esac ;;
1381 *:XENIX:*:SysV) 1538 *:XENIX:*:SysV)
1382 echo i386-pc-xenix 1539 GUESS=i386-pc-xenix
1383 exit ;; 1540 ;;
1384 i*86:skyos:*:*) 1541 i*86:skyos:*:*)
1385 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1542 SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1386 exit ;; 1543 GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1544 ;;
1387 i*86:rdos:*:*) 1545 i*86:rdos:*:*)
1388 echo ${UNAME_MACHINE}-pc-rdos 1546 GUESS=$UNAME_MACHINE-pc-rdos
1389 exit ;; 1547 ;;
1390 i*86:AROS:*:*) 1548 i*86:Fiwix:*:*)
1391 echo ${UNAME_MACHINE}-pc-aros 1549 GUESS=$UNAME_MACHINE-pc-fiwix
1392 exit ;; 1550 ;;
1551 *:AROS:*:*)
1552 GUESS=$UNAME_MACHINE-unknown-aros
1553 ;;
1393 x86_64:VMkernel:*:*) 1554 x86_64:VMkernel:*:*)
1394 echo ${UNAME_MACHINE}-unknown-esx 1555 GUESS=$UNAME_MACHINE-unknown-esx
1395 exit ;; 1556 ;;
1396 amd64:Isilon\ OneFS:*:*) 1557 amd64:Isilon\ OneFS:*:*)
1397 echo x86_64-unknown-onefs 1558 GUESS=x86_64-unknown-onefs
1398 exit ;; 1559 ;;
1560 *:Unleashed:*:*)
1561 GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1562 ;;
1563esac
1564
1565# Do we have a guess based on uname results?
1566if test "x$GUESS" != x; then
1567 echo "$GUESS"
1568 exit
1569fi
1570
1571# No uname command or uname output not recognized.
1572set_cc_for_build
1573cat > "$dummy.c" <<EOF
1574#ifdef _SEQUENT_
1575#include <sys/types.h>
1576#include <sys/utsname.h>
1577#endif
1578#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1579#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1580#include <signal.h>
1581#if defined(_SIZE_T_) || defined(SIGLOST)
1582#include <sys/utsname.h>
1583#endif
1584#endif
1585#endif
1586main ()
1587{
1588#if defined (sony)
1589#if defined (MIPSEB)
1590 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1591 I don't know.... */
1592 printf ("mips-sony-bsd\n"); exit (0);
1593#else
1594#include <sys/param.h>
1595 printf ("m68k-sony-newsos%s\n",
1596#ifdef NEWSOS4
1597 "4"
1598#else
1599 ""
1600#endif
1601 ); exit (0);
1602#endif
1603#endif
1604
1605#if defined (NeXT)
1606#if !defined (__ARCHITECTURE__)
1607#define __ARCHITECTURE__ "m68k"
1608#endif
1609 int version;
1610 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1611 if (version < 4)
1612 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1613 else
1614 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1615 exit (0);
1616#endif
1617
1618#if defined (MULTIMAX) || defined (n16)
1619#if defined (UMAXV)
1620 printf ("ns32k-encore-sysv\n"); exit (0);
1621#else
1622#if defined (CMU)
1623 printf ("ns32k-encore-mach\n"); exit (0);
1624#else
1625 printf ("ns32k-encore-bsd\n"); exit (0);
1626#endif
1627#endif
1628#endif
1629
1630#if defined (__386BSD__)
1631 printf ("i386-pc-bsd\n"); exit (0);
1632#endif
1633
1634#if defined (sequent)
1635#if defined (i386)
1636 printf ("i386-sequent-dynix\n"); exit (0);
1637#endif
1638#if defined (ns32000)
1639 printf ("ns32k-sequent-dynix\n"); exit (0);
1640#endif
1641#endif
1642
1643#if defined (_SEQUENT_)
1644 struct utsname un;
1645
1646 uname(&un);
1647 if (strncmp(un.version, "V2", 2) == 0) {
1648 printf ("i386-sequent-ptx2\n"); exit (0);
1649 }
1650 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1651 printf ("i386-sequent-ptx1\n"); exit (0);
1652 }
1653 printf ("i386-sequent-ptx\n"); exit (0);
1654#endif
1655
1656#if defined (vax)
1657#if !defined (ultrix)
1658#include <sys/param.h>
1659#if defined (BSD)
1660#if BSD == 43
1661 printf ("vax-dec-bsd4.3\n"); exit (0);
1662#else
1663#if BSD == 199006
1664 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1665#else
1666 printf ("vax-dec-bsd\n"); exit (0);
1667#endif
1668#endif
1669#else
1670 printf ("vax-dec-bsd\n"); exit (0);
1671#endif
1672#else
1673#if defined(_SIZE_T_) || defined(SIGLOST)
1674 struct utsname un;
1675 uname (&un);
1676 printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1677#else
1678 printf ("vax-dec-ultrix\n"); exit (0);
1679#endif
1680#endif
1681#endif
1682#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1683#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1684#if defined(_SIZE_T_) || defined(SIGLOST)
1685 struct utsname *un;
1686 uname (&un);
1687 printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1688#else
1689 printf ("mips-dec-ultrix\n"); exit (0);
1690#endif
1691#endif
1692#endif
1693
1694#if defined (alliant) && defined (i860)
1695 printf ("i860-alliant-bsd\n"); exit (0);
1696#endif
1697
1698 exit (1);
1699}
1700EOF
1701
1702$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1703 { echo "$SYSTEM_NAME"; exit; }
1704
1705# Apollos put the system type in the environment.
1706test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1707
1708echo "$0: unable to guess system type" >&2
1709
1710case $UNAME_MACHINE:$UNAME_SYSTEM in
1711 mips:Linux | mips64:Linux)
1712 # If we got here on MIPS GNU/Linux, output extra information.
1713 cat >&2 <<EOF
1714
1715NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1716the system type. Please install a C compiler and try again.
1717EOF
1718 ;;
1399esac 1719esac
1400 1720
1401cat >&2 <<EOF 1721cat >&2 <<EOF
1402$0: unable to guess system type
1403 1722
1404This script, last modified $timestamp, has failed to recognize 1723This script (version $timestamp), has failed to recognize the
1405the operating system you are using. It is advised that you 1724operating system you are using. If your script is old, overwrite *all*
1406download the most up to date version of the config scripts from 1725copies of config.guess and config.sub with the latest versions from:
1407 1726
1408 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 1727 https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
1409and 1728and
1410 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 1729 https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1730EOF
1411 1731
1412If the version you run ($0) is already up to date, please 1732our_year=`echo $timestamp | sed 's,-.*,,'`
1413send the following data and any information you think might be 1733thisyear=`date +%Y`
1414pertinent to <config-patches@gnu.org> in order to provide the needed 1734# shellcheck disable=SC2003
1415information to handle your system. 1735script_age=`expr "$thisyear" - "$our_year"`
1736if test "$script_age" -lt 3 ; then
1737 cat >&2 <<EOF
1738
1739If $0 has already been updated, send the following data and any
1740information you think might be pertinent to config-patches@gnu.org to
1741provide the necessary information to handle your system.
1416 1742
1417config.guess timestamp = $timestamp 1743config.guess timestamp = $timestamp
1418 1744
@@ -1431,16 +1757,17 @@ hostinfo = `(hostinfo) 2>/dev/null`
1431/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1757/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1432/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1758/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1433 1759
1434UNAME_MACHINE = ${UNAME_MACHINE} 1760UNAME_MACHINE = "$UNAME_MACHINE"
1435UNAME_RELEASE = ${UNAME_RELEASE} 1761UNAME_RELEASE = "$UNAME_RELEASE"
1436UNAME_SYSTEM = ${UNAME_SYSTEM} 1762UNAME_SYSTEM = "$UNAME_SYSTEM"
1437UNAME_VERSION = ${UNAME_VERSION} 1763UNAME_VERSION = "$UNAME_VERSION"
1438EOF 1764EOF
1765fi
1439 1766
1440exit 1 1767exit 1
1441 1768
1442# Local variables: 1769# Local variables:
1443# eval: (add-hook 'write-file-hooks 'time-stamp) 1770# eval: (add-hook 'before-save-hook 'time-stamp)
1444# time-stamp-start: "timestamp='" 1771# time-stamp-start: "timestamp='"
1445# time-stamp-format: "%:y-%02m-%02d" 1772# time-stamp-format: "%:y-%02m-%02d"
1446# time-stamp-end: "'" 1773# time-stamp-end: "'"
diff --git a/scripts/config.sub b/scripts/config.sub
index 0cd7016..baf1512 100644
--- a/scripts/config.sub
+++ b/scripts/config.sub
@@ -1,12 +1,14 @@
1#! /bin/sh 1#! /bin/sh
2# Configuration validation subroutine script. 2# Configuration validation subroutine script.
3# Copyright 1992-2015 Free Software Foundation, Inc. 3# Copyright 1992-2022 Free Software Foundation, Inc.
4 4
5timestamp='2015-12-14' 5# shellcheck disable=SC2006,SC2268 # see below for rationale
6
7timestamp='2022-09-17'
6 8
7# This file is free software; you can redistribute it and/or modify it 9# 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 10# under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 3 of the License, or 11# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version. 12# (at your option) any later version.
11# 13#
12# This program is distributed in the hope that it will be useful, but 14# This program is distributed in the hope that it will be useful, but
@@ -15,7 +17,7 @@ timestamp='2015-12-14'
15# General Public License for more details. 17# General Public License for more details.
16# 18#
17# You should have received a copy of the GNU General Public License 19# You should have received a copy of the GNU General Public License
18# along with this program; if not, see <http://www.gnu.org/licenses/>. 20# along with this program; if not, see <https://www.gnu.org/licenses/>.
19# 21#
20# As a special exception to the GNU General Public License, if you 22# As a special exception to the GNU General Public License, if you
21# distribute this file as part of a program that contains a 23# distribute this file as part of a program that contains a
@@ -33,7 +35,7 @@ timestamp='2015-12-14'
33# Otherwise, we print the canonical config type on stdout and succeed. 35# Otherwise, we print the canonical config type on stdout and succeed.
34 36
35# You can get the latest version of this script from: 37# You can get the latest version of this script from:
36# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 38# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
37 39
38# This file is supposed to be the same for all GNU packages 40# This file is supposed to be the same for all GNU packages
39# and recognize all the CPU types, system types and aliases 41# and recognize all the CPU types, system types and aliases
@@ -50,6 +52,13 @@ timestamp='2015-12-14'
50# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 52# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
51# It is wrong to echo any other type of specification. 53# It is wrong to echo any other type of specification.
52 54
55# The "shellcheck disable" line above the timestamp inhibits complaints
56# about features and limitations of the classic Bourne shell that were
57# superseded or lifted in POSIX. However, this script identifies a wide
58# variety of pre-POSIX systems that do not have POSIX shells at all, and
59# even some reasonably current systems (Solaris 10 as case-in-point) still
60# have a pre-POSIX /bin/sh.
61
53me=`echo "$0" | sed -e 's,.*/,,'` 62me=`echo "$0" | sed -e 's,.*/,,'`
54 63
55usage="\ 64usage="\
@@ -57,7 +66,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
57 66
58Canonicalize a configuration name. 67Canonicalize a configuration name.
59 68
60Operation modes: 69Options:
61 -h, --help print this help, then exit 70 -h, --help print this help, then exit
62 -t, --time-stamp print date of last modification, then exit 71 -t, --time-stamp print date of last modification, then exit
63 -v, --version print version number, then exit 72 -v, --version print version number, then exit
@@ -67,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."
67version="\ 76version="\
68GNU config.sub ($timestamp) 77GNU config.sub ($timestamp)
69 78
70Copyright 1992-2015 Free Software Foundation, Inc. 79Copyright 1992-2022 Free Software Foundation, Inc.
71 80
72This is free software; see the source for copying conditions. There is NO 81This is free software; see the source for copying conditions. There is NO
73warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 82warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -89,12 +98,12 @@ while test $# -gt 0 ; do
89 - ) # Use stdin as input. 98 - ) # Use stdin as input.
90 break ;; 99 break ;;
91 -* ) 100 -* )
92 echo "$me: invalid option $1$help" 101 echo "$me: invalid option $1$help" >&2
93 exit 1 ;; 102 exit 1 ;;
94 103
95 *local*) 104 *local*)
96 # First pass through any local machine types. 105 # First pass through any local machine types.
97 echo $1 106 echo "$1"
98 exit ;; 107 exit ;;
99 108
100 * ) 109 * )
@@ -110,1234 +119,1186 @@ case $# in
110 exit 1;; 119 exit 1;;
111esac 120esac
112 121
113# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 122# Split fields of configuration type
114# Here we must recognize all the valid KERNEL-OS combinations. 123# shellcheck disable=SC2162
115maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 124saved_IFS=$IFS
116case $maybe_os in 125IFS="-" read field1 field2 field3 field4 <<EOF
117 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 126$1
118 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 127EOF
119 knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 128IFS=$saved_IFS
120 kopensolaris*-gnu* | \
121 storm-chaos* | os2-emx* | rtmk-nova*)
122 os=-$maybe_os
123 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
124 ;;
125 android-linux)
126 os=-linux-android
127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
128 ;;
129 *)
130 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131 if [ $basic_machine != $1 ]
132 then os=`echo $1 | sed 's/.*-/-/'`
133 else os=; fi
134 ;;
135esac
136 129
137### Let's recognize common machines as not being operating systems so 130# Separate into logical components for further validation
138### that things like config.sub decstation-3100 work. We also 131case $1 in
139### recognize some manufacturers as not being operating systems, so we 132 *-*-*-*-*)
140### can provide default operating systems below. 133 echo Invalid configuration \`"$1"\': more than four components >&2
141case $os in 134 exit 1
142 -sun*os*)
143 # Prevent following clause from handling this invalid input.
144 ;;
145 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151 -apple | -axis | -knuth | -cray | -microblaze*)
152 os=
153 basic_machine=$1
154 ;;
155 -bluegene*)
156 os=-cnk
157 ;;
158 -sim | -cisco | -oki | -wec | -winbond)
159 os=
160 basic_machine=$1
161 ;;
162 -scout)
163 ;;
164 -wrs)
165 os=-vxworks
166 basic_machine=$1
167 ;;
168 -chorusos*)
169 os=-chorusos
170 basic_machine=$1
171 ;;
172 -chorusrdb)
173 os=-chorusrdb
174 basic_machine=$1
175 ;;
176 -hiux*)
177 os=-hiuxwe2
178 ;;
179 -sco6)
180 os=-sco5v6
181 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
182 ;;
183 -sco5)
184 os=-sco3.2v5
185 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
186 ;;
187 -sco4)
188 os=-sco3.2v4
189 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190 ;;
191 -sco3.2.[4-9]*)
192 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
193 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194 ;;
195 -sco3.2v[4-9]*)
196 # Don't forget version if it is 3.2v4 or newer.
197 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198 ;;
199 -sco5v6*)
200 # Don't forget version if it is 3.2v4 or newer.
201 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202 ;;
203 -sco*)
204 os=-sco3.2v2
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 ;;
207 -udk*)
208 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
209 ;;
210 -isc)
211 os=-isc2.2
212 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
213 ;;
214 -clix*)
215 basic_machine=clipper-intergraph
216 ;;
217 -isc*)
218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 ;;
220 -lynx*178)
221 os=-lynxos178
222 ;;
223 -lynx*5)
224 os=-lynxos5
225 ;;
226 -lynx*)
227 os=-lynxos
228 ;; 135 ;;
229 -ptx*) 136 *-*-*-*)
230 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 137 basic_machine=$field1-$field2
138 basic_os=$field3-$field4
231 ;; 139 ;;
232 -windowsnt*) 140 *-*-*)
233 os=`echo $os | sed -e 's/windowsnt/winnt/'` 141 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
142 # parts
143 maybe_os=$field2-$field3
144 case $maybe_os in
145 nto-qnx* | linux-* | uclinux-uclibc* \
146 | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
147 | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
148 | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
149 basic_machine=$field1
150 basic_os=$maybe_os
151 ;;
152 android-linux)
153 basic_machine=$field1-unknown
154 basic_os=linux-android
155 ;;
156 *)
157 basic_machine=$field1-$field2
158 basic_os=$field3
159 ;;
160 esac
234 ;; 161 ;;
235 -psos*) 162 *-*)
236 os=-psos 163 # A lone config we happen to match not fitting any pattern
164 case $field1-$field2 in
165 decstation-3100)
166 basic_machine=mips-dec
167 basic_os=
168 ;;
169 *-*)
170 # Second component is usually, but not always the OS
171 case $field2 in
172 # Prevent following clause from handling this valid os
173 sun*os*)
174 basic_machine=$field1
175 basic_os=$field2
176 ;;
177 zephyr*)
178 basic_machine=$field1-unknown
179 basic_os=$field2
180 ;;
181 # Manufacturers
182 dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
183 | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
184 | unicom* | ibm* | next | hp | isi* | apollo | altos* \
185 | convergent* | ncr* | news | 32* | 3600* | 3100* \
186 | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
187 | ultra | tti* | harris | dolphin | highlevel | gould \
188 | cbm | ns | masscomp | apple | axis | knuth | cray \
189 | microblaze* | sim | cisco \
190 | oki | wec | wrs | winbond)
191 basic_machine=$field1-$field2
192 basic_os=
193 ;;
194 *)
195 basic_machine=$field1
196 basic_os=$field2
197 ;;
198 esac
199 ;;
200 esac
237 ;; 201 ;;
238 -mint | -mint[0-9]*) 202 *)
239 basic_machine=m68k-atari 203 # Convert single-component short-hands not valid as part of
240 os=-mint 204 # multi-component configurations.
205 case $field1 in
206 386bsd)
207 basic_machine=i386-pc
208 basic_os=bsd
209 ;;
210 a29khif)
211 basic_machine=a29k-amd
212 basic_os=udi
213 ;;
214 adobe68k)
215 basic_machine=m68010-adobe
216 basic_os=scout
217 ;;
218 alliant)
219 basic_machine=fx80-alliant
220 basic_os=
221 ;;
222 altos | altos3068)
223 basic_machine=m68k-altos
224 basic_os=
225 ;;
226 am29k)
227 basic_machine=a29k-none
228 basic_os=bsd
229 ;;
230 amdahl)
231 basic_machine=580-amdahl
232 basic_os=sysv
233 ;;
234 amiga)
235 basic_machine=m68k-unknown
236 basic_os=
237 ;;
238 amigaos | amigados)
239 basic_machine=m68k-unknown
240 basic_os=amigaos
241 ;;
242 amigaunix | amix)
243 basic_machine=m68k-unknown
244 basic_os=sysv4
245 ;;
246 apollo68)
247 basic_machine=m68k-apollo
248 basic_os=sysv
249 ;;
250 apollo68bsd)
251 basic_machine=m68k-apollo
252 basic_os=bsd
253 ;;
254 aros)
255 basic_machine=i386-pc
256 basic_os=aros
257 ;;
258 aux)
259 basic_machine=m68k-apple
260 basic_os=aux
261 ;;
262 balance)
263 basic_machine=ns32k-sequent
264 basic_os=dynix
265 ;;
266 blackfin)
267 basic_machine=bfin-unknown
268 basic_os=linux
269 ;;
270 cegcc)
271 basic_machine=arm-unknown
272 basic_os=cegcc
273 ;;
274 convex-c1)
275 basic_machine=c1-convex
276 basic_os=bsd
277 ;;
278 convex-c2)
279 basic_machine=c2-convex
280 basic_os=bsd
281 ;;
282 convex-c32)
283 basic_machine=c32-convex
284 basic_os=bsd
285 ;;
286 convex-c34)
287 basic_machine=c34-convex
288 basic_os=bsd
289 ;;
290 convex-c38)
291 basic_machine=c38-convex
292 basic_os=bsd
293 ;;
294 cray)
295 basic_machine=j90-cray
296 basic_os=unicos
297 ;;
298 crds | unos)
299 basic_machine=m68k-crds
300 basic_os=
301 ;;
302 da30)
303 basic_machine=m68k-da30
304 basic_os=
305 ;;
306 decstation | pmax | pmin | dec3100 | decstatn)
307 basic_machine=mips-dec
308 basic_os=
309 ;;
310 delta88)
311 basic_machine=m88k-motorola
312 basic_os=sysv3
313 ;;
314 dicos)
315 basic_machine=i686-pc
316 basic_os=dicos
317 ;;
318 djgpp)
319 basic_machine=i586-pc
320 basic_os=msdosdjgpp
321 ;;
322 ebmon29k)
323 basic_machine=a29k-amd
324 basic_os=ebmon
325 ;;
326 es1800 | OSE68k | ose68k | ose | OSE)
327 basic_machine=m68k-ericsson
328 basic_os=ose
329 ;;
330 gmicro)
331 basic_machine=tron-gmicro
332 basic_os=sysv
333 ;;
334 go32)
335 basic_machine=i386-pc
336 basic_os=go32
337 ;;
338 h8300hms)
339 basic_machine=h8300-hitachi
340 basic_os=hms
341 ;;
342 h8300xray)
343 basic_machine=h8300-hitachi
344 basic_os=xray
345 ;;
346 h8500hms)
347 basic_machine=h8500-hitachi
348 basic_os=hms
349 ;;
350 harris)
351 basic_machine=m88k-harris
352 basic_os=sysv3
353 ;;
354 hp300 | hp300hpux)
355 basic_machine=m68k-hp
356 basic_os=hpux
357 ;;
358 hp300bsd)
359 basic_machine=m68k-hp
360 basic_os=bsd
361 ;;
362 hppaosf)
363 basic_machine=hppa1.1-hp
364 basic_os=osf
365 ;;
366 hppro)
367 basic_machine=hppa1.1-hp
368 basic_os=proelf
369 ;;
370 i386mach)
371 basic_machine=i386-mach
372 basic_os=mach
373 ;;
374 isi68 | isi)
375 basic_machine=m68k-isi
376 basic_os=sysv
377 ;;
378 m68knommu)
379 basic_machine=m68k-unknown
380 basic_os=linux
381 ;;
382 magnum | m3230)
383 basic_machine=mips-mips
384 basic_os=sysv
385 ;;
386 merlin)
387 basic_machine=ns32k-utek
388 basic_os=sysv
389 ;;
390 mingw64)
391 basic_machine=x86_64-pc
392 basic_os=mingw64
393 ;;
394 mingw32)
395 basic_machine=i686-pc
396 basic_os=mingw32
397 ;;
398 mingw32ce)
399 basic_machine=arm-unknown
400 basic_os=mingw32ce
401 ;;
402 monitor)
403 basic_machine=m68k-rom68k
404 basic_os=coff
405 ;;
406 morphos)
407 basic_machine=powerpc-unknown
408 basic_os=morphos
409 ;;
410 moxiebox)
411 basic_machine=moxie-unknown
412 basic_os=moxiebox
413 ;;
414 msdos)
415 basic_machine=i386-pc
416 basic_os=msdos
417 ;;
418 msys)
419 basic_machine=i686-pc
420 basic_os=msys
421 ;;
422 mvs)
423 basic_machine=i370-ibm
424 basic_os=mvs
425 ;;
426 nacl)
427 basic_machine=le32-unknown
428 basic_os=nacl
429 ;;
430 ncr3000)
431 basic_machine=i486-ncr
432 basic_os=sysv4
433 ;;
434 netbsd386)
435 basic_machine=i386-pc
436 basic_os=netbsd
437 ;;
438 netwinder)
439 basic_machine=armv4l-rebel
440 basic_os=linux
441 ;;
442 news | news700 | news800 | news900)
443 basic_machine=m68k-sony
444 basic_os=newsos
445 ;;
446 news1000)
447 basic_machine=m68030-sony
448 basic_os=newsos
449 ;;
450 necv70)
451 basic_machine=v70-nec
452 basic_os=sysv
453 ;;
454 nh3000)
455 basic_machine=m68k-harris
456 basic_os=cxux
457 ;;
458 nh[45]000)
459 basic_machine=m88k-harris
460 basic_os=cxux
461 ;;
462 nindy960)
463 basic_machine=i960-intel
464 basic_os=nindy
465 ;;
466 mon960)
467 basic_machine=i960-intel
468 basic_os=mon960
469 ;;
470 nonstopux)
471 basic_machine=mips-compaq
472 basic_os=nonstopux
473 ;;
474 os400)
475 basic_machine=powerpc-ibm
476 basic_os=os400
477 ;;
478 OSE68000 | ose68000)
479 basic_machine=m68000-ericsson
480 basic_os=ose
481 ;;
482 os68k)
483 basic_machine=m68k-none
484 basic_os=os68k
485 ;;
486 paragon)
487 basic_machine=i860-intel
488 basic_os=osf
489 ;;
490 parisc)
491 basic_machine=hppa-unknown
492 basic_os=linux
493 ;;
494 psp)
495 basic_machine=mipsallegrexel-sony
496 basic_os=psp
497 ;;
498 pw32)
499 basic_machine=i586-unknown
500 basic_os=pw32
501 ;;
502 rdos | rdos64)
503 basic_machine=x86_64-pc
504 basic_os=rdos
505 ;;
506 rdos32)
507 basic_machine=i386-pc
508 basic_os=rdos
509 ;;
510 rom68k)
511 basic_machine=m68k-rom68k
512 basic_os=coff
513 ;;
514 sa29200)
515 basic_machine=a29k-amd
516 basic_os=udi
517 ;;
518 sei)
519 basic_machine=mips-sei
520 basic_os=seiux
521 ;;
522 sequent)
523 basic_machine=i386-sequent
524 basic_os=
525 ;;
526 sps7)
527 basic_machine=m68k-bull
528 basic_os=sysv2
529 ;;
530 st2000)
531 basic_machine=m68k-tandem
532 basic_os=
533 ;;
534 stratus)
535 basic_machine=i860-stratus
536 basic_os=sysv4
537 ;;
538 sun2)
539 basic_machine=m68000-sun
540 basic_os=
541 ;;
542 sun2os3)
543 basic_machine=m68000-sun
544 basic_os=sunos3
545 ;;
546 sun2os4)
547 basic_machine=m68000-sun
548 basic_os=sunos4
549 ;;
550 sun3)
551 basic_machine=m68k-sun
552 basic_os=
553 ;;
554 sun3os3)
555 basic_machine=m68k-sun
556 basic_os=sunos3
557 ;;
558 sun3os4)
559 basic_machine=m68k-sun
560 basic_os=sunos4
561 ;;
562 sun4)
563 basic_machine=sparc-sun
564 basic_os=
565 ;;
566 sun4os3)
567 basic_machine=sparc-sun
568 basic_os=sunos3
569 ;;
570 sun4os4)
571 basic_machine=sparc-sun
572 basic_os=sunos4
573 ;;
574 sun4sol2)
575 basic_machine=sparc-sun
576 basic_os=solaris2
577 ;;
578 sun386 | sun386i | roadrunner)
579 basic_machine=i386-sun
580 basic_os=
581 ;;
582 sv1)
583 basic_machine=sv1-cray
584 basic_os=unicos
585 ;;
586 symmetry)
587 basic_machine=i386-sequent
588 basic_os=dynix
589 ;;
590 t3e)
591 basic_machine=alphaev5-cray
592 basic_os=unicos
593 ;;
594 t90)
595 basic_machine=t90-cray
596 basic_os=unicos
597 ;;
598 toad1)
599 basic_machine=pdp10-xkl
600 basic_os=tops20
601 ;;
602 tpf)
603 basic_machine=s390x-ibm
604 basic_os=tpf
605 ;;
606 udi29k)
607 basic_machine=a29k-amd
608 basic_os=udi
609 ;;
610 ultra3)
611 basic_machine=a29k-nyu
612 basic_os=sym1
613 ;;
614 v810 | necv810)
615 basic_machine=v810-nec
616 basic_os=none
617 ;;
618 vaxv)
619 basic_machine=vax-dec
620 basic_os=sysv
621 ;;
622 vms)
623 basic_machine=vax-dec
624 basic_os=vms
625 ;;
626 vsta)
627 basic_machine=i386-pc
628 basic_os=vsta
629 ;;
630 vxworks960)
631 basic_machine=i960-wrs
632 basic_os=vxworks
633 ;;
634 vxworks68)
635 basic_machine=m68k-wrs
636 basic_os=vxworks
637 ;;
638 vxworks29k)
639 basic_machine=a29k-wrs
640 basic_os=vxworks
641 ;;
642 xbox)
643 basic_machine=i686-pc
644 basic_os=mingw32
645 ;;
646 ymp)
647 basic_machine=ymp-cray
648 basic_os=unicos
649 ;;
650 *)
651 basic_machine=$1
652 basic_os=
653 ;;
654 esac
241 ;; 655 ;;
242esac 656esac
243 657
244# Decode aliases for certain CPU-COMPANY combinations. 658# Decode 1-component or ad-hoc basic machines
245case $basic_machine in 659case $basic_machine in
246 # Recognize the basic CPU types without company name. 660 # Here we handle the default manufacturer of certain CPU types. It is in
247 # Some are omitted here because they have special meanings below. 661 # some cases the only manufacturer, in others, it is the most popular.
248 1750a | 580 \ 662 w89k)
249 | a29k \ 663 cpu=hppa1.1
250 | aarch64 | aarch64_be \ 664 vendor=winbond
251 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
252 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
253 | am33_2.0 \
254 | arc | arceb \
255 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
256 | avr | avr32 \
257 | ba \
258 | be32 | be64 \
259 | bfin \
260 | c4x | c8051 | clipper \
261 | d10v | d30v | dlx | dsp16xx \
262 | e2k | epiphany \
263 | fido | fr30 | frv | ft32 \
264 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265 | hexagon \
266 | i370 | i860 | i960 | ia64 \
267 | ip2k | iq2000 \
268 | k1om \
269 | le32 | le64 \
270 | lm32 \
271 | m32c | m32r | m32rle | m68000 | m68k | m88k \
272 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
273 | mips | mipsbe | mipseb | mipsel | mipsle \
274 | mips16 \
275 | mips64 | mips64el \
276 | mips64octeon | mips64octeonel \
277 | mips64orion | mips64orionel \
278 | mips64r5900 | mips64r5900el \
279 | mips64vr | mips64vrel \
280 | mips64vr4100 | mips64vr4100el \
281 | mips64vr4300 | mips64vr4300el \
282 | mips64vr5000 | mips64vr5000el \
283 | mips64vr5900 | mips64vr5900el \
284 | mipsisa32 | mipsisa32el \
285 | mipsisa32r2 | mipsisa32r2el \
286 | mipsisa32r6 | mipsisa32r6el \
287 | mipsisa64 | mipsisa64el \
288 | mipsisa64r2 | mipsisa64r2el \
289 | mipsisa64r6 | mipsisa64r6el \
290 | mipsisa64sb1 | mipsisa64sb1el \
291 | mipsisa64sr71k | mipsisa64sr71kel \
292 | mipsr5900 | mipsr5900el \
293 | mipstx39 | mipstx39el \
294 | mn10200 | mn10300 \
295 | moxie \
296 | mt \
297 | msp430 \
298 | nds32 | nds32le | nds32be \
299 | nios | nios2 | nios2eb | nios2el \
300 | ns16k | ns32k \
301 | open8 | or1k | or1knd | or32 \
302 | pdp10 | pdp11 | pj | pjl \
303 | powerpc | powerpc64 | powerpc64le | powerpcle \
304 | pyramid \
305 | riscv32 | riscv64 \
306 | rl78 | rx \
307 | score \
308 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309 | sh64 | sh64le \
310 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
312 | spu \
313 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
314 | ubicom32 \
315 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316 | visium \
317 | we32k \
318 | x86 | xc16x | xstormy16 | xtensa \
319 | z8k | z80)
320 basic_machine=$basic_machine-unknown
321 ;;
322 c54x)
323 basic_machine=tic54x-unknown
324 ;;
325 c55x)
326 basic_machine=tic55x-unknown
327 ;;
328 c6x)
329 basic_machine=tic6x-unknown
330 ;;
331 leon|leon[3-9])
332 basic_machine=sparc-$basic_machine
333 ;;
334 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
335 basic_machine=$basic_machine-unknown
336 os=-none
337 ;; 665 ;;
338 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 666 op50n)
667 cpu=hppa1.1
668 vendor=oki
339 ;; 669 ;;
340 ms1) 670 op60c)
341 basic_machine=mt-unknown 671 cpu=hppa1.1
672 vendor=oki
342 ;; 673 ;;
343 674 ibm*)
344 strongarm | thumb | xscale) 675 cpu=i370
345 basic_machine=arm-unknown 676 vendor=ibm
346 ;; 677 ;;
347 xgate) 678 orion105)
348 basic_machine=$basic_machine-unknown 679 cpu=clipper
349 os=-none 680 vendor=highlevel
350 ;; 681 ;;
351 xscaleeb) 682 mac | mpw | mac-mpw)
352 basic_machine=armeb-unknown 683 cpu=m68k
684 vendor=apple
353 ;; 685 ;;
354 686 pmac | pmac-mpw)
355 xscaleel) 687 cpu=powerpc
356 basic_machine=armel-unknown 688 vendor=apple
357 ;; 689 ;;
358 690
359 # We use `pc' rather than `unknown'
360 # because (1) that's what they normally are, and
361 # (2) the word "unknown" tends to confuse beginning users.
362 i*86 | x86_64)
363 basic_machine=$basic_machine-pc
364 ;;
365 # Object if more than one company name word.
366 *-*-*)
367 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
368 exit 1
369 ;;
370 # Recognize the basic CPU types with company name.
371 580-* \
372 | a29k-* \
373 | aarch64-* | aarch64_be-* \
374 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
375 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
376 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
377 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
378 | avr-* | avr32-* \
379 | ba-* \
380 | be32-* | be64-* \
381 | bfin-* | bs2000-* \
382 | c[123]* | c30-* | [cjt]90-* | c4x-* \
383 | c8051-* | clipper-* | craynv-* | cydra-* \
384 | d10v-* | d30v-* | dlx-* \
385 | e2k-* | elxsi-* \
386 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
387 | h8300-* | h8500-* \
388 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
389 | hexagon-* \
390 | i*86-* | i860-* | i960-* | ia64-* \
391 | ip2k-* | iq2000-* \
392 | k1om-* \
393 | le32-* | le64-* \
394 | lm32-* \
395 | m32c-* | m32r-* | m32rle-* \
396 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
397 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
398 | microblaze-* | microblazeel-* \
399 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
400 | mips16-* \
401 | mips64-* | mips64el-* \
402 | mips64octeon-* | mips64octeonel-* \
403 | mips64orion-* | mips64orionel-* \
404 | mips64r5900-* | mips64r5900el-* \
405 | mips64vr-* | mips64vrel-* \
406 | mips64vr4100-* | mips64vr4100el-* \
407 | mips64vr4300-* | mips64vr4300el-* \
408 | mips64vr5000-* | mips64vr5000el-* \
409 | mips64vr5900-* | mips64vr5900el-* \
410 | mipsisa32-* | mipsisa32el-* \
411 | mipsisa32r2-* | mipsisa32r2el-* \
412 | mipsisa32r6-* | mipsisa32r6el-* \
413 | mipsisa64-* | mipsisa64el-* \
414 | mipsisa64r2-* | mipsisa64r2el-* \
415 | mipsisa64r6-* | mipsisa64r6el-* \
416 | mipsisa64sb1-* | mipsisa64sb1el-* \
417 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
418 | mipsr5900-* | mipsr5900el-* \
419 | mipstx39-* | mipstx39el-* \
420 | mmix-* \
421 | mt-* \
422 | msp430-* \
423 | nds32-* | nds32le-* | nds32be-* \
424 | nios-* | nios2-* | nios2eb-* | nios2el-* \
425 | none-* | np1-* | ns16k-* | ns32k-* \
426 | open8-* \
427 | or1k*-* \
428 | orion-* \
429 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
430 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
431 | pyramid-* \
432 | riscv32-* | riscv64-* \
433 | rl78-* | romp-* | rs6000-* | rx-* \
434 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
435 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
436 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
437 | sparclite-* \
438 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
439 | tahoe-* \
440 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
441 | tile*-* \
442 | tron-* \
443 | ubicom32-* \
444 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
445 | vax-* \
446 | visium-* \
447 | we32k-* \
448 | x86-* | x86_64-* | xc16x-* | xps100-* \
449 | xstormy16-* | xtensa*-* \
450 | ymp-* \
451 | z8k-* | z80-*)
452 ;;
453 # Recognize the basic CPU types without company name, with glob match.
454 xtensa*)
455 basic_machine=$basic_machine-unknown
456 ;;
457 # Recognize the various machine names and aliases which stand 691 # Recognize the various machine names and aliases which stand
458 # for a CPU type and a company and sometimes even an OS. 692 # for a CPU type and a company and sometimes even an OS.
459 386bsd)
460 basic_machine=i386-unknown
461 os=-bsd
462 ;;
463 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 693 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
464 basic_machine=m68000-att 694 cpu=m68000
695 vendor=att
465 ;; 696 ;;
466 3b*) 697 3b*)
467 basic_machine=we32k-att 698 cpu=we32k
468 ;; 699 vendor=att
469 a29khif)
470 basic_machine=a29k-amd
471 os=-udi
472 ;;
473 abacus)
474 basic_machine=abacus-unknown
475 ;;
476 adobe68k)
477 basic_machine=m68010-adobe
478 os=-scout
479 ;;
480 alliant | fx80)
481 basic_machine=fx80-alliant
482 ;;
483 altos | altos3068)
484 basic_machine=m68k-altos
485 ;;
486 am29k)
487 basic_machine=a29k-none
488 os=-bsd
489 ;;
490 amd64)
491 basic_machine=x86_64-pc
492 ;;
493 amd64-*)
494 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
495 ;;
496 amdahl)
497 basic_machine=580-amdahl
498 os=-sysv
499 ;;
500 amiga | amiga-*)
501 basic_machine=m68k-unknown
502 ;;
503 amigaos | amigados)
504 basic_machine=m68k-unknown
505 os=-amigaos
506 ;;
507 amigaunix | amix)
508 basic_machine=m68k-unknown
509 os=-sysv4
510 ;;
511 apollo68)
512 basic_machine=m68k-apollo
513 os=-sysv
514 ;;
515 apollo68bsd)
516 basic_machine=m68k-apollo
517 os=-bsd
518 ;;
519 aros)
520 basic_machine=i386-pc
521 os=-aros
522 ;;
523 asmjs)
524 basic_machine=asmjs-unknown
525 ;;
526 aux)
527 basic_machine=m68k-apple
528 os=-aux
529 ;;
530 balance)
531 basic_machine=ns32k-sequent
532 os=-dynix
533 ;;
534 blackfin)
535 basic_machine=bfin-unknown
536 os=-linux
537 ;;
538 blackfin-*)
539 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
540 os=-linux
541 ;; 700 ;;
542 bluegene*) 701 bluegene*)
543 basic_machine=powerpc-ibm 702 cpu=powerpc
544 os=-cnk 703 vendor=ibm
545 ;; 704 basic_os=cnk
546 c54x-*)
547 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
548 ;;
549 c55x-*)
550 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
551 ;;
552 c6x-*)
553 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
554 ;;
555 c90)
556 basic_machine=c90-cray
557 os=-unicos
558 ;;
559 cegcc)
560 basic_machine=arm-unknown
561 os=-cegcc
562 ;;
563 convex-c1)
564 basic_machine=c1-convex
565 os=-bsd
566 ;;
567 convex-c2)
568 basic_machine=c2-convex
569 os=-bsd
570 ;;
571 convex-c32)
572 basic_machine=c32-convex
573 os=-bsd
574 ;;
575 convex-c34)
576 basic_machine=c34-convex
577 os=-bsd
578 ;;
579 convex-c38)
580 basic_machine=c38-convex
581 os=-bsd
582 ;;
583 cray | j90)
584 basic_machine=j90-cray
585 os=-unicos
586 ;;
587 craynv)
588 basic_machine=craynv-cray
589 os=-unicosmp
590 ;;
591 cr16 | cr16-*)
592 basic_machine=cr16-unknown
593 os=-elf
594 ;;
595 crds | unos)
596 basic_machine=m68k-crds
597 ;;
598 crisv32 | crisv32-* | etraxfs*)
599 basic_machine=crisv32-axis
600 ;;
601 cris | cris-* | etrax*)
602 basic_machine=cris-axis
603 ;;
604 crx)
605 basic_machine=crx-unknown
606 os=-elf
607 ;;
608 da30 | da30-*)
609 basic_machine=m68k-da30
610 ;;
611 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
612 basic_machine=mips-dec
613 ;; 705 ;;
614 decsystem10* | dec10*) 706 decsystem10* | dec10*)
615 basic_machine=pdp10-dec 707 cpu=pdp10
616 os=-tops10 708 vendor=dec
709 basic_os=tops10
617 ;; 710 ;;
618 decsystem20* | dec20*) 711 decsystem20* | dec20*)
619 basic_machine=pdp10-dec 712 cpu=pdp10
620 os=-tops20 713 vendor=dec
714 basic_os=tops20
621 ;; 715 ;;
622 delta | 3300 | motorola-3300 | motorola-delta \ 716 delta | 3300 | motorola-3300 | motorola-delta \
623 | 3300-motorola | delta-motorola) 717 | 3300-motorola | delta-motorola)
624 basic_machine=m68k-motorola 718 cpu=m68k
625 ;; 719 vendor=motorola
626 delta88)
627 basic_machine=m88k-motorola
628 os=-sysv3
629 ;;
630 dicos)
631 basic_machine=i686-pc
632 os=-dicos
633 ;;
634 djgpp)
635 basic_machine=i586-pc
636 os=-msdosdjgpp
637 ;; 720 ;;
638 dpx20 | dpx20-*) 721 dpx2*)
639 basic_machine=rs6000-bull 722 cpu=m68k
640 os=-bosx 723 vendor=bull
641 ;; 724 basic_os=sysv3
642 dpx2* | dpx2*-bull)
643 basic_machine=m68k-bull
644 os=-sysv3
645 ;;
646 ebmon29k)
647 basic_machine=a29k-amd
648 os=-ebmon
649 ;;
650 elxsi)
651 basic_machine=elxsi-elxsi
652 os=-bsd
653 ;; 725 ;;
654 encore | umax | mmax) 726 encore | umax | mmax)
655 basic_machine=ns32k-encore 727 cpu=ns32k
728 vendor=encore
656 ;; 729 ;;
657 es1800 | OSE68k | ose68k | ose | OSE) 730 elxsi)
658 basic_machine=m68k-ericsson 731 cpu=elxsi
659 os=-ose 732 vendor=elxsi
733 basic_os=${basic_os:-bsd}
660 ;; 734 ;;
661 fx2800) 735 fx2800)
662 basic_machine=i860-alliant 736 cpu=i860
737 vendor=alliant
663 ;; 738 ;;
664 genix) 739 genix)
665 basic_machine=ns32k-ns 740 cpu=ns32k
666 ;; 741 vendor=ns
667 gmicro)
668 basic_machine=tron-gmicro
669 os=-sysv
670 ;;
671 go32)
672 basic_machine=i386-pc
673 os=-go32
674 ;; 742 ;;
675 h3050r* | hiux*) 743 h3050r* | hiux*)
676 basic_machine=hppa1.1-hitachi 744 cpu=hppa1.1
677 os=-hiuxwe2 745 vendor=hitachi
678 ;; 746 basic_os=hiuxwe2
679 h8300hms)
680 basic_machine=h8300-hitachi
681 os=-hms
682 ;;
683 h8300xray)
684 basic_machine=h8300-hitachi
685 os=-xray
686 ;;
687 h8500hms)
688 basic_machine=h8500-hitachi
689 os=-hms
690 ;;
691 harris)
692 basic_machine=m88k-harris
693 os=-sysv3
694 ;;
695 hp300-*)
696 basic_machine=m68k-hp
697 ;;
698 hp300bsd)
699 basic_machine=m68k-hp
700 os=-bsd
701 ;;
702 hp300hpux)
703 basic_machine=m68k-hp
704 os=-hpux
705 ;; 747 ;;
706 hp3k9[0-9][0-9] | hp9[0-9][0-9]) 748 hp3k9[0-9][0-9] | hp9[0-9][0-9])
707 basic_machine=hppa1.0-hp 749 cpu=hppa1.0
750 vendor=hp
708 ;; 751 ;;
709 hp9k2[0-9][0-9] | hp9k31[0-9]) 752 hp9k2[0-9][0-9] | hp9k31[0-9])
710 basic_machine=m68000-hp 753 cpu=m68000
754 vendor=hp
711 ;; 755 ;;
712 hp9k3[2-9][0-9]) 756 hp9k3[2-9][0-9])
713 basic_machine=m68k-hp 757 cpu=m68k
758 vendor=hp
714 ;; 759 ;;
715 hp9k6[0-9][0-9] | hp6[0-9][0-9]) 760 hp9k6[0-9][0-9] | hp6[0-9][0-9])
716 basic_machine=hppa1.0-hp 761 cpu=hppa1.0
762 vendor=hp
717 ;; 763 ;;
718 hp9k7[0-79][0-9] | hp7[0-79][0-9]) 764 hp9k7[0-79][0-9] | hp7[0-79][0-9])
719 basic_machine=hppa1.1-hp 765 cpu=hppa1.1
766 vendor=hp
720 ;; 767 ;;
721 hp9k78[0-9] | hp78[0-9]) 768 hp9k78[0-9] | hp78[0-9])
722 # FIXME: really hppa2.0-hp 769 # FIXME: really hppa2.0-hp
723 basic_machine=hppa1.1-hp 770 cpu=hppa1.1
771 vendor=hp
724 ;; 772 ;;
725 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 773 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
726 # FIXME: really hppa2.0-hp 774 # FIXME: really hppa2.0-hp
727 basic_machine=hppa1.1-hp 775 cpu=hppa1.1
776 vendor=hp
728 ;; 777 ;;
729 hp9k8[0-9][13679] | hp8[0-9][13679]) 778 hp9k8[0-9][13679] | hp8[0-9][13679])
730 basic_machine=hppa1.1-hp 779 cpu=hppa1.1
780 vendor=hp
731 ;; 781 ;;
732 hp9k8[0-9][0-9] | hp8[0-9][0-9]) 782 hp9k8[0-9][0-9] | hp8[0-9][0-9])
733 basic_machine=hppa1.0-hp 783 cpu=hppa1.0
734 ;; 784 vendor=hp
735 hppa-next)
736 os=-nextstep3
737 ;;
738 hppaosf)
739 basic_machine=hppa1.1-hp
740 os=-osf
741 ;;
742 hppro)
743 basic_machine=hppa1.1-hp
744 os=-proelf
745 ;;
746 i370-ibm* | ibm*)
747 basic_machine=i370-ibm
748 ;; 785 ;;
749 i*86v32) 786 i*86v32)
750 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 787 cpu=`echo "$1" | sed -e 's/86.*/86/'`
751 os=-sysv32 788 vendor=pc
789 basic_os=sysv32
752 ;; 790 ;;
753 i*86v4*) 791 i*86v4*)
754 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 792 cpu=`echo "$1" | sed -e 's/86.*/86/'`
755 os=-sysv4 793 vendor=pc
794 basic_os=sysv4
756 ;; 795 ;;
757 i*86v) 796 i*86v)
758 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 797 cpu=`echo "$1" | sed -e 's/86.*/86/'`
759 os=-sysv 798 vendor=pc
799 basic_os=sysv
760 ;; 800 ;;
761 i*86sol2) 801 i*86sol2)
762 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 802 cpu=`echo "$1" | sed -e 's/86.*/86/'`
763 os=-solaris2 803 vendor=pc
764 ;; 804 basic_os=solaris2
765 i386mach)
766 basic_machine=i386-mach
767 os=-mach
768 ;; 805 ;;
769 i386-vsta | vsta) 806 j90 | j90-cray)
770 basic_machine=i386-unknown 807 cpu=j90
771 os=-vsta 808 vendor=cray
809 basic_os=${basic_os:-unicos}
772 ;; 810 ;;
773 iris | iris4d) 811 iris | iris4d)
774 basic_machine=mips-sgi 812 cpu=mips
775 case $os in 813 vendor=sgi
776 -irix*) 814 case $basic_os in
815 irix*)
777 ;; 816 ;;
778 *) 817 *)
779 os=-irix4 818 basic_os=irix4
780 ;; 819 ;;
781 esac 820 esac
782 ;; 821 ;;
783 isi68 | isi)
784 basic_machine=m68k-isi
785 os=-sysv
786 ;;
787 leon-*|leon[3-9]-*)
788 basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
789 ;;
790 m68knommu)
791 basic_machine=m68k-unknown
792 os=-linux
793 ;;
794 m68knommu-*)
795 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
796 os=-linux
797 ;;
798 m88k-omron*)
799 basic_machine=m88k-omron
800 ;;
801 magnum | m3230)
802 basic_machine=mips-mips
803 os=-sysv
804 ;;
805 merlin)
806 basic_machine=ns32k-utek
807 os=-sysv
808 ;;
809 microblaze*)
810 basic_machine=microblaze-xilinx
811 ;;
812 mingw64)
813 basic_machine=x86_64-pc
814 os=-mingw64
815 ;;
816 mingw32)
817 basic_machine=i686-pc
818 os=-mingw32
819 ;;
820 mingw32ce)
821 basic_machine=arm-unknown
822 os=-mingw32ce
823 ;;
824 miniframe) 822 miniframe)
825 basic_machine=m68000-convergent 823 cpu=m68000
826 ;; 824 vendor=convergent
827 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
828 basic_machine=m68k-atari
829 os=-mint
830 ;;
831 mips3*-*)
832 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
833 ;; 825 ;;
834 mips3*) 826 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
835 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 827 cpu=m68k
836 ;; 828 vendor=atari
837 monitor) 829 basic_os=mint
838 basic_machine=m68k-rom68k
839 os=-coff
840 ;;
841 morphos)
842 basic_machine=powerpc-unknown
843 os=-morphos
844 ;;
845 moxiebox)
846 basic_machine=moxie-unknown
847 os=-moxiebox
848 ;;
849 msdos)
850 basic_machine=i386-pc
851 os=-msdos
852 ;;
853 ms1-*)
854 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
855 ;;
856 msys)
857 basic_machine=i686-pc
858 os=-msys
859 ;;
860 mvs)
861 basic_machine=i370-ibm
862 os=-mvs
863 ;;
864 nacl)
865 basic_machine=le32-unknown
866 os=-nacl
867 ;;
868 ncr3000)
869 basic_machine=i486-ncr
870 os=-sysv4
871 ;;
872 netbsd386)
873 basic_machine=i386-unknown
874 os=-netbsd
875 ;;
876 netwinder)
877 basic_machine=armv4l-rebel
878 os=-linux
879 ;;
880 news | news700 | news800 | news900)
881 basic_machine=m68k-sony
882 os=-newsos
883 ;;
884 news1000)
885 basic_machine=m68030-sony
886 os=-newsos
887 ;; 830 ;;
888 news-3600 | risc-news) 831 news-3600 | risc-news)
889 basic_machine=mips-sony 832 cpu=mips
890 os=-newsos 833 vendor=sony
891 ;; 834 basic_os=newsos
892 necv70) 835 ;;
893 basic_machine=v70-nec 836 next | m*-next)
894 os=-sysv 837 cpu=m68k
895 ;; 838 vendor=next
896 next | m*-next ) 839 case $basic_os in
897 basic_machine=m68k-next 840 openstep*)
898 case $os in 841 ;;
899 -nextstep* ) 842 nextstep*)
900 ;; 843 ;;
901 -ns2*) 844 ns2*)
902 os=-nextstep2 845 basic_os=nextstep2
903 ;; 846 ;;
904 *) 847 *)
905 os=-nextstep3 848 basic_os=nextstep3
906 ;; 849 ;;
907 esac 850 esac
908 ;; 851 ;;
909 nh3000)
910 basic_machine=m68k-harris
911 os=-cxux
912 ;;
913 nh[45]000)
914 basic_machine=m88k-harris
915 os=-cxux
916 ;;
917 nindy960)
918 basic_machine=i960-intel
919 os=-nindy
920 ;;
921 mon960)
922 basic_machine=i960-intel
923 os=-mon960
924 ;;
925 nonstopux)
926 basic_machine=mips-compaq
927 os=-nonstopux
928 ;;
929 np1) 852 np1)
930 basic_machine=np1-gould 853 cpu=np1
931 ;; 854 vendor=gould
932 neo-tandem)
933 basic_machine=neo-tandem
934 ;;
935 nse-tandem)
936 basic_machine=nse-tandem
937 ;;
938 nsr-tandem)
939 basic_machine=nsr-tandem
940 ;; 855 ;;
941 op50n-* | op60c-*) 856 op50n-* | op60c-*)
942 basic_machine=hppa1.1-oki 857 cpu=hppa1.1
943 os=-proelf 858 vendor=oki
944 ;; 859 basic_os=proelf
945 openrisc | openrisc-*)
946 basic_machine=or32-unknown
947 ;;
948 os400)
949 basic_machine=powerpc-ibm
950 os=-os400
951 ;;
952 OSE68000 | ose68000)
953 basic_machine=m68000-ericsson
954 os=-ose
955 ;;
956 os68k)
957 basic_machine=m68k-none
958 os=-os68k
959 ;; 860 ;;
960 pa-hitachi) 861 pa-hitachi)
961 basic_machine=hppa1.1-hitachi 862 cpu=hppa1.1
962 os=-hiuxwe2 863 vendor=hitachi
963 ;; 864 basic_os=hiuxwe2
964 paragon)
965 basic_machine=i860-intel
966 os=-osf
967 ;;
968 parisc)
969 basic_machine=hppa-unknown
970 os=-linux
971 ;;
972 parisc-*)
973 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
974 os=-linux
975 ;; 865 ;;
976 pbd) 866 pbd)
977 basic_machine=sparc-tti 867 cpu=sparc
868 vendor=tti
978 ;; 869 ;;
979 pbb) 870 pbb)
980 basic_machine=m68k-tti 871 cpu=m68k
981 ;; 872 vendor=tti
982 pc532 | pc532-*)
983 basic_machine=ns32k-pc532
984 ;;
985 pc98)
986 basic_machine=i386-pc
987 ;;
988 pc98-*)
989 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
990 ;;
991 pentium | p5 | k5 | k6 | nexgen | viac3)
992 basic_machine=i586-pc
993 ;;
994 pentiumpro | p6 | 6x86 | athlon | athlon_*)
995 basic_machine=i686-pc
996 ;;
997 pentiumii | pentium2 | pentiumiii | pentium3)
998 basic_machine=i686-pc
999 ;; 873 ;;
1000 pentium4) 874 pc532)
1001 basic_machine=i786-pc 875 cpu=ns32k
1002 ;; 876 vendor=pc532
1003 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1004 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1005 ;;
1006 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1007 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1008 ;;
1009 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1010 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1011 ;;
1012 pentium4-*)
1013 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1014 ;; 877 ;;
1015 pn) 878 pn)
1016 basic_machine=pn-gould 879 cpu=pn
1017 ;; 880 vendor=gould
1018 power) basic_machine=power-ibm
1019 ;;
1020 ppc | ppcbe) basic_machine=powerpc-unknown
1021 ;;
1022 ppc-* | ppcbe-*)
1023 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1024 ;;
1025 ppcle | powerpclittle | ppc-le | powerpc-little)
1026 basic_machine=powerpcle-unknown
1027 ;;
1028 ppcle-* | powerpclittle-*)
1029 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1030 ;; 881 ;;
1031 ppc64) basic_machine=powerpc64-unknown 882 power)
1032 ;; 883 cpu=power
1033 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 884 vendor=ibm
1034 ;;
1035 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1036 basic_machine=powerpc64le-unknown
1037 ;;
1038 ppc64le-* | powerpc64little-*)
1039 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1040 ;; 885 ;;
1041 ps2) 886 ps2)
1042 basic_machine=i386-ibm 887 cpu=i386
1043 ;; 888 vendor=ibm
1044 pw32)
1045 basic_machine=i586-unknown
1046 os=-pw32
1047 ;;
1048 rdos | rdos64)
1049 basic_machine=x86_64-pc
1050 os=-rdos
1051 ;;
1052 rdos32)
1053 basic_machine=i386-pc
1054 os=-rdos
1055 ;;
1056 rom68k)
1057 basic_machine=m68k-rom68k
1058 os=-coff
1059 ;; 889 ;;
1060 rm[46]00) 890 rm[46]00)
1061 basic_machine=mips-siemens 891 cpu=mips
892 vendor=siemens
1062 ;; 893 ;;
1063 rtpc | rtpc-*) 894 rtpc | rtpc-*)
1064 basic_machine=romp-ibm 895 cpu=romp
1065 ;; 896 vendor=ibm
1066 s390 | s390-*)
1067 basic_machine=s390-ibm
1068 ;; 897 ;;
1069 s390x | s390x-*) 898 sde)
1070 basic_machine=s390x-ibm 899 cpu=mipsisa32
1071 ;; 900 vendor=sde
1072 sa29200) 901 basic_os=${basic_os:-elf}
1073 basic_machine=a29k-amd
1074 os=-udi
1075 ;; 902 ;;
1076 sb1) 903 simso-wrs)
1077 basic_machine=mipsisa64sb1-unknown 904 cpu=sparclite
905 vendor=wrs
906 basic_os=vxworks
1078 ;; 907 ;;
1079 sb1el) 908 tower | tower-32)
1080 basic_machine=mipsisa64sb1el-unknown 909 cpu=m68k
910 vendor=ncr
1081 ;; 911 ;;
1082 sde) 912 vpp*|vx|vx-*)
1083 basic_machine=mipsisa32-sde 913 cpu=f301
1084 os=-elf 914 vendor=fujitsu
1085 ;; 915 ;;
1086 sei) 916 w65)
1087 basic_machine=mips-sei 917 cpu=w65
1088 os=-seiux 918 vendor=wdc
1089 ;; 919 ;;
1090 sequent) 920 w89k-*)
1091 basic_machine=i386-sequent 921 cpu=hppa1.1
922 vendor=winbond
923 basic_os=proelf
1092 ;; 924 ;;
1093 sh) 925 none)
1094 basic_machine=sh-hitachi 926 cpu=none
1095 os=-hms 927 vendor=none
1096 ;; 928 ;;
1097 sh5el) 929 leon|leon[3-9])
1098 basic_machine=sh5le-unknown 930 cpu=sparc
931 vendor=$basic_machine
1099 ;; 932 ;;
1100 sh64) 933 leon-*|leon[3-9]-*)
1101 basic_machine=sh64-unknown 934 cpu=sparc
935 vendor=`echo "$basic_machine" | sed 's/-.*//'`
1102 ;; 936 ;;
1103 sparclite-wrs | simso-wrs) 937
1104 basic_machine=sparclite-wrs 938 *-*)
1105 os=-vxworks 939 # shellcheck disable=SC2162
940 saved_IFS=$IFS
941 IFS="-" read cpu vendor <<EOF
942$basic_machine
943EOF
944 IFS=$saved_IFS
1106 ;; 945 ;;
1107 sps7) 946 # We use `pc' rather than `unknown'
1108 basic_machine=m68k-bull 947 # because (1) that's what they normally are, and
1109 os=-sysv2 948 # (2) the word "unknown" tends to confuse beginning users.
949 i*86 | x86_64)
950 cpu=$basic_machine
951 vendor=pc
1110 ;; 952 ;;
1111 spur) 953 # These rules are duplicated from below for sake of the special case above;
1112 basic_machine=spur-unknown 954 # i.e. things that normalized to x86 arches should also default to "pc"
955 pc98)
956 cpu=i386
957 vendor=pc
1113 ;; 958 ;;
1114 st2000) 959 x64 | amd64)
1115 basic_machine=m68k-tandem 960 cpu=x86_64
961 vendor=pc
1116 ;; 962 ;;
1117 stratus) 963 # Recognize the basic CPU types without company name.
1118 basic_machine=i860-stratus 964 *)
1119 os=-sysv4 965 cpu=$basic_machine
966 vendor=unknown
1120 ;; 967 ;;
1121 strongarm-* | thumb-*) 968esac
1122 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 969
970unset -v basic_machine
971
972# Decode basic machines in the full and proper CPU-Company form.
973case $cpu-$vendor in
974 # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
975 # some cases the only manufacturer, in others, it is the most popular.
976 craynv-unknown)
977 vendor=cray
978 basic_os=${basic_os:-unicosmp}
1123 ;; 979 ;;
1124 sun2) 980 c90-unknown | c90-cray)
1125 basic_machine=m68000-sun 981 vendor=cray
982 basic_os=${Basic_os:-unicos}
1126 ;; 983 ;;
1127 sun2os3) 984 fx80-unknown)
1128 basic_machine=m68000-sun 985 vendor=alliant
1129 os=-sunos3
1130 ;; 986 ;;
1131 sun2os4) 987 romp-unknown)
1132 basic_machine=m68000-sun 988 vendor=ibm
1133 os=-sunos4
1134 ;; 989 ;;
1135 sun3os3) 990 mmix-unknown)
1136 basic_machine=m68k-sun 991 vendor=knuth
1137 os=-sunos3
1138 ;; 992 ;;
1139 sun3os4) 993 microblaze-unknown | microblazeel-unknown)
1140 basic_machine=m68k-sun 994 vendor=xilinx
1141 os=-sunos4
1142 ;; 995 ;;
1143 sun4os3) 996 rs6000-unknown)
1144 basic_machine=sparc-sun 997 vendor=ibm
1145 os=-sunos3
1146 ;; 998 ;;
1147 sun4os4) 999 vax-unknown)
1148 basic_machine=sparc-sun 1000 vendor=dec
1149 os=-sunos4
1150 ;; 1001 ;;
1151 sun4sol2) 1002 pdp11-unknown)
1152 basic_machine=sparc-sun 1003 vendor=dec
1153 os=-solaris2
1154 ;; 1004 ;;
1155 sun3 | sun3-*) 1005 we32k-unknown)
1156 basic_machine=m68k-sun 1006 vendor=att
1157 ;; 1007 ;;
1158 sun4) 1008 cydra-unknown)
1159 basic_machine=sparc-sun 1009 vendor=cydrome
1160 ;; 1010 ;;
1161 sun386 | sun386i | roadrunner) 1011 i370-ibm*)
1162 basic_machine=i386-sun 1012 vendor=ibm
1163 ;; 1013 ;;
1164 sv1) 1014 orion-unknown)
1165 basic_machine=sv1-cray 1015 vendor=highlevel
1166 os=-unicos
1167 ;; 1016 ;;
1168 symmetry) 1017 xps-unknown | xps100-unknown)
1169 basic_machine=i386-sequent 1018 cpu=xps100
1170 os=-dynix 1019 vendor=honeywell
1171 ;; 1020 ;;
1172 t3e) 1021
1173 basic_machine=alphaev5-cray 1022 # Here we normalize CPU types with a missing or matching vendor
1174 os=-unicos 1023 armh-unknown | armh-alt)
1024 cpu=armv7l
1025 vendor=alt
1026 basic_os=${basic_os:-linux-gnueabihf}
1175 ;; 1027 ;;
1176 t90) 1028 dpx20-unknown | dpx20-bull)
1177 basic_machine=t90-cray 1029 cpu=rs6000
1178 os=-unicos 1030 vendor=bull
1031 basic_os=${basic_os:-bosx}
1179 ;; 1032 ;;
1180 tile*) 1033
1181 basic_machine=$basic_machine-unknown 1034 # Here we normalize CPU types irrespective of the vendor
1182 os=-linux-gnu 1035 amd64-*)
1036 cpu=x86_64
1183 ;; 1037 ;;
1184 tx39) 1038 blackfin-*)
1185 basic_machine=mipstx39-unknown 1039 cpu=bfin
1040 basic_os=linux
1186 ;; 1041 ;;
1187 tx39el) 1042 c54x-*)
1188 basic_machine=mipstx39el-unknown 1043 cpu=tic54x
1189 ;; 1044 ;;
1190 toad1) 1045 c55x-*)
1191 basic_machine=pdp10-xkl 1046 cpu=tic55x
1192 os=-tops20
1193 ;; 1047 ;;
1194 tower | tower-32) 1048 c6x-*)
1195 basic_machine=m68k-ncr 1049 cpu=tic6x
1196 ;; 1050 ;;
1197 tpf) 1051 e500v[12]-*)
1198 basic_machine=s390x-ibm 1052 cpu=powerpc
1199 os=-tpf 1053 basic_os=${basic_os}"spe"
1200 ;; 1054 ;;
1201 udi29k) 1055 mips3*-*)
1202 basic_machine=a29k-amd 1056 cpu=mips64
1203 os=-udi
1204 ;; 1057 ;;
1205 ultra3) 1058 ms1-*)
1206 basic_machine=a29k-nyu 1059 cpu=mt
1207 os=-sym1
1208 ;; 1060 ;;
1209 v810 | necv810) 1061 m68knommu-*)
1210 basic_machine=v810-nec 1062 cpu=m68k
1211 os=-none 1063 basic_os=linux
1212 ;; 1064 ;;
1213 vaxv) 1065 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1214 basic_machine=vax-dec 1066 cpu=s12z
1215 os=-sysv
1216 ;; 1067 ;;
1217 vms) 1068 openrisc-*)
1218 basic_machine=vax-dec 1069 cpu=or32
1219 os=-vms
1220 ;; 1070 ;;
1221 vpp*|vx|vx-*) 1071 parisc-*)
1222 basic_machine=f301-fujitsu 1072 cpu=hppa
1073 basic_os=linux
1223 ;; 1074 ;;
1224 vxworks960) 1075 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1225 basic_machine=i960-wrs 1076 cpu=i586
1226 os=-vxworks
1227 ;; 1077 ;;
1228 vxworks68) 1078 pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1229 basic_machine=m68k-wrs 1079 cpu=i686
1230 os=-vxworks
1231 ;; 1080 ;;
1232 vxworks29k) 1081 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1233 basic_machine=a29k-wrs 1082 cpu=i686
1234 os=-vxworks
1235 ;; 1083 ;;
1236 w65*) 1084 pentium4-*)
1237 basic_machine=w65-wdc 1085 cpu=i786
1238 os=-none
1239 ;; 1086 ;;
1240 w89k-*) 1087 pc98-*)
1241 basic_machine=hppa1.1-winbond 1088 cpu=i386
1242 os=-proelf
1243 ;; 1089 ;;
1244 xbox) 1090 ppc-* | ppcbe-*)
1245 basic_machine=i686-pc 1091 cpu=powerpc
1246 os=-mingw32
1247 ;; 1092 ;;
1248 xps | xps100) 1093 ppcle-* | powerpclittle-*)
1249 basic_machine=xps100-honeywell 1094 cpu=powerpcle
1250 ;; 1095 ;;
1251 xscale-* | xscalee[bl]-*) 1096 ppc64-*)
1252 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1097 cpu=powerpc64
1253 ;; 1098 ;;
1254 ymp) 1099 ppc64le-* | powerpc64little-*)
1255 basic_machine=ymp-cray 1100 cpu=powerpc64le
1256 os=-unicos
1257 ;; 1101 ;;
1258 z8k-*-coff) 1102 sb1-*)
1259 basic_machine=z8k-unknown 1103 cpu=mipsisa64sb1
1260 os=-sim
1261 ;; 1104 ;;
1262 z80-*-coff) 1105 sb1el-*)
1263 basic_machine=z80-unknown 1106 cpu=mipsisa64sb1el
1264 os=-sim
1265 ;; 1107 ;;
1266 none) 1108 sh5e[lb]-*)
1267 basic_machine=none-none 1109 cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
1268 os=-none
1269 ;; 1110 ;;
1270 1111 spur-*)
1271# Here we handle the default manufacturer of certain CPU types. It is in 1112 cpu=spur
1272# some cases the only manufacturer, in others, it is the most popular.
1273 w89k)
1274 basic_machine=hppa1.1-winbond
1275 ;; 1113 ;;
1276 op50n) 1114 strongarm-* | thumb-*)
1277 basic_machine=hppa1.1-oki 1115 cpu=arm
1278 ;; 1116 ;;
1279 op60c) 1117 tx39-*)
1280 basic_machine=hppa1.1-oki 1118 cpu=mipstx39
1281 ;; 1119 ;;
1282 romp) 1120 tx39el-*)
1283 basic_machine=romp-ibm 1121 cpu=mipstx39el
1284 ;; 1122 ;;
1285 mmix) 1123 x64-*)
1286 basic_machine=mmix-knuth 1124 cpu=x86_64
1287 ;; 1125 ;;
1288 rs6000) 1126 xscale-* | xscalee[bl]-*)
1289 basic_machine=rs6000-ibm 1127 cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
1290 ;; 1128 ;;
1291 vax) 1129 arm64-* | aarch64le-*)
1292 basic_machine=vax-dec 1130 cpu=aarch64
1293 ;; 1131 ;;
1294 pdp10) 1132
1295 # there are many clones, so DEC is not a safe bet 1133 # Recognize the canonical CPU Types that limit and/or modify the
1296 basic_machine=pdp10-unknown 1134 # company names they are paired with.
1135 cr16-*)
1136 basic_os=${basic_os:-elf}
1297 ;; 1137 ;;
1298 pdp11) 1138 crisv32-* | etraxfs*-*)
1299 basic_machine=pdp11-dec 1139 cpu=crisv32
1140 vendor=axis
1300 ;; 1141 ;;
1301 we32k) 1142 cris-* | etrax*-*)
1302 basic_machine=we32k-att 1143 cpu=cris
1144 vendor=axis
1303 ;; 1145 ;;
1304 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1146 crx-*)
1305 basic_machine=sh-unknown 1147 basic_os=${basic_os:-elf}
1306 ;; 1148 ;;
1307 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1149 neo-tandem)
1308 basic_machine=sparc-sun 1150 cpu=neo
1151 vendor=tandem
1309 ;; 1152 ;;
1310 cydra) 1153 nse-tandem)
1311 basic_machine=cydra-cydrome 1154 cpu=nse
1155 vendor=tandem
1312 ;; 1156 ;;
1313 orion) 1157 nsr-tandem)
1314 basic_machine=orion-highlevel 1158 cpu=nsr
1159 vendor=tandem
1315 ;; 1160 ;;
1316 orion105) 1161 nsv-tandem)
1317 basic_machine=clipper-highlevel 1162 cpu=nsv
1163 vendor=tandem
1318 ;; 1164 ;;
1319 mac | mpw | mac-mpw) 1165 nsx-tandem)
1320 basic_machine=m68k-apple 1166 cpu=nsx
1167 vendor=tandem
1321 ;; 1168 ;;
1322 pmac | pmac-mpw) 1169 mipsallegrexel-sony)
1323 basic_machine=powerpc-apple 1170 cpu=mipsallegrexel
1171 vendor=sony
1324 ;; 1172 ;;
1325 *-unknown) 1173 tile*-*)
1326 # Make sure to match an already-canonicalized machine name. 1174 basic_os=${basic_os:-linux-gnu}
1327 ;; 1175 ;;
1176
1328 *) 1177 *)
1329 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1178 # Recognize the canonical CPU types that are allowed with any
1330 exit 1 1179 # company name.
1180 case $cpu in
1181 1750a | 580 \
1182 | a29k \
1183 | aarch64 | aarch64_be \
1184 | abacus \
1185 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
1186 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
1187 | alphapca5[67] | alpha64pca5[67] \
1188 | am33_2.0 \
1189 | amdgcn \
1190 | arc | arceb | arc32 | arc64 \
1191 | arm | arm[lb]e | arme[lb] | armv* \
1192 | avr | avr32 \
1193 | asmjs \
1194 | ba \
1195 | be32 | be64 \
1196 | bfin | bpf | bs2000 \
1197 | c[123]* | c30 | [cjt]90 | c4x \
1198 | c8051 | clipper | craynv | csky | cydra \
1199 | d10v | d30v | dlx | dsp16xx \
1200 | e2k | elxsi | epiphany \
1201 | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
1202 | h8300 | h8500 \
1203 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
1204 | hexagon \
1205 | i370 | i*86 | i860 | i960 | ia16 | ia64 \
1206 | ip2k | iq2000 \
1207 | k1om \
1208 | le32 | le64 \
1209 | lm32 \
1210 | loongarch32 | loongarch64 \
1211 | m32c | m32r | m32rle \
1212 | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
1213 | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
1214 | m88110 | m88k | maxq | mb | mcore | mep | metag \
1215 | microblaze | microblazeel \
1216 | mips | mipsbe | mipseb | mipsel | mipsle \
1217 | mips16 \
1218 | mips64 | mips64eb | mips64el \
1219 | mips64octeon | mips64octeonel \
1220 | mips64orion | mips64orionel \
1221 | mips64r5900 | mips64r5900el \
1222 | mips64vr | mips64vrel \
1223 | mips64vr4100 | mips64vr4100el \
1224 | mips64vr4300 | mips64vr4300el \
1225 | mips64vr5000 | mips64vr5000el \
1226 | mips64vr5900 | mips64vr5900el \
1227 | mipsisa32 | mipsisa32el \
1228 | mipsisa32r2 | mipsisa32r2el \
1229 | mipsisa32r3 | mipsisa32r3el \
1230 | mipsisa32r5 | mipsisa32r5el \
1231 | mipsisa32r6 | mipsisa32r6el \
1232 | mipsisa64 | mipsisa64el \
1233 | mipsisa64r2 | mipsisa64r2el \
1234 | mipsisa64r3 | mipsisa64r3el \
1235 | mipsisa64r5 | mipsisa64r5el \
1236 | mipsisa64r6 | mipsisa64r6el \
1237 | mipsisa64sb1 | mipsisa64sb1el \
1238 | mipsisa64sr71k | mipsisa64sr71kel \
1239 | mipsr5900 | mipsr5900el \
1240 | mipstx39 | mipstx39el \
1241 | mmix \
1242 | mn10200 | mn10300 \
1243 | moxie \
1244 | mt \
1245 | msp430 \
1246 | nds32 | nds32le | nds32be \
1247 | nfp \
1248 | nios | nios2 | nios2eb | nios2el \
1249 | none | np1 | ns16k | ns32k | nvptx \
1250 | open8 \
1251 | or1k* \
1252 | or32 \
1253 | orion \
1254 | picochip \
1255 | pdp10 | pdp11 | pj | pjl | pn | power \
1256 | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
1257 | pru \
1258 | pyramid \
1259 | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
1260 | rl78 | romp | rs6000 | rx \
1261 | s390 | s390x \
1262 | score \
1263 | sh | shl \
1264 | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
1265 | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
1266 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
1267 | sparclite \
1268 | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
1269 | spu \
1270 | tahoe \
1271 | thumbv7* \
1272 | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
1273 | tron \
1274 | ubicom32 \
1275 | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
1276 | vax \
1277 | visium \
1278 | w65 \
1279 | wasm32 | wasm64 \
1280 | we32k \
1281 | x86 | x86_64 | xc16x | xgate | xps100 \
1282 | xstormy16 | xtensa* \
1283 | ymp \
1284 | z8k | z80)
1285 ;;
1286
1287 *)
1288 echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
1289 exit 1
1290 ;;
1291 esac
1331 ;; 1292 ;;
1332esac 1293esac
1333 1294
1334# Here we canonicalize certain aliases for manufacturers. 1295# Here we canonicalize certain aliases for manufacturers.
1335case $basic_machine in 1296case $vendor in
1336 *-digital*) 1297 digital*)
1337 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1298 vendor=dec
1338 ;; 1299 ;;
1339 *-commodore*) 1300 commodore*)
1340 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1301 vendor=cbm
1341 ;; 1302 ;;
1342 *) 1303 *)
1343 ;; 1304 ;;
@@ -1345,201 +1306,219 @@ esac
1345 1306
1346# Decode manufacturer-specific aliases for certain operating systems. 1307# Decode manufacturer-specific aliases for certain operating systems.
1347 1308
1348if [ x"$os" != x"" ] 1309if test x$basic_os != x
1349then 1310then
1311
1312# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
1313# set os.
1314case $basic_os in
1315 gnu/linux*)
1316 kernel=linux
1317 os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
1318 ;;
1319 os2-emx)
1320 kernel=os2
1321 os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
1322 ;;
1323 nto-qnx*)
1324 kernel=nto
1325 os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
1326 ;;
1327 *-*)
1328 # shellcheck disable=SC2162
1329 saved_IFS=$IFS
1330 IFS="-" read kernel os <<EOF
1331$basic_os
1332EOF
1333 IFS=$saved_IFS
1334 ;;
1335 # Default OS when just kernel was specified
1336 nto*)
1337 kernel=nto
1338 os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
1339 ;;
1340 linux*)
1341 kernel=linux
1342 os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
1343 ;;
1344 managarm*)
1345 kernel=managarm
1346 os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
1347 ;;
1348 *)
1349 kernel=
1350 os=$basic_os
1351 ;;
1352esac
1353
1354# Now, normalize the OS (knowing we just have one component, it's not a kernel,
1355# etc.)
1350case $os in 1356case $os in
1351 # First match some system type aliases 1357 # First match some system type aliases that might get confused
1352 # that might get confused with valid system types. 1358 # with valid system types.
1353 # -solaris* is a basic system type, with this one exception. 1359 # solaris* is a basic system type, with this one exception.
1354 -auroraux) 1360 auroraux)
1355 os=-auroraux 1361 os=auroraux
1356 ;; 1362 ;;
1357 -solaris1 | -solaris1.*) 1363 bluegene*)
1358 os=`echo $os | sed -e 's|solaris1|sunos4|'` 1364 os=cnk
1359 ;; 1365 ;;
1360 -solaris) 1366 solaris1 | solaris1.*)
1361 os=-solaris2 1367 os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
1362 ;; 1368 ;;
1363 -svr4*) 1369 solaris)
1364 os=-sysv4 1370 os=solaris2
1365 ;; 1371 ;;
1366 -unixware*) 1372 unixware*)
1367 os=-sysv4.2uw 1373 os=sysv4.2uw
1368 ;; 1374 ;;
1369 -gnu/linux*) 1375 # es1800 is here to avoid being matched by es* (a different OS)
1370 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1376 es1800*)
1377 os=ose
1371 ;; 1378 ;;
1372 # First accept the basic system types. 1379 # Some version numbers need modification
1373 # The portable systems comes first. 1380 chorusos*)
1374 # Each alternative MUST END IN A *, to match a version number. 1381 os=chorusos
1375 # -sysv* is not here because it comes later, after sysvr4.
1376 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1377 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1378 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1379 | -sym* | -kopensolaris* | -plan9* \
1380 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1381 | -aos* | -aros* | -cloudabi* | -sortix* \
1382 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1383 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1384 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1385 | -bitrig* | -openbsd* | -solidbsd* \
1386 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1387 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1388 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1389 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1390 | -chorusos* | -chorusrdb* | -cegcc* \
1391 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1392 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1393 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1394 | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1395 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1396 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1397 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1398 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1399 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1400 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1401 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1402 | -onefs* | -tirtos*)
1403 # Remember, each alternative MUST END IN *, to match a version number.
1404 ;;
1405 -qnx*)
1406 case $basic_machine in
1407 x86-* | i*86-*)
1408 ;;
1409 *)
1410 os=-nto$os
1411 ;;
1412 esac
1413 ;; 1382 ;;
1414 -nto-qnx*) 1383 isc)
1384 os=isc2.2
1415 ;; 1385 ;;
1416 -nto*) 1386 sco6)
1417 os=`echo $os | sed -e 's|nto|nto-qnx|'` 1387 os=sco5v6
1418 ;; 1388 ;;
1419 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1389 sco5)
1420 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1390 os=sco3.2v5
1421 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1422 ;; 1391 ;;
1423 -mac*) 1392 sco4)
1424 os=`echo $os | sed -e 's|mac|macos|'` 1393 os=sco3.2v4
1425 ;; 1394 ;;
1426 -linux-dietlibc) 1395 sco3.2.[4-9]*)
1427 os=-linux-dietlibc 1396 os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
1428 ;; 1397 ;;
1429 -linux*) 1398 sco*v* | scout)
1430 os=`echo $os | sed -e 's|linux|linux-gnu|'` 1399 # Don't match below
1431 ;; 1400 ;;
1432 -sunos5*) 1401 sco*)
1433 os=`echo $os | sed -e 's|sunos5|solaris2|'` 1402 os=sco3.2v2
1434 ;; 1403 ;;
1435 -sunos6*) 1404 psos*)
1436 os=`echo $os | sed -e 's|sunos6|solaris3|'` 1405 os=psos
1437 ;; 1406 ;;
1438 -opened*) 1407 qnx*)
1439 os=-openedition 1408 os=qnx
1440 ;; 1409 ;;
1441 -os400*) 1410 hiux*)
1442 os=-os400 1411 os=hiuxwe2
1443 ;; 1412 ;;
1444 -wince*) 1413 lynx*178)
1445 os=-wince 1414 os=lynxos178
1446 ;; 1415 ;;
1447 -osfrose*) 1416 lynx*5)
1448 os=-osfrose 1417 os=lynxos5
1449 ;; 1418 ;;
1450 -osf*) 1419 lynxos*)
1451 os=-osf 1420 # don't get caught up in next wildcard
1452 ;; 1421 ;;
1453 -utek*) 1422 lynx*)
1454 os=-bsd 1423 os=lynxos
1455 ;; 1424 ;;
1456 -dynix*) 1425 mac[0-9]*)
1457 os=-bsd 1426 os=`echo "$os" | sed -e 's|mac|macos|'`
1458 ;; 1427 ;;
1459 -acis*) 1428 opened*)
1460 os=-aos 1429 os=openedition
1461 ;; 1430 ;;
1462 -atheos*) 1431 os400*)
1463 os=-atheos 1432 os=os400
1464 ;; 1433 ;;
1465 -syllable*) 1434 sunos5*)
1466 os=-syllable 1435 os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1467 ;; 1436 ;;
1468 -386bsd) 1437 sunos6*)
1469 os=-bsd 1438 os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1470 ;; 1439 ;;
1471 -ctix* | -uts*) 1440 wince*)
1472 os=-sysv 1441 os=wince
1473 ;; 1442 ;;
1474 -nova*) 1443 utek*)
1475 os=-rtmk-nova 1444 os=bsd
1476 ;; 1445 ;;
1477 -ns2 ) 1446 dynix*)
1478 os=-nextstep2 1447 os=bsd
1479 ;; 1448 ;;
1480 -nsk*) 1449 acis*)
1481 os=-nsk 1450 os=aos
1482 ;; 1451 ;;
1483 # Preserve the version number of sinix5. 1452 atheos*)
1484 -sinix5.*) 1453 os=atheos
1485 os=`echo $os | sed -e 's|sinix|sysv|'`
1486 ;; 1454 ;;
1487 -sinix*) 1455 syllable*)
1488 os=-sysv4 1456 os=syllable
1489 ;; 1457 ;;
1490 -tpf*) 1458 386bsd)
1491 os=-tpf 1459 os=bsd
1492 ;; 1460 ;;
1493 -triton*) 1461 ctix* | uts*)
1494 os=-sysv3 1462 os=sysv
1495 ;; 1463 ;;
1496 -oss*) 1464 nova*)
1497 os=-sysv3 1465 os=rtmk-nova
1498 ;; 1466 ;;
1499 -svr4) 1467 ns2)
1500 os=-sysv4 1468 os=nextstep2
1501 ;; 1469 ;;
1502 -svr3) 1470 # Preserve the version number of sinix5.
1503 os=-sysv3 1471 sinix5.*)
1472 os=`echo "$os" | sed -e 's|sinix|sysv|'`
1504 ;; 1473 ;;
1505 -sysvr4) 1474 sinix*)
1506 os=-sysv4 1475 os=sysv4
1507 ;; 1476 ;;
1508 # This must come after -sysvr4. 1477 tpf*)
1509 -sysv*) 1478 os=tpf
1510 ;; 1479 ;;
1511 -ose*) 1480 triton*)
1512 os=-ose 1481 os=sysv3
1513 ;; 1482 ;;
1514 -es1800*) 1483 oss*)
1515 os=-ose 1484 os=sysv3
1516 ;; 1485 ;;
1517 -xenix) 1486 svr4*)
1518 os=-xenix 1487 os=sysv4
1519 ;; 1488 ;;
1520 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1489 svr3)
1521 os=-mint 1490 os=sysv3
1522 ;; 1491 ;;
1523 -aros*) 1492 sysvr4)
1524 os=-aros 1493 os=sysv4
1525 ;; 1494 ;;
1526 -zvmoe) 1495 ose*)
1527 os=-zvmoe 1496 os=ose
1528 ;; 1497 ;;
1529 -dicos*) 1498 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1530 os=-dicos 1499 os=mint
1531 ;; 1500 ;;
1532 -nacl*) 1501 dicos*)
1502 os=dicos
1533 ;; 1503 ;;
1534 -none) 1504 pikeos*)
1505 # Until real need of OS specific support for
1506 # particular features comes up, bare metal
1507 # configurations are quite functional.
1508 case $cpu in
1509 arm*)
1510 os=eabi
1511 ;;
1512 *)
1513 os=elf
1514 ;;
1515 esac
1535 ;; 1516 ;;
1536 *) 1517 *)
1537 # Get rid of the `-' at the beginning of $os. 1518 # No normalization, but not necessarily accepted, that comes below.
1538 os=`echo $os | sed 's/[^-]*-//'`
1539 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1540 exit 1
1541 ;; 1519 ;;
1542esac 1520esac
1521
1543else 1522else
1544 1523
1545# Here we handle the default operating systems that come with various machines. 1524# Here we handle the default operating systems that come with various machines.
@@ -1552,261 +1531,376 @@ else
1552# will signal an error saying that MANUFACTURER isn't an operating 1531# will signal an error saying that MANUFACTURER isn't an operating
1553# system, and we'll never get to this point. 1532# system, and we'll never get to this point.
1554 1533
1555case $basic_machine in 1534kernel=
1535case $cpu-$vendor in
1556 score-*) 1536 score-*)
1557 os=-elf 1537 os=elf
1558 ;; 1538 ;;
1559 spu-*) 1539 spu-*)
1560 os=-elf 1540 os=elf
1561 ;; 1541 ;;
1562 *-acorn) 1542 *-acorn)
1563 os=-riscix1.2 1543 os=riscix1.2
1564 ;; 1544 ;;
1565 arm*-rebel) 1545 arm*-rebel)
1566 os=-linux 1546 kernel=linux
1547 os=gnu
1567 ;; 1548 ;;
1568 arm*-semi) 1549 arm*-semi)
1569 os=-aout 1550 os=aout
1570 ;; 1551 ;;
1571 c4x-* | tic4x-*) 1552 c4x-* | tic4x-*)
1572 os=-coff 1553 os=coff
1573 ;; 1554 ;;
1574 c8051-*) 1555 c8051-*)
1575 os=-elf 1556 os=elf
1557 ;;
1558 clipper-intergraph)
1559 os=clix
1576 ;; 1560 ;;
1577 hexagon-*) 1561 hexagon-*)
1578 os=-elf 1562 os=elf
1579 ;; 1563 ;;
1580 tic54x-*) 1564 tic54x-*)
1581 os=-coff 1565 os=coff
1582 ;; 1566 ;;
1583 tic55x-*) 1567 tic55x-*)
1584 os=-coff 1568 os=coff
1585 ;; 1569 ;;
1586 tic6x-*) 1570 tic6x-*)
1587 os=-coff 1571 os=coff
1588 ;; 1572 ;;
1589 # This must come before the *-dec entry. 1573 # This must come before the *-dec entry.
1590 pdp10-*) 1574 pdp10-*)
1591 os=-tops20 1575 os=tops20
1592 ;; 1576 ;;
1593 pdp11-*) 1577 pdp11-*)
1594 os=-none 1578 os=none
1595 ;; 1579 ;;
1596 *-dec | vax-*) 1580 *-dec | vax-*)
1597 os=-ultrix4.2 1581 os=ultrix4.2
1598 ;; 1582 ;;
1599 m68*-apollo) 1583 m68*-apollo)
1600 os=-domain 1584 os=domain
1601 ;; 1585 ;;
1602 i386-sun) 1586 i386-sun)
1603 os=-sunos4.0.2 1587 os=sunos4.0.2
1604 ;; 1588 ;;
1605 m68000-sun) 1589 m68000-sun)
1606 os=-sunos3 1590 os=sunos3
1607 ;; 1591 ;;
1608 m68*-cisco) 1592 m68*-cisco)
1609 os=-aout 1593 os=aout
1610 ;; 1594 ;;
1611 mep-*) 1595 mep-*)
1612 os=-elf 1596 os=elf
1613 ;; 1597 ;;
1614 mips*-cisco) 1598 mips*-cisco)
1615 os=-elf 1599 os=elf
1616 ;; 1600 ;;
1617 mips*-*) 1601 mips*-*)
1618 os=-elf 1602 os=elf
1619 ;; 1603 ;;
1620 or32-*) 1604 or32-*)
1621 os=-coff 1605 os=coff
1622 ;; 1606 ;;
1623 *-tti) # must be before sparc entry or we get the wrong os. 1607 *-tti) # must be before sparc entry or we get the wrong os.
1624 os=-sysv3 1608 os=sysv3
1625 ;; 1609 ;;
1626 sparc-* | *-sun) 1610 sparc-* | *-sun)
1627 os=-sunos4.1.1 1611 os=sunos4.1.1
1628 ;; 1612 ;;
1629 *-be) 1613 pru-*)
1630 os=-beos 1614 os=elf
1631 ;; 1615 ;;
1632 *-haiku) 1616 *-be)
1633 os=-haiku 1617 os=beos
1634 ;; 1618 ;;
1635 *-ibm) 1619 *-ibm)
1636 os=-aix 1620 os=aix
1637 ;; 1621 ;;
1638 *-knuth) 1622 *-knuth)
1639 os=-mmixware 1623 os=mmixware
1640 ;; 1624 ;;
1641 *-wec) 1625 *-wec)
1642 os=-proelf 1626 os=proelf
1643 ;; 1627 ;;
1644 *-winbond) 1628 *-winbond)
1645 os=-proelf 1629 os=proelf
1646 ;; 1630 ;;
1647 *-oki) 1631 *-oki)
1648 os=-proelf 1632 os=proelf
1649 ;; 1633 ;;
1650 *-hp) 1634 *-hp)
1651 os=-hpux 1635 os=hpux
1652 ;; 1636 ;;
1653 *-hitachi) 1637 *-hitachi)
1654 os=-hiux 1638 os=hiux
1655 ;; 1639 ;;
1656 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1640 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1657 os=-sysv 1641 os=sysv
1658 ;; 1642 ;;
1659 *-cbm) 1643 *-cbm)
1660 os=-amigaos 1644 os=amigaos
1661 ;; 1645 ;;
1662 *-dg) 1646 *-dg)
1663 os=-dgux 1647 os=dgux
1664 ;; 1648 ;;
1665 *-dolphin) 1649 *-dolphin)
1666 os=-sysv3 1650 os=sysv3
1667 ;; 1651 ;;
1668 m68k-ccur) 1652 m68k-ccur)
1669 os=-rtu 1653 os=rtu
1670 ;; 1654 ;;
1671 m88k-omron*) 1655 m88k-omron*)
1672 os=-luna 1656 os=luna
1673 ;; 1657 ;;
1674 *-next ) 1658 *-next)
1675 os=-nextstep 1659 os=nextstep
1676 ;; 1660 ;;
1677 *-sequent) 1661 *-sequent)
1678 os=-ptx 1662 os=ptx
1679 ;; 1663 ;;
1680 *-crds) 1664 *-crds)
1681 os=-unos 1665 os=unos
1682 ;; 1666 ;;
1683 *-ns) 1667 *-ns)
1684 os=-genix 1668 os=genix
1685 ;; 1669 ;;
1686 i370-*) 1670 i370-*)
1687 os=-mvs 1671 os=mvs
1688 ;;
1689 *-next)
1690 os=-nextstep3
1691 ;; 1672 ;;
1692 *-gould) 1673 *-gould)
1693 os=-sysv 1674 os=sysv
1694 ;; 1675 ;;
1695 *-highlevel) 1676 *-highlevel)
1696 os=-bsd 1677 os=bsd
1697 ;; 1678 ;;
1698 *-encore) 1679 *-encore)
1699 os=-bsd 1680 os=bsd
1700 ;; 1681 ;;
1701 *-sgi) 1682 *-sgi)
1702 os=-irix 1683 os=irix
1703 ;; 1684 ;;
1704 *-siemens) 1685 *-siemens)
1705 os=-sysv4 1686 os=sysv4
1706 ;; 1687 ;;
1707 *-masscomp) 1688 *-masscomp)
1708 os=-rtu 1689 os=rtu
1709 ;; 1690 ;;
1710 f30[01]-fujitsu | f700-fujitsu) 1691 f30[01]-fujitsu | f700-fujitsu)
1711 os=-uxpv 1692 os=uxpv
1712 ;; 1693 ;;
1713 *-rom68k) 1694 *-rom68k)
1714 os=-coff 1695 os=coff
1715 ;; 1696 ;;
1716 *-*bug) 1697 *-*bug)
1717 os=-coff 1698 os=coff
1718 ;; 1699 ;;
1719 *-apple) 1700 *-apple)
1720 os=-macos 1701 os=macos
1721 ;; 1702 ;;
1722 *-atari*) 1703 *-atari*)
1723 os=-mint 1704 os=mint
1705 ;;
1706 *-wrs)
1707 os=vxworks
1724 ;; 1708 ;;
1725 *) 1709 *)
1726 os=-none 1710 os=none
1727 ;; 1711 ;;
1728esac 1712esac
1713
1729fi 1714fi
1730 1715
1716# Now, validate our (potentially fixed-up) OS.
1717case $os in
1718 # Sometimes we do "kernel-libc", so those need to count as OSes.
1719 musl* | newlib* | relibc* | uclibc*)
1720 ;;
1721 # Likewise for "kernel-abi"
1722 eabi* | gnueabi*)
1723 ;;
1724 # VxWorks passes extra cpu info in the 4th filed.
1725 simlinux | simwindows | spe)
1726 ;;
1727 # Now accept the basic system types.
1728 # The portable systems comes first.
1729 # Each alternative MUST end in a * to match a version number.
1730 gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1731 | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
1732 | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1733 | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
1734 | hiux* | abug | nacl* | netware* | windows* \
1735 | os9* | macos* | osx* | ios* \
1736 | mpw* | magic* | mmixware* | mon960* | lnews* \
1737 | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1738 | aos* | aros* | cloudabi* | sortix* | twizzler* \
1739 | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1740 | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1741 | mirbsd* | netbsd* | dicos* | openedition* | ose* \
1742 | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
1743 | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
1744 | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1745 | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1746 | udi* | lites* | ieee* | go32* | aux* | hcos* \
1747 | chorusrdb* | cegcc* | glidix* | serenity* \
1748 | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1749 | midipix* | mingw32* | mingw64* | mint* \
1750 | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1751 | interix* | uwin* | mks* | rhapsody* | darwin* \
1752 | openstep* | oskit* | conix* | pw32* | nonstopux* \
1753 | storm-chaos* | tops10* | tenex* | tops20* | its* \
1754 | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
1755 | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
1756 | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1757 | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1758 | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1759 | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1760 | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
1761 | fiwix* | mlibc* )
1762 ;;
1763 # This one is extra strict with allowed versions
1764 sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
1765 # Don't forget version if it is 3.2v4 or newer.
1766 ;;
1767 none)
1768 ;;
1769 kernel* )
1770 # Restricted further below
1771 ;;
1772 *)
1773 echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
1774 exit 1
1775 ;;
1776esac
1777
1778# As a final step for OS-related things, validate the OS-kernel combination
1779# (given a valid OS), if there is a kernel.
1780case $kernel-$os in
1781 linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
1782 | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* )
1783 ;;
1784 uclinux-uclibc* )
1785 ;;
1786 managarm-mlibc* | managarm-kernel* )
1787 ;;
1788 -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
1789 # These are just libc implementations, not actual OSes, and thus
1790 # require a kernel.
1791 echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
1792 exit 1
1793 ;;
1794 -kernel* )
1795 echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
1796 exit 1
1797 ;;
1798 *-kernel* )
1799 echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
1800 exit 1
1801 ;;
1802 kfreebsd*-gnu* | kopensolaris*-gnu*)
1803 ;;
1804 vxworks-simlinux | vxworks-simwindows | vxworks-spe)
1805 ;;
1806 nto-qnx*)
1807 ;;
1808 os2-emx)
1809 ;;
1810 *-eabi* | *-gnueabi*)
1811 ;;
1812 -*)
1813 # Blank kernel with real OS is always fine.
1814 ;;
1815 *-*)
1816 echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
1817 exit 1
1818 ;;
1819esac
1820
1731# Here we handle the case where we know the os, and the CPU type, but not the 1821# Here we handle the case where we know the os, and the CPU type, but not the
1732# manufacturer. We pick the logical manufacturer. 1822# manufacturer. We pick the logical manufacturer.
1733vendor=unknown 1823case $vendor in
1734case $basic_machine in 1824 unknown)
1735 *-unknown) 1825 case $cpu-$os in
1736 case $os in 1826 *-riscix*)
1737 -riscix*)
1738 vendor=acorn 1827 vendor=acorn
1739 ;; 1828 ;;
1740 -sunos*) 1829 *-sunos*)
1741 vendor=sun 1830 vendor=sun
1742 ;; 1831 ;;
1743 -cnk*|-aix*) 1832 *-cnk* | *-aix*)
1744 vendor=ibm 1833 vendor=ibm
1745 ;; 1834 ;;
1746 -beos*) 1835 *-beos*)
1747 vendor=be 1836 vendor=be
1748 ;; 1837 ;;
1749 -hpux*) 1838 *-hpux*)
1750 vendor=hp 1839 vendor=hp
1751 ;; 1840 ;;
1752 -mpeix*) 1841 *-mpeix*)
1753 vendor=hp 1842 vendor=hp
1754 ;; 1843 ;;
1755 -hiux*) 1844 *-hiux*)
1756 vendor=hitachi 1845 vendor=hitachi
1757 ;; 1846 ;;
1758 -unos*) 1847 *-unos*)
1759 vendor=crds 1848 vendor=crds
1760 ;; 1849 ;;
1761 -dgux*) 1850 *-dgux*)
1762 vendor=dg 1851 vendor=dg
1763 ;; 1852 ;;
1764 -luna*) 1853 *-luna*)
1765 vendor=omron 1854 vendor=omron
1766 ;; 1855 ;;
1767 -genix*) 1856 *-genix*)
1768 vendor=ns 1857 vendor=ns
1769 ;; 1858 ;;
1770 -mvs* | -opened*) 1859 *-clix*)
1860 vendor=intergraph
1861 ;;
1862 *-mvs* | *-opened*)
1863 vendor=ibm
1864 ;;
1865 *-os400*)
1771 vendor=ibm 1866 vendor=ibm
1772 ;; 1867 ;;
1773 -os400*) 1868 s390-* | s390x-*)
1774 vendor=ibm 1869 vendor=ibm
1775 ;; 1870 ;;
1776 -ptx*) 1871 *-ptx*)
1777 vendor=sequent 1872 vendor=sequent
1778 ;; 1873 ;;
1779 -tpf*) 1874 *-tpf*)
1780 vendor=ibm 1875 vendor=ibm
1781 ;; 1876 ;;
1782 -vxsim* | -vxworks* | -windiss*) 1877 *-vxsim* | *-vxworks* | *-windiss*)
1783 vendor=wrs 1878 vendor=wrs
1784 ;; 1879 ;;
1785 -aux*) 1880 *-aux*)
1786 vendor=apple 1881 vendor=apple
1787 ;; 1882 ;;
1788 -hms*) 1883 *-hms*)
1789 vendor=hitachi 1884 vendor=hitachi
1790 ;; 1885 ;;
1791 -mpw* | -macos*) 1886 *-mpw* | *-macos*)
1792 vendor=apple 1887 vendor=apple
1793 ;; 1888 ;;
1794 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1889 *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
1795 vendor=atari 1890 vendor=atari
1796 ;; 1891 ;;
1797 -vos*) 1892 *-vos*)
1798 vendor=stratus 1893 vendor=stratus
1799 ;; 1894 ;;
1800 esac 1895 esac
1801 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1802 ;; 1896 ;;
1803esac 1897esac
1804 1898
1805echo $basic_machine$os 1899echo "$cpu-$vendor-${kernel:+$kernel-}$os"
1806exit 1900exit
1807 1901
1808# Local variables: 1902# Local variables:
1809# eval: (add-hook 'write-file-hooks 'time-stamp) 1903# eval: (add-hook 'before-save-hook 'time-stamp)
1810# time-stamp-start: "timestamp='" 1904# time-stamp-start: "timestamp='"
1811# time-stamp-format: "%:y-%02m-%02d" 1905# time-stamp-format: "%:y-%02m-%02d"
1812# time-stamp-end: "'" 1906# time-stamp-end: "'"