Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
3aca5994
Commit
3aca5994
authored
Nov 20, 2023
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tools: Upgrade the config.guess/config.sub scripts.
parent
4ad14746
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
239 additions
and
104 deletions
+239
-104
config.guess
tools/config.guess
+83
-24
config.sub
tools/config.sub
+156
-80
No files found.
tools/config.guess
View file @
3aca5994
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-202
1
Free Software Foundation, Inc.
# Copyright 1992-202
3
Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
timestamp
=
'202
1-06-03
'
timestamp
=
'202
3-08-22
'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation
;
either version 3 of the License, or
# the Free Software Foundation
,
either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
...
...
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
usage
=
"
\
Usage:
$0
[OPTION]
Output the configuration name of the system
\`
$me
' is run on.
Output the configuration name of the system
'
$me
' is run on.
Options:
-h, --help print this help, then exit
...
...
@@ -60,13 +60,13 @@ version="\
GNU config.guess (
$timestamp
)
Originally written by Per Bothner.
Copyright 1992-202
1
Free Software Foundation, Inc.
Copyright 1992-202
3
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help
=
"
Try
\`
$me
--help' for more information."
Try
'
$me
--help' for more information."
# Parse command line
while
test
$#
-gt
0
;
do
...
...
@@ -102,8 +102,8 @@ GUESS=
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically,
`CC_FOR_BUILD' used to be named `
HOST_CC'. We still
# use
`
HOST_CC' if defined, but it is deprecated.
# Historically,
'CC_FOR_BUILD' used to be named '
HOST_CC'. We still
# use
'
HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
...
...
@@ -155,6 +155,9 @@ Linux|GNU|GNU/*)
set_cc_for_build
cat
<<-
EOF
> "
$dummy
.c"
#if defined(__ANDROID__)
LIBC=android
#else
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
...
...
@@ -169,6 +172,7 @@ Linux|GNU|GNU/*)
LIBC=musl
#endif
#endif
#endif
EOF
cc_set_libc
=
`
$CC_FOR_BUILD
-E
"
$dummy
.c"
2>/dev/null |
grep
'^LIBC'
|
sed
's, ,,g'
`
eval
"
$cc_set_libc
"
...
...
@@ -437,7 +441,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
# This test works for both compilers.
if
test
"
$CC_FOR_BUILD
"
!=
no_compiler_found
;
then
if
(
echo
'#ifdef __amd64'
;
echo
IS_64BIT_ARCH
;
echo
'#endif'
)
|
\
(
CCOPTS
=
""
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
\
(
CCOPTS
=
""
$CC_FOR_BUILD
-
m64
-
E
- 2>/dev/null
)
|
\
grep
IS_64BIT_ARCH
>
/dev/null
then
SUN_ARCH
=
x86_64
...
...
@@ -459,7 +463,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
UNAME_RELEASE
=
`
uname
-v
`
;;
esac
# Japanese Language versions have a version number like
`
4.1.3-JL'.
# Japanese Language versions have a version number like
'
4.1.3-JL'.
SUN_REL
=
`
echo
"
$UNAME_RELEASE
"
|
sed
-e
's/-/_/'
`
GUESS
=
sparc-sun-sunos
$SUN_REL
;;
...
...
@@ -904,7 +908,7 @@ EOF
fi
;;
*
:FreeBSD:
*
:
*
)
UNAME_PROCESSOR
=
`
/usr/bin/
uname
-p
`
UNAME_PROCESSOR
=
`
uname
-p
`
case
$UNAME_PROCESSOR
in
amd64
)
UNAME_PROCESSOR
=
x86_64
;;
...
...
@@ -929,6 +933,9 @@ EOF
i
*
:PW
*
:
*
)
GUESS
=
$UNAME_MACHINE
-pc-pw32
;;
*
:SerenityOS:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-pc-serenity
;;
*
:Interix
*
:
*
)
case
$UNAME_MACHINE
in
x86
)
...
...
@@ -963,11 +970,37 @@ EOF
GNU_REL
=
`
echo
"
$UNAME_RELEASE
"
|
sed
-e
's/[-(].*//'
`
GUESS
=
$UNAME_MACHINE
-unknown-
$GNU_SYS$GNU_REL
-
$LIBC
;;
x86_64:[Mm]anagarm:
*
:
*
|
i?86:[Mm]anagarm:
*
:
*
)
GUESS
=
"
$UNAME_MACHINE
-pc-managarm-mlibc"
;;
*
:[Mm]anagarm:
*
:
*
)
GUESS
=
"
$UNAME_MACHINE
-unknown-managarm-mlibc"
;;
*
:Minix:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-minix
;;
aarch64:Linux:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-linux-
$LIBC
set_cc_for_build
CPU
=
$UNAME_MACHINE
LIBCABI
=
$LIBC
if
test
"
$CC_FOR_BUILD
"
!=
no_compiler_found
;
then
ABI
=
64
sed
's/^ //'
<<
EOF
> "
$dummy
.c"
#ifdef __ARM_EABI__
#ifdef __ARM_PCS_VFP
ABI=eabihf
#else
ABI=eabi
#endif
#endif
EOF
cc_set_abi
=
`
$CC_FOR_BUILD
-E
"
$dummy
.c"
2>/dev/null |
grep
'^ABI'
|
sed
's, ,,g'
`
eval
"
$cc_set_abi
"
case
$ABI
in
eabi
|
eabihf
)
CPU
=
armv8l
;
LIBCABI
=
$LIBC$ABI
;;
esac
fi
GUESS
=
$CPU
-unknown-linux-
$LIBCABI
;;
aarch64_be:Linux:
*
:
*
)
UNAME_MACHINE
=
aarch64_be
...
...
@@ -1033,7 +1066,16 @@ EOF
k1om:Linux:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-linux-
$LIBC
;;
loongarch32:Linux:
*
:
*
|
loongarch64:Linux:
*
:
*
|
loongarchx32:Linux:
*
:
*
)
kvx:Linux:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-linux-
$LIBC
;;
kvx:cos:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-cos
;;
kvx:mbr:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-mbr
;;
loongarch32:Linux:
*
:
*
|
loongarch64:Linux:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-linux-
$LIBC
;;
m32r
*
:Linux:
*
:
*
)
...
...
@@ -1148,16 +1190,27 @@ EOF
;;
x86_64:Linux:
*
:
*
)
set_cc_for_build
CPU
=
$UNAME_MACHINE
LIBCABI
=
$LIBC
if
test
"
$CC_FOR_BUILD
"
!=
no_compiler_found
;
then
if
(
echo
'#ifdef __ILP32__'
;
echo
IS_X32
;
echo
'#endif'
)
|
\
(
CCOPTS
=
""
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
\
grep
IS_X32
>
/dev/null
then
LIBCABI
=
${
LIBC
}
x32
fi
ABI
=
64
sed
's/^ //'
<<
EOF
> "
$dummy
.c"
#ifdef __i386__
ABI=x86
#else
#ifdef __ILP32__
ABI=x32
#endif
#endif
EOF
cc_set_abi
=
`
$CC_FOR_BUILD
-E
"
$dummy
.c"
2>/dev/null |
grep
'^ABI'
|
sed
's, ,,g'
`
eval
"
$cc_set_abi
"
case
$ABI
in
x86
)
CPU
=
i686
;;
x32
)
LIBCABI
=
${
LIBC
}
x32
;;
esac
fi
GUESS
=
$
UNAME_MACHINE
-pc-linux-
$LIBCABI
GUESS
=
$
CPU
-pc-linux-
$LIBCABI
;;
xtensa
*
:Linux:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-linux-
$LIBC
...
...
@@ -1177,7 +1230,7 @@ EOF
GUESS
=
$UNAME_MACHINE
-pc-sysv4
.2uw
$UNAME_VERSION
;;
i
*
86:OS/2:
*
:
*
)
# If we were able to find
`
uname', then EMX Unix compatibility
# If we were able to find
'
uname', then EMX Unix compatibility
# is probably installed.
GUESS
=
$UNAME_MACHINE
-pc-os2-emx
;;
...
...
@@ -1318,7 +1371,7 @@ EOF
GUESS
=
ns32k-sni-sysv
fi
;;
PENTIUM:
*
:4.0
*
:
*
)
# Unisys
`
ClearPath HMP IX 4000' SVR4/MP effort
PENTIUM:
*
:4.0
*
:
*
)
# Unisys
'
ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
GUESS
=
i586-unisys-sysv4
;;
...
...
@@ -1364,8 +1417,11 @@ EOF
BePC:Haiku:
*
:
*
)
# Haiku running on Intel PC compatible.
GUESS
=
i586-pc-haiku
;;
x86_64:Haiku:
*
:
*
)
GUESS
=
x86_64-unknown-haiku
ppc:Haiku:
*
:
*
)
# Haiku running on Apple PowerPC
GUESS
=
powerpc-apple-haiku
;;
*
:Haiku:
*
:
*
)
# Haiku modern gcc (not bound by BeOS compat)
GUESS
=
$UNAME_MACHINE
-unknown-haiku
;;
SX-4:SUPER-UX:
*
:
*
)
GUESS
=
sx4-nec-superux
$UNAME_RELEASE
...
...
@@ -1522,6 +1578,9 @@ EOF
i
*
86:rdos:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-pc-rdos
;;
i
*
86:Fiwix:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-pc-fiwix
;;
*
:AROS:
*
:
*
)
GUESS
=
$UNAME_MACHINE
-unknown-aros
;;
...
...
tools/config.sub
View file @
3aca5994
#! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-202
1
Free Software Foundation, Inc.
# Copyright 1992-202
3
Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
timestamp
=
'202
1-08-14
'
timestamp
=
'202
3-09-19
'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation
;
either version 3 of the License, or
# the Free Software Foundation
,
either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
...
...
@@ -76,13 +76,13 @@ Report bugs and patches to <config-patches@gnu.org>."
version
=
"
\
GNU config.sub (
$timestamp
)
Copyright 1992-202
1
Free Software Foundation, Inc.
Copyright 1992-202
3
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help
=
"
Try
\`
$me
--help' for more information."
Try
'
$me
--help' for more information."
# Parse command line
while
test
$#
-gt
0
;
do
...
...
@@ -130,7 +130,7 @@ IFS=$saved_IFS
# Separate into logical components for further validation
case
$1
in
*
-
*
-
*
-
*
-
*
)
echo
Invalid configuration
\`
"
$1
"
\'
: more than four components
>
&2
echo
"Invalid configuration '
$1
': more than four components"
>
&2
exit
1
;;
*
-
*
-
*
-
*
)
...
...
@@ -145,7 +145,8 @@ case $1 in
nto-qnx
*
|
linux-
*
|
uclinux-uclibc
*
\
|
uclinux-gnu
*
|
kfreebsd
*
-gnu
*
|
knetbsd
*
-gnu
*
|
netbsd
*
-gnu
*
\
|
netbsd
*
-eabi
*
|
kopensolaris
*
-gnu
*
|
cloudabi
*
-eabi
*
\
|
storm-chaos
*
|
os2-emx
*
|
rtmk-nova
*
)
|
storm-chaos
*
|
os2-emx
*
|
rtmk-nova
*
|
managarm-
*
\
|
windows-
*
)
basic_machine
=
$field1
basic_os
=
$maybe_os
;;
...
...
@@ -943,7 +944,7 @@ $basic_machine
EOF
IFS
=
$saved_IFS
;;
# We use
`pc' rather than `
unknown'
# We use
'pc' rather than '
unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i
*
86
|
x86_64
)
...
...
@@ -1020,6 +1021,11 @@ case $cpu-$vendor in
;;
# Here we normalize CPU types with a missing or matching vendor
armh-unknown
|
armh-alt
)
cpu
=
armv7l
vendor
=
alt
basic_os
=
${
basic_os
:-
linux
-gnueabihf
}
;;
dpx20-unknown
|
dpx20-bull
)
cpu
=
rs6000
vendor
=
bull
...
...
@@ -1070,7 +1076,7 @@ case $cpu-$vendor in
pentium-
*
|
p5-
*
|
k5-
*
|
k6-
*
|
nexgen-
*
|
viac3-
*
)
cpu
=
i586
;;
pentiumpro-
*
|
p6-
*
|
6x86-
*
|
athlon-
*
|
ath
a
lon_
*
-
*
)
pentiumpro-
*
|
p6-
*
|
6x86-
*
|
athlon-
*
|
athlon_
*
-
*
)
cpu
=
i686
;;
pentiumii-
*
|
pentium2-
*
|
pentiumiii-
*
|
pentium3-
*
)
...
...
@@ -1121,7 +1127,7 @@ case $cpu-$vendor in
xscale-
*
|
xscalee[bl]-
*
)
cpu
=
`
echo
"
$cpu
"
|
sed
's/^xscale/arm/'
`
;;
arm64-
*
)
arm64-
*
|
aarch64le-
*
)
cpu
=
aarch64
;;
...
...
@@ -1175,7 +1181,7 @@ case $cpu-$vendor in
case
$cpu
in
1750a
|
580
\
|
a29k
\
|
aarch64
|
aarch64_be
\
|
aarch64
|
aarch64_be
|
aarch64c
|
arm64ec
\
|
abacus
\
|
alpha
|
alphaev[4-8]
|
alphaev56
|
alphaev6[78]
\
|
alpha64
|
alpha64ev[4-8]
|
alpha64ev56
|
alpha64ev6[78]
\
...
...
@@ -1194,45 +1200,23 @@ case $cpu-$vendor in
|
d10v
|
d30v
|
dlx
|
dsp16xx
\
|
e2k
|
elxsi
|
epiphany
\
|
f30[01]
|
f700
|
fido
|
fr30
|
frv
|
ft32
|
fx80
\
|
javascript
\
|
h8300
|
h8500
\
|
hppa
|
hppa1.[01]
|
hppa2.0
|
hppa2.0[nw]
|
hppa64
\
|
hexagon
\
|
i370
|
i
*
86
|
i860
|
i960
|
ia16
|
ia64
\
|
ip2k
|
iq2000
\
|
k1om
\
|
kvx
\
|
le32
|
le64
\
|
lm32
\
|
loongarch32
|
loongarch64
|
loongarchx32
\
|
loongarch32
|
loongarch64
\
|
m32c
|
m32r
|
m32rle
\
|
m5200
|
m68000
|
m680[012346]0
|
m68360
|
m683?2
|
m68k
\
|
m6811
|
m68hc11
|
m6812
|
m68hc12
|
m68hcs12x
\
|
m88110
|
m88k
|
maxq
|
mb
|
mcore
|
mep
|
metag
\
|
microblaze
|
microblazeel
\
|
mips
|
mipsbe
|
mipseb
|
mipsel
|
mipsle
\
|
mips16
\
|
mips64
|
mips64eb
|
mips64el
\
|
mips64octeon
|
mips64octeonel
\
|
mips64orion
|
mips64orionel
\
|
mips64r5900
|
mips64r5900el
\
|
mips64vr
|
mips64vrel
\
|
mips64vr4100
|
mips64vr4100el
\
|
mips64vr4300
|
mips64vr4300el
\
|
mips64vr5000
|
mips64vr5000el
\
|
mips64vr5900
|
mips64vr5900el
\
|
mipsisa32
|
mipsisa32el
\
|
mipsisa32r2
|
mipsisa32r2el
\
|
mipsisa32r3
|
mipsisa32r3el
\
|
mipsisa32r5
|
mipsisa32r5el
\
|
mipsisa32r6
|
mipsisa32r6el
\
|
mipsisa64
|
mipsisa64el
\
|
mipsisa64r2
|
mipsisa64r2el
\
|
mipsisa64r3
|
mipsisa64r3el
\
|
mipsisa64r5
|
mipsisa64r5el
\
|
mipsisa64r6
|
mipsisa64r6el
\
|
mipsisa64sb1
|
mipsisa64sb1el
\
|
mipsisa64sr71k
|
mipsisa64sr71kel
\
|
mipsr5900
|
mipsr5900el
\
|
mipstx39
|
mipstx39el
\
|
mips
*
\
|
mmix
\
|
mn10200
|
mn10300
\
|
moxie
\
...
...
@@ -1280,7 +1264,7 @@ case $cpu-$vendor in
;;
*
)
echo
Invalid configuration
\`
"
$1
"
\'
: machine
\`
"
$cpu
-
$vendor
"
\'
not recognized
1>&2
echo
"Invalid configuration '
$1
': machine '
$cpu
-
$vendor
' not recognized"
1>&2
exit
1
;;
esac
...
...
@@ -1301,11 +1285,12 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
if
test
x
$basic_os
!=
x
if
test
x
"
$basic_os
"
!=
x
then
# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
# First recognize some ad-hoc ca
s
es, or perhaps split kernel-os, or else just
# set os.
obj
=
case
$basic_os
in
gnu/linux
*
)
kernel
=
linux
...
...
@@ -1336,6 +1321,10 @@ EOF
kernel
=
linux
os
=
`
echo
"
$basic_os
"
|
sed
-e
's|linux|gnu|'
`
;;
managarm
*
)
kernel
=
managarm
os
=
`
echo
"
$basic_os
"
|
sed
-e
's|managarm|mlibc|'
`
;;
*
)
kernel
=
os
=
$basic_os
...
...
@@ -1501,10 +1490,16 @@ case $os in
os
=
eabi
;;
*
)
os
=
elf
os
=
obj
=
elf
;;
esac
;;
aout
*
|
coff
*
|
elf
*
|
pe
*
)
# These are machine code file formats, not OSes
obj
=
$os
os
=
;;
*
)
# No normalization, but not necessarily accepted, that comes below.
;;
...
...
@@ -1523,12 +1518,15 @@ else
# system, and we'll never get to this point.
kernel
=
obj
=
case
$cpu
-
$vendor
in
score-
*
)
os
=
elf
os
=
obj
=
elf
;;
spu-
*
)
os
=
elf
os
=
obj
=
elf
;;
*
-acorn
)
os
=
riscix1.2
...
...
@@ -1538,28 +1536,35 @@ case $cpu-$vendor in
os
=
gnu
;;
arm
*
-semi
)
os
=
aout
os
=
obj
=
aout
;;
c4x-
*
|
tic4x-
*
)
os
=
coff
os
=
obj
=
coff
;;
c8051-
*
)
os
=
elf
os
=
obj
=
elf
;;
clipper-intergraph
)
os
=
clix
;;
hexagon-
*
)
os
=
elf
os
=
obj
=
elf
;;
tic54x-
*
)
os
=
coff
os
=
obj
=
coff
;;
tic55x-
*
)
os
=
coff
os
=
obj
=
coff
;;
tic6x-
*
)
os
=
coff
os
=
obj
=
coff
;;
# This must come before the *-dec entry.
pdp10-
*
)
...
...
@@ -1581,19 +1586,24 @@ case $cpu-$vendor in
os
=
sunos3
;;
m68
*
-cisco
)
os
=
aout
os
=
obj
=
aout
;;
mep-
*
)
os
=
elf
os
=
obj
=
elf
;;
mips
*
-cisco
)
os
=
elf
os
=
obj
=
elf
;;
mips
*
-
*
)
os
=
elf
os
=
obj
=
elf
;;
or32-
*
)
os
=
coff
os
=
obj
=
coff
;;
*
-tti
)
# must be before sparc entry or we get the wrong os.
os
=
sysv3
...
...
@@ -1602,7 +1612,8 @@ case $cpu-$vendor in
os
=
sunos4.1.1
;;
pru-
*
)
os
=
elf
os
=
obj
=
elf
;;
*
-be
)
os
=
beos
...
...
@@ -1683,10 +1694,12 @@ case $cpu-$vendor in
os
=
uxpv
;;
*
-rom68k
)
os
=
coff
os
=
obj
=
coff
;;
*
-
*
bug
)
os
=
coff
os
=
obj
=
coff
;;
*
-apple
)
os
=
macos
...
...
@@ -1704,7 +1717,8 @@ esac
fi
# Now, validate our (potentially fixed-up) OS.
# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
case
$os
in
# Sometimes we do "kernel-libc", so those need to count as OSes.
musl
*
|
newlib
*
|
relibc
*
|
uclibc
*
)
...
...
@@ -1715,6 +1729,9 @@ case $os in
# VxWorks passes extra cpu info in the 4th filed.
simlinux
|
simwindows
|
spe
)
;;
# See `case $cpu-$os` validation below
ghcjs
)
;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
...
...
@@ -1723,7 +1740,7 @@ case $os in
|
hpux
*
|
unos
*
|
osf
*
|
luna
*
|
dgux
*
|
auroraux
*
|
solaris
*
\
|
sym
*
|
plan9
*
|
psp
*
|
sim
*
|
xray
*
|
os68k
*
|
v88r
*
\
|
hiux
*
|
abug
|
nacl
*
|
netware
*
|
windows
*
\
|
os9
*
|
macos
*
|
osx
*
|
ios
*
\
|
os9
*
|
macos
*
|
osx
*
|
ios
*
|
tvos
*
|
watchos
*
\
|
mpw
*
|
magic
*
|
mmixware
*
|
mon960
*
|
lnews
*
\
|
amigaos
*
|
amigados
*
|
msdos
*
|
newsos
*
|
unicos
*
|
aof
*
\
|
aos
*
|
aros
*
|
cloudabi
*
|
sortix
*
|
twizzler
*
\
...
...
@@ -1732,11 +1749,11 @@ case $os in
|
mirbsd
*
|
netbsd
*
|
dicos
*
|
openedition
*
|
ose
*
\
|
bitrig
*
|
openbsd
*
|
secbsd
*
|
solidbsd
*
|
libertybsd
*
|
os108
*
\
|
ekkobsd
*
|
freebsd
*
|
riscix
*
|
lynxos
*
|
os400
*
\
|
bosx
*
|
nextstep
*
|
cxux
*
|
aout
*
|
elf
*
|
oabi
*
\
|
ptx
*
|
coff
*
|
ecoff
*
|
winnt
*
|
domain
*
|
vsta
*
\
|
bosx
*
|
nextstep
*
|
cxux
*
|
oabi
*
\
|
ptx
*
|
ecoff
*
|
winnt
*
|
domain
*
|
vsta
*
\
|
udi
*
|
lites
*
|
ieee
*
|
go32
*
|
aux
*
|
hcos
*
\
|
chorusrdb
*
|
cegcc
*
|
glidix
*
|
serenity
*
\
|
cygwin
*
|
msys
*
|
pe
*
|
moss
*
|
proelf
*
|
rtems
*
\
|
cygwin
*
|
msys
*
|
moss
*
|
proelf
*
|
rtems
*
\
|
midipix
*
|
mingw32
*
|
mingw64
*
|
mint
*
\
|
uxpv
*
|
beos
*
|
mpeix
*
|
udk
*
|
moxiebox
*
\
|
interix
*
|
uwin
*
|
mks
*
|
rhapsody
*
|
darwin
*
\
...
...
@@ -1748,7 +1765,8 @@ case $os in
|
skyos
*
|
haiku
*
|
rdos
*
|
toppers
*
|
drops
*
|
es
*
\
|
onefs
*
|
tirtos
*
|
phoenix
*
|
fuchsia
*
|
redox
*
|
bme
*
\
|
midnightbsd
*
|
amdhsa
*
|
unleashed
*
|
emscripten
*
|
wasi
*
\
|
nsk
*
|
powerunix
*
|
genode
*
|
zvmoe
*
|
qnx
*
|
emx
*
|
zephyr
*
)
|
nsk
*
|
powerunix
*
|
genode
*
|
zvmoe
*
|
qnx
*
|
emx
*
|
zephyr
*
\
|
fiwix
*
|
mlibc
*
|
cos
*
|
mbr
*
)
;;
# This one is extra strict with allowed versions
sco3.2v2
|
sco3.2v[4-9]
*
|
sco5v6
*
)
...
...
@@ -1756,41 +1774,99 @@ case $os in
;;
none
)
;;
kernel
*
|
msvc
*
)
# Restricted further below
;;
''
)
if
test
x
"
$obj
"
=
x
then
echo
"Invalid configuration '
$1
': Blank OS only allowed with explicit machine code file format"
1>&2
fi
;;
*
)
echo
"Invalid configuration '
$1
': OS '
$os
' not recognized"
1>&2
exit
1
;;
esac
case
$obj
in
aout
*
|
coff
*
|
elf
*
|
pe
*
)
;;
''
)
# empty is fine
;;
*
)
echo
Invalid configuration
\`
"
$1
"
\'
: OS
\`
"
$os
"
\'
not recognized 1>&2
echo
"Invalid configuration '
$1
': Machine code format '
$obj
' not recognized"
1>&2
exit
1
;;
esac
# Here we handle the constraint that a (synthetic) cpu and os are
# valid only in combination with each other and nowhere else.
case
$cpu
-
$os
in
# The "javascript-unknown-ghcjs" triple is used by GHC; we
# accept it here in order to tolerate that, but reject any
# variations.
javascript-ghcjs
)
;;
javascript-
*
|
*
-ghcjs
)
echo
"Invalid configuration '
$1
': cpu '
$cpu
' is not valid with os '
$os$obj
'"
1>&2
exit
1
;;
esac
# As a final step for OS-related things, validate the OS-kernel combination
# (given a valid OS), if there is a kernel.
case
$kernel
-
$os
in
linux-gnu
*
|
linux-dietlibc
*
|
linux-android
*
|
linux-newlib
*
\
|
linux-musl
*
|
linux-relibc
*
|
linux-uclibc
*
)
case
$kernel
-
$os
-
$obj
in
linux-gnu
*
-
|
linux-dietlibc
*
-
|
linux-android
*
-
|
linux-newlib
*
-
\
|
linux-musl
*
-
|
linux-relibc
*
-
|
linux-uclibc
*
-
|
linux-mlibc
*
-
)
;;
uclinux-uclibc
*
-
)
;;
managarm-mlibc
*
-
|
managarm-kernel
*
-
)
;;
uclinux-uclibc
*
)
windows
*
-msvc
*
-
)
;;
-dietlibc
*
|
-newlib
*
|
-musl
*
|
-relibc
*
|
-uclibc
*
)
-dietlibc
*
-
|
-newlib
*
-
|
-musl
*
-
|
-relibc
*
-
|
-uclibc
*
-
|
-mlibc
*
-
)
# These are just libc implementations, not actual OSes, and thus
# require a kernel.
echo
"Invalid configuration
\`
$1
': libc
\`
$os
' needs explicit kernel."
1>&2
echo
"Invalid configuration
'
$1
': libc '
$os
' needs explicit kernel."
1>&2
exit
1
;;
kfreebsd
*
-gnu
*
|
kopensolaris
*
-gnu
*
)
-kernel
*
-
)
echo
"Invalid configuration '
$1
': '
$os
' needs explicit kernel."
1>&2
exit
1
;;
vxworks-simlinux
|
vxworks-simwindows
|
vxworks-spe
)
*
-kernel
*
-
)
echo
"Invalid configuration '
$1
': '
$kernel
' does not support '
$os
'."
1>&2
exit
1
;;
nto-qnx
*
)
*
-msvc
*
-
)
echo
"Invalid configuration '
$1
': '
$os
' needs 'windows'."
1>&2
exit
1
;;
os2-emx
)
kfreebsd
*
-gnu
*
-
|
kopensolaris
*
-gnu
*
-
)
;;
vxworks-simlinux-
|
vxworks-simwindows-
|
vxworks-spe-
)
;;
nto-qnx
*
-
)
;;
os2-emx-
)
;;
*
-eabi
*
|
*
-gnueabi
*
)
*
-eabi
*
-
|
*
-gnueabi
*
-
)
;;
-
*
)
none--
*
)
# None (no kernel, i.e. freestanding / bare metal),
# can be paired with an machine code file format
;;
-
*
-
)
# Blank kernel with real OS is always fine.
;;
*
-
*
)
echo
"Invalid configuration
\`
$1
': Kernel
\`
$kernel
' not known to work with OS
\`
$os
'."
1>&2
--
*
)
# Blank kernel and OS with real machine code file format is always fine.
;;
*
-
*
-
*
)
echo
"Invalid configuration '
$1
': Kernel '
$kernel
' not known to work with OS '
$os
'."
1>&2
exit
1
;;
esac
...
...
@@ -1873,7 +1949,7 @@ case $vendor in
;;
esac
echo
"
$cpu
-
$vendor
-
${
kernel
:+
$kernel
-
}
$os
"
echo
"
$cpu
-
$vendor
${
kernel
:+-
$kernel
}${
os
:+-
$os
}${
obj
:+-
$obj
}
"
exit
# Local variables:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment