aboutsummaryrefslogtreecommitdiff
path: root/scripts/config.sub
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/config.sub
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/config.sub')
-rw-r--r--scripts/config.sub2664
1 files changed, 1379 insertions, 1285 deletions
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: "'"