Message ID | 20190528203416.32261-4-thomas.petazzoni@bootlin.com |
---|---|
State | Accepted |
Headers | show |
Series | gnuconfig and csky updates | expand |
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > This update includes support for the C-SKY architecture. > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- > Note: this was suggested by Peter for next, instead of just patching > the files to add csky support. It should be applied after > cherry-picking 910b431d6383cd1ce4cd9eeb0a8466cb977c3789 from master. Are you sure about that? It seems to apply nicely as is to next, and fail with a merge conflict if I cherry-pick 910b431?
Hello, On Thu, 30 May 2019 12:36:55 +0200 Peter Korsgaard <peter@korsgaard.com> wrote: > >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > > > This update includes support for the C-SKY architecture. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > > --- > > Note: this was suggested by Peter for next, instead of just patching > > the files to add csky support. It should be applied after > > cherry-picking 910b431d6383cd1ce4cd9eeb0a8466cb977c3789 from master. > > Are you sure about that? It seems to apply nicely as is to next, and > fail with a merge conflict if I cherry-pick 910b431? Yes, because I did the patch based on next. But you know that master had a change on gnuconfig to support the C-SKY architecture. So perhaps I should send a series that is based on next + the c-sky patch that is already in master ? Thomas
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > Hello, > On Thu, 30 May 2019 12:36:55 +0200 > Peter Korsgaard <peter@korsgaard.com> wrote: >> >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: >> >> > This update includes support for the C-SKY architecture. >> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> >> > --- >> > Note: this was suggested by Peter for next, instead of just patching >> > the files to add csky support. It should be applied after >> > cherry-picking 910b431d6383cd1ce4cd9eeb0a8466cb977c3789 from master. >> >> Are you sure about that? It seems to apply nicely as is to next, and >> fail with a merge conflict if I cherry-pick 910b431? > Yes, because I did the patch based on next. But you know that master > had a change on gnuconfig to support the C-SKY architecture. So perhaps > I should send a series that is based on next + the c-sky patch that is > already in master ? Yes, that is probably the easiest for when we need to merge next to master. Did you get any further with moving all of this to package/gnuconfig and downloading it, or is that for later?
Hello, On Thu, 30 May 2019 14:53:22 +0200 Peter Korsgaard <peter@korsgaard.com> wrote: > Did you get any further with moving all of this to package/gnuconfig and > downloading it, or is that for later? So, I tried to do this: https://github.com/tpetazzoni/buildroot/commits/gnuconfig It's not that simple/straightforward though: - host-gnuconfig needs host-tar because host-gnuconfig fetches from Git so we create/extract a tarball. But host-tar is an autotools package, so it ends up depending on host-gnuconfig, creating a circular dependency. As discussed on IRC, I see three options to solve this: (1) Do not overwrite config.guess/config.sub for host packages. This will be an issue if we have some very old package that has an old config.guess/config.sub, and someone tries to build on a fairly "new" architecture, say ARM64. (2) Same as (1), but only for host-tar. Host-tar has some reasonably frequent releases, so hopefully the problem described in (1) doesn't happen. (3) Change the gnuconfig package so that it doesn't fetch from Git, but directly using wget the two individual files it needs. - removing --build=$(GNU_HOST_NAME) from all autotools packages doesn't really work well. For example Python 2.x at least then fails to build with: "configure: error: Cross compiling required --host=HOST-TUPLE and --build=ARCH". We could of course live with --build=$(GNU_HOST_NAME), with GNU_HOST_NAME being a recursively expanded variable, like my patch series does for libnspr and moarvm. Overall, I am no longer so sure of the benefits vs. complexity trade-off here. The above issues can be resolved for sure, but is it worth it, compared to just having those two files in our tree ? Best regards, Thomas
Thomas, All, On 2019-05-28 22:34 +0200, Thomas Petazzoni spake thusly: > This update includes support for the C-SKY architecture. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Since switching to a package-based approach is non-trivial, we can still live with the bundled copies for a while: Acked-by: Yann E. MORIN <yann.morin.1998@free.fr> Regards, Yann E. MORIN. > --- > Note: this was suggested by Peter for next, instead of just patching > the files to add csky support. It should be applied after > cherry-picking 910b431d6383cd1ce4cd9eeb0a8466cb977c3789 from master. > --- > support/gnuconfig/README.buildroot | 2 +- > support/gnuconfig/config.guess | 836 +++++---- > support/gnuconfig/config.sub | 2525 ++++++++++++++-------------- > 3 files changed, 1774 insertions(+), 1589 deletions(-) > > diff --git a/support/gnuconfig/README.buildroot b/support/gnuconfig/README.buildroot > index 7ba2a332a4..115c9fd1e1 100644 > --- a/support/gnuconfig/README.buildroot > +++ b/support/gnuconfig/README.buildroot > @@ -24,4 +24,4 @@ Currently no patches are needed, but they may be needed again in the > future. > > The current Buildroot version is based on the Git commit > -dafd8e767ec87b90aac62f0fcedd11944c84b50a of the config.git repository. > +bad92f031d2d5d980389d2c833f1c218a57443e6 of the config.git repository. > diff --git a/support/gnuconfig/config.guess b/support/gnuconfig/config.guess > index c4bd827a7b..b40e17b137 100755 > --- a/support/gnuconfig/config.guess > +++ b/support/gnuconfig/config.guess > @@ -1,8 +1,8 @@ > #! /bin/sh > # Attempt to guess a canonical system name. > -# Copyright 1992-2016 Free Software Foundation, Inc. > +# Copyright 1992-2019 Free Software Foundation, Inc. > > -timestamp='2016-05-15' > +timestamp='2019-05-28' > > # 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 > @@ -15,7 +15,7 @@ timestamp='2016-05-15' > # General Public License for more details. > # > # You should have received a copy of the GNU General Public License > -# along with this program; if not, see <http://www.gnu.org/licenses/>. > +# along with this program; if not, see <https://www.gnu.org/licenses/>. > # > # As a special exception to the GNU General Public License, if you > # distribute this file as part of a program that contains a > @@ -27,7 +27,7 @@ timestamp='2016-05-15' > # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. > # > # You can get the latest version of this script from: > -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess > +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess > # > # Please send patches to <config-patches@gnu.org>. > > @@ -39,7 +39,7 @@ Usage: $0 [OPTION] > > Output the configuration name of the system \`$me' is run on. > > -Operation modes: > +Options: > -h, --help print this help, then exit > -t, --time-stamp print date of last modification, then exit > -v, --version print version number, then exit > @@ -50,7 +50,7 @@ version="\ > GNU config.guess ($timestamp) > > Originally written by Per Bothner. > -Copyright 1992-2016 Free Software Foundation, Inc. > +Copyright 1992-2019 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." > @@ -84,8 +84,6 @@ if test $# != 0; then > exit 1 > fi > > -trap 'exit 1' 1 2 15 > - > # CC_FOR_BUILD -- compiler used by this script. Note that the use of a > # compiler to aid in system detection is discouraged as it requires > # temporary files to be created and, as you can see below, it is a > @@ -96,34 +94,38 @@ trap 'exit 1' 1 2 15 > > # Portable tmp directory creation inspired by the Autoconf team. > > -set_cc_for_build=' > -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; > -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; > -: ${TMPDIR=/tmp} ; > - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || > - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || > - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || > - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; > -dummy=$tmp/dummy ; > -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; > -case $CC_FOR_BUILD,$HOST_CC,$CC in > - ,,) echo "int x;" > $dummy.c ; > - for c in cc gcc c89 c99 ; do > - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then > - CC_FOR_BUILD="$c"; break ; > - fi ; > - done ; > - if test x"$CC_FOR_BUILD" = x ; then > - CC_FOR_BUILD=no_compiler_found ; > - fi > - ;; > - ,,*) CC_FOR_BUILD=$CC ;; > - ,*,*) CC_FOR_BUILD=$HOST_CC ;; > -esac ; set_cc_for_build= ;' > +tmp= > +# shellcheck disable=SC2172 > +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 > + > +set_cc_for_build() { > + : "${TMPDIR=/tmp}" > + # shellcheck disable=SC2039 > + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || > + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || > + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || > + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } > + dummy=$tmp/dummy > + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in > + ,,) echo "int x;" > "$dummy.c" > + for driver in cc gcc c89 c99 ; do > + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then > + CC_FOR_BUILD="$driver" > + break > + fi > + done > + if test x"$CC_FOR_BUILD" = x ; then > + CC_FOR_BUILD=no_compiler_found > + fi > + ;; > + ,,*) CC_FOR_BUILD=$CC ;; > + ,*,*) CC_FOR_BUILD=$HOST_CC ;; > + esac > +} > > # This is needed to find uname on a Pyramid OSx when run in the BSD universe. > # (ghazi@noc.rutgers.edu 1994-08-24) > -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then > +if test -f /.attbin/uname ; then > PATH=$PATH:/.attbin ; export PATH > fi > > @@ -132,14 +134,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown > UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown > UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown > > -case "${UNAME_SYSTEM}" in > +case "$UNAME_SYSTEM" in > Linux|GNU|GNU/*) > # If the system lacks a compiler, then just pick glibc. > # We could probably try harder. > LIBC=gnu > > - eval $set_cc_for_build > - cat <<-EOF > $dummy.c > + set_cc_for_build > + cat <<-EOF > "$dummy.c" > #include <features.h> > #if defined(__UCLIBC__) > LIBC=uclibc > @@ -149,13 +151,20 @@ Linux|GNU|GNU/*) > LIBC=gnu > #endif > EOF > - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` > + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" > + > + # If ldd exists, use it to detect musl libc. > + if command -v ldd >/dev/null && \ > + ldd --version 2>&1 | grep -q ^musl > + then > + LIBC=musl > + fi > ;; > esac > > # Note: order is significant - the case branches are not exclusive. > > -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in > *:NetBSD:*:*) > # NetBSD (nbsd) targets should (where applicable) match one or > # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, > @@ -169,30 +178,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > # portion of the name. We always set it to "unknown". > sysctl="sysctl -n hw.machine_arch" > UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ > - /sbin/$sysctl 2>/dev/null || \ > - /usr/sbin/$sysctl 2>/dev/null || \ > + "/sbin/$sysctl" 2>/dev/null || \ > + "/usr/sbin/$sysctl" 2>/dev/null || \ > echo unknown)` > - case "${UNAME_MACHINE_ARCH}" in > + case "$UNAME_MACHINE_ARCH" in > armeb) machine=armeb-unknown ;; > arm*) machine=arm-unknown ;; > sh3el) machine=shl-unknown ;; > sh3eb) machine=sh-unknown ;; > sh5el) machine=sh5le-unknown ;; > earmv*) > - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` > - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` > - machine=${arch}${endian}-unknown > + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` > + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` > + machine="${arch}${endian}"-unknown > ;; > - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; > + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; > esac > # The Operating System including object format, if it has switched > # to ELF recently (or will in the future) and ABI. > - case "${UNAME_MACHINE_ARCH}" in > + case "$UNAME_MACHINE_ARCH" in > earm*) > os=netbsdelf > ;; > arm*|i386|m68k|ns32k|sh3*|sparc|vax) > - eval $set_cc_for_build > + set_cc_for_build > if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ > | grep -q __ELF__ > then > @@ -208,10 +217,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > ;; > esac > # Determine ABI tags. > - case "${UNAME_MACHINE_ARCH}" in > + case "$UNAME_MACHINE_ARCH" in > earm*) > expr='s/^earmv[0-9]/-eabi/;s/eb$//' > - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` > + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` > ;; > esac > # The OS release > @@ -219,46 +228,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > # thus, need a distinct triplet. However, they do not need > # kernel version information, so it can be replaced with a > # suitable tag, in the style of linux-gnu. > - case "${UNAME_VERSION}" in > + case "$UNAME_VERSION" in > Debian*) > release='-gnu' > ;; > *) > - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` > + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` > ;; > esac > # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: > # contains redundant information, the shorter form: > # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. > - echo "${machine}-${os}${release}${abi}" > + echo "$machine-${os}${release}${abi-}" > exit ;; > *:Bitrig:*:*) > UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` > - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} > + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" > exit ;; > *:OpenBSD:*:*) > UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` > - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} > + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" > exit ;; > *:LibertyBSD:*:*) > UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` > - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} > + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" > + exit ;; > + *:MidnightBSD:*:*) > + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" > exit ;; > *:ekkoBSD:*:*) > - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" > exit ;; > *:SolidBSD:*:*) > - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" > exit ;; > macppc:MirBSD:*:*) > - echo powerpc-unknown-mirbsd${UNAME_RELEASE} > + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" > exit ;; > *:MirBSD:*:*) > - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" > exit ;; > *:Sortix:*:*) > - echo ${UNAME_MACHINE}-unknown-sortix > + echo "$UNAME_MACHINE"-unknown-sortix > + exit ;; > + *:Redox:*:*) > + echo "$UNAME_MACHINE"-unknown-redox > exit ;; > + mips:OSF1:*.*) > + echo mips-dec-osf1 > + exit ;; > alpha:OSF1:*:*) > case $UNAME_RELEASE in > *4.0) > @@ -310,28 +328,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > # A Tn.n version is a released field test version. > # A Xn.n version is an unreleased experimental baselevel. > # 1.2 uses "1.2" for uname -r. > - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` > + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" > # Reset EXIT trap before exiting to avoid spurious non-zero exit code. > exitcode=$? > trap '' 0 > exit $exitcode ;; > - Alpha\ *:Windows_NT*:*) > - # How do we know it's Interix rather than the generic POSIX subsystem? > - # Should we change UNAME_MACHINE based on the output of uname instead > - # of the specific Alpha model? > - echo alpha-pc-interix > - exit ;; > - 21064:Windows_NT:50:3) > - echo alpha-dec-winnt3.5 > - exit ;; > Amiga*:UNIX_System_V:4.0:*) > echo m68k-unknown-sysv4 > exit ;; > *:[Aa]miga[Oo][Ss]:*:*) > - echo ${UNAME_MACHINE}-unknown-amigaos > + echo "$UNAME_MACHINE"-unknown-amigaos > exit ;; > *:[Mm]orph[Oo][Ss]:*:*) > - echo ${UNAME_MACHINE}-unknown-morphos > + echo "$UNAME_MACHINE"-unknown-morphos > exit ;; > *:OS/390:*:*) > echo i370-ibm-openedition > @@ -343,7 +352,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > echo powerpc-ibm-os400 > exit ;; > arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) > - echo arm-acorn-riscix${UNAME_RELEASE} > + echo arm-acorn-riscix"$UNAME_RELEASE" > exit ;; > arm*:riscos:*:*|arm*:RISCOS:*:*) > echo arm-unknown-riscos > @@ -370,19 +379,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > sparc) echo sparc-icl-nx7; exit ;; > esac ;; > s390x:SunOS:*:*) > - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` > + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" > exit ;; > sun4H:SunOS:5.*:*) > - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` > + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" > exit ;; > sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) > - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` > + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" > exit ;; > i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) > - echo i386-pc-auroraux${UNAME_RELEASE} > + echo i386-pc-auroraux"$UNAME_RELEASE" > exit ;; > i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) > - eval $set_cc_for_build > + set_cc_for_build > SUN_ARCH=i386 > # If there is a compiler, see if it is configured for 64-bit objects. > # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. > @@ -395,13 +404,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > SUN_ARCH=x86_64 > fi > fi > - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` > + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" > exit ;; > sun4*:SunOS:6*:*) > # According to config.sub, this is the proper way to canonicalize > # SunOS6. Hard to guess exactly what SunOS6 will be like, but > # it's likely to be more like Solaris than SunOS4. > - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` > + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" > exit ;; > sun4*:SunOS:*:*) > case "`/usr/bin/arch -k`" in > @@ -410,25 +419,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > ;; > esac > # Japanese Language versions have a version number like `4.1.3-JL'. > - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` > + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" > exit ;; > sun3*:SunOS:*:*) > - echo m68k-sun-sunos${UNAME_RELEASE} > + echo m68k-sun-sunos"$UNAME_RELEASE" > exit ;; > sun*:*:4.2BSD:*) > UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` > - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 > + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 > case "`/bin/arch`" in > sun3) > - echo m68k-sun-sunos${UNAME_RELEASE} > + echo m68k-sun-sunos"$UNAME_RELEASE" > ;; > sun4) > - echo sparc-sun-sunos${UNAME_RELEASE} > + echo sparc-sun-sunos"$UNAME_RELEASE" > ;; > esac > exit ;; > aushp:SunOS:*:*) > - echo sparc-auspex-sunos${UNAME_RELEASE} > + echo sparc-auspex-sunos"$UNAME_RELEASE" > exit ;; > # The situation for MiNT is a little confusing. The machine name > # can be virtually everything (everything which is not > @@ -439,44 +448,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > # MiNT. But MiNT is downward compatible to TOS, so this should > # be no problem. > atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) > - echo m68k-atari-mint${UNAME_RELEASE} > + echo m68k-atari-mint"$UNAME_RELEASE" > exit ;; > atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) > - echo m68k-atari-mint${UNAME_RELEASE} > + echo m68k-atari-mint"$UNAME_RELEASE" > exit ;; > *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) > - echo m68k-atari-mint${UNAME_RELEASE} > + echo m68k-atari-mint"$UNAME_RELEASE" > exit ;; > milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) > - echo m68k-milan-mint${UNAME_RELEASE} > + echo m68k-milan-mint"$UNAME_RELEASE" > exit ;; > hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) > - echo m68k-hades-mint${UNAME_RELEASE} > + echo m68k-hades-mint"$UNAME_RELEASE" > exit ;; > *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) > - echo m68k-unknown-mint${UNAME_RELEASE} > + echo m68k-unknown-mint"$UNAME_RELEASE" > exit ;; > m68k:machten:*:*) > - echo m68k-apple-machten${UNAME_RELEASE} > + echo m68k-apple-machten"$UNAME_RELEASE" > exit ;; > powerpc:machten:*:*) > - echo powerpc-apple-machten${UNAME_RELEASE} > + echo powerpc-apple-machten"$UNAME_RELEASE" > exit ;; > RISC*:Mach:*:*) > echo mips-dec-mach_bsd4.3 > exit ;; > RISC*:ULTRIX:*:*) > - echo mips-dec-ultrix${UNAME_RELEASE} > + echo mips-dec-ultrix"$UNAME_RELEASE" > exit ;; > VAX*:ULTRIX*:*:*) > - echo vax-dec-ultrix${UNAME_RELEASE} > + echo vax-dec-ultrix"$UNAME_RELEASE" > exit ;; > 2020:CLIX:*:* | 2430:CLIX:*:*) > - echo clipper-intergraph-clix${UNAME_RELEASE} > + echo clipper-intergraph-clix"$UNAME_RELEASE" > exit ;; > mips:*:*:UMIPS | mips:*:*:RISCos) > - eval $set_cc_for_build > - sed 's/^ //' << EOF >$dummy.c > + set_cc_for_build > + sed 's/^ //' << EOF > "$dummy.c" > #ifdef __cplusplus > #include <stdio.h> /* for printf() prototype */ > int main (int argc, char *argv[]) { > @@ -485,23 +494,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in > #endif > #if defined (host_mips) && defined (MIPSEB) > #if defined (SYSTYPE_SYSV) > - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); > + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); > #endif > #if defined (SYSTYPE_SVR4) > - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); > + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); > #endif > #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) > - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); > + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); > #endif > #endif > exit (-1); > } > EOF > - $CC_FOR_BUILD -o $dummy $dummy.c && > - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && > - SYSTEM_NAME=`$dummy $dummyarg` && > + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && > + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && > + SYSTEM_NAME=`"$dummy" "$dummyarg"` && > { echo "$SYSTEM_NAME"; exit; } > - echo mips-mips-riscos${UNAME_RELEASE} > + echo mips-mips-riscos"$UNAME_RELEASE" > exit ;; > Motorola:PowerMAX_OS:*:*) > echo powerpc-motorola-powermax > @@ -527,17 +536,17 @@ EOF > AViiON:dgux:*:*) > # DG/UX returns AViiON for all architectures > UNAME_PROCESSOR=`/usr/bin/uname -p` > - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] > + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] > then > - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ > - [ ${TARGET_BINARY_INTERFACE}x = x ] > + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ > + [ "$TARGET_BINARY_INTERFACE"x = x ] > then > - echo m88k-dg-dgux${UNAME_RELEASE} > + echo m88k-dg-dgux"$UNAME_RELEASE" > else > - echo m88k-dg-dguxbcs${UNAME_RELEASE} > + echo m88k-dg-dguxbcs"$UNAME_RELEASE" > fi > else > - echo i586-dg-dgux${UNAME_RELEASE} > + echo i586-dg-dgux"$UNAME_RELEASE" > fi > exit ;; > M88*:DolphinOS:*:*) # DolphinOS (SVR3) > @@ -554,7 +563,7 @@ EOF > echo m68k-tektronix-bsd > exit ;; > *:IRIX*:*:*) > - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` > + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" > exit ;; > ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. > echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id > @@ -566,14 +575,14 @@ EOF > if [ -x /usr/bin/oslevel ] ; then > IBM_REV=`/usr/bin/oslevel` > else > - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} > + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" > fi > - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} > + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" > exit ;; > *:AIX:2:3) > if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then > - eval $set_cc_for_build > - sed 's/^ //' << EOF >$dummy.c > + set_cc_for_build > + sed 's/^ //' << EOF > "$dummy.c" > #include <sys/systemcfg.h> > > main() > @@ -584,7 +593,7 @@ EOF > exit(0); > } > EOF > - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` > + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` > then > echo "$SYSTEM_NAME" > else > @@ -598,7 +607,7 @@ EOF > exit ;; > *:AIX:*:[4567]) > IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` > - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then > + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then > IBM_ARCH=rs6000 > else > IBM_ARCH=powerpc > @@ -607,18 +616,18 @@ EOF > IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | > awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` > else > - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} > + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" > fi > - echo ${IBM_ARCH}-ibm-aix${IBM_REV} > + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" > exit ;; > *:AIX:*:*) > echo rs6000-ibm-aix > exit ;; > - ibmrt:4.4BSD:*|romp-ibm:BSD:*) > + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) > echo romp-ibm-bsd4.4 > exit ;; > ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and > - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to > + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to > exit ;; # report: romp-ibm BSD 4.3 > *:BOSX:*:*) > echo rs6000-bull-bosx > @@ -633,28 +642,28 @@ EOF > echo m68k-hp-bsd4.4 > exit ;; > 9000/[34678]??:HP-UX:*:*) > - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` > - case "${UNAME_MACHINE}" in > - 9000/31? ) HP_ARCH=m68000 ;; > - 9000/[34]?? ) HP_ARCH=m68k ;; > + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` > + case "$UNAME_MACHINE" in > + 9000/31?) HP_ARCH=m68000 ;; > + 9000/[34]??) HP_ARCH=m68k ;; > 9000/[678][0-9][0-9]) > if [ -x /usr/bin/getconf ]; then > sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` > sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` > - case "${sc_cpu_version}" in > + case "$sc_cpu_version" in > 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 > 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 > 532) # CPU_PA_RISC2_0 > - case "${sc_kernel_bits}" in > + case "$sc_kernel_bits" in > 32) HP_ARCH=hppa2.0n ;; > 64) HP_ARCH=hppa2.0w ;; > '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 > esac ;; > esac > fi > - if [ "${HP_ARCH}" = "" ]; then > - eval $set_cc_for_build > - sed 's/^ //' << EOF >$dummy.c > + if [ "$HP_ARCH" = "" ]; then > + set_cc_for_build > + sed 's/^ //' << EOF > "$dummy.c" > > #define _HPUX_SOURCE > #include <stdlib.h> > @@ -687,13 +696,13 @@ EOF > exit (0); > } > EOF > - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` > + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` > test -z "$HP_ARCH" && HP_ARCH=hppa > fi ;; > esac > - if [ ${HP_ARCH} = hppa2.0w ] > + if [ "$HP_ARCH" = hppa2.0w ] > then > - eval $set_cc_for_build > + set_cc_for_build > > # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating > # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler > @@ -712,15 +721,15 @@ EOF > HP_ARCH=hppa64 > fi > fi > - echo ${HP_ARCH}-hp-hpux${HPUX_REV} > + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" > exit ;; > ia64:HP-UX:*:*) > - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` > - echo ia64-hp-hpux${HPUX_REV} > + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` > + echo ia64-hp-hpux"$HPUX_REV" > exit ;; > 3050*:HI-UX:*:*) > - eval $set_cc_for_build > - sed 's/^ //' << EOF >$dummy.c > + set_cc_for_build > + sed 's/^ //' << EOF > "$dummy.c" > #include <unistd.h> > int > main () > @@ -745,11 +754,11 @@ EOF > exit (0); > } > EOF > - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && > + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && > { echo "$SYSTEM_NAME"; exit; } > echo unknown-hitachi-hiuxwe2 > exit ;; > - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) > + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) > echo hppa1.1-hp-bsd > exit ;; > 9000/8??:4.3bsd:*:*) > @@ -758,7 +767,7 @@ EOF > *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) > echo hppa1.0-hp-mpeix > exit ;; > - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) > + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) > echo hppa1.1-hp-osf > exit ;; > hp8??:OSF1:*:*) > @@ -766,9 +775,9 @@ EOF > exit ;; > i*86:OSF1:*:*) > if [ -x /usr/sbin/sysversion ] ; then > - echo ${UNAME_MACHINE}-unknown-osf1mk > + echo "$UNAME_MACHINE"-unknown-osf1mk > else > - echo ${UNAME_MACHINE}-unknown-osf1 > + echo "$UNAME_MACHINE"-unknown-osf1 > fi > exit ;; > parisc*:Lites*:*:*) > @@ -793,127 +802,120 @@ EOF > echo c4-convex-bsd > exit ;; > CRAY*Y-MP:*:*:*) > - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' > + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' > exit ;; > CRAY*[A-Z]90:*:*:*) > - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ > + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ > | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ > -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ > -e 's/\.[^.]*$/.X/' > exit ;; > CRAY*TS:*:*:*) > - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' > + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' > exit ;; > CRAY*T3E:*:*:*) > - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' > + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' > exit ;; > CRAY*SV1:*:*:*) > - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' > + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' > exit ;; > *:UNICOS/mp:*:*) > - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' > + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' > exit ;; > F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) > FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` > FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` > - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` > + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` > echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" > exit ;; > 5000:UNIX_System_V:4.*:*) > FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` > - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` > + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` > echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" > exit ;; > i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) > - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" > exit ;; > sparc*:BSD/OS:*:*) > - echo sparc-unknown-bsdi${UNAME_RELEASE} > + echo sparc-unknown-bsdi"$UNAME_RELEASE" > exit ;; > *:BSD/OS:*:*) > - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" > + exit ;; > + arm:FreeBSD:*:*) > + UNAME_PROCESSOR=`uname -p` > + set_cc_for_build > + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ > + | grep -q __ARM_PCS_VFP > + then > + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi > + else > + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf > + fi > exit ;; > *:FreeBSD:*:*) > UNAME_PROCESSOR=`/usr/bin/uname -p` > - case ${UNAME_PROCESSOR} in > + case "$UNAME_PROCESSOR" in > amd64) > - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; > - *) > - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; > + UNAME_PROCESSOR=x86_64 ;; > + i386) > + UNAME_PROCESSOR=i586 ;; > esac > + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" > exit ;; > i*:CYGWIN*:*) > - echo ${UNAME_MACHINE}-pc-cygwin > + echo "$UNAME_MACHINE"-pc-cygwin > exit ;; > *:MINGW64*:*) > - echo ${UNAME_MACHINE}-pc-mingw64 > + echo "$UNAME_MACHINE"-pc-mingw64 > exit ;; > *:MINGW*:*) > - echo ${UNAME_MACHINE}-pc-mingw32 > + echo "$UNAME_MACHINE"-pc-mingw32 > exit ;; > *:MSYS*:*) > - echo ${UNAME_MACHINE}-pc-msys > - exit ;; > - i*:windows32*:*) > - # uname -m includes "-pc" on this system. > - echo ${UNAME_MACHINE}-mingw32 > + echo "$UNAME_MACHINE"-pc-msys > exit ;; > i*:PW*:*) > - echo ${UNAME_MACHINE}-pc-pw32 > + echo "$UNAME_MACHINE"-pc-pw32 > exit ;; > *:Interix*:*) > - case ${UNAME_MACHINE} in > + case "$UNAME_MACHINE" in > x86) > - echo i586-pc-interix${UNAME_RELEASE} > + echo i586-pc-interix"$UNAME_RELEASE" > exit ;; > authenticamd | genuineintel | EM64T) > - echo x86_64-unknown-interix${UNAME_RELEASE} > + echo x86_64-unknown-interix"$UNAME_RELEASE" > exit ;; > IA64) > - echo ia64-unknown-interix${UNAME_RELEASE} > + echo ia64-unknown-interix"$UNAME_RELEASE" > exit ;; > esac ;; > - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) > - echo i${UNAME_MACHINE}-pc-mks > - exit ;; > - 8664:Windows_NT:*) > - echo x86_64-pc-mks > - exit ;; > - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) > - # How do we know it's Interix rather than the generic POSIX subsystem? > - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we > - # UNAME_MACHINE based on the output of uname instead of i386? > - echo i586-pc-interix > - exit ;; > i*:UWIN*:*) > - echo ${UNAME_MACHINE}-pc-uwin > + echo "$UNAME_MACHINE"-pc-uwin > exit ;; > amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) > - echo x86_64-unknown-cygwin > - exit ;; > - p*:CYGWIN*:*) > - echo powerpcle-unknown-cygwin > + echo x86_64-pc-cygwin > exit ;; > prep*:SunOS:5.*:*) > - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` > + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" > exit ;; > *:GNU:*:*) > # the GNU system > - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` > + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" > exit ;; > *:GNU/*:*:*) > # other systems with GNU libc and userland > - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} > + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" > exit ;; > - i*86:Minix:*:*) > - echo ${UNAME_MACHINE}-pc-minix > + *:Minix:*:*) > + echo "$UNAME_MACHINE"-unknown-minix > exit ;; > aarch64:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > aarch64_be:Linux:*:*) > UNAME_MACHINE=aarch64_be > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > alpha:Linux:*:*) > case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in > @@ -927,134 +929,168 @@ EOF > esac > objdump --private-headers /bin/sh | grep -q ld.so.1 > if test "$?" = 0 ; then LIBC=gnulibc1 ; fi > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > arc:Linux:*:* | arceb:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > arm*:Linux:*:*) > - eval $set_cc_for_build > + set_cc_for_build > if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ > | grep -q __ARM_EABI__ > then > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > else > if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ > | grep -q __ARM_PCS_VFP > then > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi > else > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf > fi > fi > exit ;; > avr32*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > cris:Linux:*:*) > - echo ${UNAME_MACHINE}-axis-linux-${LIBC} > + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" > exit ;; > crisv32:Linux:*:*) > - echo ${UNAME_MACHINE}-axis-linux-${LIBC} > + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" > exit ;; > e2k:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > frv:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > hexagon:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > i*86:Linux:*:*) > - echo ${UNAME_MACHINE}-pc-linux-${LIBC} > + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" > exit ;; > ia64:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > k1om:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > m32r*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > m68*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > mips:Linux:*:* | mips64:Linux:*:*) > - eval $set_cc_for_build > - sed 's/^ //' << EOF >$dummy.c > + set_cc_for_build > + IS_GLIBC=0 > + test x"${LIBC}" = xgnu && IS_GLIBC=1 > + sed 's/^ //' << EOF > "$dummy.c" > #undef CPU > - #undef ${UNAME_MACHINE} > - #undef ${UNAME_MACHINE}el > + #undef mips > + #undef mipsel > + #undef mips64 > + #undef mips64el > + #if ${IS_GLIBC} && defined(_ABI64) > + LIBCABI=gnuabi64 > + #else > + #if ${IS_GLIBC} && defined(_ABIN32) > + LIBCABI=gnuabin32 > + #else > + LIBCABI=${LIBC} > + #endif > + #endif > + > + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 > + CPU=mipsisa64r6 > + #else > + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 > + CPU=mipsisa32r6 > + #else > + #if defined(__mips64) > + CPU=mips64 > + #else > + CPU=mips > + #endif > + #endif > + #endif > + > #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) > - CPU=${UNAME_MACHINE}el > + MIPS_ENDIAN=el > #else > #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) > - CPU=${UNAME_MACHINE} > + MIPS_ENDIAN= > #else > - CPU= > + MIPS_ENDIAN= > #endif > #endif > EOF > - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` > - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } > + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" > + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } > ;; > + mips64el:Linux:*:*) > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > + exit ;; > openrisc*:Linux:*:*) > - echo or1k-unknown-linux-${LIBC} > + echo or1k-unknown-linux-"$LIBC" > exit ;; > or32:Linux:*:* | or1k*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > padre:Linux:*:*) > - echo sparc-unknown-linux-${LIBC} > + echo sparc-unknown-linux-"$LIBC" > exit ;; > parisc64:Linux:*:* | hppa64:Linux:*:*) > - echo hppa64-unknown-linux-${LIBC} > + echo hppa64-unknown-linux-"$LIBC" > exit ;; > parisc:Linux:*:* | hppa:Linux:*:*) > # Look for CPU level > case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in > - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; > - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; > - *) echo hppa-unknown-linux-${LIBC} ;; > + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; > + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; > + *) echo hppa-unknown-linux-"$LIBC" ;; > esac > exit ;; > ppc64:Linux:*:*) > - echo powerpc64-unknown-linux-${LIBC} > + echo powerpc64-unknown-linux-"$LIBC" > exit ;; > ppc:Linux:*:*) > - echo powerpc-unknown-linux-${LIBC} > + echo powerpc-unknown-linux-"$LIBC" > exit ;; > ppc64le:Linux:*:*) > - echo powerpc64le-unknown-linux-${LIBC} > + echo powerpc64le-unknown-linux-"$LIBC" > exit ;; > ppcle:Linux:*:*) > - echo powerpcle-unknown-linux-${LIBC} > + echo powerpcle-unknown-linux-"$LIBC" > + exit ;; > + riscv32:Linux:*:* | riscv64:Linux:*:*) > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > s390:Linux:*:* | s390x:Linux:*:*) > - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} > + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" > exit ;; > sh64*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > sh*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > sparc:Linux:*:* | sparc64:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > tile*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > vax:Linux:*:*) > - echo ${UNAME_MACHINE}-dec-linux-${LIBC} > + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" > exit ;; > x86_64:Linux:*:*) > - echo ${UNAME_MACHINE}-pc-linux-${LIBC} > + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" > exit ;; > xtensa*:Linux:*:*) > - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" > exit ;; > i*86:DYNIX/ptx:4*:*) > # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. > @@ -1068,34 +1104,34 @@ EOF > # I am not positive that other SVR4 systems won't match this, > # I just have to hope. -- rms. > # Use sysv4.2uw... so that sysv4* matches it. > - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} > + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" > exit ;; > i*86:OS/2:*:*) > # If we were able to find `uname', then EMX Unix compatibility > # is probably installed. > - echo ${UNAME_MACHINE}-pc-os2-emx > + echo "$UNAME_MACHINE"-pc-os2-emx > exit ;; > i*86:XTS-300:*:STOP) > - echo ${UNAME_MACHINE}-unknown-stop > + echo "$UNAME_MACHINE"-unknown-stop > exit ;; > i*86:atheos:*:*) > - echo ${UNAME_MACHINE}-unknown-atheos > + echo "$UNAME_MACHINE"-unknown-atheos > exit ;; > i*86:syllable:*:*) > - echo ${UNAME_MACHINE}-pc-syllable > + echo "$UNAME_MACHINE"-pc-syllable > exit ;; > i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) > - echo i386-unknown-lynxos${UNAME_RELEASE} > + echo i386-unknown-lynxos"$UNAME_RELEASE" > exit ;; > i*86:*DOS:*:*) > - echo ${UNAME_MACHINE}-pc-msdosdjgpp > + echo "$UNAME_MACHINE"-pc-msdosdjgpp > exit ;; > - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) > - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` > + i*86:*:4.*:*) > + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` > if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then > - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} > + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" > else > - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} > + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" > fi > exit ;; > i*86:*:5:[678]*) > @@ -1105,12 +1141,12 @@ EOF > *Pentium) UNAME_MACHINE=i586 ;; > *Pent*|*Celeron) UNAME_MACHINE=i686 ;; > esac > - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} > + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" > exit ;; > i*86:*:3.2:*) > if test -f /usr/options/cb.name; then > UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` > - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL > + echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" > elif /bin/uname -X 2>/dev/null >/dev/null ; then > UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` > (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 > @@ -1120,9 +1156,9 @@ EOF > && UNAME_MACHINE=i686 > (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ > && UNAME_MACHINE=i686 > - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL > + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" > else > - echo ${UNAME_MACHINE}-pc-sysv32 > + echo "$UNAME_MACHINE"-pc-sysv32 > fi > exit ;; > pc:*:*:*) > @@ -1142,9 +1178,9 @@ EOF > exit ;; > i860:*:4.*:*) # i860-SVR4 > if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then > - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 > + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 > else # Add other i860-SVR4 vendors below as they are discovered. > - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 > + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 > fi > exit ;; > mini*:CTIX:SYS*5:*) > @@ -1164,9 +1200,9 @@ EOF > test -r /etc/.relid \ > && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` > /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ > - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } > + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } > /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ > - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; > + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; > 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) > /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ > && { echo i486-ncr-sysv4; exit; } ;; > @@ -1175,28 +1211,28 @@ EOF > test -r /etc/.relid \ > && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` > /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ > - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } > + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } > /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ > - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } > + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } > /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ > - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; > + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; > m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) > - echo m68k-unknown-lynxos${UNAME_RELEASE} > + echo m68k-unknown-lynxos"$UNAME_RELEASE" > exit ;; > mc68030:UNIX_System_V:4.*:*) > echo m68k-atari-sysv4 > exit ;; > TSUNAMI:LynxOS:2.*:*) > - echo sparc-unknown-lynxos${UNAME_RELEASE} > + echo sparc-unknown-lynxos"$UNAME_RELEASE" > exit ;; > rs6000:LynxOS:2.*:*) > - echo rs6000-unknown-lynxos${UNAME_RELEASE} > + echo rs6000-unknown-lynxos"$UNAME_RELEASE" > exit ;; > PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) > - echo powerpc-unknown-lynxos${UNAME_RELEASE} > + echo powerpc-unknown-lynxos"$UNAME_RELEASE" > exit ;; > SM[BE]S:UNIX_SV:*:*) > - echo mips-dde-sysv${UNAME_RELEASE} > + echo mips-dde-sysv"$UNAME_RELEASE" > exit ;; > RM*:ReliantUNIX-*:*:*) > echo mips-sni-sysv4 > @@ -1207,7 +1243,7 @@ EOF > *:SINIX-*:*:*) > if uname -p 2>/dev/null >/dev/null ; then > UNAME_MACHINE=`(uname -p) 2>/dev/null` > - echo ${UNAME_MACHINE}-sni-sysv4 > + echo "$UNAME_MACHINE"-sni-sysv4 > else > echo ns32k-sni-sysv > fi > @@ -1227,23 +1263,23 @@ EOF > exit ;; > i*86:VOS:*:*) > # From Paul.Green@stratus.com. > - echo ${UNAME_MACHINE}-stratus-vos > + echo "$UNAME_MACHINE"-stratus-vos > exit ;; > *:VOS:*:*) > # From Paul.Green@stratus.com. > echo hppa1.1-stratus-vos > exit ;; > mc68*:A/UX:*:*) > - echo m68k-apple-aux${UNAME_RELEASE} > + echo m68k-apple-aux"$UNAME_RELEASE" > exit ;; > news*:NEWS-OS:6*:*) > echo mips-sony-newsos6 > exit ;; > R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) > if [ -d /usr/nec ]; then > - echo mips-nec-sysv${UNAME_RELEASE} > + echo mips-nec-sysv"$UNAME_RELEASE" > else > - echo mips-unknown-sysv${UNAME_RELEASE} > + echo mips-unknown-sysv"$UNAME_RELEASE" > fi > exit ;; > BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. > @@ -1262,49 +1298,56 @@ EOF > echo x86_64-unknown-haiku > exit ;; > SX-4:SUPER-UX:*:*) > - echo sx4-nec-superux${UNAME_RELEASE} > + echo sx4-nec-superux"$UNAME_RELEASE" > exit ;; > SX-5:SUPER-UX:*:*) > - echo sx5-nec-superux${UNAME_RELEASE} > + echo sx5-nec-superux"$UNAME_RELEASE" > exit ;; > SX-6:SUPER-UX:*:*) > - echo sx6-nec-superux${UNAME_RELEASE} > + echo sx6-nec-superux"$UNAME_RELEASE" > exit ;; > SX-7:SUPER-UX:*:*) > - echo sx7-nec-superux${UNAME_RELEASE} > + echo sx7-nec-superux"$UNAME_RELEASE" > exit ;; > SX-8:SUPER-UX:*:*) > - echo sx8-nec-superux${UNAME_RELEASE} > + echo sx8-nec-superux"$UNAME_RELEASE" > exit ;; > SX-8R:SUPER-UX:*:*) > - echo sx8r-nec-superux${UNAME_RELEASE} > + echo sx8r-nec-superux"$UNAME_RELEASE" > exit ;; > SX-ACE:SUPER-UX:*:*) > - echo sxace-nec-superux${UNAME_RELEASE} > + echo sxace-nec-superux"$UNAME_RELEASE" > exit ;; > Power*:Rhapsody:*:*) > - echo powerpc-apple-rhapsody${UNAME_RELEASE} > + echo powerpc-apple-rhapsody"$UNAME_RELEASE" > exit ;; > *:Rhapsody:*:*) > - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" > exit ;; > *:Darwin:*:*) > - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown > - eval $set_cc_for_build > - if test "$UNAME_PROCESSOR" = unknown ; then > - UNAME_PROCESSOR=powerpc > - fi > - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then > + set_cc_for_build > + UNAME_PROCESSOR=`uname -p` > + case $UNAME_PROCESSOR in > + unknown) UNAME_PROCESSOR=powerpc ;; > + esac > + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then > if [ "$CC_FOR_BUILD" != no_compiler_found ]; then > if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ > - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ > - grep IS_64BIT_ARCH >/dev/null > + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ > + grep IS_64BIT_ARCH >/dev/null > then > case $UNAME_PROCESSOR in > i386) UNAME_PROCESSOR=x86_64 ;; > powerpc) UNAME_PROCESSOR=powerpc64 ;; > esac > fi > + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc > + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ > + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ > + grep IS_PPC >/dev/null > + then > + UNAME_PROCESSOR=powerpc > + fi > fi > elif test "$UNAME_PROCESSOR" = i386 ; then > # Avoid executing cc on OS X 10.9, as it ships with a stub > @@ -1315,7 +1358,7 @@ EOF > # that Apple uses in portable devices. > UNAME_PROCESSOR=x86_64 > fi > - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} > + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" > exit ;; > *:procnto*:*:* | *:QNX:[0123456789]*:*) > UNAME_PROCESSOR=`uname -p` > @@ -1323,19 +1366,25 @@ EOF > UNAME_PROCESSOR=i386 > UNAME_MACHINE=pc > fi > - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} > + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" > exit ;; > *:QNX:*:4*) > echo i386-pc-qnx > exit ;; > - NEO-?:NONSTOP_KERNEL:*:*) > - echo neo-tandem-nsk${UNAME_RELEASE} > + NEO-*:NONSTOP_KERNEL:*:*) > + echo neo-tandem-nsk"$UNAME_RELEASE" > exit ;; > NSE-*:NONSTOP_KERNEL:*:*) > - echo nse-tandem-nsk${UNAME_RELEASE} > + echo nse-tandem-nsk"$UNAME_RELEASE" > exit ;; > - NSR-?:NONSTOP_KERNEL:*:*) > - echo nsr-tandem-nsk${UNAME_RELEASE} > + NSR-*:NONSTOP_KERNEL:*:*) > + echo nsr-tandem-nsk"$UNAME_RELEASE" > + exit ;; > + NSV-*:NONSTOP_KERNEL:*:*) > + echo nsv-tandem-nsk"$UNAME_RELEASE" > + exit ;; > + NSX-*:NONSTOP_KERNEL:*:*) > + echo nsx-tandem-nsk"$UNAME_RELEASE" > exit ;; > *:NonStop-UX:*:*) > echo mips-compaq-nonstopux > @@ -1344,18 +1393,19 @@ EOF > echo bs2000-siemens-sysv > exit ;; > DS/*:UNIX_System_V:*:*) > - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} > + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" > exit ;; > *:Plan9:*:*) > # "uname -m" is not consistent, so use $cputype instead. 386 > # is converted to i386 for consistency with other x86 > # operating systems. > + # shellcheck disable=SC2154 > if test "$cputype" = 386; then > UNAME_MACHINE=i386 > else > UNAME_MACHINE="$cputype" > fi > - echo ${UNAME_MACHINE}-unknown-plan9 > + echo "$UNAME_MACHINE"-unknown-plan9 > exit ;; > *:TOPS-10:*:*) > echo pdp10-unknown-tops10 > @@ -1376,14 +1426,14 @@ EOF > echo pdp10-unknown-its > exit ;; > SEI:*:*:SEIUX) > - echo mips-sei-seiux${UNAME_RELEASE} > + echo mips-sei-seiux"$UNAME_RELEASE" > exit ;; > *:DragonFly:*:*) > - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` > + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" > exit ;; > *:*VMS:*:*) > UNAME_MACHINE=`(uname -p) 2>/dev/null` > - case "${UNAME_MACHINE}" in > + case "$UNAME_MACHINE" in > A*) echo alpha-dec-vms ; exit ;; > I*) echo ia64-dec-vms ; exit ;; > V*) echo vax-dec-vms ; exit ;; > @@ -1392,32 +1442,184 @@ EOF > echo i386-pc-xenix > exit ;; > i*86:skyos:*:*) > - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` > + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" > exit ;; > i*86:rdos:*:*) > - echo ${UNAME_MACHINE}-pc-rdos > + echo "$UNAME_MACHINE"-pc-rdos > exit ;; > i*86:AROS:*:*) > - echo ${UNAME_MACHINE}-pc-aros > + echo "$UNAME_MACHINE"-pc-aros > exit ;; > x86_64:VMkernel:*:*) > - echo ${UNAME_MACHINE}-unknown-esx > + echo "$UNAME_MACHINE"-unknown-esx > exit ;; > amd64:Isilon\ OneFS:*:*) > echo x86_64-unknown-onefs > exit ;; > + *:Unleashed:*:*) > + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" > + exit ;; > +esac > + > +# No uname command or uname output not recognized. > +set_cc_for_build > +cat > "$dummy.c" <<EOF > +#ifdef _SEQUENT_ > +#include <sys/types.h> > +#include <sys/utsname.h> > +#endif > +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) > +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) > +#include <signal.h> > +#if defined(_SIZE_T_) || defined(SIGLOST) > +#include <sys/utsname.h> > +#endif > +#endif > +#endif > +main () > +{ > +#if defined (sony) > +#if defined (MIPSEB) > + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, > + I don't know.... */ > + printf ("mips-sony-bsd\n"); exit (0); > +#else > +#include <sys/param.h> > + printf ("m68k-sony-newsos%s\n", > +#ifdef NEWSOS4 > + "4" > +#else > + "" > +#endif > + ); exit (0); > +#endif > +#endif > + > +#if defined (NeXT) > +#if !defined (__ARCHITECTURE__) > +#define __ARCHITECTURE__ "m68k" > +#endif > + int version; > + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; > + if (version < 4) > + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); > + else > + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); > + exit (0); > +#endif > + > +#if defined (MULTIMAX) || defined (n16) > +#if defined (UMAXV) > + printf ("ns32k-encore-sysv\n"); exit (0); > +#else > +#if defined (CMU) > + printf ("ns32k-encore-mach\n"); exit (0); > +#else > + printf ("ns32k-encore-bsd\n"); exit (0); > +#endif > +#endif > +#endif > + > +#if defined (__386BSD__) > + printf ("i386-pc-bsd\n"); exit (0); > +#endif > + > +#if defined (sequent) > +#if defined (i386) > + printf ("i386-sequent-dynix\n"); exit (0); > +#endif > +#if defined (ns32000) > + printf ("ns32k-sequent-dynix\n"); exit (0); > +#endif > +#endif > + > +#if defined (_SEQUENT_) > + struct utsname un; > + > + uname(&un); > + if (strncmp(un.version, "V2", 2) == 0) { > + printf ("i386-sequent-ptx2\n"); exit (0); > + } > + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ > + printf ("i386-sequent-ptx1\n"); exit (0); > + } > + printf ("i386-sequent-ptx\n"); exit (0); > +#endif > + > +#if defined (vax) > +#if !defined (ultrix) > +#include <sys/param.h> > +#if defined (BSD) > +#if BSD == 43 > + printf ("vax-dec-bsd4.3\n"); exit (0); > +#else > +#if BSD == 199006 > + printf ("vax-dec-bsd4.3reno\n"); exit (0); > +#else > + printf ("vax-dec-bsd\n"); exit (0); > +#endif > +#endif > +#else > + printf ("vax-dec-bsd\n"); exit (0); > +#endif > +#else > +#if defined(_SIZE_T_) || defined(SIGLOST) > + struct utsname un; > + uname (&un); > + printf ("vax-dec-ultrix%s\n", un.release); exit (0); > +#else > + printf ("vax-dec-ultrix\n"); exit (0); > +#endif > +#endif > +#endif > +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) > +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) > +#if defined(_SIZE_T_) || defined(SIGLOST) > + struct utsname *un; > + uname (&un); > + printf ("mips-dec-ultrix%s\n", un.release); exit (0); > +#else > + printf ("mips-dec-ultrix\n"); exit (0); > +#endif > +#endif > +#endif > + > +#if defined (alliant) && defined (i860) > + printf ("i860-alliant-bsd\n"); exit (0); > +#endif > + > + exit (1); > +} > +EOF > + > +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && > + { echo "$SYSTEM_NAME"; exit; } > + > +# Apollos put the system type in the environment. > +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } > + > +echo "$0: unable to guess system type" >&2 > + > +case "$UNAME_MACHINE:$UNAME_SYSTEM" in > + mips:Linux | mips64:Linux) > + # If we got here on MIPS GNU/Linux, output extra information. > + cat >&2 <<EOF > + > +NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize > +the system type. Please install a C compiler and try again. > +EOF > + ;; > esac > > cat >&2 <<EOF > -$0: unable to guess system type > > This script (version $timestamp), has failed to recognize the > -operating system you are using. If your script is old, overwrite > -config.guess and config.sub with the latest versions from: > +operating system you are using. If your script is old, overwrite *all* > +copies of config.guess and config.sub with the latest versions from: > > - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess > + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess > and > - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub > + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub > > If $0 has already been updated, send the following data and any > information you think might be pertinent to config-patches@gnu.org to > @@ -1440,16 +1642,16 @@ hostinfo = `(hostinfo) 2>/dev/null` > /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` > /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` > > -UNAME_MACHINE = ${UNAME_MACHINE} > -UNAME_RELEASE = ${UNAME_RELEASE} > -UNAME_SYSTEM = ${UNAME_SYSTEM} > -UNAME_VERSION = ${UNAME_VERSION} > +UNAME_MACHINE = "$UNAME_MACHINE" > +UNAME_RELEASE = "$UNAME_RELEASE" > +UNAME_SYSTEM = "$UNAME_SYSTEM" > +UNAME_VERSION = "$UNAME_VERSION" > EOF > > exit 1 > > # Local variables: > -# eval: (add-hook 'write-file-hooks 'time-stamp) > +# eval: (add-hook 'before-save-hook 'time-stamp) > # time-stamp-start: "timestamp='" > # time-stamp-format: "%:y-%02m-%02d" > # time-stamp-end: "'" > diff --git a/support/gnuconfig/config.sub b/support/gnuconfig/config.sub > index 6d86a1e2f7..5b158ac41c 100755 > --- a/support/gnuconfig/config.sub > +++ b/support/gnuconfig/config.sub > @@ -1,8 +1,8 @@ > #! /bin/sh > # Configuration validation subroutine script. > -# Copyright 1992-2016 Free Software Foundation, Inc. > +# Copyright 1992-2019 Free Software Foundation, Inc. > > -timestamp='2016-05-10' > +timestamp='2019-05-23' > > # 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 > @@ -15,7 +15,7 @@ timestamp='2016-05-10' > # General Public License for more details. > # > # You should have received a copy of the GNU General Public License > -# along with this program; if not, see <http://www.gnu.org/licenses/>. > +# along with this program; if not, see <https://www.gnu.org/licenses/>. > # > # As a special exception to the GNU General Public License, if you > # distribute this file as part of a program that contains a > @@ -33,7 +33,7 @@ timestamp='2016-05-10' > # Otherwise, we print the canonical config type on stdout and succeed. > > # You can get the latest version of this script from: > -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub > +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub > > # This file is supposed to be the same for all GNU packages > # and recognize all the CPU types, system types and aliases > @@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS > > Canonicalize a configuration name. > > -Operation modes: > +Options: > -h, --help print this help, then exit > -t, --time-stamp print date of last modification, then exit > -v, --version print version number, then exit > @@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>." > version="\ > GNU config.sub ($timestamp) > > -Copyright 1992-2016 Free Software Foundation, Inc. > +Copyright 1992-2019 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." > @@ -89,12 +89,12 @@ while test $# -gt 0 ; do > - ) # Use stdin as input. > break ;; > -* ) > - echo "$me: invalid option $1$help" > + echo "$me: invalid option $1$help" >&2 > exit 1 ;; > > *local*) > # First pass through any local machine types. > - echo $1 > + echo "$1" > exit ;; > > * ) > @@ -110,1234 +110,1167 @@ case $# in > exit 1;; > esac > > -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). > -# Here we must recognize all the valid KERNEL-OS combinations. > -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` > -case $maybe_os in > - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ > - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ > - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ > - kopensolaris*-gnu* | \ > - storm-chaos* | os2-emx* | rtmk-nova*) > - os=-$maybe_os > - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` > - ;; > - android-linux) > - os=-linux-android > - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown > - ;; > - *) > - basic_machine=`echo $1 | sed 's/-[^-]*$//'` > - if [ $basic_machine != $1 ] > - then os=`echo $1 | sed 's/.*-/-/'` > - else os=; fi > - ;; > -esac > +# Split fields of configuration type > +# shellcheck disable=SC2162 > +IFS="-" read field1 field2 field3 field4 <<EOF > +$1 > +EOF > > -### Let's recognize common machines as not being operating systems so > -### that things like config.sub decstation-3100 work. We also > -### recognize some manufacturers as not being operating systems, so we > -### can provide default operating systems below. > -case $os in > - -sun*os*) > - # Prevent following clause from handling this invalid input. > - ;; > - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ > - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ > - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ > - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ > - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ > - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ > - -apple | -axis | -knuth | -cray | -microblaze*) > - os= > - basic_machine=$1 > - ;; > - -bluegene*) > - os=-cnk > - ;; > - -sim | -cisco | -oki | -wec | -winbond) > - os= > - basic_machine=$1 > - ;; > - -scout) > - ;; > - -wrs) > - os=-vxworks > - basic_machine=$1 > - ;; > - -chorusos*) > - os=-chorusos > - basic_machine=$1 > - ;; > - -chorusrdb) > - os=-chorusrdb > - basic_machine=$1 > - ;; > - -hiux*) > - os=-hiuxwe2 > - ;; > - -sco6) > - os=-sco5v6 > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -sco5) > - os=-sco3.2v5 > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -sco4) > - os=-sco3.2v4 > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -sco3.2.[4-9]*) > - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -sco3.2v[4-9]*) > - # Don't forget version if it is 3.2v4 or newer. > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -sco5v6*) > - # Don't forget version if it is 3.2v4 or newer. > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -sco*) > - os=-sco3.2v2 > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -udk*) > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -isc) > - os=-isc2.2 > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -clix*) > - basic_machine=clipper-intergraph > - ;; > - -isc*) > - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` > - ;; > - -lynx*178) > - os=-lynxos178 > - ;; > - -lynx*5) > - os=-lynxos5 > - ;; > - -lynx*) > - os=-lynxos > +# Separate into logical components for further validation > +case $1 in > + *-*-*-*-*) > + echo Invalid configuration \`"$1"\': more than four components >&2 > + exit 1 > ;; > - -ptx*) > - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` > + *-*-*-*) > + basic_machine=$field1-$field2 > + os=$field3-$field4 > ;; > - -windowsnt*) > - os=`echo $os | sed -e 's/windowsnt/winnt/'` > + *-*-*) > + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two > + # parts > + maybe_os=$field2-$field3 > + case $maybe_os in > + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ > + | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ > + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ > + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ > + | storm-chaos* | os2-emx* | rtmk-nova*) > + basic_machine=$field1 > + os=$maybe_os > + ;; > + android-linux) > + basic_machine=$field1-unknown > + os=linux-android > + ;; > + *) > + basic_machine=$field1-$field2 > + os=$field3 > + ;; > + esac > ;; > - -psos*) > - os=-psos > + *-*) > + # A lone config we happen to match not fitting any pattern > + case $field1-$field2 in > + decstation-3100) > + basic_machine=mips-dec > + os= > + ;; > + *-*) > + # Second component is usually, but not always the OS > + case $field2 in > + # Prevent following clause from handling this valid os > + sun*os*) > + basic_machine=$field1 > + os=$field2 > + ;; > + # Manufacturers > + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ > + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ > + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ > + | convergent* | ncr* | news | 32* | 3600* | 3100* \ > + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ > + | ultra | tti* | harris | dolphin | highlevel | gould \ > + | cbm | ns | masscomp | apple | axis | knuth | cray \ > + | microblaze* | sim | cisco \ > + | oki | wec | wrs | winbond) > + basic_machine=$field1-$field2 > + os= > + ;; > + *) > + basic_machine=$field1 > + os=$field2 > + ;; > + esac > + ;; > + esac > ;; > - -mint | -mint[0-9]*) > - basic_machine=m68k-atari > - os=-mint > + *) > + # Convert single-component short-hands not valid as part of > + # multi-component configurations. > + case $field1 in > + 386bsd) > + basic_machine=i386-pc > + os=bsd > + ;; > + a29khif) > + basic_machine=a29k-amd > + os=udi > + ;; > + adobe68k) > + basic_machine=m68010-adobe > + os=scout > + ;; > + alliant) > + basic_machine=fx80-alliant > + os= > + ;; > + altos | altos3068) > + basic_machine=m68k-altos > + os= > + ;; > + am29k) > + basic_machine=a29k-none > + os=bsd > + ;; > + amdahl) > + basic_machine=580-amdahl > + os=sysv > + ;; > + amiga) > + basic_machine=m68k-unknown > + os= > + ;; > + amigaos | amigados) > + basic_machine=m68k-unknown > + os=amigaos > + ;; > + amigaunix | amix) > + basic_machine=m68k-unknown > + os=sysv4 > + ;; > + apollo68) > + basic_machine=m68k-apollo > + os=sysv > + ;; > + apollo68bsd) > + basic_machine=m68k-apollo > + os=bsd > + ;; > + aros) > + basic_machine=i386-pc > + os=aros > + ;; > + aux) > + basic_machine=m68k-apple > + os=aux > + ;; > + balance) > + basic_machine=ns32k-sequent > + os=dynix > + ;; > + blackfin) > + basic_machine=bfin-unknown > + os=linux > + ;; > + cegcc) > + basic_machine=arm-unknown > + os=cegcc > + ;; > + convex-c1) > + basic_machine=c1-convex > + os=bsd > + ;; > + convex-c2) > + basic_machine=c2-convex > + os=bsd > + ;; > + convex-c32) > + basic_machine=c32-convex > + os=bsd > + ;; > + convex-c34) > + basic_machine=c34-convex > + os=bsd > + ;; > + convex-c38) > + basic_machine=c38-convex > + os=bsd > + ;; > + cray) > + basic_machine=j90-cray > + os=unicos > + ;; > + crds | unos) > + basic_machine=m68k-crds > + os= > + ;; > + da30) > + basic_machine=m68k-da30 > + os= > + ;; > + decstation | pmax | pmin | dec3100 | decstatn) > + basic_machine=mips-dec > + os= > + ;; > + delta88) > + basic_machine=m88k-motorola > + os=sysv3 > + ;; > + dicos) > + basic_machine=i686-pc > + os=dicos > + ;; > + djgpp) > + basic_machine=i586-pc > + os=msdosdjgpp > + ;; > + ebmon29k) > + basic_machine=a29k-amd > + os=ebmon > + ;; > + es1800 | OSE68k | ose68k | ose | OSE) > + basic_machine=m68k-ericsson > + os=ose > + ;; > + gmicro) > + basic_machine=tron-gmicro > + os=sysv > + ;; > + go32) > + basic_machine=i386-pc > + os=go32 > + ;; > + h8300hms) > + basic_machine=h8300-hitachi > + os=hms > + ;; > + h8300xray) > + basic_machine=h8300-hitachi > + os=xray > + ;; > + h8500hms) > + basic_machine=h8500-hitachi > + os=hms > + ;; > + harris) > + basic_machine=m88k-harris > + os=sysv3 > + ;; > + hp300) > + basic_machine=m68k-hp > + ;; > + hp300bsd) > + basic_machine=m68k-hp > + os=bsd > + ;; > + hp300hpux) > + basic_machine=m68k-hp > + os=hpux > + ;; > + hppaosf) > + basic_machine=hppa1.1-hp > + os=osf > + ;; > + hppro) > + basic_machine=hppa1.1-hp > + os=proelf > + ;; > + i386mach) > + basic_machine=i386-mach > + os=mach > + ;; > + vsta) > + basic_machine=i386-pc > + os=vsta > + ;; > + isi68 | isi) > + basic_machine=m68k-isi > + os=sysv > + ;; > + m68knommu) > + basic_machine=m68k-unknown > + os=linux > + ;; > + magnum | m3230) > + basic_machine=mips-mips > + os=sysv > + ;; > + merlin) > + basic_machine=ns32k-utek > + os=sysv > + ;; > + mingw64) > + basic_machine=x86_64-pc > + os=mingw64 > + ;; > + mingw32) > + basic_machine=i686-pc > + os=mingw32 > + ;; > + mingw32ce) > + basic_machine=arm-unknown > + os=mingw32ce > + ;; > + monitor) > + basic_machine=m68k-rom68k > + os=coff > + ;; > + morphos) > + basic_machine=powerpc-unknown > + os=morphos > + ;; > + moxiebox) > + basic_machine=moxie-unknown > + os=moxiebox > + ;; > + msdos) > + basic_machine=i386-pc > + os=msdos > + ;; > + msys) > + basic_machine=i686-pc > + os=msys > + ;; > + mvs) > + basic_machine=i370-ibm > + os=mvs > + ;; > + nacl) > + basic_machine=le32-unknown > + os=nacl > + ;; > + ncr3000) > + basic_machine=i486-ncr > + os=sysv4 > + ;; > + netbsd386) > + basic_machine=i386-pc > + os=netbsd > + ;; > + netwinder) > + basic_machine=armv4l-rebel > + os=linux > + ;; > + news | news700 | news800 | news900) > + basic_machine=m68k-sony > + os=newsos > + ;; > + news1000) > + basic_machine=m68030-sony > + os=newsos > + ;; > + necv70) > + basic_machine=v70-nec > + os=sysv > + ;; > + nh3000) > + basic_machine=m68k-harris > + os=cxux > + ;; > + nh[45]000) > + basic_machine=m88k-harris > + os=cxux > + ;; > + nindy960) > + basic_machine=i960-intel > + os=nindy > + ;; > + mon960) > + basic_machine=i960-intel > + os=mon960 > + ;; > + nonstopux) > + basic_machine=mips-compaq > + os=nonstopux > + ;; > + os400) > + basic_machine=powerpc-ibm > + os=os400 > + ;; > + OSE68000 | ose68000) > + basic_machine=m68000-ericsson > + os=ose > + ;; > + os68k) > + basic_machine=m68k-none > + os=os68k > + ;; > + paragon) > + basic_machine=i860-intel > + os=osf > + ;; > + parisc) > + basic_machine=hppa-unknown > + os=linux > + ;; > + pw32) > + basic_machine=i586-unknown > + os=pw32 > + ;; > + rdos | rdos64) > + basic_machine=x86_64-pc > + os=rdos > + ;; > + rdos32) > + basic_machine=i386-pc > + os=rdos > + ;; > + rom68k) > + basic_machine=m68k-rom68k > + os=coff > + ;; > + sa29200) > + basic_machine=a29k-amd > + os=udi > + ;; > + sei) > + basic_machine=mips-sei > + os=seiux > + ;; > + sequent) > + basic_machine=i386-sequent > + os= > + ;; > + sps7) > + basic_machine=m68k-bull > + os=sysv2 > + ;; > + st2000) > + basic_machine=m68k-tandem > + os= > + ;; > + stratus) > + basic_machine=i860-stratus > + os=sysv4 > + ;; > + sun2) > + basic_machine=m68000-sun > + os= > + ;; > + sun2os3) > + basic_machine=m68000-sun > + os=sunos3 > + ;; > + sun2os4) > + basic_machine=m68000-sun > + os=sunos4 > + ;; > + sun3) > + basic_machine=m68k-sun > + os= > + ;; > + sun3os3) > + basic_machine=m68k-sun > + os=sunos3 > + ;; > + sun3os4) > + basic_machine=m68k-sun > + os=sunos4 > + ;; > + sun4) > + basic_machine=sparc-sun > + os= > + ;; > + sun4os3) > + basic_machine=sparc-sun > + os=sunos3 > + ;; > + sun4os4) > + basic_machine=sparc-sun > + os=sunos4 > + ;; > + sun4sol2) > + basic_machine=sparc-sun > + os=solaris2 > + ;; > + sun386 | sun386i | roadrunner) > + basic_machine=i386-sun > + os= > + ;; > + sv1) > + basic_machine=sv1-cray > + os=unicos > + ;; > + symmetry) > + basic_machine=i386-sequent > + os=dynix > + ;; > + t3e) > + basic_machine=alphaev5-cray > + os=unicos > + ;; > + t90) > + basic_machine=t90-cray > + os=unicos > + ;; > + toad1) > + basic_machine=pdp10-xkl > + os=tops20 > + ;; > + tpf) > + basic_machine=s390x-ibm > + os=tpf > + ;; > + udi29k) > + basic_machine=a29k-amd > + os=udi > + ;; > + ultra3) > + basic_machine=a29k-nyu > + os=sym1 > + ;; > + v810 | necv810) > + basic_machine=v810-nec > + os=none > + ;; > + vaxv) > + basic_machine=vax-dec > + os=sysv > + ;; > + vms) > + basic_machine=vax-dec > + os=vms > + ;; > + vxworks960) > + basic_machine=i960-wrs > + os=vxworks > + ;; > + vxworks68) > + basic_machine=m68k-wrs > + os=vxworks > + ;; > + vxworks29k) > + basic_machine=a29k-wrs > + os=vxworks > + ;; > + xbox) > + basic_machine=i686-pc > + os=mingw32 > + ;; > + ymp) > + basic_machine=ymp-cray > + os=unicos > + ;; > + *) > + basic_machine=$1 > + os= > + ;; > + esac > ;; > esac > > -# Decode aliases for certain CPU-COMPANY combinations. > +# Decode 1-component or ad-hoc basic machines > case $basic_machine in > - # Recognize the basic CPU types without company name. > - # Some are omitted here because they have special meanings below. > - 1750a | 580 \ > - | a29k \ > - | aarch64 | aarch64_be \ > - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ > - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ > - | am33_2.0 \ > - | arc | arceb \ > - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ > - | avr | avr32 \ > - | ba \ > - | be32 | be64 \ > - | bfin \ > - | c4x | c8051 | clipper \ > - | d10v | d30v | dlx | dsp16xx \ > - | e2k | epiphany \ > - | fido | fr30 | frv | ft32 \ > - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ > - | hexagon \ > - | i370 | i860 | i960 | ia64 \ > - | ip2k | iq2000 \ > - | k1om \ > - | le32 | le64 \ > - | lm32 \ > - | m32c | m32r | m32rle | m68000 | m68k | m88k \ > - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ > - | mips | mipsbe | mipseb | mipsel | mipsle \ > - | mips16 \ > - | mips64 | mips64el \ > - | mips64octeon | mips64octeonel \ > - | mips64orion | mips64orionel \ > - | mips64r5900 | mips64r5900el \ > - | mips64vr | mips64vrel \ > - | mips64vr4100 | mips64vr4100el \ > - | mips64vr4300 | mips64vr4300el \ > - | mips64vr5000 | mips64vr5000el \ > - | mips64vr5900 | mips64vr5900el \ > - | mipsisa32 | mipsisa32el \ > - | mipsisa32r2 | mipsisa32r2el \ > - | mipsisa32r6 | mipsisa32r6el \ > - | mipsisa64 | mipsisa64el \ > - | mipsisa64r2 | mipsisa64r2el \ > - | mipsisa64r6 | mipsisa64r6el \ > - | mipsisa64sb1 | mipsisa64sb1el \ > - | mipsisa64sr71k | mipsisa64sr71kel \ > - | mipsr5900 | mipsr5900el \ > - | mipstx39 | mipstx39el \ > - | mn10200 | mn10300 \ > - | moxie \ > - | mt \ > - | msp430 \ > - | nds32 | nds32le | nds32be \ > - | nios | nios2 | nios2eb | nios2el \ > - | ns16k | ns32k \ > - | open8 | or1k | or1knd | or32 \ > - | pdp10 | pdp11 | pj | pjl \ > - | powerpc | powerpc64 | powerpc64le | powerpcle \ > - | pyramid \ > - | riscv32 | riscv64 \ > - | rl78 | rx \ > - | score \ > - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ > - | sh64 | sh64le \ > - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ > - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ > - | spu \ > - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ > - | ubicom32 \ > - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ > - | visium \ > - | we32k \ > - | x86 | xc16x | xstormy16 | xtensa \ > - | z8k | z80) > - basic_machine=$basic_machine-unknown > - ;; > - c54x) > - basic_machine=tic54x-unknown > - ;; > - c55x) > - basic_machine=tic55x-unknown > - ;; > - c6x) > - basic_machine=tic6x-unknown > - ;; > - leon|leon[3-9]) > - basic_machine=sparc-$basic_machine > - ;; > - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) > - basic_machine=$basic_machine-unknown > - os=-none > + # Here we handle the default manufacturer of certain CPU types. It is in > + # some cases the only manufacturer, in others, it is the most popular. > + w89k) > + cpu=hppa1.1 > + vendor=winbond > ;; > - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) > + op50n) > + cpu=hppa1.1 > + vendor=oki > ;; > - ms1) > - basic_machine=mt-unknown > + op60c) > + cpu=hppa1.1 > + vendor=oki > ;; > - > - strongarm | thumb | xscale) > - basic_machine=arm-unknown > + ibm*) > + cpu=i370 > + vendor=ibm > ;; > - xgate) > - basic_machine=$basic_machine-unknown > - os=-none > + orion105) > + cpu=clipper > + vendor=highlevel > ;; > - xscaleeb) > - basic_machine=armeb-unknown > + mac | mpw | mac-mpw) > + cpu=m68k > + vendor=apple > ;; > - > - xscaleel) > - basic_machine=armel-unknown > + pmac | pmac-mpw) > + cpu=powerpc > + vendor=apple > ;; > > - # 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) > - basic_machine=$basic_machine-pc > - ;; > - # Object if more than one company name word. > - *-*-*) > - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 > - exit 1 > - ;; > - # Recognize the basic CPU types with company name. > - 580-* \ > - | a29k-* \ > - | aarch64-* | aarch64_be-* \ > - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ > - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ > - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ > - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ > - | avr-* | avr32-* \ > - | ba-* \ > - | be32-* | be64-* \ > - | bfin-* | bs2000-* \ > - | c[123]* | c30-* | [cjt]90-* | c4x-* \ > - | c8051-* | clipper-* | craynv-* | cydra-* \ > - | d10v-* | d30v-* | dlx-* \ > - | e2k-* | elxsi-* \ > - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ > - | h8300-* | h8500-* \ > - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ > - | hexagon-* \ > - | i*86-* | i860-* | i960-* | ia64-* \ > - | ip2k-* | iq2000-* \ > - | k1om-* \ > - | le32-* | le64-* \ > - | lm32-* \ > - | m32c-* | m32r-* | m32rle-* \ > - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ > - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ > - | microblaze-* | microblazeel-* \ > - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ > - | mips16-* \ > - | mips64-* | mips64el-* \ > - | mips64octeon-* | mips64octeonel-* \ > - | mips64orion-* | mips64orionel-* \ > - | mips64r5900-* | mips64r5900el-* \ > - | mips64vr-* | mips64vrel-* \ > - | mips64vr4100-* | mips64vr4100el-* \ > - | mips64vr4300-* | mips64vr4300el-* \ > - | mips64vr5000-* | mips64vr5000el-* \ > - | mips64vr5900-* | mips64vr5900el-* \ > - | mipsisa32-* | mipsisa32el-* \ > - | mipsisa32r2-* | mipsisa32r2el-* \ > - | mipsisa32r6-* | mipsisa32r6el-* \ > - | mipsisa64-* | mipsisa64el-* \ > - | mipsisa64r2-* | mipsisa64r2el-* \ > - | mipsisa64r6-* | mipsisa64r6el-* \ > - | mipsisa64sb1-* | mipsisa64sb1el-* \ > - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ > - | mipsr5900-* | mipsr5900el-* \ > - | mipstx39-* | mipstx39el-* \ > - | mmix-* \ > - | mt-* \ > - | msp430-* \ > - | nds32-* | nds32le-* | nds32be-* \ > - | nios-* | nios2-* | nios2eb-* | nios2el-* \ > - | none-* | np1-* | ns16k-* | ns32k-* \ > - | open8-* \ > - | or1k*-* \ > - | orion-* \ > - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ > - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ > - | pyramid-* \ > - | riscv32-* | riscv64-* \ > - | rl78-* | romp-* | rs6000-* | rx-* \ > - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ > - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ > - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ > - | sparclite-* \ > - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ > - | tahoe-* \ > - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ > - | tile*-* \ > - | tron-* \ > - | ubicom32-* \ > - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ > - | vax-* \ > - | visium-* \ > - | we32k-* \ > - | x86-* | x86_64-* | xc16x-* | xps100-* \ > - | xstormy16-* | xtensa*-* \ > - | ymp-* \ > - | z8k-* | z80-*) > - ;; > - # Recognize the basic CPU types without company name, with glob match. > - xtensa*) > - basic_machine=$basic_machine-unknown > - ;; > # Recognize the various machine names and aliases which stand > # for a CPU type and a company and sometimes even an OS. > - 386bsd) > - basic_machine=i386-unknown > - os=-bsd > - ;; > 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) > - basic_machine=m68000-att > + cpu=m68000 > + vendor=att > ;; > 3b*) > - basic_machine=we32k-att > - ;; > - a29khif) > - basic_machine=a29k-amd > - os=-udi > - ;; > - abacus) > - basic_machine=abacus-unknown > - ;; > - adobe68k) > - basic_machine=m68010-adobe > - os=-scout > - ;; > - alliant | fx80) > - basic_machine=fx80-alliant > - ;; > - altos | altos3068) > - basic_machine=m68k-altos > - ;; > - am29k) > - basic_machine=a29k-none > - os=-bsd > - ;; > - amd64) > - basic_machine=x86_64-pc > - ;; > - amd64-*) > - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - amdahl) > - basic_machine=580-amdahl > - os=-sysv > - ;; > - amiga | amiga-*) > - basic_machine=m68k-unknown > - ;; > - amigaos | amigados) > - basic_machine=m68k-unknown > - os=-amigaos > - ;; > - amigaunix | amix) > - basic_machine=m68k-unknown > - os=-sysv4 > - ;; > - apollo68) > - basic_machine=m68k-apollo > - os=-sysv > - ;; > - apollo68bsd) > - basic_machine=m68k-apollo > - os=-bsd > - ;; > - aros) > - basic_machine=i386-pc > - os=-aros > - ;; > - asmjs) > - basic_machine=asmjs-unknown > - ;; > - aux) > - basic_machine=m68k-apple > - os=-aux > - ;; > - balance) > - basic_machine=ns32k-sequent > - os=-dynix > - ;; > - blackfin) > - basic_machine=bfin-unknown > - os=-linux > - ;; > - blackfin-*) > - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` > - os=-linux > + cpu=we32k > + vendor=att > ;; > bluegene*) > - basic_machine=powerpc-ibm > - os=-cnk > - ;; > - c54x-*) > - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - c55x-*) > - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - c6x-*) > - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - c90) > - basic_machine=c90-cray > - os=-unicos > - ;; > - cegcc) > - basic_machine=arm-unknown > - os=-cegcc > - ;; > - convex-c1) > - basic_machine=c1-convex > - os=-bsd > - ;; > - convex-c2) > - basic_machine=c2-convex > - os=-bsd > - ;; > - convex-c32) > - basic_machine=c32-convex > - os=-bsd > - ;; > - convex-c34) > - basic_machine=c34-convex > - os=-bsd > - ;; > - convex-c38) > - basic_machine=c38-convex > - os=-bsd > - ;; > - cray | j90) > - basic_machine=j90-cray > - os=-unicos > - ;; > - craynv) > - basic_machine=craynv-cray > - os=-unicosmp > - ;; > - cr16 | cr16-*) > - basic_machine=cr16-unknown > - os=-elf > - ;; > - crds | unos) > - basic_machine=m68k-crds > - ;; > - crisv32 | crisv32-* | etraxfs*) > - basic_machine=crisv32-axis > - ;; > - cris | cris-* | etrax*) > - basic_machine=cris-axis > - ;; > - crx) > - basic_machine=crx-unknown > - os=-elf > - ;; > - da30 | da30-*) > - basic_machine=m68k-da30 > - ;; > - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) > - basic_machine=mips-dec > + cpu=powerpc > + vendor=ibm > + os=cnk > ;; > decsystem10* | dec10*) > - basic_machine=pdp10-dec > - os=-tops10 > + cpu=pdp10 > + vendor=dec > + os=tops10 > ;; > decsystem20* | dec20*) > - basic_machine=pdp10-dec > - os=-tops20 > + cpu=pdp10 > + vendor=dec > + os=tops20 > ;; > delta | 3300 | motorola-3300 | motorola-delta \ > | 3300-motorola | delta-motorola) > - basic_machine=m68k-motorola > - ;; > - delta88) > - basic_machine=m88k-motorola > - os=-sysv3 > - ;; > - dicos) > - basic_machine=i686-pc > - os=-dicos > + cpu=m68k > + vendor=motorola > ;; > - djgpp) > - basic_machine=i586-pc > - os=-msdosdjgpp > - ;; > - dpx20 | dpx20-*) > - basic_machine=rs6000-bull > - os=-bosx > - ;; > - dpx2* | dpx2*-bull) > - basic_machine=m68k-bull > - os=-sysv3 > - ;; > - ebmon29k) > - basic_machine=a29k-amd > - os=-ebmon > - ;; > - elxsi) > - basic_machine=elxsi-elxsi > - os=-bsd > + dpx2*) > + cpu=m68k > + vendor=bull > + os=sysv3 > ;; > encore | umax | mmax) > - basic_machine=ns32k-encore > + cpu=ns32k > + vendor=encore > ;; > - es1800 | OSE68k | ose68k | ose | OSE) > - basic_machine=m68k-ericsson > - os=-ose > + elxsi) > + cpu=elxsi > + vendor=elxsi > + os=${os:-bsd} > ;; > fx2800) > - basic_machine=i860-alliant > + cpu=i860 > + vendor=alliant > ;; > genix) > - basic_machine=ns32k-ns > - ;; > - gmicro) > - basic_machine=tron-gmicro > - os=-sysv > - ;; > - go32) > - basic_machine=i386-pc > - os=-go32 > + cpu=ns32k > + vendor=ns > ;; > h3050r* | hiux*) > - basic_machine=hppa1.1-hitachi > - os=-hiuxwe2 > - ;; > - h8300hms) > - basic_machine=h8300-hitachi > - os=-hms > - ;; > - h8300xray) > - basic_machine=h8300-hitachi > - os=-xray > - ;; > - h8500hms) > - basic_machine=h8500-hitachi > - os=-hms > - ;; > - harris) > - basic_machine=m88k-harris > - os=-sysv3 > - ;; > - hp300-*) > - basic_machine=m68k-hp > - ;; > - hp300bsd) > - basic_machine=m68k-hp > - os=-bsd > - ;; > - hp300hpux) > - basic_machine=m68k-hp > - os=-hpux > + cpu=hppa1.1 > + vendor=hitachi > + os=hiuxwe2 > ;; > hp3k9[0-9][0-9] | hp9[0-9][0-9]) > - basic_machine=hppa1.0-hp > + cpu=hppa1.0 > + vendor=hp > ;; > hp9k2[0-9][0-9] | hp9k31[0-9]) > - basic_machine=m68000-hp > + cpu=m68000 > + vendor=hp > ;; > hp9k3[2-9][0-9]) > - basic_machine=m68k-hp > + cpu=m68k > + vendor=hp > ;; > hp9k6[0-9][0-9] | hp6[0-9][0-9]) > - basic_machine=hppa1.0-hp > + cpu=hppa1.0 > + vendor=hp > ;; > hp9k7[0-79][0-9] | hp7[0-79][0-9]) > - basic_machine=hppa1.1-hp > + cpu=hppa1.1 > + vendor=hp > ;; > hp9k78[0-9] | hp78[0-9]) > # FIXME: really hppa2.0-hp > - basic_machine=hppa1.1-hp > + cpu=hppa1.1 > + vendor=hp > ;; > hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) > # FIXME: really hppa2.0-hp > - basic_machine=hppa1.1-hp > + cpu=hppa1.1 > + vendor=hp > ;; > hp9k8[0-9][13679] | hp8[0-9][13679]) > - basic_machine=hppa1.1-hp > + cpu=hppa1.1 > + vendor=hp > ;; > hp9k8[0-9][0-9] | hp8[0-9][0-9]) > - basic_machine=hppa1.0-hp > - ;; > - hppa-next) > - os=-nextstep3 > - ;; > - hppaosf) > - basic_machine=hppa1.1-hp > - os=-osf > - ;; > - hppro) > - basic_machine=hppa1.1-hp > - os=-proelf > - ;; > - i370-ibm* | ibm*) > - basic_machine=i370-ibm > + cpu=hppa1.0 > + vendor=hp > ;; > i*86v32) > - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` > - os=-sysv32 > + cpu=`echo "$1" | sed -e 's/86.*/86/'` > + vendor=pc > + os=sysv32 > ;; > i*86v4*) > - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` > - os=-sysv4 > + cpu=`echo "$1" | sed -e 's/86.*/86/'` > + vendor=pc > + os=sysv4 > ;; > i*86v) > - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` > - os=-sysv > + cpu=`echo "$1" | sed -e 's/86.*/86/'` > + vendor=pc > + os=sysv > ;; > i*86sol2) > - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` > - os=-solaris2 > - ;; > - i386mach) > - basic_machine=i386-mach > - os=-mach > + cpu=`echo "$1" | sed -e 's/86.*/86/'` > + vendor=pc > + os=solaris2 > ;; > - i386-vsta | vsta) > - basic_machine=i386-unknown > - os=-vsta > + j90 | j90-cray) > + cpu=j90 > + vendor=cray > + os=${os:-unicos} > ;; > iris | iris4d) > - basic_machine=mips-sgi > + cpu=mips > + vendor=sgi > case $os in > - -irix*) > + irix*) > ;; > *) > - os=-irix4 > + os=irix4 > ;; > esac > ;; > - isi68 | isi) > - basic_machine=m68k-isi > - os=-sysv > - ;; > - leon-*|leon[3-9]-*) > - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` > - ;; > - m68knommu) > - basic_machine=m68k-unknown > - os=-linux > - ;; > - m68knommu-*) > - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` > - os=-linux > - ;; > - m88k-omron*) > - basic_machine=m88k-omron > - ;; > - magnum | m3230) > - basic_machine=mips-mips > - os=-sysv > - ;; > - merlin) > - basic_machine=ns32k-utek > - os=-sysv > - ;; > - microblaze*) > - basic_machine=microblaze-xilinx > - ;; > - mingw64) > - basic_machine=x86_64-pc > - os=-mingw64 > - ;; > - mingw32) > - basic_machine=i686-pc > - os=-mingw32 > - ;; > - mingw32ce) > - basic_machine=arm-unknown > - os=-mingw32ce > - ;; > miniframe) > - basic_machine=m68000-convergent > - ;; > - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) > - basic_machine=m68k-atari > - os=-mint > - ;; > - mips3*-*) > - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` > - ;; > - mips3*) > - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown > - ;; > - monitor) > - basic_machine=m68k-rom68k > - os=-coff > - ;; > - morphos) > - basic_machine=powerpc-unknown > - os=-morphos > - ;; > - moxiebox) > - basic_machine=moxie-unknown > - os=-moxiebox > - ;; > - msdos) > - basic_machine=i386-pc > - os=-msdos > - ;; > - ms1-*) > - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` > - ;; > - msys) > - basic_machine=i686-pc > - os=-msys > - ;; > - mvs) > - basic_machine=i370-ibm > - os=-mvs > + cpu=m68000 > + vendor=convergent > ;; > - nacl) > - basic_machine=le32-unknown > - os=-nacl > - ;; > - ncr3000) > - basic_machine=i486-ncr > - os=-sysv4 > - ;; > - netbsd386) > - basic_machine=i386-unknown > - os=-netbsd > - ;; > - netwinder) > - basic_machine=armv4l-rebel > - os=-linux > - ;; > - news | news700 | news800 | news900) > - basic_machine=m68k-sony > - os=-newsos > - ;; > - news1000) > - basic_machine=m68030-sony > - os=-newsos > + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) > + cpu=m68k > + vendor=atari > + os=mint > ;; > news-3600 | risc-news) > - basic_machine=mips-sony > - os=-newsos > - ;; > - necv70) > - basic_machine=v70-nec > - os=-sysv > + cpu=mips > + vendor=sony > + os=newsos > ;; > - next | m*-next ) > - basic_machine=m68k-next > + next | m*-next) > + cpu=m68k > + vendor=next > case $os in > - -nextstep* ) > + openstep*) > + ;; > + nextstep*) > ;; > - -ns2*) > - os=-nextstep2 > + ns2*) > + os=nextstep2 > ;; > *) > - os=-nextstep3 > + os=nextstep3 > ;; > esac > ;; > - nh3000) > - basic_machine=m68k-harris > - os=-cxux > - ;; > - nh[45]000) > - basic_machine=m88k-harris > - os=-cxux > - ;; > - nindy960) > - basic_machine=i960-intel > - os=-nindy > - ;; > - mon960) > - basic_machine=i960-intel > - os=-mon960 > - ;; > - nonstopux) > - basic_machine=mips-compaq > - os=-nonstopux > - ;; > np1) > - basic_machine=np1-gould > - ;; > - neo-tandem) > - basic_machine=neo-tandem > - ;; > - nse-tandem) > - basic_machine=nse-tandem > - ;; > - nsr-tandem) > - basic_machine=nsr-tandem > + cpu=np1 > + vendor=gould > ;; > op50n-* | op60c-*) > - basic_machine=hppa1.1-oki > - os=-proelf > - ;; > - openrisc | openrisc-*) > - basic_machine=or32-unknown > - ;; > - os400) > - basic_machine=powerpc-ibm > - os=-os400 > - ;; > - OSE68000 | ose68000) > - basic_machine=m68000-ericsson > - os=-ose > - ;; > - os68k) > - basic_machine=m68k-none > - os=-os68k > + cpu=hppa1.1 > + vendor=oki > + os=proelf > ;; > pa-hitachi) > - basic_machine=hppa1.1-hitachi > - os=-hiuxwe2 > - ;; > - paragon) > - basic_machine=i860-intel > - os=-osf > - ;; > - parisc) > - basic_machine=hppa-unknown > - os=-linux > - ;; > - parisc-*) > - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` > - os=-linux > + cpu=hppa1.1 > + vendor=hitachi > + os=hiuxwe2 > ;; > pbd) > - basic_machine=sparc-tti > + cpu=sparc > + vendor=tti > ;; > pbb) > - basic_machine=m68k-tti > - ;; > - pc532 | pc532-*) > - basic_machine=ns32k-pc532 > + cpu=m68k > + vendor=tti > ;; > - pc98) > - basic_machine=i386-pc > - ;; > - pc98-*) > - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - pentium | p5 | k5 | k6 | nexgen | viac3) > - basic_machine=i586-pc > - ;; > - pentiumpro | p6 | 6x86 | athlon | athlon_*) > - basic_machine=i686-pc > - ;; > - pentiumii | pentium2 | pentiumiii | pentium3) > - basic_machine=i686-pc > - ;; > - pentium4) > - basic_machine=i786-pc > - ;; > - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) > - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - pentiumpro-* | p6-* | 6x86-* | athlon-*) > - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) > - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - pentium4-*) > - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` > + pc532) > + cpu=ns32k > + vendor=pc532 > ;; > pn) > - basic_machine=pn-gould > + cpu=pn > + vendor=gould > ;; > - power) basic_machine=power-ibm > - ;; > - ppc | ppcbe) basic_machine=powerpc-unknown > - ;; > - ppc-* | ppcbe-*) > - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - ppcle | powerpclittle | ppc-le | powerpc-little) > - basic_machine=powerpcle-unknown > - ;; > - ppcle-* | powerpclittle-*) > - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - ppc64) basic_machine=powerpc64-unknown > - ;; > - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` > - ;; > - ppc64le | powerpc64little | ppc64-le | powerpc64-little) > - basic_machine=powerpc64le-unknown > - ;; > - ppc64le-* | powerpc64little-*) > - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` > + power) > + cpu=power > + vendor=ibm > ;; > ps2) > - basic_machine=i386-ibm > - ;; > - pw32) > - basic_machine=i586-unknown > - os=-pw32 > - ;; > - rdos | rdos64) > - basic_machine=x86_64-pc > - os=-rdos > - ;; > - rdos32) > - basic_machine=i386-pc > - os=-rdos > - ;; > - rom68k) > - basic_machine=m68k-rom68k > - os=-coff > + cpu=i386 > + vendor=ibm > ;; > rm[46]00) > - basic_machine=mips-siemens > + cpu=mips > + vendor=siemens > ;; > rtpc | rtpc-*) > - basic_machine=romp-ibm > - ;; > - s390 | s390-*) > - basic_machine=s390-ibm > - ;; > - s390x | s390x-*) > - basic_machine=s390x-ibm > + cpu=romp > + vendor=ibm > ;; > - sa29200) > - basic_machine=a29k-amd > - os=-udi > - ;; > - sb1) > - basic_machine=mipsisa64sb1-unknown > + sde) > + cpu=mipsisa32 > + vendor=sde > + os=${os:-elf} > ;; > - sb1el) > - basic_machine=mipsisa64sb1el-unknown > + simso-wrs) > + cpu=sparclite > + vendor=wrs > + os=vxworks > ;; > - sde) > - basic_machine=mipsisa32-sde > - os=-elf > + tower | tower-32) > + cpu=m68k > + vendor=ncr > ;; > - sei) > - basic_machine=mips-sei > - os=-seiux > + vpp*|vx|vx-*) > + cpu=f301 > + vendor=fujitsu > ;; > - sequent) > - basic_machine=i386-sequent > + w65) > + cpu=w65 > + vendor=wdc > ;; > - sh) > - basic_machine=sh-hitachi > - os=-hms > + w89k-*) > + cpu=hppa1.1 > + vendor=winbond > + os=proelf > ;; > - sh5el) > - basic_machine=sh5le-unknown > + none) > + cpu=none > + vendor=none > ;; > - sh64) > - basic_machine=sh64-unknown > + leon|leon[3-9]) > + cpu=sparc > + vendor=$basic_machine > ;; > - sparclite-wrs | simso-wrs) > - basic_machine=sparclite-wrs > - os=-vxworks > + leon-*|leon[3-9]-*) > + cpu=sparc > + vendor=`echo "$basic_machine" | sed 's/-.*//'` > ;; > - sps7) > - basic_machine=m68k-bull > - os=-sysv2 > + > + *-*) > + # shellcheck disable=SC2162 > + IFS="-" read cpu vendor <<EOF > +$basic_machine > +EOF > ;; > - spur) > - basic_machine=spur-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) > + cpu=$basic_machine > + vendor=pc > ;; > - st2000) > - basic_machine=m68k-tandem > + # These rules are duplicated from below for sake of the special case above; > + # i.e. things that normalized to x86 arches should also default to "pc" > + pc98) > + cpu=i386 > + vendor=pc > ;; > - stratus) > - basic_machine=i860-stratus > - os=-sysv4 > + x64 | amd64) > + cpu=x86_64 > + vendor=pc > ;; > - strongarm-* | thumb-*) > - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` > + # Recognize the basic CPU types without company name. > + *) > + cpu=$basic_machine > + vendor=unknown > ;; > - sun2) > - basic_machine=m68000-sun > +esac > + > +unset -v basic_machine > + > +# Decode basic machines in the full and proper CPU-Company form. > +case $cpu-$vendor in > + # Here we handle the default manufacturer of certain CPU types in canonical form. It is in > + # some cases the only manufacturer, in others, it is the most popular. > + craynv-unknown) > + vendor=cray > + os=${os:-unicosmp} > ;; > - sun2os3) > - basic_machine=m68000-sun > - os=-sunos3 > + c90-unknown | c90-cray) > + vendor=cray > + os=${os:-unicos} > ;; > - sun2os4) > - basic_machine=m68000-sun > - os=-sunos4 > + fx80-unknown) > + vendor=alliant > ;; > - sun3os3) > - basic_machine=m68k-sun > - os=-sunos3 > + romp-unknown) > + vendor=ibm > ;; > - sun3os4) > - basic_machine=m68k-sun > - os=-sunos4 > + mmix-unknown) > + vendor=knuth > ;; > - sun4os3) > - basic_machine=sparc-sun > - os=-sunos3 > + microblaze-unknown | microblazeel-unknown) > + vendor=xilinx > ;; > - sun4os4) > - basic_machine=sparc-sun > - os=-sunos4 > + rs6000-unknown) > + vendor=ibm > ;; > - sun4sol2) > - basic_machine=sparc-sun > - os=-solaris2 > + vax-unknown) > + vendor=dec > ;; > - sun3 | sun3-*) > - basic_machine=m68k-sun > + pdp11-unknown) > + vendor=dec > ;; > - sun4) > - basic_machine=sparc-sun > + we32k-unknown) > + vendor=att > ;; > - sun386 | sun386i | roadrunner) > - basic_machine=i386-sun > + cydra-unknown) > + vendor=cydrome > ;; > - sv1) > - basic_machine=sv1-cray > - os=-unicos > + i370-ibm*) > + vendor=ibm > ;; > - symmetry) > - basic_machine=i386-sequent > - os=-dynix > + orion-unknown) > + vendor=highlevel > ;; > - t3e) > - basic_machine=alphaev5-cray > - os=-unicos > + xps-unknown | xps100-unknown) > + cpu=xps100 > + vendor=honeywell > ;; > - t90) > - basic_machine=t90-cray > - os=-unicos > + > + # Here we normalize CPU types with a missing or matching vendor > + dpx20-unknown | dpx20-bull) > + cpu=rs6000 > + vendor=bull > + os=${os:-bosx} > ;; > - tile*) > - basic_machine=$basic_machine-unknown > - os=-linux-gnu > + > + # Here we normalize CPU types irrespective of the vendor > + amd64-*) > + cpu=x86_64 > ;; > - tx39) > - basic_machine=mipstx39-unknown > + blackfin-*) > + cpu=bfin > + os=linux > ;; > - tx39el) > - basic_machine=mipstx39el-unknown > + c54x-*) > + cpu=tic54x > ;; > - toad1) > - basic_machine=pdp10-xkl > - os=-tops20 > + c55x-*) > + cpu=tic55x > ;; > - tower | tower-32) > - basic_machine=m68k-ncr > + c6x-*) > + cpu=tic6x > ;; > - tpf) > - basic_machine=s390x-ibm > - os=-tpf > + e500v[12]-*) > + cpu=powerpc > + os=$os"spe" > ;; > - udi29k) > - basic_machine=a29k-amd > - os=-udi > + mips3*-*) > + cpu=mips64 > ;; > - ultra3) > - basic_machine=a29k-nyu > - os=-sym1 > + ms1-*) > + cpu=mt > ;; > - v810 | necv810) > - basic_machine=v810-nec > - os=-none > + m68knommu-*) > + cpu=m68k > + os=linux > ;; > - vaxv) > - basic_machine=vax-dec > - os=-sysv > + m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) > + cpu=s12z > ;; > - vms) > - basic_machine=vax-dec > - os=-vms > + openrisc-*) > + cpu=or32 > ;; > - vpp*|vx|vx-*) > - basic_machine=f301-fujitsu > + parisc-*) > + cpu=hppa > + os=linux > ;; > - vxworks960) > - basic_machine=i960-wrs > - os=-vxworks > + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) > + cpu=i586 > ;; > - vxworks68) > - basic_machine=m68k-wrs > - os=-vxworks > + pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) > + cpu=i686 > ;; > - vxworks29k) > - basic_machine=a29k-wrs > - os=-vxworks > + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) > + cpu=i686 > ;; > - w65*) > - basic_machine=w65-wdc > - os=-none > + pentium4-*) > + cpu=i786 > ;; > - w89k-*) > - basic_machine=hppa1.1-winbond > - os=-proelf > + pc98-*) > + cpu=i386 > ;; > - xbox) > - basic_machine=i686-pc > - os=-mingw32 > + ppc-* | ppcbe-*) > + cpu=powerpc > ;; > - xps | xps100) > - basic_machine=xps100-honeywell > + ppcle-* | powerpclittle-*) > + cpu=powerpcle > ;; > - xscale-* | xscalee[bl]-*) > - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` > + ppc64-*) > + cpu=powerpc64 > ;; > - ymp) > - basic_machine=ymp-cray > - os=-unicos > + ppc64le-* | powerpc64little-*) > + cpu=powerpc64le > ;; > - z8k-*-coff) > - basic_machine=z8k-unknown > - os=-sim > + sb1-*) > + cpu=mipsisa64sb1 > ;; > - z80-*-coff) > - basic_machine=z80-unknown > - os=-sim > + sb1el-*) > + cpu=mipsisa64sb1el > ;; > - none) > - basic_machine=none-none > - os=-none > + sh5e[lb]-*) > + cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` > ;; > - > -# Here we handle the default manufacturer of certain CPU types. It is in > -# some cases the only manufacturer, in others, it is the most popular. > - w89k) > - basic_machine=hppa1.1-winbond > + spur-*) > + cpu=spur > ;; > - op50n) > - basic_machine=hppa1.1-oki > + strongarm-* | thumb-*) > + cpu=arm > ;; > - op60c) > - basic_machine=hppa1.1-oki > + tx39-*) > + cpu=mipstx39 > ;; > - romp) > - basic_machine=romp-ibm > + tx39el-*) > + cpu=mipstx39el > ;; > - mmix) > - basic_machine=mmix-knuth > + x64-*) > + cpu=x86_64 > ;; > - rs6000) > - basic_machine=rs6000-ibm > + xscale-* | xscalee[bl]-*) > + cpu=`echo "$cpu" | sed 's/^xscale/arm/'` > ;; > - vax) > - basic_machine=vax-dec > + > + # Recognize the canonical CPU Types that limit and/or modify the > + # company names they are paired with. > + cr16-*) > + os=${os:-elf} > ;; > - pdp10) > - # there are many clones, so DEC is not a safe bet > - basic_machine=pdp10-unknown > + crisv32-* | etraxfs*-*) > + cpu=crisv32 > + vendor=axis > ;; > - pdp11) > - basic_machine=pdp11-dec > + cris-* | etrax*-*) > + cpu=cris > + vendor=axis > ;; > - we32k) > - basic_machine=we32k-att > + crx-*) > + os=${os:-elf} > ;; > - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) > - basic_machine=sh-unknown > + neo-tandem) > + cpu=neo > + vendor=tandem > ;; > - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) > - basic_machine=sparc-sun > + nse-tandem) > + cpu=nse > + vendor=tandem > ;; > - cydra) > - basic_machine=cydra-cydrome > + nsr-tandem) > + cpu=nsr > + vendor=tandem > ;; > - orion) > - basic_machine=orion-highlevel > + nsv-tandem) > + cpu=nsv > + vendor=tandem > ;; > - orion105) > - basic_machine=clipper-highlevel > + nsx-tandem) > + cpu=nsx > + vendor=tandem > ;; > - mac | mpw | mac-mpw) > - basic_machine=m68k-apple > + s390-*) > + cpu=s390 > + vendor=ibm > ;; > - pmac | pmac-mpw) > - basic_machine=powerpc-apple > + s390x-*) > + cpu=s390x > + vendor=ibm > ;; > - *-unknown) > - # Make sure to match an already-canonicalized machine name. > + tile*-*) > + os=${os:-linux-gnu} > ;; > + > *) > - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 > - exit 1 > + # Recognize the canonical CPU types that are allowed with any > + # company name. > + case $cpu in > + 1750a | 580 \ > + | a29k \ > + | aarch64 | aarch64_be \ > + | abacus \ > + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ > + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ > + | alphapca5[67] | alpha64pca5[67] \ > + | am33_2.0 \ > + | amdgcn \ > + | arc | arceb \ > + | arm | arm[lb]e | arme[lb] | armv* \ > + | avr | avr32 \ > + | asmjs \ > + | ba \ > + | be32 | be64 \ > + | bfin | bpf | bs2000 \ > + | c[123]* | c30 | [cjt]90 | c4x \ > + | c8051 | clipper | craynv | csky | cydra \ > + | d10v | d30v | dlx | dsp16xx \ > + | e2k | elxsi | epiphany \ > + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ > + | h8300 | h8500 \ > + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ > + | hexagon \ > + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ > + | ip2k | iq2000 \ > + | k1om \ > + | le32 | le64 \ > + | lm32 \ > + | 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 \ > + | mipsisa32r6 | mipsisa32r6el \ > + | mipsisa64 | mipsisa64el \ > + | mipsisa64r2 | mipsisa64r2el \ > + | mipsisa64r6 | mipsisa64r6el \ > + | mipsisa64sb1 | mipsisa64sb1el \ > + | mipsisa64sr71k | mipsisa64sr71kel \ > + | mipsr5900 | mipsr5900el \ > + | mipstx39 | mipstx39el \ > + | mmix \ > + | mn10200 | mn10300 \ > + | moxie \ > + | mt \ > + | msp430 \ > + | nds32 | nds32le | nds32be \ > + | nfp \ > + | nios | nios2 | nios2eb | nios2el \ > + | none | np1 | ns16k | ns32k | nvptx \ > + | open8 \ > + | or1k* \ > + | or32 \ > + | orion \ > + | picochip \ > + | pdp10 | pdp11 | pj | pjl | pn | power \ > + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ > + | pru \ > + | pyramid \ > + | riscv | riscv32 | riscv64 \ > + | rl78 | romp | rs6000 | rx \ > + | score \ > + | sh | shl \ > + | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ > + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ > + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ > + | sparclite \ > + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ > + | spu \ > + | tahoe \ > + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ > + | tron \ > + | ubicom32 \ > + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ > + | vax \ > + | visium \ > + | w65 \ > + | wasm32 | wasm64 \ > + | we32k \ > + | x86 | x86_64 | xc16x | xgate | xps100 \ > + | xstormy16 | xtensa* \ > + | ymp \ > + | z8k | z80) > + ;; > + > + *) > + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 > + exit 1 > + ;; > + esac > ;; > esac > > # Here we canonicalize certain aliases for manufacturers. > -case $basic_machine in > - *-digital*) > - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` > +case $vendor in > + digital*) > + vendor=dec > ;; > - *-commodore*) > - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` > + commodore*) > + vendor=cbm > ;; > *) > ;; > @@ -1345,200 +1278,246 @@ esac > > # Decode manufacturer-specific aliases for certain operating systems. > > -if [ x"$os" != x"" ] > +if [ x$os != x ] > then > case $os in > - # First match some system type aliases > - # that might get confused with valid system types. > - # -solaris* is a basic system type, with this one exception. > - -auroraux) > - os=-auroraux > + # First match some system type aliases that might get confused > + # with valid system types. > + # solaris* is a basic system type, with this one exception. > + auroraux) > + os=auroraux > ;; > - -solaris1 | -solaris1.*) > - os=`echo $os | sed -e 's|solaris1|sunos4|'` > + bluegene*) > + os=cnk > ;; > - -solaris) > - os=-solaris2 > + solaris1 | solaris1.*) > + os=`echo $os | sed -e 's|solaris1|sunos4|'` > ;; > - -svr4*) > - os=-sysv4 > + solaris) > + os=solaris2 > ;; > - -unixware*) > - os=-sysv4.2uw > + unixware*) > + os=sysv4.2uw > ;; > - -gnu/linux*) > + gnu/linux*) > os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` > ;; > - # First accept the basic system types. > + # es1800 is here to avoid being matched by es* (a different OS) > + es1800*) > + os=ose > + ;; > + # Some version numbers need modification > + chorusos*) > + os=chorusos > + ;; > + isc) > + os=isc2.2 > + ;; > + sco6) > + os=sco5v6 > + ;; > + sco5) > + os=sco3.2v5 > + ;; > + sco4) > + os=sco3.2v4 > + ;; > + sco3.2.[4-9]*) > + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` > + ;; > + sco3.2v[4-9]* | sco5v6*) > + # Don't forget version if it is 3.2v4 or newer. > + ;; > + scout) > + # Don't match below > + ;; > + sco*) > + os=sco3.2v2 > + ;; > + psos*) > + os=psos > + ;; > + # Now accept the basic system types. > # The portable systems comes first. > - # Each alternative MUST END IN A *, to match a version number. > - # -sysv* is not here because it comes later, after sysvr4. > - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ > - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ > - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ > - | -sym* | -kopensolaris* | -plan9* \ > - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ > - | -aos* | -aros* | -cloudabi* | -sortix* \ > - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ > - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ > - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ > - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ > - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ > - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ > - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ > - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ > - | -chorusos* | -chorusrdb* | -cegcc* \ > - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ > - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ > - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ > - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ > - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ > - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ > - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ > - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ > - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ > - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ > - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ > - | -onefs* | -tirtos* | -phoenix*) > + # Each alternative MUST end in a * to match a version number. > + # sysv* is not here because it comes later, after sysvr4. > + gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ > + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ > + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ > + | sym* | kopensolaris* | plan9* \ > + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ > + | aos* | aros* | cloudabi* | sortix* \ > + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ > + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ > + | knetbsd* | mirbsd* | netbsd* \ > + | bitrig* | openbsd* | solidbsd* | libertybsd* \ > + | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ > + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ > + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ > + | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ > + | chorusrdb* | cegcc* | glidix* \ > + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ > + | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ > + | linux-newlib* | linux-musl* | linux-uclibc* \ > + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ > + | interix* | uwin* | mks* | rhapsody* | darwin* \ > + | openstep* | oskit* | conix* | pw32* | nonstopux* \ > + | storm-chaos* | tops10* | tenex* | tops20* | its* \ > + | os2* | vos* | palmos* | uclinux* | nucleus* \ > + | morphos* | superux* | rtmk* | windiss* \ > + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ > + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ > + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ > + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi*) > # Remember, each alternative MUST END IN *, to match a version number. > ;; > - -qnx*) > - case $basic_machine in > - x86-* | i*86-*) > + qnx*) > + case $cpu in > + x86 | i*86) > ;; > *) > - os=-nto$os > + os=nto-$os > ;; > esac > ;; > - -nto-qnx*) > + hiux*) > + os=hiuxwe2 > ;; > - -nto*) > - os=`echo $os | sed -e 's|nto|nto-qnx|'` > + nto-qnx*) > ;; > - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ > - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ > - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) > + nto*) > + os=`echo $os | sed -e 's|nto|nto-qnx|'` > ;; > - -mac*) > - os=`echo $os | sed -e 's|mac|macos|'` > + sim | xray | os68k* | v88r* \ > + | windows* | osx | abug | netware* | os9* \ > + | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) > ;; > - -linux-dietlibc) > - os=-linux-dietlibc > + linux-dietlibc) > + os=linux-dietlibc > ;; > - -linux*) > + linux*) > os=`echo $os | sed -e 's|linux|linux-gnu|'` > ;; > - -sunos5*) > - os=`echo $os | sed -e 's|sunos5|solaris2|'` > + lynx*178) > + os=lynxos178 > ;; > - -sunos6*) > - os=`echo $os | sed -e 's|sunos6|solaris3|'` > + lynx*5) > + os=lynxos5 > ;; > - -opened*) > - os=-openedition > + lynx*) > + os=lynxos > ;; > - -os400*) > - os=-os400 > + mac*) > + os=`echo "$os" | sed -e 's|mac|macos|'` > ;; > - -wince*) > - os=-wince > + opened*) > + os=openedition > ;; > - -osfrose*) > - os=-osfrose > + os400*) > + os=os400 > ;; > - -osf*) > - os=-osf > + sunos5*) > + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` > ;; > - -utek*) > - os=-bsd > + sunos6*) > + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` > ;; > - -dynix*) > - os=-bsd > + wince*) > + os=wince > ;; > - -acis*) > - os=-aos > + utek*) > + os=bsd > ;; > - -atheos*) > - os=-atheos > + dynix*) > + os=bsd > ;; > - -syllable*) > - os=-syllable > + acis*) > + os=aos > ;; > - -386bsd) > - os=-bsd > + atheos*) > + os=atheos > ;; > - -ctix* | -uts*) > - os=-sysv > + syllable*) > + os=syllable > ;; > - -nova*) > - os=-rtmk-nova > + 386bsd) > + os=bsd > + ;; > + ctix* | uts*) > + os=sysv > + ;; > + nova*) > + os=rtmk-nova > ;; > - -ns2 ) > - os=-nextstep2 > + ns2) > + os=nextstep2 > ;; > - -nsk*) > - os=-nsk > + nsk*) > + os=nsk > ;; > # Preserve the version number of sinix5. > - -sinix5.*) > + sinix5.*) > os=`echo $os | sed -e 's|sinix|sysv|'` > ;; > - -sinix*) > - os=-sysv4 > + sinix*) > + os=sysv4 > ;; > - -tpf*) > - os=-tpf > + tpf*) > + os=tpf > ;; > - -triton*) > - os=-sysv3 > + triton*) > + os=sysv3 > ;; > - -oss*) > - os=-sysv3 > + oss*) > + os=sysv3 > ;; > - -svr4) > - os=-sysv4 > + svr4*) > + os=sysv4 > ;; > - -svr3) > - os=-sysv3 > + svr3) > + os=sysv3 > ;; > - -sysvr4) > - os=-sysv4 > + sysvr4) > + os=sysv4 > ;; > - # This must come after -sysvr4. > - -sysv*) > + # This must come after sysvr4. > + sysv*) > ;; > - -ose*) > - os=-ose > + ose*) > + os=ose > ;; > - -es1800*) > - os=-ose > + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) > + os=mint > ;; > - -xenix) > - os=-xenix > + zvmoe) > + os=zvmoe > ;; > - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) > - os=-mint > + dicos*) > + os=dicos > ;; > - -aros*) > - os=-aros > - ;; > - -zvmoe) > - os=-zvmoe > + pikeos*) > + # Until real need of OS specific support for > + # particular features comes up, bare metal > + # configurations are quite functional. > + case $cpu in > + arm*) > + os=eabi > + ;; > + *) > + os=elf > + ;; > + esac > ;; > - -dicos*) > - os=-dicos > + nacl*) > ;; > - -nacl*) > + ios) > ;; > - -ios) > + none) > ;; > - -none) > + *-eabi) > ;; > *) > - # Get rid of the `-' at the beginning of $os. > - os=`echo $os | sed 's/[^-]*-//'` > - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 > + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 > exit 1 > ;; > esac > @@ -1554,261 +1533,265 @@ else > # will signal an error saying that MANUFACTURER isn't an operating > # system, and we'll never get to this point. > > -case $basic_machine in > +case $cpu-$vendor in > score-*) > - os=-elf > + os=elf > ;; > spu-*) > - os=-elf > + os=elf > ;; > *-acorn) > - os=-riscix1.2 > + os=riscix1.2 > ;; > arm*-rebel) > - os=-linux > + os=linux > ;; > arm*-semi) > - os=-aout > + os=aout > ;; > c4x-* | tic4x-*) > - os=-coff > + os=coff > ;; > c8051-*) > - os=-elf > + os=elf > + ;; > + clipper-intergraph) > + os=clix > ;; > hexagon-*) > - os=-elf > + os=elf > ;; > tic54x-*) > - os=-coff > + os=coff > ;; > tic55x-*) > - os=-coff > + os=coff > ;; > tic6x-*) > - os=-coff > + os=coff > ;; > # This must come before the *-dec entry. > pdp10-*) > - os=-tops20 > + os=tops20 > ;; > pdp11-*) > - os=-none > + os=none > ;; > *-dec | vax-*) > - os=-ultrix4.2 > + os=ultrix4.2 > ;; > m68*-apollo) > - os=-domain > + os=domain > ;; > i386-sun) > - os=-sunos4.0.2 > + os=sunos4.0.2 > ;; > m68000-sun) > - os=-sunos3 > + os=sunos3 > ;; > m68*-cisco) > - os=-aout > + os=aout > ;; > mep-*) > - os=-elf > + os=elf > ;; > mips*-cisco) > - os=-elf > + os=elf > ;; > mips*-*) > - os=-elf > + os=elf > ;; > or32-*) > - os=-coff > + os=coff > ;; > *-tti) # must be before sparc entry or we get the wrong os. > - os=-sysv3 > + os=sysv3 > ;; > sparc-* | *-sun) > - os=-sunos4.1.1 > + os=sunos4.1.1 > ;; > - *-be) > - os=-beos > + pru-*) > + os=elf > ;; > - *-haiku) > - os=-haiku > + *-be) > + os=beos > ;; > *-ibm) > - os=-aix > + os=aix > ;; > *-knuth) > - os=-mmixware > + os=mmixware > ;; > *-wec) > - os=-proelf > + os=proelf > ;; > *-winbond) > - os=-proelf > + os=proelf > ;; > *-oki) > - os=-proelf > + os=proelf > ;; > *-hp) > - os=-hpux > + os=hpux > ;; > *-hitachi) > - os=-hiux > + os=hiux > ;; > i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) > - os=-sysv > + os=sysv > ;; > *-cbm) > - os=-amigaos > + os=amigaos > ;; > *-dg) > - os=-dgux > + os=dgux > ;; > *-dolphin) > - os=-sysv3 > + os=sysv3 > ;; > m68k-ccur) > - os=-rtu > + os=rtu > ;; > m88k-omron*) > - os=-luna > + os=luna > ;; > - *-next ) > - os=-nextstep > + *-next) > + os=nextstep > ;; > *-sequent) > - os=-ptx > + os=ptx > ;; > *-crds) > - os=-unos > + os=unos > ;; > *-ns) > - os=-genix > + os=genix > ;; > i370-*) > - os=-mvs > - ;; > - *-next) > - os=-nextstep3 > + os=mvs > ;; > *-gould) > - os=-sysv > + os=sysv > ;; > *-highlevel) > - os=-bsd > + os=bsd > ;; > *-encore) > - os=-bsd > + os=bsd > ;; > *-sgi) > - os=-irix > + os=irix > ;; > *-siemens) > - os=-sysv4 > + os=sysv4 > ;; > *-masscomp) > - os=-rtu > + os=rtu > ;; > f30[01]-fujitsu | f700-fujitsu) > - os=-uxpv > + os=uxpv > ;; > *-rom68k) > - os=-coff > + os=coff > ;; > *-*bug) > - os=-coff > + os=coff > ;; > *-apple) > - os=-macos > + os=macos > ;; > *-atari*) > - os=-mint > + os=mint > + ;; > + *-wrs) > + os=vxworks > ;; > *) > - os=-none > + os=none > ;; > esac > fi > > # Here we handle the case where we know the os, and the CPU type, but not the > # manufacturer. We pick the logical manufacturer. > -vendor=unknown > -case $basic_machine in > - *-unknown) > +case $vendor in > + unknown) > case $os in > - -riscix*) > + riscix*) > vendor=acorn > ;; > - -sunos*) > + sunos*) > vendor=sun > ;; > - -cnk*|-aix*) > + cnk*|-aix*) > vendor=ibm > ;; > - -beos*) > + beos*) > vendor=be > ;; > - -hpux*) > + hpux*) > vendor=hp > ;; > - -mpeix*) > + mpeix*) > vendor=hp > ;; > - -hiux*) > + hiux*) > vendor=hitachi > ;; > - -unos*) > + unos*) > vendor=crds > ;; > - -dgux*) > + dgux*) > vendor=dg > ;; > - -luna*) > + luna*) > vendor=omron > ;; > - -genix*) > + genix*) > vendor=ns > ;; > - -mvs* | -opened*) > + clix*) > + vendor=intergraph > + ;; > + mvs* | opened*) > vendor=ibm > ;; > - -os400*) > + os400*) > vendor=ibm > ;; > - -ptx*) > + ptx*) > vendor=sequent > ;; > - -tpf*) > + tpf*) > vendor=ibm > ;; > - -vxsim* | -vxworks* | -windiss*) > + vxsim* | vxworks* | windiss*) > vendor=wrs > ;; > - -aux*) > + aux*) > vendor=apple > ;; > - -hms*) > + hms*) > vendor=hitachi > ;; > - -mpw* | -macos*) > + mpw* | macos*) > vendor=apple > ;; > - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) > + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) > vendor=atari > ;; > - -vos*) > + vos*) > vendor=stratus > ;; > esac > - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` > ;; > esac > > -echo $basic_machine$os > +echo "$cpu-$vendor-$os" > exit > > # Local variables: > -# eval: (add-hook 'write-file-hooks 'time-stamp) > +# eval: (add-hook 'before-save-hook 'time-stamp) > # time-stamp-start: "timestamp='" > # time-stamp-format: "%:y-%02m-%02d" > # time-stamp-end: "'" > -- > 2.21.0 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
On Tue, 28 May 2019 22:34:13 +0200 Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > This update includes support for the C-SKY architecture. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- > Note: this was suggested by Peter for next, instead of just patching > the files to add csky support. It should be applied after > cherry-picking 910b431d6383cd1ce4cd9eeb0a8466cb977c3789 from master. > --- > support/gnuconfig/README.buildroot | 2 +- > support/gnuconfig/config.guess | 836 +++++---- > support/gnuconfig/config.sub | 2525 ++++++++++++++-------------- > 3 files changed, 1774 insertions(+), 1589 deletions(-) Applied to next, thanks. Thomas
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: Hi, > Overall, I am no longer so sure of the benefits vs. complexity > trade-off here. The above issues can be resolved for sure, but is it > worth it, compared to just having those two files in our tree ? Indeed, lets drop that for now.
diff --git a/support/gnuconfig/README.buildroot b/support/gnuconfig/README.buildroot index 7ba2a332a4..115c9fd1e1 100644 --- a/support/gnuconfig/README.buildroot +++ b/support/gnuconfig/README.buildroot @@ -24,4 +24,4 @@ Currently no patches are needed, but they may be needed again in the future. The current Buildroot version is based on the Git commit -dafd8e767ec87b90aac62f0fcedd11944c84b50a of the config.git repository. +bad92f031d2d5d980389d2c833f1c218a57443e6 of the config.git repository. diff --git a/support/gnuconfig/config.guess b/support/gnuconfig/config.guess index c4bd827a7b..b40e17b137 100755 --- a/support/gnuconfig/config.guess +++ b/support/gnuconfig/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2016 Free Software Foundation, Inc. +# Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2016-05-15' +timestamp='2019-05-28' # 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 @@ -15,7 +15,7 @@ timestamp='2016-05-15' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. +# along with this program; if not, see <https://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ timestamp='2016-05-15' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to <config-patches@gnu.org>. @@ -39,7 +39,7 @@ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2016 Free Software Foundation, Inc. +Copyright 1992-2019 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." @@ -84,8 +84,6 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' 1 2 15 - # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,34 +94,38 @@ trap 'exit 1' 1 2 15 # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi @@ -132,14 +134,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu - eval $set_cc_for_build - cat <<-EOF > $dummy.c + set_cc_for_build + cat <<-EOF > "$dummy.c" #include <features.h> #if defined(__UCLIBC__) LIBC=uclibc @@ -149,13 +151,20 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -169,30 +178,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine="${arch}${endian}"-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -208,10 +217,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -219,46 +228,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" + echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -310,28 +328,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos + echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -343,7 +352,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} + echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos @@ -370,19 +379,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} + echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build + set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -395,13 +404,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in SUN_ARCH=x86_64 fi fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in @@ -410,25 +419,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} + echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not @@ -439,44 +448,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} + echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} + echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} + echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} + echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} + echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} + echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} + echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} + echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -485,23 +494,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} + echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -527,17 +536,17 @@ EOF AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ + [ "$TARGET_BINARY_INTERFACE"x = x ] then - echo m88k-dg-dgux${UNAME_RELEASE} + echo m88k-dg-dgux"$UNAME_RELEASE" else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else - echo i586-dg-dgux${UNAME_RELEASE} + echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) @@ -554,7 +563,7 @@ EOF echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -566,14 +575,14 @@ EOF if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include <sys/systemcfg.h> main() @@ -584,7 +593,7 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else @@ -598,7 +607,7 @@ EOF exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -607,18 +616,18 @@ EOF IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -633,28 +642,28 @@ EOF echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in + case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ "$HP_ARCH" = "" ]; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include <stdlib.h> @@ -687,13 +696,13 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = hppa2.0w ] + if [ "$HP_ARCH" = hppa2.0w ] then - eval $set_cc_for_build + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -712,15 +721,15 @@ EOF HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include <unistd.h> int main () @@ -745,11 +754,11 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -758,7 +767,7 @@ EOF *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -766,9 +775,9 @@ EOF exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) @@ -793,127 +802,120 @@ EOF echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} + echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case "$UNAME_PROCESSOR" in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin + echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 + echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 + echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 + echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case "$UNAME_MACHINE" in x86) - echo i586-pc-interix${UNAME_RELEASE} + echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} + echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} + echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin + echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin + echo x86_64-pc-cygwin exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -927,134 +929,168 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval $set_cc_for_build + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} + echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1068,34 +1104,34 @@ EOF # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx + echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable + echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} + echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp + echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) @@ -1105,12 +1141,12 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL + echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1120,9 +1156,9 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 + echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) @@ -1142,9 +1178,9 @@ EOF exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) @@ -1164,9 +1200,9 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1175,28 +1211,28 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} + echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} + echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} + echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} + echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} + echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -1207,7 +1243,7 @@ EOF *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -1227,23 +1263,23 @@ EOF exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} + echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1262,49 +1298,56 @@ EOF echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} + echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} + echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} + echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} + echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} + echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} + echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} + echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} + echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + set_cc_for_build + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub @@ -1315,7 +1358,7 @@ EOF # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -1323,19 +1366,25 @@ EOF UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} + echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -1344,18 +1393,19 @@ EOF echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. + # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 + echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -1376,14 +1426,14 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in + case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; @@ -1392,32 +1442,184 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos + echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros + echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx + echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" <<EOF +#ifdef _SEQUENT_ +#include <sys/types.h> +#include <sys/utsname.h> +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include <signal.h> +#if defined(_SIZE_T_) || defined(SIGLOST) +#include <sys/utsname.h> +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include <sys/param.h> +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <<EOF + +NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize +the system type. Please install a C compiler and try again. +EOF + ;; esac cat >&2 <<EOF -$0: unable to guess system type This script (version $timestamp), has failed to recognize the -operating system you are using. If your script is old, overwrite -config.guess and config.sub with the latest versions from: +operating system you are using. If your script is old, overwrite *all* +copies of config.guess and config.sub with the latest versions from: - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub If $0 has already been updated, send the following data and any information you think might be pertinent to config-patches@gnu.org to @@ -1440,16 +1642,16 @@ hostinfo = `(hostinfo) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/support/gnuconfig/config.sub b/support/gnuconfig/config.sub index 6d86a1e2f7..5b158ac41c 100755 --- a/support/gnuconfig/config.sub +++ b/support/gnuconfig/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2016 Free Software Foundation, Inc. +# Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2016-05-10' +timestamp='2019-05-23' # 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 @@ -15,7 +15,7 @@ timestamp='2016-05-10' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. +# along with this program; if not, see <https://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ timestamp='2016-05-10' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2016 Free Software Foundation, Inc. +Copyright 1992-2019 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." @@ -89,12 +89,12 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -110,1234 +110,1167 @@ case $# in exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac +# Split fields of configuration type +# shellcheck disable=SC2162 +IFS="-" read field1 field2 field3 field4 <<EOF +$1 +EOF -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos +# Separate into logical components for further validation +case $1 in + *-*-*-*-*) + echo Invalid configuration \`"$1"\': more than four components >&2 + exit 1 ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + *-*-*-*) + basic_machine=$field1-$field2 + os=$field3-$field4 ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ + | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + os=linux-android + ;; + *) + basic_machine=$field1-$field2 + os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + os= + ;; + *) + basic_machine=$field1 + os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + os=bsd + ;; + a29khif) + basic_machine=a29k-amd + os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=scout + ;; + alliant) + basic_machine=fx80-alliant + os= + ;; + altos | altos3068) + basic_machine=m68k-altos + os= + ;; + am29k) + basic_machine=a29k-none + os=bsd + ;; + amdahl) + basic_machine=580-amdahl + os=sysv + ;; + amiga) + basic_machine=m68k-unknown + os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=bsd + ;; + aros) + basic_machine=i386-pc + os=aros + ;; + aux) + basic_machine=m68k-apple + os=aux + ;; + balance) + basic_machine=ns32k-sequent + os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=linux + ;; + cegcc) + basic_machine=arm-unknown + os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=bsd + ;; + convex-c2) + basic_machine=c2-convex + os=bsd + ;; + convex-c32) + basic_machine=c32-convex + os=bsd + ;; + convex-c34) + basic_machine=c34-convex + os=bsd + ;; + convex-c38) + basic_machine=c38-convex + os=bsd + ;; + cray) + basic_machine=j90-cray + os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + os= + ;; + da30) + basic_machine=m68k-da30 + os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + os= + ;; + delta88) + basic_machine=m88k-motorola + os=sysv3 + ;; + dicos) + basic_machine=i686-pc + os=dicos + ;; + djgpp) + basic_machine=i586-pc + os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=ose + ;; + gmicro) + basic_machine=tron-gmicro + os=sysv + ;; + go32) + basic_machine=i386-pc + os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=hms + ;; + harris) + basic_machine=m88k-harris + os=sysv3 + ;; + hp300) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=hpux + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=proelf + ;; + i386mach) + basic_machine=i386-mach + os=mach + ;; + vsta) + basic_machine=i386-pc + os=vsta + ;; + isi68 | isi) + basic_machine=m68k-isi + os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + os=sysv + ;; + merlin) + basic_machine=ns32k-utek + os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + os=coff + ;; + morphos) + basic_machine=powerpc-unknown + os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=moxiebox + ;; + msdos) + basic_machine=i386-pc + os=msdos + ;; + msys) + basic_machine=i686-pc + os=msys + ;; + mvs) + basic_machine=i370-ibm + os=mvs + ;; + nacl) + basic_machine=le32-unknown + os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=newsos + ;; + news1000) + basic_machine=m68030-sony + os=newsos + ;; + necv70) + basic_machine=v70-nec + os=sysv + ;; + nh3000) + basic_machine=m68k-harris + os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=cxux + ;; + nindy960) + basic_machine=i960-intel + os=nindy + ;; + mon960) + basic_machine=i960-intel + os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=ose + ;; + os68k) + basic_machine=m68k-none + os=os68k + ;; + paragon) + basic_machine=i860-intel + os=osf + ;; + parisc) + basic_machine=hppa-unknown + os=linux + ;; + pw32) + basic_machine=i586-unknown + os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=rdos + ;; + rdos32) + basic_machine=i386-pc + os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=coff + ;; + sa29200) + basic_machine=a29k-amd + os=udi + ;; + sei) + basic_machine=mips-sei + os=seiux + ;; + sequent) + basic_machine=i386-sequent + os= + ;; + sps7) + basic_machine=m68k-bull + os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + os= + ;; + stratus) + basic_machine=i860-stratus + os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + os= + ;; + sun2os3) + basic_machine=m68000-sun + os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + os= + ;; + sun3os3) + basic_machine=m68k-sun + os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + os= + ;; + sun4os3) + basic_machine=sparc-sun + os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + os= + ;; + sv1) + basic_machine=sv1-cray + os=unicos + ;; + symmetry) + basic_machine=i386-sequent + os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=unicos + ;; + t90) + basic_machine=t90-cray + os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + os=tpf + ;; + udi29k) + basic_machine=a29k-amd + os=udi + ;; + ultra3) + basic_machine=a29k-nyu + os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=none + ;; + vaxv) + basic_machine=vax-dec + os=sysv + ;; + vms) + basic_machine=vax-dec + os=vms + ;; + vxworks960) + basic_machine=i960-wrs + os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=vxworks + ;; + xbox) + basic_machine=i686-pc + os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + os=unicos + ;; + *) + basic_machine=$1 + os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + op50n) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + op60c) + cpu=hppa1.1 + vendor=oki ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # 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) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos + cpu=m68k + vendor=motorola ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + dpx2*) + cpu=m68k + vendor=bull + os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + os=${os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=solaris2 ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta + j90 | j90-cray) + cpu=j90 + vendor=cray + os=${os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi + cpu=mips + vendor=sgi case $os in - -irix*) + irix*) ;; *) - os=-irix4 + os=irix4 ;; esac ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs + cpu=m68000 + vendor=convergent ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv + cpu=mips + vendor=sony + os=newsos ;; - next | m*-next ) - basic_machine=m68k-next + next | m*-next) + cpu=m68k + vendor=next case $os in - -nextstep* ) + openstep*) + ;; + nextstep*) ;; - -ns2*) - os=-nextstep2 + ns2*) + os=nextstep2 ;; *) - os=-nextstep3 + os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 + cpu=m68k + vendor=tti ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + pc532) + cpu=ns32k + vendor=pc532 ;; pn) - basic_machine=pn-gould + cpu=pn + vendor=gould ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + power) + cpu=power + vendor=ibm ;; ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff + cpu=i386 + vendor=ibm ;; rm[46]00) - basic_machine=mips-siemens + cpu=mips + vendor=siemens ;; rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm + cpu=romp + vendor=ibm ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown + sde) + cpu=mipsisa32 + vendor=sde + os=${os:-elf} ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown + simso-wrs) + cpu=sparclite + vendor=wrs + os=vxworks ;; - sde) - basic_machine=mipsisa32-sde - os=-elf + tower | tower-32) + cpu=m68k + vendor=ncr ;; - sei) - basic_machine=mips-sei - os=-seiux + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - sequent) - basic_machine=i386-sequent + w65) + cpu=w65 + vendor=wdc ;; - sh) - basic_machine=sh-hitachi - os=-hms + w89k-*) + cpu=hppa1.1 + vendor=winbond + os=proelf ;; - sh5el) - basic_machine=sh5le-unknown + none) + cpu=none + vendor=none ;; - sh64) - basic_machine=sh64-unknown + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 + + *-*) + # shellcheck disable=SC2162 + IFS="-" read cpu vendor <<EOF +$basic_machine +EOF ;; - spur) - basic_machine=spur-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) + cpu=$basic_machine + vendor=pc ;; - st2000) - basic_machine=m68k-tandem + # These rules are duplicated from below for sake of the special case above; + # i.e. things that normalized to x86 arches should also default to "pc" + pc98) + cpu=i386 + vendor=pc ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 + x64 | amd64) + cpu=x86_64 + vendor=pc ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + # Recognize the basic CPU types without company name. + *) + cpu=$basic_machine + vendor=unknown ;; - sun2) - basic_machine=m68000-sun +esac + +unset -v basic_machine + +# Decode basic machines in the full and proper CPU-Company form. +case $cpu-$vendor in + # Here we handle the default manufacturer of certain CPU types in canonical form. It is in + # some cases the only manufacturer, in others, it is the most popular. + craynv-unknown) + vendor=cray + os=${os:-unicosmp} ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 + c90-unknown | c90-cray) + vendor=cray + os=${os:-unicos} ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 + fx80-unknown) + vendor=alliant ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 + romp-unknown) + vendor=ibm ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 + mmix-unknown) + vendor=knuth ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 + microblaze-unknown | microblazeel-unknown) + vendor=xilinx ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 + rs6000-unknown) + vendor=ibm ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 + vax-unknown) + vendor=dec ;; - sun3 | sun3-*) - basic_machine=m68k-sun + pdp11-unknown) + vendor=dec ;; - sun4) - basic_machine=sparc-sun + we32k-unknown) + vendor=att ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun + cydra-unknown) + vendor=cydrome ;; - sv1) - basic_machine=sv1-cray - os=-unicos + i370-ibm*) + vendor=ibm ;; - symmetry) - basic_machine=i386-sequent - os=-dynix + orion-unknown) + vendor=highlevel ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos + xps-unknown | xps100-unknown) + cpu=xps100 + vendor=honeywell ;; - t90) - basic_machine=t90-cray - os=-unicos + + # Here we normalize CPU types with a missing or matching vendor + dpx20-unknown | dpx20-bull) + cpu=rs6000 + vendor=bull + os=${os:-bosx} ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu + + # Here we normalize CPU types irrespective of the vendor + amd64-*) + cpu=x86_64 ;; - tx39) - basic_machine=mipstx39-unknown + blackfin-*) + cpu=bfin + os=linux ;; - tx39el) - basic_machine=mipstx39el-unknown + c54x-*) + cpu=tic54x ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 + c55x-*) + cpu=tic55x ;; - tower | tower-32) - basic_machine=m68k-ncr + c6x-*) + cpu=tic6x ;; - tpf) - basic_machine=s390x-ibm - os=-tpf + e500v[12]-*) + cpu=powerpc + os=$os"spe" ;; - udi29k) - basic_machine=a29k-amd - os=-udi + mips3*-*) + cpu=mips64 ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 + ms1-*) + cpu=mt ;; - v810 | necv810) - basic_machine=v810-nec - os=-none + m68knommu-*) + cpu=m68k + os=linux ;; - vaxv) - basic_machine=vax-dec - os=-sysv + m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) + cpu=s12z ;; - vms) - basic_machine=vax-dec - os=-vms + openrisc-*) + cpu=or32 ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu + parisc-*) + cpu=hppa + os=linux ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + cpu=i586 ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks + pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) + cpu=i686 ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + cpu=i686 ;; - w65*) - basic_machine=w65-wdc - os=-none + pentium4-*) + cpu=i786 ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf + pc98-*) + cpu=i386 ;; - xbox) - basic_machine=i686-pc - os=-mingw32 + ppc-* | ppcbe-*) + cpu=powerpc ;; - xps | xps100) - basic_machine=xps100-honeywell + ppcle-* | powerpclittle-*) + cpu=powerpcle ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ppc64-*) + cpu=powerpc64 ;; - ymp) - basic_machine=ymp-cray - os=-unicos + ppc64le-* | powerpc64little-*) + cpu=powerpc64le ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim + sb1-*) + cpu=mipsisa64sb1 ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim + sb1el-*) + cpu=mipsisa64sb1el ;; - none) - basic_machine=none-none - os=-none + sh5e[lb]-*) + cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond + spur-*) + cpu=spur ;; - op50n) - basic_machine=hppa1.1-oki + strongarm-* | thumb-*) + cpu=arm ;; - op60c) - basic_machine=hppa1.1-oki + tx39-*) + cpu=mipstx39 ;; - romp) - basic_machine=romp-ibm + tx39el-*) + cpu=mipstx39el ;; - mmix) - basic_machine=mmix-knuth + x64-*) + cpu=x86_64 ;; - rs6000) - basic_machine=rs6000-ibm + xscale-* | xscalee[bl]-*) + cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - vax) - basic_machine=vax-dec + + # Recognize the canonical CPU Types that limit and/or modify the + # company names they are paired with. + cr16-*) + os=${os:-elf} ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown + crisv32-* | etraxfs*-*) + cpu=crisv32 + vendor=axis ;; - pdp11) - basic_machine=pdp11-dec + cris-* | etrax*-*) + cpu=cris + vendor=axis ;; - we32k) - basic_machine=we32k-att + crx-*) + os=${os:-elf} ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown + neo-tandem) + cpu=neo + vendor=tandem ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun + nse-tandem) + cpu=nse + vendor=tandem ;; - cydra) - basic_machine=cydra-cydrome + nsr-tandem) + cpu=nsr + vendor=tandem ;; - orion) - basic_machine=orion-highlevel + nsv-tandem) + cpu=nsv + vendor=tandem ;; - orion105) - basic_machine=clipper-highlevel + nsx-tandem) + cpu=nsx + vendor=tandem ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple + s390-*) + cpu=s390 + vendor=ibm ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple + s390x-*) + cpu=s390x + vendor=ibm ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. + tile*-*) + os=${os:-linux-gnu} ;; + *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | amdgcn \ + | arc | arceb \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bpf | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | 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 \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k | nvptx \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | picochip \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv64 \ + | rl78 | romp | rs6000 | rx \ + | score \ + | sh | shl \ + | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | w65 \ + | wasm32 | wasm64 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1345,200 +1278,246 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if [ x$os != x ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + # First match some system type aliases that might get confused + # with valid system types. + # solaris* is a basic system type, with this one exception. + auroraux) + os=auroraux ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` + bluegene*) + os=cnk ;; - -solaris) - os=-solaris2 + solaris1 | solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; - -svr4*) - os=-sysv4 + solaris) + os=solaris2 ;; - -unixware*) - os=-sysv4.2uw + unixware*) + os=sysv4.2uw ;; - -gnu/linux*) + gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # es1800 is here to avoid being matched by es* (a different OS) + es1800*) + os=ose + ;; + # Some version numbers need modification + chorusos*) + os=chorusos + ;; + isc) + os=isc2.2 + ;; + sco6) + os=sco5v6 + ;; + sco5) + os=sco3.2v5 + ;; + sco4) + os=sco3.2v4 + ;; + sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + ;; + sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + scout) + # Don't match below + ;; + sco*) + os=sco3.2v2 + ;; + psos*) + os=psos + ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix*) + # Each alternative MUST end in a * to match a version number. + # sysv* is not here because it comes later, after sysvr4. + gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | kopensolaris* | plan9* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | knetbsd* | mirbsd* | netbsd* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* \ + | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ + | linux-newlib* | linux-musl* | linux-uclibc* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* \ + | morphos* | superux* | rtmk* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi*) # Remember, each alternative MUST END IN *, to match a version number. ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) + qnx*) + case $cpu in + x86 | i*86) ;; *) - os=-nto$os + os=nto-$os ;; esac ;; - -nto-qnx*) + hiux*) + os=hiuxwe2 ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` + nto-qnx*) ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` + sim | xray | os68k* | v88r* \ + | windows* | osx | abug | netware* | os9* \ + | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) ;; - -linux-dietlibc) - os=-linux-dietlibc + linux-dietlibc) + os=linux-dietlibc ;; - -linux*) + linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` + lynx*178) + os=lynxos178 ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` + lynx*5) + os=lynxos5 ;; - -opened*) - os=-openedition + lynx*) + os=lynxos ;; - -os400*) - os=-os400 + mac*) + os=`echo "$os" | sed -e 's|mac|macos|'` ;; - -wince*) - os=-wince + opened*) + os=openedition ;; - -osfrose*) - os=-osfrose + os400*) + os=os400 ;; - -osf*) - os=-osf + sunos5*) + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; - -utek*) - os=-bsd + sunos6*) + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; - -dynix*) - os=-bsd + wince*) + os=wince ;; - -acis*) - os=-aos + utek*) + os=bsd ;; - -atheos*) - os=-atheos + dynix*) + os=bsd ;; - -syllable*) - os=-syllable + acis*) + os=aos ;; - -386bsd) - os=-bsd + atheos*) + os=atheos ;; - -ctix* | -uts*) - os=-sysv + syllable*) + os=syllable ;; - -nova*) - os=-rtmk-nova + 386bsd) + os=bsd + ;; + ctix* | uts*) + os=sysv + ;; + nova*) + os=rtmk-nova ;; - -ns2 ) - os=-nextstep2 + ns2) + os=nextstep2 ;; - -nsk*) - os=-nsk + nsk*) + os=nsk ;; # Preserve the version number of sinix5. - -sinix5.*) + sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; - -sinix*) - os=-sysv4 + sinix*) + os=sysv4 ;; - -tpf*) - os=-tpf + tpf*) + os=tpf ;; - -triton*) - os=-sysv3 + triton*) + os=sysv3 ;; - -oss*) - os=-sysv3 + oss*) + os=sysv3 ;; - -svr4) - os=-sysv4 + svr4*) + os=sysv4 ;; - -svr3) - os=-sysv3 + svr3) + os=sysv3 ;; - -sysvr4) - os=-sysv4 + sysvr4) + os=sysv4 ;; - # This must come after -sysvr4. - -sysv*) + # This must come after sysvr4. + sysv*) ;; - -ose*) - os=-ose + ose*) + os=ose ;; - -es1800*) - os=-ose + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + os=mint ;; - -xenix) - os=-xenix + zvmoe) + os=zvmoe ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + dicos*) + os=dicos ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe + pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $cpu in + arm*) + os=eabi + ;; + *) + os=elf + ;; + esac ;; - -dicos*) - os=-dicos + nacl*) ;; - -nacl*) + ios) ;; - -ios) + none) ;; - -none) + *-eabi) ;; *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac @@ -1554,261 +1533,265 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + os=linux ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; - *-be) - os=-beos + pru-*) + os=elf ;; - *-haiku) - os=-haiku + *-be) + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; - *-next ) - os=-nextstep + *-next) + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) +case $vendor in + unknown) case $os in - -riscix*) + riscix*) vendor=acorn ;; - -sunos*) + sunos*) vendor=sun ;; - -cnk*|-aix*) + cnk*|-aix*) vendor=ibm ;; - -beos*) + beos*) vendor=be ;; - -hpux*) + hpux*) vendor=hp ;; - -mpeix*) + mpeix*) vendor=hp ;; - -hiux*) + hiux*) vendor=hitachi ;; - -unos*) + unos*) vendor=crds ;; - -dgux*) + dgux*) vendor=dg ;; - -luna*) + luna*) vendor=omron ;; - -genix*) + genix*) vendor=ns ;; - -mvs* | -opened*) + clix*) + vendor=intergraph + ;; + mvs* | opened*) vendor=ibm ;; - -os400*) + os400*) vendor=ibm ;; - -ptx*) + ptx*) vendor=sequent ;; - -tpf*) + tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + vxsim* | vxworks* | windiss*) vendor=wrs ;; - -aux*) + aux*) vendor=apple ;; - -hms*) + hms*) vendor=hitachi ;; - -mpw* | -macos*) + mpw* | macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; - -vos*) + vos*) vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$cpu-$vendor-$os" exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'"
This update includes support for the C-SKY architecture. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- Note: this was suggested by Peter for next, instead of just patching the files to add csky support. It should be applied after cherry-picking 910b431d6383cd1ce4cd9eeb0a8466cb977c3789 from master. --- support/gnuconfig/README.buildroot | 2 +- support/gnuconfig/config.guess | 836 +++++---- support/gnuconfig/config.sub | 2525 ++++++++++++++-------------- 3 files changed, 1774 insertions(+), 1589 deletions(-)