* [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates @ 2019-05-28 20:34 Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE Thomas Petazzoni ` (5 more replies) 0 siblings, 6 replies; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot Hello, Here is a second iteration of the C-SKY updates, with a few more changes on the gnuconfig side: - Some preparation commits that unify how non-autotools package update their gnuconfig files - The patch updating gnuconfig to a newer version now updates the gnuconfig version mentioned in support/gnuconfig/README.buildroot - The rest of the patch series is unchanged. Thanks, Thomas Thomas Petazzoni (6): package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE support/gnuconfig: update README.buildroot with reality support/gnuconfig: update to 2019-05-28 toolchain/toolchain-external/toolchain-external-csky: new package configs/csky_gx6605s: use the C-SKY external toolchain package support/config-fragments/autobuild: add testing for the C-SKY architecture DEVELOPERS | 1 + configs/csky_gx6605s_defconfig | 9 +- package/lmbench/lmbench.mk | 3 +- .../config-fragments/autobuild/csky.config | 3 + .../autobuild/toolchain-configs.csv | 1 + support/gnuconfig/README.buildroot | 4 +- support/gnuconfig/config.guess | 836 +++--- support/gnuconfig/config.sub | 2525 ++++++++--------- toolchain/toolchain-external/Config.in | 6 + .../toolchain-external-csky/Config.in | 15 + .../toolchain-external-csky/Config.in.options | 9 + .../toolchain-external-csky.hash | 2 + .../toolchain-external-csky.mk | 11 + 13 files changed, 1827 insertions(+), 1598 deletions(-) create mode 100644 support/config-fragments/autobuild/csky.config create mode 100644 toolchain/toolchain-external/toolchain-external-csky/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-csky/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.hash create mode 100644 toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.mk -- 2.21.0 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni @ 2019-05-28 20:34 ` Thomas Petazzoni 2019-05-30 10:33 ` Peter Korsgaard 2019-05-28 20:34 ` [Buildroot] [PATCH v2 2/6] support/gnuconfig: update README.buildroot with reality Thomas Petazzoni ` (4 subsequent siblings) 5 siblings, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot jimtcl, perl, usb_modeswitch and x264 are registering UPDATE_CONFIG_HOOK as a post patch hook to get their gnuconfig files updated. lmbench is the only package calling CONFIG_UPDATE directly, so for consistency, let's make it use the same logic as jimtcl, perl, usb_modeswitch and x264. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- package/lmbench/lmbench.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk index c52d6a5a39..2f3b19b5f8 100644 --- a/package/lmbench/lmbench.mk +++ b/package/lmbench/lmbench.mk @@ -18,8 +18,9 @@ LMBENCH_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` LMBENCH_LDLIBS = `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` endif +LMBENCH_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK + define LMBENCH_CONFIGURE_CMDS - $(call CONFIG_UPDATE,$(@D)) sed -i 's/CFLAGS=/CFLAGS+=/g' $(@D)/src/Makefile sed -i 's/LDLIBS=/LDLIBS+=/g' $(@D)/scripts/build sed -i '/cd .*doc/d' $(@D)/src/Makefile -- 2.21.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE 2019-05-28 20:34 ` [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE Thomas Petazzoni @ 2019-05-30 10:33 ` Peter Korsgaard 0 siblings, 0 replies; 18+ messages in thread From: Peter Korsgaard @ 2019-05-30 10:33 UTC (permalink / raw) To: buildroot >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > jimtcl, perl, usb_modeswitch and x264 are registering > UPDATE_CONFIG_HOOK as a post patch hook to get their gnuconfig files > updated. lmbench is the only package calling CONFIG_UPDATE directly, > so for consistency, let's make it use the same logic as jimtcl, perl, > usb_modeswitch and x264. > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Committed to next, thanks. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 2/6] support/gnuconfig: update README.buildroot with reality 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE Thomas Petazzoni @ 2019-05-28 20:34 ` Thomas Petazzoni 2019-05-30 10:34 ` Peter Korsgaard 2019-05-28 20:34 ` [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 Thomas Petazzoni ` (3 subsequent siblings) 5 siblings, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot 4 out of 5 packages who are not using autotools but needed their gnuconfig files updated were not complying with the recommandation in support/gnuconfig/README.buildroot. The fifth package was converted to be like the others: use UPDATE_CONFIG_HOOK as a <pkg>_POST_PATCH_HOOKS rather than calling the CONFIG_UPDATE macro directly. Now that all packages are consistent, update the README.buildroot file to match the reality. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- support/gnuconfig/README.buildroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/gnuconfig/README.buildroot b/support/gnuconfig/README.buildroot index a71ed93010..7ba2a332a4 100644 --- a/support/gnuconfig/README.buildroot +++ b/support/gnuconfig/README.buildroot @@ -10,7 +10,7 @@ If for some reason your package does not use the autotools-package infrastructure, you can request the config.guess and/or config.sub files of your package to be updated by using: - $(call CONFIG_UPDATE,directory-of-your-package-sources) +<pkg>_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK --- UPDATE --- GNU config is now managed in git, so to update: -- 2.21.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 2/6] support/gnuconfig: update README.buildroot with reality 2019-05-28 20:34 ` [Buildroot] [PATCH v2 2/6] support/gnuconfig: update README.buildroot with reality Thomas Petazzoni @ 2019-05-30 10:34 ` Peter Korsgaard 0 siblings, 0 replies; 18+ messages in thread From: Peter Korsgaard @ 2019-05-30 10:34 UTC (permalink / raw) To: buildroot >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > 4 out of 5 packages who are not using autotools but needed their > gnuconfig files updated were not complying with the recommandation in > support/gnuconfig/README.buildroot. The fifth package was converted to > be like the others: use UPDATE_CONFIG_HOOK as a <pkg>_POST_PATCH_HOOKS > rather than calling the CONFIG_UPDATE macro directly. > Now that all packages are consistent, update the README.buildroot file > to match the reality. > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Committed to next, thanks. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 2/6] support/gnuconfig: update README.buildroot with reality Thomas Petazzoni @ 2019-05-28 20:34 ` Thomas Petazzoni 2019-05-30 10:36 ` Peter Korsgaard ` (2 more replies) 2019-05-28 20:34 ` [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package Thomas Petazzoni ` (2 subsequent siblings) 5 siblings, 3 replies; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot 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(-) 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 at 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 at stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green at 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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-28 20:34 ` [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 Thomas Petazzoni @ 2019-05-30 10:36 ` Peter Korsgaard 2019-05-30 12:38 ` Thomas Petazzoni 2019-05-31 20:04 ` Yann E. MORIN 2019-05-31 21:02 ` Thomas Petazzoni 2 siblings, 1 reply; 18+ messages in thread From: Peter Korsgaard @ 2019-05-30 10:36 UTC (permalink / raw) To: buildroot >>>>> "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? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-30 10:36 ` Peter Korsgaard @ 2019-05-30 12:38 ` Thomas Petazzoni 2019-05-30 12:53 ` Peter Korsgaard 0 siblings, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-30 12:38 UTC (permalink / raw) To: buildroot 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 Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-30 12:38 ` Thomas Petazzoni @ 2019-05-30 12:53 ` Peter Korsgaard 2019-05-31 12:57 ` Thomas Petazzoni 0 siblings, 1 reply; 18+ messages in thread From: Peter Korsgaard @ 2019-05-30 12:53 UTC (permalink / raw) To: buildroot >>>>> "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? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-30 12:53 ` Peter Korsgaard @ 2019-05-31 12:57 ` Thomas Petazzoni 2019-05-31 21:02 ` Peter Korsgaard 0 siblings, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-31 12:57 UTC (permalink / raw) To: buildroot 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 Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-31 12:57 ` Thomas Petazzoni @ 2019-05-31 21:02 ` Peter Korsgaard 0 siblings, 0 replies; 18+ messages in thread From: Peter Korsgaard @ 2019-05-31 21:02 UTC (permalink / raw) To: buildroot >>>>> "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. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-28 20:34 ` [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 Thomas Petazzoni 2019-05-30 10:36 ` Peter Korsgaard @ 2019-05-31 20:04 ` Yann E. MORIN 2019-05-31 21:02 ` Thomas Petazzoni 2 siblings, 0 replies; 18+ messages in thread From: Yann E. MORIN @ 2019-05-31 20:04 UTC (permalink / raw) To: buildroot 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 at 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 at stratus.com. > - echo ${UNAME_MACHINE}-stratus-vos > + echo "$UNAME_MACHINE"-stratus-vos > exit ;; > *:VOS:*:*) > # From Paul.Green at 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 at 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 at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 2019-05-28 20:34 ` [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 Thomas Petazzoni 2019-05-30 10:36 ` Peter Korsgaard 2019-05-31 20:04 ` Yann E. MORIN @ 2019-05-31 21:02 ` Thomas Petazzoni 2 siblings, 0 replies; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-31 21:02 UTC (permalink / raw) To: 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 Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni ` (2 preceding siblings ...) 2019-05-28 20:34 ` [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 Thomas Petazzoni @ 2019-05-28 20:34 ` Thomas Petazzoni 2019-05-29 5:48 ` Guo Ren 2019-05-28 20:34 ` [Buildroot] [PATCH v2 5/6] configs/csky_gx6605s: use the C-SKY external toolchain package Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 6/6] support/config-fragments/autobuild: add testing for the C-SKY architecture Thomas Petazzoni 5 siblings, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot Currently, the csky_gx6605s_defconfig uses a custom pre-built external C-SKY toolchain. Rather than using it just for a defconfig, let's create a proper package for this toolchain, which will make it easier to use. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- Guo: I've list you as the developer in charge of this package in the DEVELOPERS, please let me know if this is OK for you (or not). Thanks! --- DEVELOPERS | 1 + toolchain/toolchain-external/Config.in | 6 ++++++ .../toolchain-external-csky/Config.in | 15 +++++++++++++++ .../toolchain-external-csky/Config.in.options | 9 +++++++++ .../toolchain-external-csky.hash | 2 ++ .../toolchain-external-csky.mk | 11 +++++++++++ 6 files changed, 44 insertions(+) create mode 100644 toolchain/toolchain-external/toolchain-external-csky/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-csky/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.hash create mode 100644 toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.mk diff --git a/DEVELOPERS b/DEVELOPERS index 66dc2504ff..c3dce03f53 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -977,6 +977,7 @@ N: Guo Ren <ren_guo@c-sky.com> F: arch/Config.in.csky F: board/csky/ F: configs/csky_* +F: toolchain/toolchain-external/toolchain-external-csky/ N: Gustavo Pimentel <gustavo.pimentel@synopsys.com> F: configs/arm_juno_defconfig diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index d234c1c552..76c127aa4a 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -34,6 +34,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config. # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" +# C-SKY +source "toolchain/toolchain-external/toolchain-external-csky/Config.in" + # MIPS (use codesourcery toolchain by default) source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" @@ -138,6 +141,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config. # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" +# C-SKY +source "toolchain/toolchain-external/toolchain-external-csky/Config.in.options" + # MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" diff --git a/toolchain/toolchain-external/toolchain-external-csky/Config.in b/toolchain/toolchain-external/toolchain-external-csky/Config.in new file mode 100644 index 0000000000..6ad27d5dd9 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-csky/Config.in @@ -0,0 +1,15 @@ +config BR2_TOOLCHAIN_EXTERNAL_CSKY + bool "C-SKY 2018.01.28" + depends on BR2_csky + depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + help + C-SKY glibc toolchain. + + https://github.com/c-sky/tools/ diff --git a/toolchain/toolchain-external/toolchain-external-csky/Config.in.options b/toolchain/toolchain-external/toolchain-external-csky/Config.in.options new file mode 100644 index 0000000000..e77dd0a195 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-csky/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CSKY + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "csky-linux" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-csky" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.hash b/toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.hash new file mode 100644 index 0000000000..4c97a90eb8 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 39317f9bea5aa92d6e09269cc5ce00a93914ab7060a498e0be9feee3c0d56e9c csky-linux-tools-x86_64-glibc-linux-4.9.56-20180128.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.mk b/toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.mk new file mode 100644 index 0000000000..2f5c26c00a --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-csky/toolchain-external-csky.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# toolchain-external-csky +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CSKY_VERSION = 20180128 +TOOLCHAIN_EXTERNAL_CSKY_SITE = https://github.com/c-sky/tools/raw/master +TOOLCHAIN_EXTERNAL_CSKY_SOURCE = csky-linux-tools-x86_64-glibc-linux-4.9.56-$(TOOLCHAIN_EXTERNAL_CSKY_VERSION).tar.gz + +$(eval $(toolchain-external-package)) -- 2.21.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package 2019-05-28 20:34 ` [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package Thomas Petazzoni @ 2019-05-29 5:48 ` Guo Ren 2019-05-29 6:49 ` Thomas Petazzoni 0 siblings, 1 reply; 18+ messages in thread From: Guo Ren @ 2019-05-29 5:48 UTC (permalink / raw) To: buildroot Thx Thomas, On Wed, May 29, 2019 at 4:34 AM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > Currently, the csky_gx6605s_defconfig uses a custom pre-built external > C-SKY toolchain. Rather than using it just for a defconfig, let's > create a proper package for this toolchain, which will make it easier > to use. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- > Guo: I've list you as the developer in charge of this package in the > DEVELOPERS, please let me know if this is OK for you (or not). Thanks! I'll delete toolchain-external-csky after toolchain buildroot is ready. csky-linux-tools-x86_64-glibc-linux-4.9.56-20180128.tar.gz is only support abiv1: ck610. For abiv2: ck807, ck810, ck860 need another toolchain. So I don't want to add toolchain-external-csky and I'll change gx6605s_defconfig to toolchain buildroot in future. Best Regards Guo Ren ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package 2019-05-29 5:48 ` Guo Ren @ 2019-05-29 6:49 ` Thomas Petazzoni 0 siblings, 0 replies; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-29 6:49 UTC (permalink / raw) To: buildroot Hello Guo, On Wed, 29 May 2019 13:48:31 +0800 Guo Ren <guoren@kernel.org> wrote: > I'll delete toolchain-external-csky after toolchain buildroot is ready. > csky-linux-tools-x86_64-glibc-linux-4.9.56-20180128.tar.gz is only > support abiv1: ck610. > For abiv2: ck807, ck810, ck860 need another toolchain. > > So I don't want to add toolchain-external-csky and I'll change > gx6605s_defconfig to toolchain > buildroot in future. OK. This makes the second part of my patch series a bit useless then, I'll mark patches 4/6 to 6/6 as Rejected then. Thanks for the feedback! Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 5/6] configs/csky_gx6605s: use the C-SKY external toolchain package 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni ` (3 preceding siblings ...) 2019-05-28 20:34 ` [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package Thomas Petazzoni @ 2019-05-28 20:34 ` Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 6/6] support/config-fragments/autobuild: add testing for the C-SKY architecture Thomas Petazzoni 5 siblings, 0 replies; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- configs/csky_gx6605s_defconfig | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/configs/csky_gx6605s_defconfig b/configs/csky_gx6605s_defconfig index d0a2aadc6d..691f970844 100644 --- a/configs/csky_gx6605s_defconfig +++ b/configs/csky_gx6605s_defconfig @@ -1,12 +1,7 @@ BR2_csky=y BR2_GLOBAL_PATCH_DIR="board/csky/gx6605s/patches" -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/c-sky/tools/raw/master/csky-linux-tools-x86_64-glibc-linux-4.9.56-20180128.tar.gz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="csky-linux" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CSKY=y BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_LINUX_KERNEL=y -- 2.21.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v2 6/6] support/config-fragments/autobuild: add testing for the C-SKY architecture 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni ` (4 preceding siblings ...) 2019-05-28 20:34 ` [Buildroot] [PATCH v2 5/6] configs/csky_gx6605s: use the C-SKY external toolchain package Thomas Petazzoni @ 2019-05-28 20:34 ` Thomas Petazzoni 5 siblings, 0 replies; 18+ messages in thread From: Thomas Petazzoni @ 2019-05-28 20:34 UTC (permalink / raw) To: buildroot Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- support/config-fragments/autobuild/csky.config | 3 +++ support/config-fragments/autobuild/toolchain-configs.csv | 1 + 2 files changed, 4 insertions(+) create mode 100644 support/config-fragments/autobuild/csky.config diff --git a/support/config-fragments/autobuild/csky.config b/support/config-fragments/autobuild/csky.config new file mode 100644 index 0000000000..c3275efc4b --- /dev/null +++ b/support/config-fragments/autobuild/csky.config @@ -0,0 +1,3 @@ +BR2_csky=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CSKY=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv index 15a69d60ee..3da53556d3 100644 --- a/support/config-fragments/autobuild/toolchain-configs.csv +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -59,6 +59,7 @@ support/config-fragments/autobuild/br-sparc64-glibc.config,x86_64 support/config-fragments/autobuild/br-x86-64-core2-full.config,x86_64 support/config-fragments/autobuild/br-xtensa-full.config,x86_64 support/config-fragments/autobuild/br-xtensa-full-internal.config,any +support/config-fragments/autobuild/csky.config,x86_64 support/config-fragments/autobuild/linaro-aarch64.config,x86 support/config-fragments/autobuild/linaro-aarch64-be.config,x86 support/config-fragments/autobuild/linaro-arm.config,x86 -- 2.21.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2019-05-31 21:02 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-05-28 20:34 [Buildroot] [PATCH v2 0/6] gnuconfig and csky updates Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 1/6] package/lmbench: use UPDATE_CONFIG_HOOK instead of CONFIG_UPDATE Thomas Petazzoni 2019-05-30 10:33 ` Peter Korsgaard 2019-05-28 20:34 ` [Buildroot] [PATCH v2 2/6] support/gnuconfig: update README.buildroot with reality Thomas Petazzoni 2019-05-30 10:34 ` Peter Korsgaard 2019-05-28 20:34 ` [Buildroot] [PATCH v2 3/6] support/gnuconfig: update to 2019-05-28 Thomas Petazzoni 2019-05-30 10:36 ` Peter Korsgaard 2019-05-30 12:38 ` Thomas Petazzoni 2019-05-30 12:53 ` Peter Korsgaard 2019-05-31 12:57 ` Thomas Petazzoni 2019-05-31 21:02 ` Peter Korsgaard 2019-05-31 20:04 ` Yann E. MORIN 2019-05-31 21:02 ` Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 4/6] toolchain/toolchain-external/toolchain-external-csky: new package Thomas Petazzoni 2019-05-29 5:48 ` Guo Ren 2019-05-29 6:49 ` Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 5/6] configs/csky_gx6605s: use the C-SKY external toolchain package Thomas Petazzoni 2019-05-28 20:34 ` [Buildroot] [PATCH v2 6/6] support/config-fragments/autobuild: add testing for the C-SKY architecture Thomas Petazzoni
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.