diff options
| author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2022-10-24 21:04:00 +0200 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2022-10-24 21:04:00 +0200 | 
| commit | 3422d8db505630a70bc89a4eee7db927b8e5ec2f (patch) | |
| tree | f0c6e1ba7db9991f2bd38c9169f9921bfe5e61d8 /build-aux | |
| parent | df5167db909a88fb8e16dd20b37442495a6ac059 (diff) | |
| parent | aab49e5a013c53ae812a143fe41add74e0677a61 (diff) | |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'build-aux')
| -rwxr-xr-x | build-aux/ar-lib | 19 | ||||
| -rwxr-xr-x | build-aux/compile | 12 | ||||
| -rwxr-xr-x | build-aux/config.guess | 1610 | ||||
| -rwxr-xr-x | build-aux/config.sub | 2666 | ||||
| -rwxr-xr-x | build-aux/depcomp | 8 | ||||
| -rwxr-xr-x | build-aux/install-sh | 172 | ||||
| -rwxr-xr-x | build-aux/ltmain.sh | 855 | ||||
| -rwxr-xr-x | build-aux/missing | 14 | ||||
| -rwxr-xr-x | build-aux/test-driver | 29 | 
9 files changed, 3019 insertions, 2366 deletions
| diff --git a/build-aux/ar-lib b/build-aux/ar-lib index 05094d3..c349042 100755 --- a/build-aux/ar-lib +++ b/build-aux/ar-lib @@ -2,9 +2,9 @@  # Wrapper for Microsoft lib.exe  me=ar-lib -scriptversion=2012-03-01.08; # UTC +scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2017 Free Software Foundation, Inc. +# Copyright (C) 2010-2021 Free Software Foundation, Inc.  # Written by Peter Rosin <peda@lysator.liu.se>.  #  # This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ scriptversion=2012-03-01.08; # UTC  # GNU 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 @@ -53,7 +53,7 @@ func_file_conv ()  	  MINGW*)  	    file_conv=mingw  	    ;; -	  CYGWIN*) +	  CYGWIN* | MSYS*)  	    file_conv=cygwin  	    ;;  	  *) @@ -65,7 +65,7 @@ func_file_conv ()  	mingw)  	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`  	  ;; -	cygwin) +	cygwin | msys)  	  file=`cygpath -m "$file" || echo "$file"`  	  ;;  	wine) @@ -224,10 +224,11 @@ elif test -n "$extract"; then        esac      done    else -    $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member -    do -      $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? -    done +    $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ +      | while read member +        do +          $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? +        done    fi  elif test -n "$quick$replace"; then diff --git a/build-aux/compile b/build-aux/compile index 2ab71e4..df363c8 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -1,9 +1,9 @@  #! /bin/sh  # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc.  # Written by Tom Tromey <tromey@cygnus.com>.  #  # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC  # GNU 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 @@ -53,7 +53,7 @@ func_file_conv ()  	  MINGW*)  	    file_conv=mingw  	    ;; -	  CYGWIN*) +	  CYGWIN* | MSYS*)  	    file_conv=cygwin  	    ;;  	  *) @@ -67,7 +67,7 @@ func_file_conv ()  	mingw/*)  	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`  	  ;; -	cygwin/*) +	cygwin/* | msys/*)  	  file=`cygpath -m "$file" || echo "$file"`  	  ;;  	wine/*) @@ -340,7 +340,7 @@ exit $ret  # Local Variables:  # mode: shell-script  # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp)  # time-stamp-start: "scriptversion="  # time-stamp-format: "%:y-%02m-%02d.%02H"  # time-stamp-time-zone: "UTC0" diff --git a/build-aux/config.guess b/build-aux/config.guess index 1bf683d..8fbd7fe 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -1,8 +1,10 @@  #! /bin/sh  # Attempt to guess a canonical system name. -#   Copyright 1992-2017 Free Software Foundation, Inc. +#   Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2017-05-27' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-06-03'  # 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 +17,7 @@ timestamp='2017-05-27'  # 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,11 +29,19 @@ timestamp='2017-05-27'  # 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/cgit/config.git/plain/config.guess  #  # Please send patches to <config-patches@gnu.org>. +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX.  However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +  me=`echo "$0" | sed -e 's,.*/,,'`  usage="\ @@ -39,7 +49,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 +60,7 @@ version="\  GNU config.guess ($timestamp)  Originally written by Per Bothner. -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2021 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,7 +94,8 @@ if test $# != 0; then    exit 1  fi -trap 'exit 1' 1 2 15 +# Just in case it came from the environment. +GUESS=  # 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 @@ -96,60 +107,84 @@ 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() { +    # prevent multiple calls if $tmp is already set +    test "$tmp" && return 0 +    : "${TMPDIR=/tmp}" +    # shellcheck disable=SC2039,SC3028 +    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || +	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || +	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || +	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } +    dummy=$tmp/dummy +    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in +	,,)    echo "int x;" > "$dummy.c" +	       for driver in cc gcc c89 c99 ; do +		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then +		       CC_FOR_BUILD=$driver +		       break +		   fi +	       done +	       if test x"$CC_FOR_BUILD" = x ; then +		   CC_FOR_BUILD=no_compiler_found +	       fi +	       ;; +	,,*)   CC_FOR_BUILD=$CC ;; +	,*,*)  CC_FOR_BUILD=$HOST_CC ;; +    esac +}  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.  # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then  	PATH=$PATH:/.attbin ; export PATH  fi  UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown  UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=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 +	LIBC=unknown -	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  	#elif defined(__dietlibc__)  	LIBC=dietlibc -	#else +	#elif defined(__GLIBC__)  	LIBC=gnu +	#else +	#include <stdarg.h> +	/* First heuristic to detect musl libc.  */ +	#ifdef __DEFINED_va_list +	LIBC=musl +	#endif  	#endif  	EOF -	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` +	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` +	eval "$cc_set_libc" + +	# Second heuristic to detect musl libc. +	if [ "$LIBC" = unknown ] && +	   command -v ldd >/dev/null && +	   ldd --version 2>&1 | grep -q ^musl; then +		LIBC=musl +	fi + +	# If the system lacks a compiler, then just pick glibc. +	# We could probably try harder. +	if [ "$LIBC" = unknown ]; then +		LIBC=gnu +	fi  	;;  esac @@ -162,10 +197,11 @@ case "${UNAME_MACHINE}" in       ;;  esac  test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse +test -f /etc/os-release && grep -q suse /etc/os-release && VENDOR=suse  # 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*, @@ -177,32 +213,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in  	#  	# Note: NetBSD doesn't particularly care about the vendor  	# 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 -n hw.machine_arch 2>/dev/null || \ +	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \  	    echo unknown)` -	case "${UNAME_MACHINE_ARCH}" in +	case $UNAME_MACHINE_ARCH in +	    aarch64eb) machine=aarch64_be-unknown ;;  	    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}-${VENDOR}-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}-${VENDOR}-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 @@ -218,10 +254,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 @@ -229,47 +265,68 @@ 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}" -	exit ;; +	GUESS=$machine-${os}${release}${abi-} +	;;      *:Bitrig:*:*)  	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` -	echo ${UNAME_MACHINE_ARCH}-${VENDOR}-bitrig${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE_ARCH-${VENDOR}-bitrig$UNAME_RELEASE +	;;      *:OpenBSD:*:*)  	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` -	echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE_ARCH-${VENDOR}-openbsd$UNAME_RELEASE +	;; +    *:SecBSD:*:*) +	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` +	GUESS=$UNAME_MACHINE_ARCH-${VENDOR}-secbsd$UNAME_RELEASE +	;;      *:LibertyBSD:*:*)  	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` -	echo ${UNAME_MACHINE_ARCH}-${VENDOR}-libertybsd${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE_ARCH-${VENDOR}-libertybsd$UNAME_RELEASE +	;; +    *:MidnightBSD:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-midnightbsd$UNAME_RELEASE +	;;      *:ekkoBSD:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-ekkobsd$UNAME_RELEASE +	;;      *:SolidBSD:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-solidbsd$UNAME_RELEASE +	;; +    *:OS108:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-os108_$UNAME_RELEASE +	;;      macppc:MirBSD:*:*) -	echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE} -	exit ;; +	GUESS=powerpc-${VENDOR}-mirbsd$UNAME_RELEASE +	;;      *:MirBSD:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-mirbsd$UNAME_RELEASE +	;;      *:Sortix:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-sortix -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-sortix +	;; +    *:Twizzler:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-twizzler +	;; +    *:Redox:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-redox +	;; +    mips:OSF1:*.*) +	GUESS=mips-dec-osf1 +	;;      alpha:OSF1:*:*) +	# Reset EXIT trap before exiting to avoid spurious non-zero exit code. +	trap '' 0  	case $UNAME_RELEASE in  	*4.0)  		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -283,7 +340,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in  	# covers most systems running today.  This code pipes the CPU  	# types through head -n 1, so we only detect the type of CPU 0.  	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1` -	case "$ALPHA_CPU_TYPE" in +	case $ALPHA_CPU_TYPE in  	    "EV4 (21064)")  		UNAME_MACHINE=alpha ;;  	    "EV4.5 (21064)") @@ -320,84 +377,76 @@ 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` -	# 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 ;; +	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` +	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL +	;;      Amiga*:UNIX_System_V:4.0:*) -	echo m68k-${VENDOR}-sysv4 -	exit ;; +	GUESS=m68k-${VENDOR}-sysv4 +	;;      *:[Aa]miga[Oo][Ss]:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-amigaos -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-amigaos +	;;      *:[Mm]orph[Oo][Ss]:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-morphos -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-morphos +	;;      *:OS/390:*:*) -	echo i370-ibm-openedition -	exit ;; +	GUESS=i370-ibm-openedition +	;;      *:z/VM:*:*) -	echo s390-ibm-zvmoe -	exit ;; +	GUESS=s390-ibm-zvmoe +	;;      *:OS400:*:*) -	echo powerpc-ibm-os400 -	exit ;; +	GUESS=powerpc-ibm-os400 +	;;      arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) -	echo arm-acorn-riscix${UNAME_RELEASE} -	exit ;; +	GUESS=arm-acorn-riscix$UNAME_RELEASE +	;;      arm*:riscos:*:*|arm*:RISCOS:*:*) -	echo arm-${VENDOR}-riscos -	exit ;; +	GUESS=arm-${VENDOR}-riscos +	;;      SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -	echo hppa1.1-hitachi-hiuxmpp -	exit ;; +	GUESS=hppa1.1-hitachi-hiuxmpp +	;;      Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)  	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. -	if test "`(/bin/universe) 2>/dev/null`" = att ; then -		echo pyramid-pyramid-sysv3 -	else -		echo pyramid-pyramid-bsd -	fi -	exit ;; +	case `(/bin/universe) 2>/dev/null` in +	    att) GUESS=pyramid-pyramid-sysv3 ;; +	    *)   GUESS=pyramid-pyramid-bsd   ;; +	esac +	;;      NILE*:*:*:dcosx) -	echo pyramid-pyramid-svr4 -	exit ;; +	GUESS=pyramid-pyramid-svr4 +	;;      DRS?6000:unix:4.0:6*) -	echo sparc-icl-nx6 -	exit ;; +	GUESS=sparc-icl-nx6 +	;;      DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)  	case `/usr/bin/uname -p` in -	    sparc) echo sparc-icl-nx7; exit ;; -	esac ;; +	    sparc) GUESS=sparc-icl-nx7 ;; +	esac +	;;      s390x:SunOS:*:*) -	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` +	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL +	;;      sun4H:SunOS:5.*:*) -	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` +	GUESS=sparc-hal-solaris2$SUN_REL +	;;      sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) -	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` +	GUESS=sparc-sun-solaris2$SUN_REL +	;;      i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) -	echo i386-pc-auroraux${UNAME_RELEASE} -	exit ;; +	GUESS=i386-pc-auroraux$UNAME_RELEASE +	;;      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.  	# This test works for both compilers. -	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then +	if test "$CC_FOR_BUILD" != no_compiler_found; then  	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \  		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \  		grep IS_64BIT_ARCH >/dev/null @@ -405,41 +454,44 @@ 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/[^.]*//'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` +	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL +	;;      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/[^.]*//'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` +	GUESS=sparc-sun-solaris3$SUN_REL +	;;      sun4*:SunOS:*:*) -	case "`/usr/bin/arch -k`" in +	case `/usr/bin/arch -k` in  	    Series*|S4*)  		UNAME_RELEASE=`uname -v`  		;;  	esac  	# Japanese Language versions have a version number like `4.1.3-JL'. -	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` +	GUESS=sparc-sun-sunos$SUN_REL +	;;      sun3*:SunOS:*:*) -	echo m68k-sun-sunos${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-sun-sunos$UNAME_RELEASE +	;;      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 -	case "`/bin/arch`" in +	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 +	case `/bin/arch` in  	    sun3) -		echo m68k-sun-sunos${UNAME_RELEASE} +		GUESS=m68k-sun-sunos$UNAME_RELEASE  		;;  	    sun4) -		echo sparc-sun-sunos${UNAME_RELEASE} +		GUESS=sparc-sun-sunos$UNAME_RELEASE  		;;  	esac -	exit ;; +	;;      aushp:SunOS:*:*) -	echo sparc-auspex-sunos${UNAME_RELEASE} -	exit ;; +	GUESS=sparc-auspex-sunos$UNAME_RELEASE +	;;      # The situation for MiNT is a little confusing.  The machine name      # can be virtually everything (everything which is not      # "atarist" or "atariste" at least should have a processor @@ -449,44 +501,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} -	exit ;; +	GUESS=m68k-atari-mint$UNAME_RELEASE +	;;      atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) -	echo m68k-atari-mint${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-atari-mint$UNAME_RELEASE +	;;      *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) -	echo m68k-atari-mint${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-atari-mint$UNAME_RELEASE +	;;      milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) -	echo m68k-milan-mint${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-milan-mint$UNAME_RELEASE +	;;      hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) -	echo m68k-hades-mint${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-hades-mint$UNAME_RELEASE +	;;      *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) -	echo m68k-${VENDOR}-mint${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-${VENDOR}-mint$UNAME_RELEASE +	;;      m68k:machten:*:*) -	echo m68k-apple-machten${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-apple-machten$UNAME_RELEASE +	;;      powerpc:machten:*:*) -	echo powerpc-apple-machten${UNAME_RELEASE} -	exit ;; +	GUESS=powerpc-apple-machten$UNAME_RELEASE +	;;      RISC*:Mach:*:*) -	echo mips-dec-mach_bsd4.3 -	exit ;; +	GUESS=mips-dec-mach_bsd4.3 +	;;      RISC*:ULTRIX:*:*) -	echo mips-dec-ultrix${UNAME_RELEASE} -	exit ;; +	GUESS=mips-dec-ultrix$UNAME_RELEASE +	;;      VAX*:ULTRIX*:*:*) -	echo vax-dec-ultrix${UNAME_RELEASE} -	exit ;; +	GUESS=vax-dec-ultrix$UNAME_RELEASE +	;;      2020:CLIX:*:* | 2430:CLIX:*:*) -	echo clipper-intergraph-clix${UNAME_RELEASE} -	exit ;; +	GUESS=clipper-intergraph-clix$UNAME_RELEASE +	;;      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[]) { @@ -495,95 +547,96 @@ 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} -	exit ;; +	GUESS=mips-mips-riscos$UNAME_RELEASE +	;;      Motorola:PowerMAX_OS:*:*) -	echo powerpc-motorola-powermax -	exit ;; +	GUESS=powerpc-motorola-powermax +	;;      Motorola:*:4.3:PL8-*) -	echo powerpc-harris-powermax -	exit ;; +	GUESS=powerpc-harris-powermax +	;;      Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) -	echo powerpc-harris-powermax -	exit ;; +	GUESS=powerpc-harris-powermax +	;;      Night_Hawk:Power_UNIX:*:*) -	echo powerpc-harris-powerunix -	exit ;; +	GUESS=powerpc-harris-powerunix +	;;      m88k:CX/UX:7*:*) -	echo m88k-harris-cxux7 -	exit ;; +	GUESS=m88k-harris-cxux7 +	;;      m88k:*:4*:R4*) -	echo m88k-motorola-sysv4 -	exit ;; +	GUESS=m88k-motorola-sysv4 +	;;      m88k:*:3*:R3*) -	echo m88k-motorola-sysv3 -	exit ;; +	GUESS=m88k-motorola-sysv3 +	;;      AViiON:dgux:*:*)  	# DG/UX returns AViiON for all architectures  	UNAME_PROCESSOR=`/usr/bin/uname -p` -	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] +	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110  	then -	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ -	       [ ${TARGET_BINARY_INTERFACE}x = x ] +	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ +	       test "$TARGET_BINARY_INTERFACE"x = x  	    then -		echo m88k-dg-dgux${UNAME_RELEASE} +		GUESS=m88k-dg-dgux$UNAME_RELEASE  	    else -		echo m88k-dg-dguxbcs${UNAME_RELEASE} +		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE  	    fi  	else -	    echo i586-dg-dgux${UNAME_RELEASE} +	    GUESS=i586-dg-dgux$UNAME_RELEASE  	fi -	exit ;; +	;;      M88*:DolphinOS:*:*)	# DolphinOS (SVR3) -	echo m88k-dolphin-sysv3 -	exit ;; +	GUESS=m88k-dolphin-sysv3 +	;;      M88*:*:R3*:*)  	# Delta 88k system running SVR3 -	echo m88k-motorola-sysv3 -	exit ;; +	GUESS=m88k-motorola-sysv3 +	;;      XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) -	echo m88k-tektronix-sysv3 -	exit ;; +	GUESS=m88k-tektronix-sysv3 +	;;      Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) -	echo m68k-tektronix-bsd -	exit ;; +	GUESS=m68k-tektronix-bsd +	;;      *:IRIX*:*:*) -	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` -	exit ;; +	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` +	GUESS=mips-sgi-irix$IRIX_REL +	;;      ????????: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 -	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX ' +	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id +	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '      i*86:AIX:*:*) -	echo i386-ibm-aix -	exit ;; +	GUESS=i386-ibm-aix +	;;      ia64:AIX:*:*) -	if [ -x /usr/bin/oslevel ] ; then +	if test -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} -	exit ;; +	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV +	;;      *: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() @@ -594,77 +647,77 @@ 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" +			GUESS=$SYSTEM_NAME  		else -			echo rs6000-ibm-aix3.2.5 +			GUESS=rs6000-ibm-aix3.2.5  		fi  	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then -		echo rs6000-ibm-aix3.2.4 +		GUESS=rs6000-ibm-aix3.2.4  	else -		echo rs6000-ibm-aix3.2 +		GUESS=rs6000-ibm-aix3.2  	fi -	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  	fi -	if [ -x /usr/bin/lslpp ] ; then -		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | +	if test -x /usr/bin/lslpp ; then +		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} -	exit ;; +	GUESS=$IBM_ARCH-ibm-aix$IBM_REV +	;;      *:AIX:*:*) -	echo rs6000-ibm-aix -	exit ;; -    ibmrt:4.4BSD:*|romp-ibm:BSD:*) -	echo romp-ibm-bsd4.4 -	exit ;; +	GUESS=rs6000-ibm-aix +	;; +    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) +	GUESS=romp-ibm-bsd4.4 +	;;      ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and -	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to -	exit ;;                             # report: romp-ibm BSD 4.3 +	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to +	;;                                  # report: romp-ibm BSD 4.3      *:BOSX:*:*) -	echo rs6000-bull-bosx -	exit ;; +	GUESS=rs6000-bull-bosx +	;;      DPX/2?00:B.O.S.:*:*) -	echo m68k-bull-sysv3 -	exit ;; +	GUESS=m68k-bull-sysv3 +	;;      9000/[34]??:4.3bsd:1.*:*) -	echo m68k-hp-bsd -	exit ;; +	GUESS=m68k-hp-bsd +	;;      hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) -	echo m68k-hp-bsd4.4 -	exit ;; +	GUESS=m68k-hp-bsd4.4 +	;;      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 +		if test -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 test "$HP_ARCH" = ""; then +		    set_cc_for_build +		    sed 's/^		//' << EOF > "$dummy.c"  		#define _HPUX_SOURCE  		#include <stdlib.h> @@ -697,13 +750,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 test "$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 @@ -722,15 +775,15 @@ EOF  		HP_ARCH=hppa64  	    fi  	fi -	echo ${HP_ARCH}-hp-hpux${HPUX_REV} -	exit ;; +	GUESS=$HP_ARCH-hp-hpux$HPUX_REV +	;;      ia64:HP-UX:*:*) -	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` -	echo ia64-hp-hpux${HPUX_REV} -	exit ;; +	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` +	GUESS=ia64-hp-hpux$HPUX_REV +	;;      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 () @@ -755,38 +808,38 @@ 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:*:* ) -	echo hppa1.1-hp-bsd -	exit ;; +	GUESS=unknown-hitachi-hiuxwe2 +	;; +    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) +	GUESS=hppa1.1-hp-bsd +	;;      9000/8??:4.3bsd:*:*) -	echo hppa1.0-hp-bsd -	exit ;; +	GUESS=hppa1.0-hp-bsd +	;;      *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) -	echo hppa1.0-hp-mpeix -	exit ;; -    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) -	echo hppa1.1-hp-osf -	exit ;; +	GUESS=hppa1.0-hp-mpeix +	;; +    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) +	GUESS=hppa1.1-hp-osf +	;;      hp8??:OSF1:*:*) -	echo hppa1.0-hp-osf -	exit ;; +	GUESS=hppa1.0-hp-osf +	;;      i*86:OSF1:*:*) -	if [ -x /usr/sbin/sysversion ] ; then -	    echo ${UNAME_MACHINE}-${VENDOR}-osf1mk +	if test -x /usr/sbin/sysversion ; then +	    GUESS=$UNAME_MACHINE-${VENDOR}-osf1mk  	else -	    echo ${UNAME_MACHINE}-${VENDOR}-osf1 +	    GUESS=$UNAME_MACHINE-${VENDOR}-osf1  	fi -	exit ;; +	;;      parisc*:Lites*:*:*) -	echo hppa1.1-hp-lites -	exit ;; +	GUESS=hppa1.1-hp-lites +	;;      C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) -	echo c1-convex-bsd -	exit ;; +	GUESS=c1-convex-bsd +	;;      C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)  	if getsysinfo -f scalar_acc  	then echo c32-convex-bsd @@ -794,140 +847,145 @@ EOF  	fi  	exit ;;      C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) -	echo c34-convex-bsd -	exit ;; +	GUESS=c34-convex-bsd +	;;      C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) -	echo c38-convex-bsd -	exit ;; +	GUESS=c38-convex-bsd +	;;      C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) -	echo c4-convex-bsd -	exit ;; +	GUESS=c4-convex-bsd +	;;      CRAY*Y-MP:*:*:*) -	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -	exit ;; +	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` +	GUESS=ymp-cray-unicos$CRAY_REL +	;;      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/' -	exit ;; +	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` +	GUESS=t90-cray-unicos$CRAY_REL +	;;      CRAY*T3E:*:*:*) -	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -	exit ;; +	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` +	GUESS=alphaev5-cray-unicosmk$CRAY_REL +	;;      CRAY*SV1:*:*:*) -	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -	exit ;; +	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` +	GUESS=sv1-cray-unicos$CRAY_REL +	;;      *:UNICOS/mp:*:*) -	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' -	exit ;; +	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` +	GUESS=craynv-cray-unicosmp$CRAY_REL +	;;      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/ /_/'` -	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -	exit ;; +	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` +	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} +	;;      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/ /_/'` -	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -	exit ;; +	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` +	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} +	;;      i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) -	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE +	;;      sparc*:BSD/OS:*:*) -	echo sparc-${VENDOR}-bsdi${UNAME_RELEASE} -	exit ;; +	GUESS=sparc-${VENDOR}-bsdi$UNAME_RELEASE +	;;      *:BSD/OS:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-bsdi${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-bsdi$UNAME_RELEASE +	;; +    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 +	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` +	    GUESS=$UNAME_PROCESSOR-${VENDOR}-freebsd$FREEBSD_REL-gnueabi +	else +	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` +	    GUESS=$UNAME_PROCESSOR-${VENDOR}-freebsd$FREEBSD_REL-gnueabihf +	fi +	;;      *:FreeBSD:*:*)  	UNAME_PROCESSOR=`/usr/bin/uname -p` -	case ${UNAME_PROCESSOR} in +	case $UNAME_PROCESSOR in  	    amd64)  		UNAME_PROCESSOR=x86_64 ;;  	    i386)  		UNAME_PROCESSOR=i586 ;;  	esac -	echo ${UNAME_PROCESSOR}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` -	exit ;; +	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` +	GUESS=$UNAME_PROCESSOR-${VENDOR}-freebsd$FREEBSD_REL +	;;      i*:CYGWIN*:*) -	echo ${UNAME_MACHINE}-pc-cygwin -	exit ;; +	GUESS=$UNAME_MACHINE-pc-cygwin +	;;      *:MINGW64*:*) -	echo ${UNAME_MACHINE}-pc-mingw64 -	exit ;; +	GUESS=$UNAME_MACHINE-pc-mingw64 +	;;      *:MINGW*:*) -	echo ${UNAME_MACHINE}-pc-mingw32 -	exit ;; +	GUESS=$UNAME_MACHINE-pc-mingw32 +	;;      *:MSYS*:*) -	echo ${UNAME_MACHINE}-pc-msys -	exit ;; -    i*:windows32*:*) -	# uname -m includes "-pc" on this system. -	echo ${UNAME_MACHINE}-mingw32 -	exit ;; +	GUESS=$UNAME_MACHINE-pc-msys +	;;      i*:PW*:*) -	echo ${UNAME_MACHINE}-pc-pw32 -	exit ;; +	GUESS=$UNAME_MACHINE-pc-pw32 +	;;      *:Interix*:*) -	case ${UNAME_MACHINE} in +	case $UNAME_MACHINE in  	    x86) -		echo i586-pc-interix${UNAME_RELEASE} -		exit ;; +		GUESS=i586-pc-interix$UNAME_RELEASE +		;;  	    authenticamd | genuineintel | EM64T) -		echo x86_64-${VENDOR}-interix${UNAME_RELEASE} -		exit ;; +		GUESS=x86_64-${VENDOR}-interix$UNAME_RELEASE +		;;  	    IA64) -		echo ia64-${VENDOR}-interix${UNAME_RELEASE} -		exit ;; +		GUESS=ia64-${VENDOR}-interix$UNAME_RELEASE +		;;  	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 -	exit ;; +	GUESS=$UNAME_MACHINE-pc-uwin +	;;      amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) -	echo x86_64-${VENDOR}-cygwin -	exit ;; -    p*:CYGWIN*:*) -	echo powerpcle-${VENDOR}-cygwin -	exit ;; +	GUESS=x86_64-pc-cygwin +	;;      prep*:SunOS:5.*:*) -	echo powerpcle-${VENDOR}-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -	exit ;; +	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` +	GUESS=powerpcle-${VENDOR}-solaris2$SUN_REL +	;;      *:GNU:*:*)  	# the GNU system -	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-${VENDOR}-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` -	exit ;; +	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` +	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` +	GUESS=$GNU_ARCH-${VENDOR}-$LIBC$GNU_REL +	;;      *:GNU/*:*:*)  	# other systems with GNU libc and userland -	echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} -	exit ;; -    i*86:Minix:*:*) -	echo ${UNAME_MACHINE}-pc-minix -	exit ;; +	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` +	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` +	GUESS=$UNAME_MACHINE-${VENDOR}-$GNU_SYS$GNU_REL-$LIBC +	;; +    *:Minix:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-minix +	;;      aarch64:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      aarch64_be:Linux:*:*)  	UNAME_MACHINE=aarch64_be -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      alpha:Linux:*:*) -	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in +	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in  	  EV5)   UNAME_MACHINE=alphaev5 ;;  	  EV56)  UNAME_MACHINE=alphaev56 ;;  	  PCA56) UNAME_MACHINE=alphapca56 ;; @@ -938,183 +996,225 @@ EOF  	esac  	objdump --private-headers /bin/sh | grep -q ld.so.1  	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; -    arc:Linux:*:* | arceb:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;; +    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      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}-${VENDOR}-linux-${LIBC} +	    GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC  	else  	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \  		| grep -q __ARM_PCS_VFP  	    then -		echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}eabi +		GUESS=$UNAME_MACHINE-${VENDOR}-linux-${LIBC}eabi  	    else -		echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}eabihf +		GUESS=$UNAME_MACHINE-${VENDOR}-linux-${LIBC}eabihf  	    fi  	fi -	exit ;; +	;;      avr32*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      cris:Linux:*:*) -	echo ${UNAME_MACHINE}-axis-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-axis-linux-$LIBC +	;;      crisv32:Linux:*:*) -	echo ${UNAME_MACHINE}-axis-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-axis-linux-$LIBC +	;;      e2k:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      frv:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      hexagon:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      i*86:Linux:*:*) -	echo ${UNAME_MACHINE}-pc-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      ia64:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      k1om:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;; +    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      m32r*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      m68*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      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}-${VENDOR}-linux-${LIBC}"; exit; } +	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` +	eval "$cc_set_vars" +	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-${VENDOR}-linux-$LIBCABI"; exit; }  	;;      mips64el:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      openrisc*:Linux:*:*) -	echo or1k-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=or1k-${VENDOR}-linux-$LIBC +	;;      or32:Linux:*:* | or1k*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      padre:Linux:*:*) -	echo sparc-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=sparc-${VENDOR}-linux-$LIBC +	;;      parisc64:Linux:*:* | hppa64:Linux:*:*) -	echo hppa64-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=hppa64-${VENDOR}-linux-$LIBC +	;;      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-${VENDOR}-linux-${LIBC} ;; -	  PA8*) echo hppa2.0-${VENDOR}-linux-${LIBC} ;; -	  *)    echo hppa-${VENDOR}-linux-${LIBC} ;; +	  PA7*) GUESS=hppa1.1-${VENDOR}-linux-$LIBC ;; +	  PA8*) GUESS=hppa2.0-${VENDOR}-linux-$LIBC ;; +	  *)    GUESS=hppa-${VENDOR}-linux-$LIBC ;;  	esac -	exit ;; +	;;      ppc64:Linux:*:*) -	echo powerpc64-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=powerpc64-${VENDOR}-linux-$LIBC +	;;      ppc:Linux:*:*) -	echo powerpc-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=powerpc-${VENDOR}-linux-$LIBC +	;;      ppc64le:Linux:*:*) -	echo powerpc64le-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=powerpc64le-${VENDOR}-linux-$LIBC +	;;      ppcle:Linux:*:*) -	echo powerpcle-${VENDOR}-linux-${LIBC} -	exit ;; -    riscv32:Linux:*:* | riscv64:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=powerpcle-${VENDOR}-linux-$LIBC +	;; +    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      s390:Linux:*:* | s390x:Linux:*:*) -	echo ${UNAME_MACHINE}-ibm-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC +	;;      sh64*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      sh*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      sparc:Linux:*:* | sparc64:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      tile*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      vax:Linux:*:*) -	echo ${UNAME_MACHINE}-dec-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-dec-linux-$LIBC +	;;      x86_64:Linux:*:*) -	echo ${UNAME_MACHINE}-pc-linux-${LIBC} -	exit ;; +	set_cc_for_build +	LIBCABI=$LIBC +	if test "$CC_FOR_BUILD" != no_compiler_found; then +	    if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ +		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ +		grep IS_X32 >/dev/null +	    then +		LIBCABI=${LIBC}x32 +	    fi +	fi +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBCABI +	;;      xtensa*:Linux:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-linux-$LIBC +	;;      i*86:DYNIX/ptx:4*:*)  	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  	# earlier versions are messed up and put the nodename in both  	# sysname and nodename. -	echo i386-sequent-sysv4 -	exit ;; +	GUESS=i386-sequent-sysv4 +	;;      i*86:UNIX_SV:4.2MP:2.*)  	# Unixware is an offshoot of SVR4, but it has its own version  	# number series starting with 2...  	# 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} -	exit ;; +	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION +	;;      i*86:OS/2:*:*)  	# If we were able to find `uname', then EMX Unix compatibility  	# is probably installed. -	echo ${UNAME_MACHINE}-pc-os2-emx -	exit ;; +	GUESS=$UNAME_MACHINE-pc-os2-emx +	;;      i*86:XTS-300:*:STOP) -	echo ${UNAME_MACHINE}-${VENDOR}-stop -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-stop +	;;      i*86:atheos:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-atheos -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-atheos +	;;      i*86:syllable:*:*) -	echo ${UNAME_MACHINE}-pc-syllable -	exit ;; +	GUESS=$UNAME_MACHINE-pc-syllable +	;;      i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) -	echo i386-${VENODR}-lynxos${UNAME_RELEASE} -	exit ;; +	GUESS=i386-${VENDOR}-lynxos$UNAME_RELEASE +	;;      i*86:*DOS:*:*) -	echo ${UNAME_MACHINE}-pc-msdosdjgpp -	exit ;; -    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) -	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` +	GUESS=$UNAME_MACHINE-pc-msdosdjgpp +	;; +    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} +		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL  	else -		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} +		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL  	fi -	exit ;; +	;;      i*86:*:5:[678]*)  	# UnixWare 7.x, OpenUNIX and OpenServer 6.  	case `/bin/uname -X | grep "^Machine"` in @@ -1122,12 +1222,12 @@ EOF  	    *Pentium)	     UNAME_MACHINE=i586 ;;  	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;  	esac -	echo ${UNAME_MACHINE}-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} +	;;      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 +		GUESS=$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 @@ -1137,11 +1237,11 @@ EOF  			&& UNAME_MACHINE=i686  		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \  			&& UNAME_MACHINE=i686 -		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL +		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL  	else -		echo ${UNAME_MACHINE}-pc-sysv32 +		GUESS=$UNAME_MACHINE-pc-sysv32  	fi -	exit ;; +	;;      pc:*:*:*)  	# Left here for compatibility:  	# uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1149,31 +1249,31 @@ EOF  	# Note: whatever this is, it MUST be the same as what config.sub  	# prints for the "djgpp" host, or else GDB configure will decide that  	# this is a cross-build. -	echo i586-pc-msdosdjgpp -	exit ;; +	GUESS=i586-pc-msdosdjgpp +	;;      Intel:Mach:3*:*) -	echo i386-pc-mach3 -	exit ;; +	GUESS=i386-pc-mach3 +	;;      paragon:*:*:*) -	echo i860-intel-osf1 -	exit ;; +	GUESS=i860-intel-osf1 +	;;      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 +	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4  	else # Add other i860-SVR4 vendors below as they are discovered. -	  echo i860-${VENODR}-sysv${UNAME_RELEASE}  # Unknown i860-SVR4 +	  GUESS=i860-${VENDOR}-sysv$UNAME_RELEASE     # Unknown i860-SVR4  	fi -	exit ;; +	;;      mini*:CTIX:SYS*5:*)  	# "miniframe" -	echo m68010-convergent-sysv -	exit ;; +	GUESS=m68010-convergent-sysv +	;;      mc68k:UNIX:SYSTEM5:3.51m) -	echo m68k-convergent-sysv -	exit ;; +	GUESS=m68k-convergent-sysv +	;;      M680?0:D-NIX:5.3:*) -	echo m68k-diab-dnix -	exit ;; +	GUESS=m68k-diab-dnix +	;;      M68*:*:R3V[5678]*:*)  	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;      3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) @@ -1181,9 +1281,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; } ;; @@ -1192,259 +1292,434 @@ 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-${VENDOR}-lynxos${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-${VENDOR}-lynxos$UNAME_RELEASE +	;;      mc68030:UNIX_System_V:4.*:*) -	echo m68k-atari-sysv4 -	exit ;; +	GUESS=m68k-atari-sysv4 +	;;      TSUNAMI:LynxOS:2.*:*) -	echo sparc-${VENDOR}-lynxos${UNAME_RELEASE} -	exit ;; +	GUESS=sparc-${VENDOR}-lynxos$UNAME_RELEASE +	;;      rs6000:LynxOS:2.*:*) -	echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE} -	exit ;; +	GUESS=rs6000-${VENDOR}-lynxos$UNAME_RELEASE +	;;      PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) -	echo powerpc-${VENDOR}-lynxos${UNAME_RELEASE} -	exit ;; +	GUESS=powerpc-${VENDOR}-lynxos$UNAME_RELEASE +	;;      SM[BE]S:UNIX_SV:*:*) -	echo mips-dde-sysv${UNAME_RELEASE} -	exit ;; +	GUESS=mips-dde-sysv$UNAME_RELEASE +	;;      RM*:ReliantUNIX-*:*:*) -	echo mips-sni-sysv4 -	exit ;; +	GUESS=mips-sni-sysv4 +	;;      RM*:SINIX-*:*:*) -	echo mips-sni-sysv4 -	exit ;; +	GUESS=mips-sni-sysv4 +	;;      *:SINIX-*:*:*)  	if uname -p 2>/dev/null >/dev/null ; then  		UNAME_MACHINE=`(uname -p) 2>/dev/null` -		echo ${UNAME_MACHINE}-sni-sysv4 +		GUESS=$UNAME_MACHINE-sni-sysv4  	else -		echo ns32k-sni-sysv +		GUESS=ns32k-sni-sysv  	fi -	exit ;; +	;;      PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort  			# says <Richard.M.Bartel@ccMail.Census.GOV> -	echo i586-unisys-sysv4 -	exit ;; +	GUESS=i586-unisys-sysv4 +	;;      *:UNIX_System_V:4*:FTX*)  	# From Gerald Hewes <hewes@openmarket.com>.  	# How about differentiating between stratus architectures? -djm -	echo hppa1.1-stratus-sysv4 -	exit ;; +	GUESS=hppa1.1-stratus-sysv4 +	;;      *:*:*:FTX*)  	# From seanf@swdc.stratus.com. -	echo i860-stratus-sysv4 -	exit ;; +	GUESS=i860-stratus-sysv4 +	;;      i*86:VOS:*:*)  	# From Paul.Green@stratus.com. -	echo ${UNAME_MACHINE}-stratus-vos -	exit ;; +	GUESS=$UNAME_MACHINE-stratus-vos +	;;      *:VOS:*:*)  	# From Paul.Green@stratus.com. -	echo hppa1.1-stratus-vos -	exit ;; +	GUESS=hppa1.1-stratus-vos +	;;      mc68*:A/UX:*:*) -	echo m68k-apple-aux${UNAME_RELEASE} -	exit ;; +	GUESS=m68k-apple-aux$UNAME_RELEASE +	;;      news*:NEWS-OS:6*:*) -	echo mips-sony-newsos6 -	exit ;; +	GUESS=mips-sony-newsos6 +	;;      R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) -	if [ -d /usr/nec ]; then -		echo mips-nec-sysv${UNAME_RELEASE} +	if test -d /usr/nec; then +		GUESS=mips-nec-sysv$UNAME_RELEASE  	else -		echo mips-${VENDOR}-sysv${UNAME_RELEASE} +		GUESS=mips-${VENDOR}-sysv$UNAME_RELEASE  	fi -	exit ;; +	;;      BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only. -	echo powerpc-be-beos -	exit ;; +	GUESS=powerpc-be-beos +	;;      BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only. -	echo powerpc-apple-beos -	exit ;; +	GUESS=powerpc-apple-beos +	;;      BePC:BeOS:*:*)	# BeOS running on Intel PC compatible. -	echo i586-pc-beos -	exit ;; +	GUESS=i586-pc-beos +	;;      BePC:Haiku:*:*)	# Haiku running on Intel PC compatible. -	echo i586-pc-haiku -	exit ;; +	GUESS=i586-pc-haiku +	;;      x86_64:Haiku:*:*) -	echo x86_64-${VENDOR}-haiku -	exit ;; +	GUESS=x86_64-${VENDOR}-haiku +	;;      SX-4:SUPER-UX:*:*) -	echo sx4-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sx4-nec-superux$UNAME_RELEASE +	;;      SX-5:SUPER-UX:*:*) -	echo sx5-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sx5-nec-superux$UNAME_RELEASE +	;;      SX-6:SUPER-UX:*:*) -	echo sx6-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sx6-nec-superux$UNAME_RELEASE +	;;      SX-7:SUPER-UX:*:*) -	echo sx7-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sx7-nec-superux$UNAME_RELEASE +	;;      SX-8:SUPER-UX:*:*) -	echo sx8-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sx8-nec-superux$UNAME_RELEASE +	;;      SX-8R:SUPER-UX:*:*) -	echo sx8r-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sx8r-nec-superux$UNAME_RELEASE +	;;      SX-ACE:SUPER-UX:*:*) -	echo sxace-nec-superux${UNAME_RELEASE} -	exit ;; +	GUESS=sxace-nec-superux$UNAME_RELEASE +	;;      Power*:Rhapsody:*:*) -	echo powerpc-apple-rhapsody${UNAME_RELEASE} -	exit ;; +	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE +	;;      *:Rhapsody:*:*) -	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE +	;; +    arm64:Darwin:*:*) +	GUESS=aarch64-apple-darwin$UNAME_RELEASE +	;;      *:Darwin:*:*) -	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown -	eval $set_cc_for_build -	if test "$UNAME_PROCESSOR" = unknown ; then -	    UNAME_PROCESSOR=powerpc +	UNAME_PROCESSOR=`uname -p` +	case $UNAME_PROCESSOR in +	    unknown) UNAME_PROCESSOR=powerpc ;; +	esac +	if command -v xcode-select > /dev/null 2> /dev/null && \ +		! xcode-select --print-path > /dev/null 2> /dev/null ; then +	    # Avoid executing cc if there is no toolchain installed as +	    # cc will be a stub that puts up a graphical alert +	    # prompting the user to install developer tools. +	    CC_FOR_BUILD=no_compiler_found +	else +	    set_cc_for_build  	fi -	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 -		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 +	if test "$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 +	    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  	elif test "$UNAME_PROCESSOR" = i386 ; then -	    # Avoid executing cc on OS X 10.9, as it ships with a stub -	    # that puts up a graphical alert prompting to install -	    # developer tools.  Any system running Mac OS X 10.7 or -	    # later (Darwin 11 and later) is required to have a 64-bit -	    # processor. This is not true of the ARM version of Darwin -	    # that Apple uses in portable devices. -	    UNAME_PROCESSOR=x86_64 +	    # uname -m returns i386 or x86_64 +	    UNAME_PROCESSOR=$UNAME_MACHINE  	fi -	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE +	;;      *:procnto*:*:* | *:QNX:[0123456789]*:*)  	UNAME_PROCESSOR=`uname -p`  	if test "$UNAME_PROCESSOR" = x86; then  		UNAME_PROCESSOR=i386  		UNAME_MACHINE=pc  	fi -	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE +	;;      *:QNX:*:4*) -	echo i386-pc-qnx -	exit ;; +	GUESS=i386-pc-qnx +	;;      NEO-*:NONSTOP_KERNEL:*:*) -	echo neo-tandem-nsk${UNAME_RELEASE} -	exit ;; +	GUESS=neo-tandem-nsk$UNAME_RELEASE +	;;      NSE-*:NONSTOP_KERNEL:*:*) -	echo nse-tandem-nsk${UNAME_RELEASE} -	exit ;; +	GUESS=nse-tandem-nsk$UNAME_RELEASE +	;;      NSR-*:NONSTOP_KERNEL:*:*) -	echo nsr-tandem-nsk${UNAME_RELEASE} -	exit ;; +	GUESS=nsr-tandem-nsk$UNAME_RELEASE +	;; +    NSV-*:NONSTOP_KERNEL:*:*) +	GUESS=nsv-tandem-nsk$UNAME_RELEASE +	;;      NSX-*:NONSTOP_KERNEL:*:*) -	echo nsx-tandem-nsk${UNAME_RELEASE} -	exit ;; +	GUESS=nsx-tandem-nsk$UNAME_RELEASE +	;;      *:NonStop-UX:*:*) -	echo mips-compaq-nonstopux -	exit ;; +	GUESS=mips-compaq-nonstopux +	;;      BS2000:POSIX*:*:*) -	echo bs2000-siemens-sysv -	exit ;; +	GUESS=bs2000-siemens-sysv +	;;      DS/*:UNIX_System_V:*:*) -	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} -	exit ;; +	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE +	;;      *:Plan9:*:*)  	# "uname -m" is not consistent, so use $cputype instead. 386  	# is converted to i386 for consistency with other x86  	# operating systems. -	if test "$cputype" = 386; then +	if test "${cputype-}" = 386; then  	    UNAME_MACHINE=i386 -	else -	    UNAME_MACHINE="$cputype" +	elif test "x${cputype-}" != x; then +	    UNAME_MACHINE=$cputype  	fi -	echo ${UNAME_MACHINE}-${VENDOR}-plan9 -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-plan9 +	;;      *:TOPS-10:*:*) -	echo pdp10-${VENDOR}-tops10 -	exit ;; +	GUESS=pdp10-${VENDOR}-tops10 +	;;      *:TENEX:*:*) -	echo pdp10-${VENDOR}-tenex -	exit ;; +	GUESS=pdp10-${VENDOR}-tenex +	;;      KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) -	echo pdp10-dec-tops20 -	exit ;; +	GUESS=pdp10-dec-tops20 +	;;      XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) -	echo pdp10-xkl-tops20 -	exit ;; +	GUESS=pdp10-xkl-tops20 +	;;      *:TOPS-20:*:*) -	echo pdp10-${VENDOR}-tops20 -	exit ;; +	GUESS=pdp10-${VENDOR}-tops20 +	;;      *:ITS:*:*) -	echo pdp10-${VENDOR}-its -	exit ;; +	GUESS=pdp10-${VENDOR}-its +	;;      SEI:*:*:SEIUX) -	echo mips-sei-seiux${UNAME_RELEASE} -	exit ;; +	GUESS=mips-sei-seiux$UNAME_RELEASE +	;;      *:DragonFly:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` -	exit ;; +	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` +	GUESS=$UNAME_MACHINE-${VENDOR}-dragonfly$DRAGONFLY_REL +	;;      *:*VMS:*:*)  	UNAME_MACHINE=`(uname -p) 2>/dev/null` -	case "${UNAME_MACHINE}" in -	    A*) echo alpha-dec-vms ; exit ;; -	    I*) echo ia64-dec-vms ; exit ;; -	    V*) echo vax-dec-vms ; exit ;; +	case $UNAME_MACHINE in +	    A*) GUESS=alpha-dec-vms ;; +	    I*) GUESS=ia64-dec-vms ;; +	    V*) GUESS=vax-dec-vms ;;  	esac ;;      *:XENIX:*:SysV) -	echo i386-pc-xenix -	exit ;; +	GUESS=i386-pc-xenix +	;;      i*86:skyos:*:*) -	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` -	exit ;; +	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` +	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL +	;;      i*86:rdos:*:*) -	echo ${UNAME_MACHINE}-pc-rdos -	exit ;; -    i*86:AROS:*:*) -	echo ${UNAME_MACHINE}-pc-aros -	exit ;; +	GUESS=$UNAME_MACHINE-pc-rdos +	;; +    *:AROS:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-aros +	;;      x86_64:VMkernel:*:*) -	echo ${UNAME_MACHINE}-${VENDOR}-esx -	exit ;; +	GUESS=$UNAME_MACHINE-${VENDOR}-esx +	;;      amd64:Isilon\ OneFS:*:*) -	echo x86_64-${VENDOR}-onefs -	exit ;; +	GUESS=x86_64-${VENDOR}-onefs +	;; +    *:Unleashed:*:*) +	GUESS=$UNAME_MACHINE-${VENDOR}-unleashed$UNAME_RELEASE +	;; +esac + +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then +    echo "$GUESS" +    exit +fi + +# 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/cgit/config.git/plain/config.guess  and -  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub +EOF + +our_year=`echo $timestamp | sed 's,-.*,,'` +thisyear=`date +%Y` +# shellcheck disable=SC2003 +script_age=`expr "$thisyear" - "$our_year"` +if test "$script_age" -lt 3 ; then +   cat >&2 <<EOF  If $0 has already been updated, send the following data and any  information you think might be pertinent to config-patches@gnu.org to @@ -1467,16 +1742,17 @@ 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 +fi  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/build-aux/config.sub b/build-aux/config.sub index 0399c1a..d74fb6d 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -1,8 +1,10 @@  #! /bin/sh  # Configuration validation subroutine script. -#   Copyright 1992-2017 Free Software Foundation, Inc. +#   Copyright 1992-2021 Free Software Foundation, Inc. -timestamp='2017-04-02' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-08-14'  # 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 +17,7 @@ timestamp='2017-04-02'  # 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 +35,7 @@ timestamp='2017-04-02'  # 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/cgit/config.git/plain/config.sub  # This file is supposed to be the same for all GNU packages  # and recognize all the CPU types, system types and aliases @@ -50,6 +52,13 @@ timestamp='2017-04-02'  #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM  # It is wrong to echo any other type of specification. +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX.  However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. +  me=`echo "$0" | sed -e 's,.*/,,'`  usage="\ @@ -57,7 +66,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 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."  version="\  GNU config.sub ($timestamp) -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2021 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 +98,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,1258 +119,1181 @@ 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* | cloudabi*-eabi* | \ -  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 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <<EOF +$1 +EOF +IFS=$saved_IFS -### 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 +		basic_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-* | 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 +				basic_os=$maybe_os +				;; +			android-linux) +				basic_machine=$field1-unknown +				basic_os=linux-android +				;; +			*) +				basic_machine=$field1-$field2 +				basic_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 +				basic_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 +						basic_os=$field2 +						;; +					zephyr*) +						basic_machine=$field1-unknown +						basic_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 +						basic_os= +						;; +					*) +						basic_machine=$field1 +						basic_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 +				basic_os=bsd +				;; +			a29khif) +				basic_machine=a29k-amd +				basic_os=udi +				;; +			adobe68k) +				basic_machine=m68010-adobe +				basic_os=scout +				;; +			alliant) +				basic_machine=fx80-alliant +				basic_os= +				;; +			altos | altos3068) +				basic_machine=m68k-altos +				basic_os= +				;; +			am29k) +				basic_machine=a29k-none +				basic_os=bsd +				;; +			amdahl) +				basic_machine=580-amdahl +				basic_os=sysv +				;; +			amiga) +				basic_machine=m68k-unknown +				basic_os= +				;; +			amigaos | amigados) +				basic_machine=m68k-unknown +				basic_os=amigaos +				;; +			amigaunix | amix) +				basic_machine=m68k-unknown +				basic_os=sysv4 +				;; +			apollo68) +				basic_machine=m68k-apollo +				basic_os=sysv +				;; +			apollo68bsd) +				basic_machine=m68k-apollo +				basic_os=bsd +				;; +			aros) +				basic_machine=i386-pc +				basic_os=aros +				;; +			aux) +				basic_machine=m68k-apple +				basic_os=aux +				;; +			balance) +				basic_machine=ns32k-sequent +				basic_os=dynix +				;; +			blackfin) +				basic_machine=bfin-unknown +				basic_os=linux +				;; +			cegcc) +				basic_machine=arm-unknown +				basic_os=cegcc +				;; +			convex-c1) +				basic_machine=c1-convex +				basic_os=bsd +				;; +			convex-c2) +				basic_machine=c2-convex +				basic_os=bsd +				;; +			convex-c32) +				basic_machine=c32-convex +				basic_os=bsd +				;; +			convex-c34) +				basic_machine=c34-convex +				basic_os=bsd +				;; +			convex-c38) +				basic_machine=c38-convex +				basic_os=bsd +				;; +			cray) +				basic_machine=j90-cray +				basic_os=unicos +				;; +			crds | unos) +				basic_machine=m68k-crds +				basic_os= +				;; +			da30) +				basic_machine=m68k-da30 +				basic_os= +				;; +			decstation | pmax | pmin | dec3100 | decstatn) +				basic_machine=mips-dec +				basic_os= +				;; +			delta88) +				basic_machine=m88k-motorola +				basic_os=sysv3 +				;; +			dicos) +				basic_machine=i686-pc +				basic_os=dicos +				;; +			djgpp) +				basic_machine=i586-pc +				basic_os=msdosdjgpp +				;; +			ebmon29k) +				basic_machine=a29k-amd +				basic_os=ebmon +				;; +			es1800 | OSE68k | ose68k | ose | OSE) +				basic_machine=m68k-ericsson +				basic_os=ose +				;; +			gmicro) +				basic_machine=tron-gmicro +				basic_os=sysv +				;; +			go32) +				basic_machine=i386-pc +				basic_os=go32 +				;; +			h8300hms) +				basic_machine=h8300-hitachi +				basic_os=hms +				;; +			h8300xray) +				basic_machine=h8300-hitachi +				basic_os=xray +				;; +			h8500hms) +				basic_machine=h8500-hitachi +				basic_os=hms +				;; +			harris) +				basic_machine=m88k-harris +				basic_os=sysv3 +				;; +			hp300 | hp300hpux) +				basic_machine=m68k-hp +				basic_os=hpux +				;; +			hp300bsd) +				basic_machine=m68k-hp +				basic_os=bsd +				;; +			hppaosf) +				basic_machine=hppa1.1-hp +				basic_os=osf +				;; +			hppro) +				basic_machine=hppa1.1-hp +				basic_os=proelf +				;; +			i386mach) +				basic_machine=i386-mach +				basic_os=mach +				;; +			isi68 | isi) +				basic_machine=m68k-isi +				basic_os=sysv +				;; +			m68knommu) +				basic_machine=m68k-unknown +				basic_os=linux +				;; +			magnum | m3230) +				basic_machine=mips-mips +				basic_os=sysv +				;; +			merlin) +				basic_machine=ns32k-utek +				basic_os=sysv +				;; +			mingw64) +				basic_machine=x86_64-pc +				basic_os=mingw64 +				;; +			mingw32) +				basic_machine=i686-pc +				basic_os=mingw32 +				;; +			mingw32ce) +				basic_machine=arm-unknown +				basic_os=mingw32ce +				;; +			monitor) +				basic_machine=m68k-rom68k +				basic_os=coff +				;; +			morphos) +				basic_machine=powerpc-unknown +				basic_os=morphos +				;; +			moxiebox) +				basic_machine=moxie-unknown +				basic_os=moxiebox +				;; +			msdos) +				basic_machine=i386-pc +				basic_os=msdos +				;; +			msys) +				basic_machine=i686-pc +				basic_os=msys +				;; +			mvs) +				basic_machine=i370-ibm +				basic_os=mvs +				;; +			nacl) +				basic_machine=le32-unknown +				basic_os=nacl +				;; +			ncr3000) +				basic_machine=i486-ncr +				basic_os=sysv4 +				;; +			netbsd386) +				basic_machine=i386-pc +				basic_os=netbsd +				;; +			netwinder) +				basic_machine=armv4l-rebel +				basic_os=linux +				;; +			news | news700 | news800 | news900) +				basic_machine=m68k-sony +				basic_os=newsos +				;; +			news1000) +				basic_machine=m68030-sony +				basic_os=newsos +				;; +			necv70) +				basic_machine=v70-nec +				basic_os=sysv +				;; +			nh3000) +				basic_machine=m68k-harris +				basic_os=cxux +				;; +			nh[45]000) +				basic_machine=m88k-harris +				basic_os=cxux +				;; +			nindy960) +				basic_machine=i960-intel +				basic_os=nindy +				;; +			mon960) +				basic_machine=i960-intel +				basic_os=mon960 +				;; +			nonstopux) +				basic_machine=mips-compaq +				basic_os=nonstopux +				;; +			os400) +				basic_machine=powerpc-ibm +				basic_os=os400 +				;; +			OSE68000 | ose68000) +				basic_machine=m68000-ericsson +				basic_os=ose +				;; +			os68k) +				basic_machine=m68k-none +				basic_os=os68k +				;; +			paragon) +				basic_machine=i860-intel +				basic_os=osf +				;; +			parisc) +				basic_machine=hppa-unknown +				basic_os=linux +				;; +			psp) +				basic_machine=mipsallegrexel-sony +				basic_os=psp +				;; +			pw32) +				basic_machine=i586-unknown +				basic_os=pw32 +				;; +			rdos | rdos64) +				basic_machine=x86_64-pc +				basic_os=rdos +				;; +			rdos32) +				basic_machine=i386-pc +				basic_os=rdos +				;; +			rom68k) +				basic_machine=m68k-rom68k +				basic_os=coff +				;; +			sa29200) +				basic_machine=a29k-amd +				basic_os=udi +				;; +			sei) +				basic_machine=mips-sei +				basic_os=seiux +				;; +			sequent) +				basic_machine=i386-sequent +				basic_os= +				;; +			sps7) +				basic_machine=m68k-bull +				basic_os=sysv2 +				;; +			st2000) +				basic_machine=m68k-tandem +				basic_os= +				;; +			stratus) +				basic_machine=i860-stratus +				basic_os=sysv4 +				;; +			sun2) +				basic_machine=m68000-sun +				basic_os= +				;; +			sun2os3) +				basic_machine=m68000-sun +				basic_os=sunos3 +				;; +			sun2os4) +				basic_machine=m68000-sun +				basic_os=sunos4 +				;; +			sun3) +				basic_machine=m68k-sun +				basic_os= +				;; +			sun3os3) +				basic_machine=m68k-sun +				basic_os=sunos3 +				;; +			sun3os4) +				basic_machine=m68k-sun +				basic_os=sunos4 +				;; +			sun4) +				basic_machine=sparc-sun +				basic_os= +				;; +			sun4os3) +				basic_machine=sparc-sun +				basic_os=sunos3 +				;; +			sun4os4) +				basic_machine=sparc-sun +				basic_os=sunos4 +				;; +			sun4sol2) +				basic_machine=sparc-sun +				basic_os=solaris2 +				;; +			sun386 | sun386i | roadrunner) +				basic_machine=i386-sun +				basic_os= +				;; +			sv1) +				basic_machine=sv1-cray +				basic_os=unicos +				;; +			symmetry) +				basic_machine=i386-sequent +				basic_os=dynix +				;; +			t3e) +				basic_machine=alphaev5-cray +				basic_os=unicos +				;; +			t90) +				basic_machine=t90-cray +				basic_os=unicos +				;; +			toad1) +				basic_machine=pdp10-xkl +				basic_os=tops20 +				;; +			tpf) +				basic_machine=s390x-ibm +				basic_os=tpf +				;; +			udi29k) +				basic_machine=a29k-amd +				basic_os=udi +				;; +			ultra3) +				basic_machine=a29k-nyu +				basic_os=sym1 +				;; +			v810 | necv810) +				basic_machine=v810-nec +				basic_os=none +				;; +			vaxv) +				basic_machine=vax-dec +				basic_os=sysv +				;; +			vms) +				basic_machine=vax-dec +				basic_os=vms +				;; +			vsta) +				basic_machine=i386-pc +				basic_os=vsta +				;; +			vxworks960) +				basic_machine=i960-wrs +				basic_os=vxworks +				;; +			vxworks68) +				basic_machine=m68k-wrs +				basic_os=vxworks +				;; +			vxworks29k) +				basic_machine=a29k-wrs +				basic_os=vxworks +				;; +			xbox) +				basic_machine=i686-pc +				basic_os=mingw32 +				;; +			ymp) +				basic_machine=ymp-cray +				basic_os=unicos +				;; +			*) +				basic_machine=$1 +				basic_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 | ia16 | 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 \ -	| pru \ -	| 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 \ -	| wasm32 \ -	| 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-* | ia16-* | 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-* \ -	| pru-* \ -	| 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-* \ -	| wasm32-* \ -	| 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 +		basic_os=cnk  		;;  	decsystem10* | dec10*) -		basic_machine=pdp10-dec -		os=-tops10 +		cpu=pdp10 +		vendor=dec +		basic_os=tops10  		;;  	decsystem20* | dec20*) -		basic_machine=pdp10-dec -		os=-tops20 +		cpu=pdp10 +		vendor=dec +		basic_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 -		;; -	djgpp) -		basic_machine=i586-pc -		os=-msdosdjgpp -		;; -	dpx20 | dpx20-*) -		basic_machine=rs6000-bull -		os=-bosx -		;; -	dpx2* | dpx2*-bull) -		basic_machine=m68k-bull -		os=-sysv3 +		cpu=m68k +		vendor=motorola  		;; -	e500v[12]) -		basic_machine=powerpc-unknown -		os=$os"spe" -		;; -	e500v[12]-*) -		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` -		os=$os"spe" -		;; -	ebmon29k) -		basic_machine=a29k-amd -		os=-ebmon -		;; -	elxsi) -		basic_machine=elxsi-elxsi -		os=-bsd +	dpx2*) +		cpu=m68k +		vendor=bull +		basic_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 +		basic_os=${basic_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 +		basic_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 +		basic_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 +		basic_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 +		basic_os=sysv  		;;  	i*86sol2) -		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -		os=-solaris2 +		cpu=`echo "$1" | sed -e 's/86.*/86/'` +		vendor=pc +		basic_os=solaris2  		;; -	i386mach) -		basic_machine=i386-mach -		os=-mach -		;; -	i386-vsta | vsta) -		basic_machine=i386-unknown -		os=-vsta +	j90 | j90-cray) +		cpu=j90 +		vendor=cray +		basic_os=${basic_os:-unicos}  		;;  	iris | iris4d) -		basic_machine=mips-sgi -		case $os in -		    -irix*) +		cpu=mips +		vendor=sgi +		case $basic_os in +		    irix*)  			;;  		    *) -			os=-irix4 +			basic_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 +		cpu=m68000 +		vendor=convergent  		;; -	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 -		;; -	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 +		basic_os=mint  		;;  	news-3600 | risc-news) -		basic_machine=mips-sony -		os=-newsos -		;; -	necv70) -		basic_machine=v70-nec -		os=-sysv -		;; -	next | m*-next ) -		basic_machine=m68k-next -		case $os in -		    -nextstep* ) +		cpu=mips +		vendor=sony +		basic_os=newsos +		;; +	next | m*-next) +		cpu=m68k +		vendor=next +		case $basic_os in +		    openstep*) +		        ;; +		    nextstep*)  			;; -		    -ns2*) -		      os=-nextstep2 +		    ns2*) +		      basic_os=nextstep2  			;;  		    *) -		      os=-nextstep3 +		      basic_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 -		;; -	nsx-tandem) -		basic_machine=nsx-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 +		basic_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 +		basic_os=hiuxwe2  		;;  	pbd) -		basic_machine=sparc-tti +		cpu=sparc +		vendor=tti  		;;  	pbb) -		basic_machine=m68k-tti -		;; -	pc532 | pc532-*) -		basic_machine=ns32k-pc532 -		;; -	pc98) -		basic_machine=i386-pc -		;; -	pc98-*) -		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` +		cpu=m68k +		vendor=tti  		;; -	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 -		;; -	power)	basic_machine=power-ibm -		;; -	ppc | ppcbe)	basic_machine=powerpc-unknown -		;; -	ppc-* | ppcbe-*) -		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` +		cpu=pn +		vendor=gould  		;; -	ppcle | powerpclittle) -		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) -		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) -		basic_machine=s390-ibm -		;; -	s390-*) -		basic_machine=s390-`echo $basic_machine | sed 's/^[^-]*-//'` -		;; -	s390x) -		basic_machine=s390x-ibm -		;; -	s390x-*) -		basic_machine=s390x-`echo $basic_machine | sed 's/^[^-]*-//'` -		;; -	sa29200) -		basic_machine=a29k-amd -		os=-udi -		;; -	sb1) -		basic_machine=mipsisa64sb1-unknown -		;; -	sb1el) -		basic_machine=mipsisa64sb1el-unknown +		cpu=romp +		vendor=ibm  		;;  	sde) -		basic_machine=mipsisa32-sde -		os=-elf +		cpu=mipsisa32 +		vendor=sde +		basic_os=${basic_os:-elf}  		;; -	sei) -		basic_machine=mips-sei -		os=-seiux +	simso-wrs) +		cpu=sparclite +		vendor=wrs +		basic_os=vxworks  		;; -	sequent) -		basic_machine=i386-sequent +	tower | tower-32) +		cpu=m68k +		vendor=ncr +		;; +	vpp*|vx|vx-*) +		cpu=f301 +		vendor=fujitsu  		;; -	sh) -		basic_machine=sh-hitachi -		os=-hms +	w65) +		cpu=w65 +		vendor=wdc  		;; -	sh5el) -		basic_machine=sh5le-unknown +	w89k-*) +		cpu=hppa1.1 +		vendor=winbond +		basic_os=proelf  		;; -	sh64) -		basic_machine=sh64-unknown +	none) +		cpu=none +		vendor=none  		;; -	sparclite-wrs | simso-wrs) -		basic_machine=sparclite-wrs -		os=-vxworks +	leon|leon[3-9]) +		cpu=sparc +		vendor=$basic_machine  		;; -	sps7) -		basic_machine=m68k-bull -		os=-sysv2 +	leon-*|leon[3-9]-*) +		cpu=sparc +		vendor=`echo "$basic_machine" | sed 's/-.*//'`  		;; -	spur) -		basic_machine=spur-unknown + +	*-*) +		# shellcheck disable=SC2162 +		saved_IFS=$IFS +		IFS="-" read cpu vendor <<EOF +$basic_machine +EOF +		IFS=$saved_IFS  		;; -	st2000) -		basic_machine=m68k-tandem +	# 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  		;; -	stratus) -		basic_machine=i860-stratus -		os=-sysv4 +	# 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  		;; -	strongarm-* | thumb-*) -		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` +	x64 | amd64) +		cpu=x86_64 +		vendor=pc  		;; -	sun2) -		basic_machine=m68000-sun +	# Recognize the basic CPU types without company name. +	*) +		cpu=$basic_machine +		vendor=unknown  		;; -	sun2os3) -		basic_machine=m68000-sun -		os=-sunos3 +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 +		basic_os=${basic_os:-unicosmp}  		;; -	sun2os4) -		basic_machine=m68000-sun -		os=-sunos4 +	c90-unknown | c90-cray) +		vendor=cray +		basic_os=${Basic_os:-unicos}  		;; -	sun3os3) -		basic_machine=m68k-sun -		os=-sunos3 +	fx80-unknown) +		vendor=alliant  		;; -	sun3os4) -		basic_machine=m68k-sun -		os=-sunos4 +	romp-unknown) +		vendor=ibm  		;; -	sun4os3) -		basic_machine=sparc-sun -		os=-sunos3 +	mmix-unknown) +		vendor=knuth  		;; -	sun4os4) -		basic_machine=sparc-sun -		os=-sunos4 +	microblaze-unknown | microblazeel-unknown) +		vendor=xilinx  		;; -	sun4sol2) -		basic_machine=sparc-sun -		os=-solaris2 +	rs6000-unknown) +		vendor=ibm  		;; -	sun3 | sun3-*) -		basic_machine=m68k-sun +	vax-unknown) +		vendor=dec  		;; -	sun4) -		basic_machine=sparc-sun +	pdp11-unknown) +		vendor=dec  		;; -	sun386 | sun386i | roadrunner) -		basic_machine=i386-sun +	we32k-unknown) +		vendor=att  		;; -	sv1) -		basic_machine=sv1-cray -		os=-unicos +	cydra-unknown) +		vendor=cydrome  		;; -	symmetry) -		basic_machine=i386-sequent -		os=-dynix +	i370-ibm*) +		vendor=ibm  		;; -	t3e) -		basic_machine=alphaev5-cray -		os=-unicos +	orion-unknown) +		vendor=highlevel  		;; -	t90) -		basic_machine=t90-cray -		os=-unicos +	xps-unknown | xps100-unknown) +		cpu=xps100 +		vendor=honeywell  		;; -	tile*) -		basic_machine=$basic_machine-unknown -		os=-linux-gnu + +	# Here we normalize CPU types with a missing or matching vendor +	dpx20-unknown | dpx20-bull) +		cpu=rs6000 +		vendor=bull +		basic_os=${basic_os:-bosx}  		;; -	tx39) -		basic_machine=mipstx39-unknown + +	# Here we normalize CPU types irrespective of the vendor +	amd64-*) +		cpu=x86_64  		;; -	tx39el) -		basic_machine=mipstx39el-unknown +	blackfin-*) +		cpu=bfin +		basic_os=linux  		;; -	toad1) -		basic_machine=pdp10-xkl -		os=-tops20 +	c54x-*) +		cpu=tic54x  		;; -	tower | tower-32) -		basic_machine=m68k-ncr +	c55x-*) +		cpu=tic55x  		;; -	tpf) -		basic_machine=s390x-ibm -		os=-tpf +	c6x-*) +		cpu=tic6x  		;; -	udi29k) -		basic_machine=a29k-amd -		os=-udi +	e500v[12]-*) +		cpu=powerpc +		basic_os=${basic_os}"spe"  		;; -	ultra3) -		basic_machine=a29k-nyu -		os=-sym1 +	mips3*-*) +		cpu=mips64  		;; -	v810 | necv810) -		basic_machine=v810-nec -		os=-none +	ms1-*) +		cpu=mt  		;; -	vaxv) -		basic_machine=vax-dec -		os=-sysv +	m68knommu-*) +		cpu=m68k +		basic_os=linux  		;; -	vms) -		basic_machine=vax-dec -		os=-vms +	m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) +		cpu=s12z  		;; -	vpp*|vx|vx-*) -		basic_machine=f301-fujitsu +	openrisc-*) +		cpu=or32  		;; -	vxworks960) -		basic_machine=i960-wrs -		os=-vxworks +	parisc-*) +		cpu=hppa +		basic_os=linux  		;; -	vxworks68) -		basic_machine=m68k-wrs -		os=-vxworks +	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) +		cpu=i586  		;; -	vxworks29k) -		basic_machine=a29k-wrs -		os=-vxworks +	pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) +		cpu=i686  		;; -	wasm32) -		basic_machine=wasm32-unknown +	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 +	arm64-*) +		cpu=aarch64  		;; -	pdp10) -		# there are many clones, so DEC is not a safe bet -		basic_machine=pdp10-unknown + +	# Recognize the canonical CPU Types that limit and/or modify the +	# company names they are paired with. +	cr16-*) +		basic_os=${basic_os:-elf}  		;; -	pdp11) -		basic_machine=pdp11-dec +	crisv32-* | etraxfs*-*) +		cpu=crisv32 +		vendor=axis  		;; -	we32k) -		basic_machine=we32k-att +	cris-* | etrax*-*) +		cpu=cris +		vendor=axis  		;; -	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) -		basic_machine=sh-unknown +	crx-*) +		basic_os=${basic_os:-elf}  		;; -	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) -		basic_machine=sparc-sun +	neo-tandem) +		cpu=neo +		vendor=tandem  		;; -	cydra) -		basic_machine=cydra-cydrome +	nse-tandem) +		cpu=nse +		vendor=tandem  		;; -	orion) -		basic_machine=orion-highlevel +	nsr-tandem) +		cpu=nsr +		vendor=tandem  		;; -	orion105) -		basic_machine=clipper-highlevel +	nsv-tandem) +		cpu=nsv +		vendor=tandem  		;; -	mac | mpw | mac-mpw) -		basic_machine=m68k-apple +	nsx-tandem) +		cpu=nsx +		vendor=tandem  		;; -	pmac | pmac-mpw) -		basic_machine=powerpc-apple +	mipsallegrexel-sony) +		cpu=mipsallegrexel +		vendor=sony  		;; -	*-unknown) -		# Make sure to match an already-canonicalized machine name. +	tile*-*) +		basic_os=${basic_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 | arc32 | arc64 \ +			| 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 \ +			| loongarch32 | loongarch64 | loongarchx32 \ +			| m32c | m32r | m32rle \ +			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ +			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ +			| m88110 | m88k | maxq | mb | mcore | mep | metag \ +			| microblaze | microblazeel \ +			| mips | mipsbe | mipseb | mipsel | mipsle \ +			| mips16 \ +			| mips64 | mips64eb | mips64el \ +			| mips64octeon | mips64octeonel \ +			| mips64orion | mips64orionel \ +			| mips64r5900 | mips64r5900el \ +			| mips64vr | mips64vrel \ +			| mips64vr4100 | mips64vr4100el \ +			| mips64vr4300 | mips64vr4300el \ +			| mips64vr5000 | mips64vr5000el \ +			| mips64vr5900 | mips64vr5900el \ +			| mipsisa32 | mipsisa32el \ +			| mipsisa32r2 | mipsisa32r2el \ +			| mipsisa32r3 | mipsisa32r3el \ +			| mipsisa32r5 | mipsisa32r5el \ +			| mipsisa32r6 | mipsisa32r6el \ +			| mipsisa64 | mipsisa64el \ +			| mipsisa64r2 | mipsisa64r2el \ +			| mipsisa64r3 | mipsisa64r3el \ +			| mipsisa64r5 | mipsisa64r5el \ +			| mipsisa64r6 | mipsisa64r6el \ +			| mipsisa64sb1 | mipsisa64sb1el \ +			| mipsisa64sr71k | mipsisa64sr71kel \ +			| mipsr5900 | mipsr5900el \ +			| mipstx39 | mipstx39el \ +			| 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 | riscv32be | riscv64 | riscv64be \ +			| rl78 | romp | rs6000 | rx \ +			| s390 | s390x \ +			| 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 \ +			| thumbv7* \ +			| 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  		;;  	*)  		;; @@ -1369,203 +1301,215 @@ esac  # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if test x$basic_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 recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# set os. +case $basic_os in +	gnu/linux*) +		kernel=linux +		os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` +		;; +	os2-emx) +		kernel=os2 +		os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` +		;; +	nto-qnx*) +		kernel=nto +		os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` +		;; +	*-*) +		# shellcheck disable=SC2162 +		saved_IFS=$IFS +		IFS="-" read kernel os <<EOF +$basic_os +EOF +		IFS=$saved_IFS +		;; +	# Default OS when just kernel was specified +	nto*) +		kernel=nto +		os=`echo "$basic_os" | sed -e 's|nto|qnx|'` +		;; +	linux*) +		kernel=linux +		os=`echo "$basic_os" | sed -e 's|linux|gnu|'` +		;; +	*) +		kernel= +		os=$basic_os  		;; -	-solaris1 | -solaris1.*) -		os=`echo $os | sed -e 's|solaris1|sunos4|'` +esac + +# Now, normalize the OS (knowing we just have one component, it's not a kernel, +# etc.) +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  		;; -	-solaris) -		os=-solaris2 +	bluegene*) +		os=cnk  		;; -	-svr4*) -		os=-sysv4 +	solaris1 | solaris1.*) +		os=`echo "$os" | sed -e 's|solaris1|sunos4|'`  		;; -	-unixware*) -		os=-sysv4.2uw +	solaris) +		os=solaris2  		;; -	-gnu/linux*) -		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` +	unixware*) +		os=sysv4.2uw  		;; -	# First 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* | -glidix* \ -	      | -cygwin* | -msys* | -pe* | -psos* | -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* | -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* | -fuchsia* | -redox*) -	# Remember, each alternative MUST END IN *, to match a version number. -		;; -	-qnx*) -		case $basic_machine in -		    x86-* | i*86-*) -			;; -		    *) -			os=-nto$os -			;; -		esac +	# es1800 is here to avoid being matched by es* (a different OS) +	es1800*) +		os=ose  		;; -	-nto-qnx*) +	# Some version numbers need modification +	chorusos*) +		os=chorusos  		;; -	-nto*) -		os=`echo $os | sed -e 's|nto|nto-qnx|'` +	isc) +		os=isc2.2  		;; -	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ -	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ -	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) +	sco6) +		os=sco5v6  		;; -	-mac*) -		os=`echo $os | sed -e 's|mac|macos|'` +	sco5) +		os=sco3.2v5  		;; -	-linux-dietlibc) -		os=-linux-dietlibc +	sco4) +		os=sco3.2v4  		;; -	-linux*) -		os=`echo $os | sed -e 's|linux|linux-gnu|'` +	sco3.2.[4-9]*) +		os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`  		;; -	-sunos5*) -		os=`echo $os | sed -e 's|sunos5|solaris2|'` +	sco*v* | scout) +		# Don't match below  		;; -	-sunos6*) -		os=`echo $os | sed -e 's|sunos6|solaris3|'` +	sco*) +		os=sco3.2v2  		;; -	-opened*) -		os=-openedition +	psos*) +		os=psos  		;; -	-os400*) -		os=-os400 +	qnx*) +		os=qnx  		;; -	-wince*) -		os=-wince +	hiux*) +		os=hiuxwe2  		;; -	-osfrose*) -		os=-osfrose +	lynx*178) +		os=lynxos178  		;; -	-osf*) -		os=-osf +	lynx*5) +		os=lynxos5  		;; -	-utek*) -		os=-bsd +	lynxos*) +		# don't get caught up in next wildcard  		;; -	-dynix*) -		os=-bsd +	lynx*) +		os=lynxos  		;; -	-acis*) -		os=-aos +	mac[0-9]*) +		os=`echo "$os" | sed -e 's|mac|macos|'`  		;; -	-atheos*) -		os=-atheos +	opened*) +		os=openedition  		;; -	-syllable*) -		os=-syllable +	os400*) +		os=os400  		;; -	-386bsd) -		os=-bsd +	sunos5*) +		os=`echo "$os" | sed -e 's|sunos5|solaris2|'`  		;; -	-ctix* | -uts*) -		os=-sysv +	sunos6*) +		os=`echo "$os" | sed -e 's|sunos6|solaris3|'`  		;; -	-nova*) -		os=-rtmk-nova +	wince*) +		os=wince  		;; -	-ns2 ) -		os=-nextstep2 +	utek*) +		os=bsd  		;; -	-nsk*) -		os=-nsk +	dynix*) +		os=bsd  		;; -	# Preserve the version number of sinix5. -	-sinix5.*) -		os=`echo $os | sed -e 's|sinix|sysv|'` +	acis*) +		os=aos  		;; -	-sinix*) -		os=-sysv4 +	atheos*) +		os=atheos  		;; -	-tpf*) -		os=-tpf +	syllable*) +		os=syllable  		;; -	-triton*) -		os=-sysv3 +	386bsd) +		os=bsd  		;; -	-oss*) -		os=-sysv3 +	ctix* | uts*) +		os=sysv  		;; -	-svr4) -		os=-sysv4 +	nova*) +		os=rtmk-nova  		;; -	-svr3) -		os=-sysv3 +	ns2) +		os=nextstep2  		;; -	-sysvr4) -		os=-sysv4 +	# Preserve the version number of sinix5. +	sinix5.*) +		os=`echo "$os" | sed -e 's|sinix|sysv|'`  		;; -	# This must come after -sysvr4. -	-sysv*) +	sinix*) +		os=sysv4  		;; -	-ose*) -		os=-ose +	tpf*) +		os=tpf  		;; -	-es1800*) -		os=-ose +	triton*) +		os=sysv3  		;; -	-xenix) -		os=-xenix +	oss*) +		os=sysv3  		;; -	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) -		os=-mint +	svr4*) +		os=sysv4  		;; -	-aros*) -		os=-aros +	svr3) +		os=sysv3  		;; -	-zvmoe) -		os=-zvmoe +	sysvr4) +		os=sysv4  		;; -	-dicos*) -		os=-dicos +	ose*) +		os=ose  		;; -	-nacl*) +	*mint | mint[0-9]* | *MiNT | MiNT[0-9]*) +		os=mint  		;; -	-ios) +	dicos*) +		os=dicos  		;; -	-none) +	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  		;;  	*) -		# Get rid of the `-' at the beginning of $os. -		os=`echo $os | sed 's/[^-]*-//'` -		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 -		exit 1 +		# No normalization, but not necessarily accepted, that comes below.  		;;  esac +  else  # Here we handle the default operating systems that come with various machines. @@ -1578,264 +1522,362 @@ 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 +kernel= +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 +		kernel=linux +		os=gnu  		;;  	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  		;;  	pru-*) -		os=-elf +		os=elf  		;;  	*-be) -		os=-beos -		;; -	*-haiku) -		os=-haiku +		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 +# Now, validate our (potentially fixed-up) OS. +case $os in +	# Sometimes we do "kernel-libc", so those need to count as OSes. +	musl* | newlib* | relibc* | uclibc*) +		;; +	# Likewise for "kernel-abi" +	eabi* | gnueabi*) +		;; +	# VxWorks passes extra cpu info in the 4th filed. +	simlinux | simwindows | spe) +		;; +	# Now accept the basic system types. +	# The portable systems comes first. +	# Each alternative MUST end in a * to match a version number. +	gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ +	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ +	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ +	     | sym* |  plan9* | psp* | sim* | xray* | os68k* | v88r* \ +	     | hiux* | abug | nacl* | netware* | windows* \ +	     | os9* | macos* | osx* | ios* \ +	     | mpw* | magic* | mmixware* | mon960* | lnews* \ +	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ +	     | aos* | aros* | cloudabi* | sortix* | twizzler* \ +	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ +	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ +	     | mirbsd* | netbsd* | dicos* | openedition* | ose* \ +	     | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ +	     | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ +	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ +	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ +	     | udi* | lites* | ieee* | go32* | aux* | hcos* \ +	     | chorusrdb* | cegcc* | glidix* | serenity* \ +	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ +	     | midipix* | mingw32* | mingw64* | mint* \ +	     | 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* \ +	     | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ +	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ +	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \ +	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ +	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ +	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) +		;; +	# This one is extra strict with allowed versions +	sco3.2v2 | sco3.2v[4-9]* | sco5v6*) +		# Don't forget version if it is 3.2v4 or newer. +		;; +	none) +		;; +	*) +		echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 +		exit 1 +		;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in +	linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ +		   | linux-musl* | linux-relibc* | linux-uclibc* ) +		;; +	uclinux-uclibc* ) +		;; +	-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) +		# These are just libc implementations, not actual OSes, and thus +		# require a kernel. +		echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 +		exit 1 +		;; +	kfreebsd*-gnu* | kopensolaris*-gnu*) +		;; +	vxworks-simlinux | vxworks-simwindows | vxworks-spe) +		;; +	nto-qnx*) +		;; +	os2-emx) +		;; +	*-eabi* | *-gnueabi*) +		;; +	-*) +		# Blank kernel with real OS is always fine. +		;; +	*-*) +		echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 +		exit 1 +		;; +esac +  # 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 $os in -			-riscix*) +case $vendor in +	unknown) +		case $cpu-$os in +			*-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*)  				vendor=ibm  				;; -			-os400*) +			s390-* | s390x-*)  				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-${kernel:+$kernel-}$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: "'" diff --git a/build-aux/depcomp b/build-aux/depcomp index b39f98f..715e343 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -1,9 +1,9 @@  #! /bin/sh  # depcomp - compile a program generating dependencies as side-effects -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc.  # This program is free software; you can redistribute it and/or modify  # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC  # GNU 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 @@ -783,7 +783,7 @@ exit 0  # Local Variables:  # mode: shell-script  # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp)  # time-stamp-start: "scriptversion="  # time-stamp-format: "%:y-%02m-%02d.%02H"  # time-stamp-time-zone: "UTC0" diff --git a/build-aux/install-sh b/build-aux/install-sh index 0360b79..ec298b5 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -1,7 +1,7 @@  #!/bin/sh  # install - install a program, script, or datafile -scriptversion=2016-01-11.22; # UTC +scriptversion=2020-11-14.01; # UTC  # This originates from X11R5 (mit/util/scripts/install.sh), which was  # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ posix_mkdir=  # Desired mode of installed file.  mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix=  chgrpcmd=  chmodcmd=$chmodprog  chowncmd= @@ -99,18 +104,28 @@ Options:       --version  display version info and exit.    -c            (ignored) -  -C            install only if different (preserve the last data modification time) +  -C            install only if different (preserve data modification time)    -d            create directories instead of installing files.    -g GROUP      $chgrpprog installed files to GROUP.    -m MODE       $chmodprog installed files to MODE.    -o USER       $chownprog installed files to USER. +  -p            pass -p to $cpprog.    -s            $stripprog installed files. +  -S SUFFIX     attempt to back up existing files, with suffix SUFFIX.    -t DIRECTORY  install into DIRECTORY.    -T            report an error if DSTFILE is a directory.  Environment variables override the default commands:    CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG    RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/  "  while test $# -ne 0; do @@ -137,8 +152,13 @@ while test $# -ne 0; do      -o) chowncmd="$chownprog $2"          shift;; +    -p) cpprog="$cpprog -p";; +      -s) stripcmd=$stripprog;; +    -S) backupsuffix="$2" +        shift;; +      -t)          is_target_a_directory=always          dst_arg=$2 @@ -255,6 +275,10 @@ do      dstdir=$dst      test -d "$dstdir"      dstdir_status=$? +    # Don't chown directories that already exist. +    if test $dstdir_status = 0; then +      chowncmd="" +    fi    else      # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -271,15 +295,18 @@ do      fi      dst=$dst_arg -    # If destination is a directory, append the input filename; won't work -    # if double slashes aren't ignored. +    # If destination is a directory, append the input filename.      if test -d "$dst"; then        if test "$is_target_a_directory" = never; then          echo "$0: $dst_arg: Is a directory" >&2          exit 1        fi        dstdir=$dst -      dst=$dstdir/`basename "$src"` +      dstbase=`basename "$src"` +      case $dst in +	*/) dst=$dst$dstbase;; +	*)  dst=$dst/$dstbase;; +      esac        dstdir_status=0      else        dstdir=`dirname "$dst"` @@ -288,27 +315,16 @@ do      fi    fi +  case $dstdir in +    */) dstdirslash=$dstdir;; +    *)  dstdirslash=$dstdir/;; +  esac +    obsolete_mkdir_used=false    if test $dstdir_status != 0; then      case $posix_mkdir in        '') -        # Create intermediate dirs using mode 755 as modified by the umask. -        # This is like FreeBSD 'install' as of 1997-10-28. -        umask=`umask` -        case $stripcmd.$umask in -          # Optimize common cases. -          *[2367][2367]) mkdir_umask=$umask;; -          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - -          *[0-7]) -            mkdir_umask=`expr $umask + 22 \ -              - $umask % 100 % 40 + $umask % 20 \ -              - $umask % 10 % 4 + $umask % 2 -            `;; -          *) mkdir_umask=$umask,go-w;; -        esac -          # With -d, create the new directory with the user-specified mode.          # Otherwise, rely on $mkdir_umask.          if test -n "$dir_arg"; then @@ -318,43 +334,49 @@ do          fi          posix_mkdir=false -        case $umask in -          *[123567][0-7][0-7]) -            # POSIX mkdir -p sets u+wx bits regardless of umask, which -            # is incompatible with FreeBSD 'install' when (umask & 300) != 0. -            ;; -          *) -            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ -            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - -            if (umask $mkdir_umask && -                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 -            then -              if test -z "$dir_arg" || { -                   # Check for POSIX incompatibilities with -m. -                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or -                   # other-writable bit of parent directory when it shouldn't. -                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. -                   ls_ld_tmpdir=`ls -ld "$tmpdir"` -                   case $ls_ld_tmpdir in -                     d????-?r-*) different_mode=700;; -                     d????-?--*) different_mode=755;; -                     *) false;; -                   esac && -                   $mkdirprog -m$different_mode -p -- "$tmpdir" && { -                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"` -                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" -                   } -                 } -              then posix_mkdir=: -              fi -              rmdir "$tmpdir/d" "$tmpdir" -            else -              # Remove any dirs left behind by ancient mkdir implementations. -              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null -            fi -            trap '' 0;; -        esac;; +	# The $RANDOM variable is not portable (e.g., dash).  Use it +	# here however when possible just to lower collision chance. +	tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + +	trap ' +	  ret=$? +	  rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null +	  exit $ret +	' 0 + +	# Because "mkdir -p" follows existing symlinks and we likely work +	# directly in world-writeable /tmp, make sure that the '$tmpdir' +	# directory is successfully created first before we actually test +	# 'mkdir -p'. +	if (umask $mkdir_umask && +	    $mkdirprog $mkdir_mode "$tmpdir" && +	    exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 +	then +	  if test -z "$dir_arg" || { +	       # Check for POSIX incompatibilities with -m. +	       # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or +	       # other-writable bit of parent directory when it shouldn't. +	       # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. +	       test_tmpdir="$tmpdir/a" +	       ls_ld_tmpdir=`ls -ld "$test_tmpdir"` +	       case $ls_ld_tmpdir in +		 d????-?r-*) different_mode=700;; +		 d????-?--*) different_mode=755;; +		 *) false;; +	       esac && +	       $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { +		 ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` +		 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" +	       } +	     } +	  then posix_mkdir=: +	  fi +	  rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" +	else +	  # Remove any dirs left behind by ancient mkdir implementations. +	  rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null +	fi +	trap '' 0;;      esac      if @@ -365,7 +387,7 @@ do      then :      else -      # The umask is ridiculous, or mkdir does not conform to POSIX, +      # mkdir does not conform to POSIX,        # or it failed possibly due to a race condition.  Create the        # directory the slow way, step by step, checking for races as we go. @@ -394,7 +416,7 @@ do            prefixes=          else            if $posix_mkdir; then -            (umask=$mkdir_umask && +            (umask $mkdir_umask &&               $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break              # Don't fail if two instances are running concurrently.              test -d "$prefix" || exit 1 @@ -427,14 +449,25 @@ do    else      # Make a couple of temp file names in the proper directory. -    dsttmp=$dstdir/_inst.$$_ -    rmtmp=$dstdir/_rm.$$_ +    dsttmp=${dstdirslash}_inst.$$_ +    rmtmp=${dstdirslash}_rm.$$_      # Trap to clean up those temp files at exit.      trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0      # Copy the file name to the temp name. -    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && +    (umask $cp_umask && +     { test -z "$stripcmd" || { +	 # Create $dsttmp read-write so that cp doesn't create it read-only, +	 # which would cause strip to fail. +	 if test -z "$doit"; then +	   : >"$dsttmp" # No need to fork-exec 'touch'. +	 else +	   $doit touch "$dsttmp" +	 fi +       } +     } && +     $doit_exec $cpprog "$src" "$dsttmp") &&      # and set any options; do chmod last to preserve setuid bits.      # @@ -460,6 +493,13 @@ do      then        rm -f "$dsttmp"      else +      # If $backupsuffix is set, and the file being installed +      # already exists, attempt a backup.  Don't worry if it fails, +      # e.g., if mv doesn't support -f. +      if test -n "$backupsuffix" && test -f "$dst"; then +        $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null +      fi +        # Rename the file to the real destination.        $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -474,9 +514,9 @@ do          # file should still install successfully.          {            test ! -f "$dst" || -          $doit $rmcmd -f "$dst" 2>/dev/null || +          $doit $rmcmd "$dst" 2>/dev/null ||            { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && -            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } +            { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }            } ||            { echo "$0: cannot unlink or rename $dst" >&2              (exit 1); exit 1 @@ -493,7 +533,7 @@ do  done  # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp)  # time-stamp-start: "scriptversion="  # time-stamp-format: "%:y-%02m-%02d.%02H"  # time-stamp-time-zone: "UTC0" diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh index 0f0a2da..2a50d7f 100755 --- a/build-aux/ltmain.sh +++ b/build-aux/ltmain.sh @@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh  ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -##               by inline-source v2014-01-03.01 +##               by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7  # Provide generalized library-building support services.  # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 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. @@ -31,8 +31,8 @@  PROGRAM=libtool  PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 +VERSION=2.4.7 +package_revision=2.4.7  ## ------ ## @@ -64,34 +64,25 @@ package_revision=2.4.6  # libraries, which are installed to $pkgauxdir.  # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # UTC  # General shell script boiler plate, and helper functions.  # Written by Gary V. Vaughan, 2004 -# Copyright (C) 2004-2015 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. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# 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/>. +# This is free software.  There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>.  You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it.  See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues>  ## ------ ## @@ -139,9 +130,12 @@ do  	  _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"  	fi"  done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24).  Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL  # Make sure IFS has a sensible default  sp=' ' @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then  fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ +    { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS +  ## ------------------------- ##  ## Locate command utilities. ## @@ -259,7 +273,7 @@ test -z "$SED" && {      rm -f conftest.in conftest.tmp conftest.nl conftest.out    } -  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin +  func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin"    rm -f conftest.sed    SED=$func_path_progs_result  } @@ -295,7 +309,7 @@ test -z "$GREP" && {      rm -f conftest.in conftest.tmp conftest.nl conftest.out    } -  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin +  func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin"    GREP=$func_path_progs_result  } @@ -360,6 +374,35 @@ sed_double_backslash="\    s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g    s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ +  _G_save_IFS=$IFS +  IFS='\' +  _G_check_ifs_backshlash='a\\b' +  for _G_i in $_G_check_ifs_backshlash +  do +  case $_G_i in +  a) +    check_ifs_backshlash_broken=false +    ;; +  '') +    break +    ;; +  *) +    check_ifs_backshlash_broken=: +    break +    ;; +  esac +  done +  IFS=$_G_save_IFS +  require_check_ifs_backslash=: +} +  ## ----------------- ##  ## Global variables. ## @@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then    {      $debug_cmd -    func_quote_for_eval "$2" -    eval "$1+=\\ \$func_quote_for_eval_result" +    func_quote_arg pretty "$2" +    eval "$1+=\\ \$func_quote_arg_result"    }'  else    func_append_quoted ()    {      $debug_cmd -    func_quote_for_eval "$2" -    eval "$1=\$$1\\ \$func_quote_for_eval_result" +    func_quote_arg pretty "$2" +    eval "$1=\$$1\\ \$func_quote_arg_result"    }  fi @@ -1091,85 +1134,203 @@ func_relative_path ()  } -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -#   i) func_quote_for_eval_result -#      double-quoted, suitable for a subsequent eval -#  ii) func_quote_for_eval_unquoted_result -#      has all characters that are still active within double -#      quotes backslashified. -func_quote_for_eval () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg.  Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable ()  {      $debug_cmd -    func_quote_for_eval_unquoted_result= -    func_quote_for_eval_result= -    while test 0 -lt $#; do -      case $1 in -        *[\\\`\"\$]*) -	  _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; -        *) -          _G_unquoted_arg=$1 ;; -      esac -      if test -n "$func_quote_for_eval_unquoted_result"; then -	func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" -      else -        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" +    $require_check_ifs_backslash + +    func_quote_portable_result=$2 + +    # one-time-loop (easy break) +    while true +    do +      if $1; then +        func_quote_portable_result=`$ECHO "$2" | $SED \ +          -e "$sed_double_quote_subst" -e "$sed_double_backslash"` +        break        fi -      case $_G_unquoted_arg in -        # Double-quote args containing shell metacharacters to delay -        # word splitting, command substitution and variable expansion -        # for a subsequent eval. -        # Many Bourne shells cannot handle close brackets correctly -        # in scan sets, so we specify it separately. -        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") -          _G_quoted_arg=\"$_G_unquoted_arg\" +      # Quote for eval. +      case $func_quote_portable_result in +        *[\\\`\"\$]*) +          # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string +          # contains the shell wildcard characters. +          case $check_ifs_backshlash_broken$func_quote_portable_result in +            :*|*[\[\*\?]*) +              func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ +                  | $SED "$sed_quote_subst"` +              break +              ;; +          esac + +          func_quote_portable_old_IFS=$IFS +          for _G_char in '\' '`' '"' '$' +          do +            # STATE($1) PREV($2) SEPARATOR($3) +            set start "" "" +            func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy +            IFS=$_G_char +            for _G_part in $func_quote_portable_result +            do +              case $1 in +              quote) +                func_append func_quote_portable_result "$3$2" +                set quote "$_G_part" "\\$_G_char" +                ;; +              start) +                set first "" "" +                func_quote_portable_result= +                ;; +              first) +                set quote "$_G_part" "" +                ;; +              esac +            done +          done +          IFS=$func_quote_portable_old_IFS            ;; -        *) -          _G_quoted_arg=$_G_unquoted_arg -	  ;; +        *) ;;        esac - -      if test -n "$func_quote_for_eval_result"; then -	func_append func_quote_for_eval_result " $_G_quoted_arg" -      else -        func_append func_quote_for_eval_result "$_G_quoted_arg" -      fi -      shift +      break      done + +    func_quote_portable_unquoted_result=$func_quote_portable_result +    case $func_quote_portable_result in +      # double-quote args containing shell metacharacters to delay +      # word splitting, command substitution and variable expansion +      # for a subsequent eval. +      # many bourne shells cannot handle close brackets correctly +      # in scan sets, so we specify it separately. +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +        func_quote_portable_result=\"$func_quote_portable_result\" +        ;; +    esac  } -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ -    $debug_cmd +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal).  This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed.  Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then +  printf -v _GL_test_printf_tilde %q '~' +  if test '\~' = "$_GL_test_printf_tilde"; then +    func_quotefast_eval () +    { +      printf -v func_quotefast_eval_result %q "$1" +    } +  else +    # Broken older Bash implementations.  Make those faster too if possible. +    func_quotefast_eval () +    { +      case $1 in +        '~'*) +          func_quote_portable false "$1" +          func_quotefast_eval_result=$func_quote_portable_result +          ;; +        *) +          printf -v func_quotefast_eval_result %q "$1" +          ;; +      esac +    } +  fi +else +  func_quotefast_eval () +  { +    func_quote_portable false "$1" +    func_quotefast_eval_result=$func_quote_portable_result +  } +fi -    case $1 in -      *[\\\`\"]*) -	_G_arg=`$ECHO "$1" | $SED \ -	    -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; -      *) -        _G_arg=$1 ;; + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later.  MODEs argument may contain zero or more +# specifiers listed below separated by ',' character.  This function returns two +# values: +#   i) func_quote_arg_result +#      double-quoted (when needed), suitable for a subsequent eval +#  ii) func_quote_arg_unquoted_result +#      has all characters that are still active within double +#      quotes backslashified.  Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +#       - escape shell special characters +# 'expand' +#       - the same as 'eval';  but do not quote variable references +# 'pretty' +#       - request aesthetic output, i.e. '"a b"' instead of 'a\ b'.  This might +#         be used later in func_quote to get output like: 'echo "a b"' instead +#         of 'echo a\ b'.  This is slower than default on some shells. +# 'unquoted' +#       - produce also $func_quote_arg_unquoted_result which does not contain +#         wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +#   string      | *_result              | *_unquoted_result +#   ------------+-----------------------+------------------- +#   "           | \"                    | \" +#   a b         | "a b"                 | a b +#   "a b"       | "\"a b\""             | \"a b\" +#   *           | "*"                   | * +#   z="${x-$y}" | "z=\"\${x-\$y}\""     | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +#   string        |   *_result          |  *_unquoted_result +#   --------------+---------------------+-------------------- +#   z="${x-$y}"   | "z=\"${x-$y}\""     | z=\"${x-$y}\" +func_quote_arg () +{ +    _G_quote_expand=false +    case ,$1, in +      *,expand,*) +        _G_quote_expand=: +        ;;      esac -    case $_G_arg in -      # Double-quote args containing shell metacharacters to delay -      # word splitting and command substitution for a subsequent eval. -      # Many Bourne shells cannot handle close brackets correctly -      # in scan sets, so we specify it separately. -      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") -        _G_arg=\"$_G_arg\" +    case ,$1, in +      *,pretty,*|*,expand,*|*,unquoted,*) +        func_quote_portable $_G_quote_expand "$2" +        func_quote_arg_result=$func_quote_portable_result +        func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result +        ;; +      *) +        # Faster quote-for-eval for some shells. +        func_quotefast_eval "$2" +        func_quote_arg_result=$func_quotefast_eval_result          ;;      esac +} + -    func_quote_for_expand_result=$_G_arg +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command.  See +# func_quote_arg's description for more info. +func_quote () +{ +    $debug_cmd +    _G_func_quote_mode=$1 ; shift +    func_quote_result= +    while test 0 -lt $#; do +      func_quote_arg "$_G_func_quote_mode" "$1" +      if test -n "$func_quote_result"; then +        func_append func_quote_result " $func_quote_arg_result" +      else +        func_append func_quote_result "$func_quote_arg_result" +      fi +      shift +    done  } @@ -1215,8 +1376,8 @@ func_show_eval ()      _G_cmd=$1      _G_fail_exp=${2-':'} -    func_quote_for_expand "$_G_cmd" -    eval "func_notquiet $func_quote_for_expand_result" +    func_quote_arg pretty,expand "$_G_cmd" +    eval "func_notquiet $func_quote_arg_result"      $opt_dry_run || {        eval "$_G_cmd" @@ -1241,8 +1402,8 @@ func_show_eval_locale ()      _G_fail_exp=${2-':'}      $opt_quiet || { -      func_quote_for_expand "$_G_cmd" -      eval "func_echo $func_quote_for_expand_result" +      func_quote_arg expand,pretty "$_G_cmd" +      eval "func_echo $func_quote_arg_result"      }      $opt_dry_run || { @@ -1369,30 +1530,26 @@ func_lt_ver ()  # End:  #! /bin/sh -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC -  # A portable, pluggable option parser for Bourne shell.  # Written by Gary V. Vaughan, 2010 -# Copyright (C) 2010-2015 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. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -# GNU General Public License for more details. +# This is free software.  There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>.  You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it.  See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# You should have received a copy of the GNU General Public License -# along with this program.  If not, see <http://www.gnu.org/licenses/>. +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC  ## ------ ## @@ -1415,7 +1572,7 @@ scriptversion=2014-01-07.03; # UTC  #  # In order for the '--version' option to work, you will need to have a  # suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. +# starting with '# Written by ' and ending with '# Copyright'.  #  # For '-h' and '--help' to work, you will also need a one line  # description of your script's purpose in a comment directly above the @@ -1427,7 +1584,7 @@ scriptversion=2014-01-07.03; # UTC  # to display verbose messages only when your user has specified  # '--verbose'.  # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional  # options by amending the variables from the 'Configuration' section  # below, and following the instructions in the 'Option parsing'  # section further down. @@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information."  ## ------------------------- ##  # This section contains functions for adding, removing, and running hooks -# to the main code.  A hook is just a named list of of function, that can -# be run in order later on. +# in the main code.  A hook is just a list of function names that can be +# run in order later on.  # func_hookable FUNC_NAME  # ----------------------- @@ -1510,7 +1667,8 @@ func_add_hook ()  # func_remove_hook FUNC_NAME HOOK_FUNC  # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME.  func_remove_hook ()  {      $debug_cmd @@ -1519,10 +1677,28 @@ func_remove_hook ()  } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ +    $debug_cmd + +    func_propagate_result_result=: +    if eval "test \"\${${1}_result+set}\" = set" +    then +      eval "${2}_result=\$${1}_result" +    else +      func_propagate_result_result=false +    fi +} + +  # func_run_hooks FUNC_NAME [ARG]...  # ---------------------------------  # Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more +# It's assumed that the list of hook functions contains nothing more  # than a whitespace-delimited list of legal shell function names, and  # no effort is wasted trying to catch shell meta-characters or preserve  # whitespace. @@ -1532,22 +1708,19 @@ func_run_hooks ()      case " $hookable_fns " in        *" $1 "*) ;; -      *) func_fatal_error "'$1' does not support hook funcions.n" ;; +      *) func_fatal_error "'$1' does not support hook functions." ;;      esac      eval _G_hook_fns=\$$1_hooks; shift      for _G_hook in $_G_hook_fns; do -      eval $_G_hook '"$@"' - -      # store returned options list back into positional -      # parameters for next 'cmd' execution. -      eval _G_hook_result=\$${_G_hook}_result -      eval set dummy "$_G_hook_result"; shift +      func_unset "${_G_hook}_result" +      eval $_G_hook '${1+"$@"}' +      func_propagate_result $_G_hook func_run_hooks +      if $func_propagate_result_result; then +        eval set dummy "$func_run_hooks_result"; shift +      fi      done - -    func_quote_for_eval ${1+"$@"} -    func_run_hooks_result=$func_quote_for_eval_result  } @@ -1557,10 +1730,18 @@ func_run_hooks ()  ## --------------- ##  # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '<hooked_function_name>_result', escaped suitably for -# 'eval'.  Like this: +# full positional parameter list from your hook function.  You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '<hooked_function_name>_result', escaped +# suitably for 'eval'. +# +# The '<hooked_function_name>_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this:  #  #    my_options_prep ()  #    { @@ -1570,9 +1751,8 @@ func_run_hooks ()  #        usage_message=$usage_message'  #      -s, --silent       don'\''t print informational messages  #    ' -# -#        func_quote_for_eval ${1+"$@"} -#        my_options_prep_result=$func_quote_for_eval_result +#        # No change in '$@' (ignored completely by this hook).  Leave +#        # my_options_prep_result variable intact.  #    }  #    func_add_hook func_options_prep my_options_prep  # @@ -1581,25 +1761,36 @@ func_run_hooks ()  #    {  #        $debug_cmd  # -#        # Note that for efficiency, we parse as many options as we can +#        args_changed=false +# +#        # Note that, for efficiency, we parse as many options as we can  #        # recognise in a loop before passing the remainder back to the  #        # caller on the first unrecognised argument we encounter.  #        while test $# -gt 0; do  #          opt=$1; shift  #          case $opt in -#            --silent|-s) opt_silent=: ;; +#            --silent|-s) opt_silent=: +#                         args_changed=: +#                         ;;  #            # Separate non-argument short options:  #            -s*)         func_split_short_opt "$_G_opt"  #                         set dummy "$func_split_short_opt_name" \  #                             "-$func_split_short_opt_arg" ${1+"$@"}  #                         shift +#                         args_changed=:  #                         ;; -#            *)            set dummy "$_G_opt" "$*"; shift; break ;; +#            *)           # Make sure the first unrecognised option "$_G_opt" +#                         # is added back to "$@" in case we need it later, +#                         # if $args_changed was set to 'true'. +#                         set dummy "$_G_opt" ${1+"$@"}; shift; break ;;  #          esac  #        done  # -#        func_quote_for_eval ${1+"$@"} -#        my_silent_option_result=$func_quote_for_eval_result +#        # Only call 'func_quote' here if we processed at least one argument. +#        if $args_changed; then +#          func_quote eval ${1+"$@"} +#          my_silent_option_result=$func_quote_result +#        fi  #    }  #    func_add_hook func_parse_options my_silent_option  # @@ -1610,17 +1801,26 @@ func_run_hooks ()  #  #        $opt_silent && $opt_verbose && func_fatal_help "\  #    '--silent' and '--verbose' options are mutually exclusive." -# -#        func_quote_for_eval ${1+"$@"} -#        my_option_validation_result=$func_quote_for_eval_result  #    }  #    func_add_hook func_validate_options my_option_validation  # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra  # options you parse.  It's preferable to append if you can, so that  # multiple option parsing hooks can be added safely. +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ +    $debug_cmd + +    func_run_hooks func_options ${1+"$@"} +    func_propagate_result func_run_hooks func_options_finish +} + +  # func_options [ARG]...  # ---------------------  # All the functions called inside func_options are hookable. See the @@ -1630,17 +1830,27 @@ func_options ()  {      $debug_cmd -    func_options_prep ${1+"$@"} -    eval func_parse_options \ -        ${func_options_prep_result+"$func_options_prep_result"} -    eval func_validate_options \ -        ${func_parse_options_result+"$func_parse_options_result"} +    _G_options_quoted=false -    eval func_run_hooks func_options \ -        ${func_validate_options_result+"$func_validate_options_result"} +    for my_func in options_prep parse_options validate_options options_finish +    do +      func_unset func_${my_func}_result +      func_unset func_run_hooks_result +      eval func_$my_func '${1+"$@"}' +      func_propagate_result func_$my_func func_options +      if $func_propagate_result_result; then +        eval set dummy "$func_options_result"; shift +        _G_options_quoted=: +      fi +    done -    # save modified positional parameters for caller -    func_options_result=$func_run_hooks_result +    $_G_options_quoted || { +      # As we (func_options) are top-level options-parser function and +      # nobody quoted "$@" for us yet, we need to do it explicitly for +      # caller. +      func_quote eval ${1+"$@"} +      func_options_result=$func_quote_result +    }  } @@ -1649,9 +1859,8 @@ func_options ()  # All initialisations required before starting the option parse loop.  # Note that when calling hook functions, we pass through the list of  # positional parameters.  If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning.  func_hookable func_options_prep  func_options_prep ()  { @@ -1662,9 +1871,7 @@ func_options_prep ()      opt_warning_types=      func_run_hooks func_options_prep ${1+"$@"} - -    # save modified positional parameters for caller -    func_options_prep_result=$func_run_hooks_result +    func_propagate_result func_run_hooks func_options_prep  } @@ -1676,25 +1883,32 @@ func_parse_options ()  {      $debug_cmd -    func_parse_options_result= - +    _G_parse_options_requote=false      # this just eases exit handling      while test $# -gt 0; do        # Defer to hook functions for initial option parsing, so they        # get priority in the event of reusing an option name.        func_run_hooks func_parse_options ${1+"$@"} - -      # Adjust func_parse_options positional parameters to match -      eval set dummy "$func_run_hooks_result"; shift +      func_propagate_result func_run_hooks func_parse_options +      if $func_propagate_result_result; then +        eval set dummy "$func_parse_options_result"; shift +        # Even though we may have changed "$@", we passed the "$@" array +        # down into the hook and it quoted it for us (because we are in +        # this if-branch).  No need to quote it again. +        _G_parse_options_requote=false +      fi        # Break out of the loop if we already parsed every option.        test $# -gt 0 || break +      # We expect that one of the options parsed in this function matches +      # and thus we remove _G_opt from "$@" and need to re-quote. +      _G_match_parse_options=:        _G_opt=$1        shift        case $_G_opt in          --debug|-x)   debug_cmd='set -x' -                      func_echo "enabling shell trace mode" +                      func_echo "enabling shell trace mode" >&2                        $debug_cmd                        ;; @@ -1704,7 +1918,10 @@ func_parse_options ()  		      ;;          --warnings|--warning|-W) -                      test $# = 0 && func_missing_arg $_G_opt && break +                      if test $# = 0 && func_missing_arg $_G_opt; then +                        _G_parse_options_requote=: +                        break +                      fi                        case " $warning_categories $1" in                          *" $1 "*)                            # trailing space prevents matching last $1 above @@ -1757,15 +1974,24 @@ func_parse_options ()                        shift                        ;; -        --)           break ;; +        --)           _G_parse_options_requote=: ; break ;;          -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;; -        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;; +        *)            set dummy "$_G_opt" ${1+"$@"}; shift +                      _G_match_parse_options=false +                      break +                      ;;        esac + +      if $_G_match_parse_options; then +        _G_parse_options_requote=: +      fi      done -    # save modified positional parameters for caller -    func_quote_for_eval ${1+"$@"} -    func_parse_options_result=$func_quote_for_eval_result +    if $_G_parse_options_requote; then +      # save modified positional parameters for caller +      func_quote eval ${1+"$@"} +      func_parse_options_result=$func_quote_result +    fi  } @@ -1782,12 +2008,10 @@ func_validate_options ()      test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"      func_run_hooks func_validate_options ${1+"$@"} +    func_propagate_result func_run_hooks func_validate_options      # Bail if the options were screwed!      $exit_cmd $EXIT_FAILURE - -    # save modified positional parameters for caller -    func_validate_options_result=$func_run_hooks_result  } @@ -1843,8 +2067,8 @@ func_missing_arg ()  # func_split_equals STRING  # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign.  test -z "$_G_HAVE_XSI_OPS" \      && (eval 'x=a/b/c;        test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ @@ -1859,8 +2083,9 @@ then        func_split_equals_lhs=${1%%=*}        func_split_equals_rhs=${1#*=} -      test "x$func_split_equals_lhs" = "x$1" \ -        && func_split_equals_rhs= +      if test "x$func_split_equals_lhs" = "x$1"; then +        func_split_equals_rhs= +      fi    }'  else    # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1870,7 +2095,7 @@ else        func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`        func_split_equals_rhs= -      test "x$func_split_equals_lhs" = "x$1" \ +      test "x$func_split_equals_lhs=" = "x$1" \          || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`    }  fi #func_split_equals @@ -1896,7 +2121,7 @@ else    {        $debug_cmd -      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` +      func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'`        func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`    }  fi #func_split_short_opt @@ -1938,31 +2163,44 @@ func_usage_message ()  # func_version  # ------------  # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +#   1. First display the progname and version +#   2. Followed by the header comment line matching  /^# Written by / +#   3. Then a blank line followed by the first following line matching +#      /^# Copyright / +#   4. Immediately followed by any lines between the previous matches, +#      except lines preceding the intervening completely blank line. +# For example, see the header comments of this file.  func_version ()  {      $debug_cmd      printf '%s\n' "$progname $scriptversion"      $SED -n ' -        /(C)/!b go -        :more -        /\./!{ -          N -          s|\n# | | -          b more -        } -        :go -        /^# Written by /,/# warranty; / { -          s|^# || -          s|^# *$|| -          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| -          p +        /^# Written by /!b +        s|^# ||; p; n + +        :fwd2blnk +        /./ { +          n +          b fwd2blnk          } -        /^# Written by / { -          s|^# || -          p +        p; n + +        :holdwrnt +        s|^# || +        s|^# *$|| +        /^Copyright /!{ +          /./H +          n +          b holdwrnt          } -        /^warranty; /q' < "$progpath" + +        s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| +        G +        s|\(\n\)\n*|\1|g +        p; q' < "$progpath"      exit $?  } @@ -1972,12 +2210,12 @@ func_version ()  # mode: shell-script  # sh-indentation: 2  # eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC"  # time-stamp-time-zone: "UTC"  # End:  # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7'  # func_echo ARG... @@ -2068,7 +2306,7 @@ include the following information:         compiler:       $LTCC         compiler flags: $LTCFLAGS         linker:         $LD (gnu? $with_gnu_ld) -       version:        $progname (GNU libtool) 2.4.6 +       version:        $progname (GNU libtool) 2.4.7         automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`         autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2124,7 +2362,7 @@ fi  # a configuration failure hint, and exit.  func_fatal_configuration ()  { -    func__fatal_error ${1+"$@"} \ +    func_fatal_error ${1+"$@"} \        "See the $PACKAGE documentation for more information." \        "Fatal configuration error."  } @@ -2270,6 +2508,8 @@ libtool_options_prep ()      nonopt=      preserve_args= +    _G_rc_lt_options_prep=: +      # Shorthand for --mode=foo, only valid as the first argument      case $1 in      clean|clea|cle|cl) @@ -2293,11 +2533,16 @@ libtool_options_prep ()      uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)        shift; set dummy --mode uninstall ${1+"$@"}; shift        ;; +    *) +      _G_rc_lt_options_prep=false +      ;;      esac -    # Pass back the list of options. -    func_quote_for_eval ${1+"$@"} -    libtool_options_prep_result=$func_quote_for_eval_result +    if $_G_rc_lt_options_prep; then +      # Pass back the list of options. +      func_quote eval ${1+"$@"} +      libtool_options_prep_result=$func_quote_result +    fi  }  func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2554,12 @@ libtool_parse_options ()  {      $debug_cmd +    _G_rc_lt_parse_options=false +      # Perform our own loop to consume as many options as possible in      # each iteration.      while test $# -gt 0; do +      _G_match_lt_parse_options=:        _G_opt=$1        shift        case $_G_opt in @@ -2386,15 +2634,20 @@ libtool_parse_options ()                          func_append preserve_args " $_G_opt"                          ;; -	# An option not handled by this hook function: -        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;; +        # An option not handled by this hook function: +        *)              set dummy "$_G_opt" ${1+"$@"} ; shift +                        _G_match_lt_parse_options=false +                        break +                        ;;        esac +      $_G_match_lt_parse_options && _G_rc_lt_parse_options=:      done - -    # save modified positional parameters for caller -    func_quote_for_eval ${1+"$@"} -    libtool_parse_options_result=$func_quote_for_eval_result +    if $_G_rc_lt_parse_options; then +      # save modified positional parameters for caller +      func_quote eval ${1+"$@"} +      libtool_parse_options_result=$func_quote_result +    fi  }  func_add_hook func_parse_options libtool_parse_options @@ -2451,8 +2704,8 @@ libtool_validate_options ()      }      # Pass back the unparsed argument list -    func_quote_for_eval ${1+"$@"} -    libtool_validate_options_result=$func_quote_for_eval_result +    func_quote eval ${1+"$@"} +    libtool_validate_options_result=$func_quote_result  }  func_add_hook func_validate_options libtool_validate_options @@ -3418,8 +3671,8 @@ func_mode_compile ()        esac      done -    func_quote_for_eval "$libobj" -    test "X$libobj" != "X$func_quote_for_eval_result" \ +    func_quote_arg pretty "$libobj" +    test "X$libobj" != "X$func_quote_arg_result" \        && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \        && func_warning "libobj name '$libobj' may not contain shell special characters."      func_dirname_and_basename "$obj" "/" "" @@ -3492,8 +3745,8 @@ compiler."      func_to_tool_file "$srcfile" func_convert_file_msys_to_w32      srcfile=$func_to_tool_file_result -    func_quote_for_eval "$srcfile" -    qsrcfile=$func_quote_for_eval_result +    func_quote_arg pretty "$srcfile" +    qsrcfile=$func_quote_arg_result      # Only build a PIC object if we are building libtool libraries.      if test yes = "$build_libtool_libs"; then @@ -3648,7 +3901,8 @@ This mode accepts the following additional options:    -prefer-non-pic   try to build non-PIC objects only    -shared           do not build a '.o' file suitable for static linking    -static           only build a '.o' file suitable for static linking -  -Wc,FLAG          pass FLAG directly to the compiler +  -Wc,FLAG +  -Xcompiler FLAG   pass FLAG directly to the compiler  COMPILE-COMMAND is a command to be used in creating a 'standard' object file  from the given SOURCEFILE. @@ -3754,6 +4008,8 @@ The following components of LINK-COMMAND are treated specially:    -weak LIBNAME     declare that the target provides the LIBNAME interface    -Wc,FLAG    -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler +  -Wa,FLAG +  -Xassembler FLAG  pass linker-specific FLAG directly to the assembler    -Wl,FLAG    -Xlinker FLAG     pass linker-specific FLAG directly to the linker    -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC) @@ -4096,8 +4352,8 @@ func_mode_install ()         case $nonopt in *shtool*) :;; *) false;; esac      then        # Aesthetically quote it. -      func_quote_for_eval "$nonopt" -      install_prog="$func_quote_for_eval_result " +      func_quote_arg pretty "$nonopt" +      install_prog="$func_quote_arg_result "        arg=$1        shift      else @@ -4107,8 +4363,8 @@ func_mode_install ()      # The real first argument should be the name of the installation program.      # Aesthetically quote it. -    func_quote_for_eval "$arg" -    func_append install_prog "$func_quote_for_eval_result" +    func_quote_arg pretty "$arg" +    func_append install_prog "$func_quote_arg_result"      install_shared_prog=$install_prog      case " $install_prog " in        *[\\\ /]cp\ *) install_cp=: ;; @@ -4165,12 +4421,12 @@ func_mode_install ()        esac        # Aesthetically quote the argument. -      func_quote_for_eval "$arg" -      func_append install_prog " $func_quote_for_eval_result" +      func_quote_arg pretty "$arg" +      func_append install_prog " $func_quote_arg_result"        if test -n "$arg2"; then -	func_quote_for_eval "$arg2" +	func_quote_arg pretty "$arg2"        fi -      func_append install_shared_prog " $func_quote_for_eval_result" +      func_append install_shared_prog " $func_quote_arg_result"      done      test -z "$install_prog" && \ @@ -4181,8 +4437,8 @@ func_mode_install ()      if test -n "$install_override_mode" && $no_mode; then        if $install_cp; then :; else -	func_quote_for_eval "$install_override_mode" -	func_append install_shared_prog " -m $func_quote_for_eval_result" +	func_quote_arg pretty "$install_override_mode" +	func_append install_shared_prog " -m $func_quote_arg_result"        fi      fi @@ -4478,8 +4734,8 @@ func_mode_install ()  	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`  	        $opt_quiet || { -	          func_quote_for_expand "$relink_command" -		  eval "func_echo $func_quote_for_expand_result" +	          func_quote_arg expand,pretty "$relink_command" +		  eval "func_echo $func_quote_arg_result"  	        }  	        if eval "$relink_command"; then :  	          else @@ -5258,7 +5514,8 @@ else    if test \"\$libtool_execute_magic\" != \"$magic\"; then      file=\"\$0\"" -    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` +    func_quote_arg pretty "$ECHO" +    qECHO=$func_quote_arg_result      $ECHO "\  # A function that is used when there is no print builtin or printf. @@ -5268,7 +5525,7 @@ func_fallback_echo ()  \$1  _LTECHO_EOF'  } -    ECHO=\"$qECHO\" +    ECHO=$qECHO    fi  # Very basic option parsing. These options are (a) specific to @@ -6611,9 +6868,9 @@ func_mode_link ()      while test "$#" -gt 0; do        arg=$1        shift -      func_quote_for_eval "$arg" -      qarg=$func_quote_for_eval_unquoted_result -      func_append libtool_args " $func_quote_for_eval_result" +      func_quote_arg pretty,unquoted "$arg" +      qarg=$func_quote_arg_unquoted_result +      func_append libtool_args " $func_quote_arg_result"        # If the previous option needs an argument, assign it.        if test -n "$prev"; then @@ -6849,6 +7106,13 @@ func_mode_link ()  	  prev=  	  continue  	  ;; +	xassembler) +	  func_append compiler_flags " -Xassembler $qarg" +	  prev= +	  func_append compile_command " -Xassembler $qarg" +	  func_append finalize_command " -Xassembler $qarg" +	  continue +	  ;;  	xcclinker)  	  func_append linker_flags " $qarg"  	  func_append compiler_flags " $qarg" @@ -7019,7 +7283,7 @@ func_mode_link ()  	    # These systems don't actually have a C library (as such)  	    test X-lc = "X$arg" && continue  	    ;; -	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) +	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*)  	    # Do not include libc due to us having libc/libc_r.  	    test X-lc = "X$arg" && continue  	    ;; @@ -7039,7 +7303,7 @@ func_mode_link ()  	  esac  	elif test X-lc_r = "X$arg"; then  	 case $host in -	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) +	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*)  	   # Do not include libc_r directly, use -pthread flag.  	   continue  	   ;; @@ -7069,8 +7333,20 @@ func_mode_link ()  	prev=xcompiler  	continue  	;; - -      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ +     # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. +     -pthread) +	case $host in +	  *solaris2*) ;; +	  *) +	    case "$new_inherited_linker_flags " in +	        *" $arg "*) ;; +	        * ) func_append new_inherited_linker_flags " $arg" ;; +	    esac +	  ;; +	esac +	continue +	;; +      -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)  	func_append compiler_flags " $arg"  	func_append compile_command " $arg" @@ -7211,9 +7487,9 @@ func_mode_link ()  	save_ifs=$IFS; IFS=,  	for flag in $args; do  	  IFS=$save_ifs -          func_quote_for_eval "$flag" -	  func_append arg " $func_quote_for_eval_result" -	  func_append compiler_flags " $func_quote_for_eval_result" +          func_quote_arg pretty "$flag" +	  func_append arg " $func_quote_arg_result" +	  func_append compiler_flags " $func_quote_arg_result"  	done  	IFS=$save_ifs  	func_stripname ' ' '' "$arg" @@ -7227,16 +7503,21 @@ func_mode_link ()  	save_ifs=$IFS; IFS=,  	for flag in $args; do  	  IFS=$save_ifs -          func_quote_for_eval "$flag" -	  func_append arg " $wl$func_quote_for_eval_result" -	  func_append compiler_flags " $wl$func_quote_for_eval_result" -	  func_append linker_flags " $func_quote_for_eval_result" +          func_quote_arg pretty "$flag" +	  func_append arg " $wl$func_quote_arg_result" +	  func_append compiler_flags " $wl$func_quote_arg_result" +	  func_append linker_flags " $func_quote_arg_result"  	done  	IFS=$save_ifs  	func_stripname ' ' '' "$arg"  	arg=$func_stripname_result  	;; +      -Xassembler) +        prev=xassembler +        continue +        ;; +        -Xcompiler)  	prev=xcompiler  	continue @@ -7254,8 +7535,8 @@ func_mode_link ()        # -msg_* for osf cc        -msg_*) -	func_quote_for_eval "$arg" -	arg=$func_quote_for_eval_result +	func_quote_arg pretty "$arg" +	arg=$func_quote_arg_result  	;;        # Flags to be passed through unchanged, with rationale: @@ -7272,12 +7553,17 @@ func_mode_link ()        # -tp=*                Portland pgcc target processor selection        # --sysroot=*          for sysroot support        # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization +      # -specs=*             GCC specs files        # -stdlib=*            select c++ std lib with clang +      # -fsanitize=*         Clang/GCC memory and address sanitizer +      # -fuse-ld=*           Linker select flags for GCC +      # -Wa,*                Pass flags directly to the assembler        -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) -        func_quote_for_eval "$arg" -	arg=$func_quote_for_eval_result +      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ +      -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) +        func_quote_arg pretty "$arg" +	arg=$func_quote_arg_result          func_append compile_command " $arg"          func_append finalize_command " $arg"          func_append compiler_flags " $arg" @@ -7298,15 +7584,15 @@ func_mode_link ()  	  continue          else  	  # Otherwise treat like 'Some other compiler flag' below -	  func_quote_for_eval "$arg" -	  arg=$func_quote_for_eval_result +	  func_quote_arg pretty "$arg" +	  arg=$func_quote_arg_result          fi  	;;        # Some other compiler flag.        -* | +*) -        func_quote_for_eval "$arg" -	arg=$func_quote_for_eval_result +        func_quote_arg pretty "$arg" +	arg=$func_quote_arg_result  	;;        *.$objext) @@ -7426,8 +7712,8 @@ func_mode_link ()        *)  	# Unknown arguments in both finalize_command and compile_command need  	# to be aesthetically quoted because they are evaled later. -	func_quote_for_eval "$arg" -	arg=$func_quote_for_eval_result +	func_quote_arg pretty "$arg" +	arg=$func_quote_arg_result  	;;        esac # arg @@ -8632,7 +8918,7 @@ func_mode_link ()        test CXX = "$tagname" && {          case $host_os in          linux*) -          case `$CC -V 2>&1 | sed 5q` in +          case `$CC -V 2>&1 | $SED 5q` in            *Sun\ C*) # Sun C++ 5.9              func_suncc_cstd_abi @@ -8805,7 +9091,7 @@ func_mode_link ()  	  #  	  case $version_type in  	  # correct linux to gnu/linux during the next big refactor -	  darwin|freebsd-elf|linux|osf|windows|none) +	  darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none)  	    func_arith $number_major + $number_minor  	    current=$func_arith_result  	    age=$number_minor @@ -8896,7 +9182,7 @@ func_mode_link ()  	  versuffix=.$current.$revision  	  ;; -	freebsd-elf) +	freebsd-elf | midnightbsd-elf)  	  func_arith $current - $age  	  major=.$func_arith_result  	  versuffix=$major.$age.$revision @@ -9122,7 +9408,7 @@ func_mode_link ()  	  *-*-netbsd*)  	    # Don't link with libc until the a.out ld.so is fixed.  	    ;; -	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) +	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)  	    # Do not include libc due to us having libc/libc_r.  	    ;;  	  *-*-sco3.2v5* | *-*-sco5v6*) @@ -9933,8 +10219,8 @@ EOF  	    for cmd in $concat_cmds; do  	      IFS=$save_ifs  	      $opt_quiet || { -		  func_quote_for_expand "$cmd" -		  eval "func_echo $func_quote_for_expand_result" +		  func_quote_arg expand,pretty "$cmd" +		  eval "func_echo $func_quote_arg_result"  	      }  	      $opt_dry_run || eval "$cmd" || {  		lt_exit=$? @@ -10027,8 +10313,8 @@ EOF  	  eval cmd=\"$cmd\"  	  IFS=$save_ifs  	  $opt_quiet || { -	    func_quote_for_expand "$cmd" -	    eval "func_echo $func_quote_for_expand_result" +	    func_quote_arg expand,pretty "$cmd" +	    eval "func_echo $func_quote_arg_result"  	  }  	  $opt_dry_run || eval "$cmd" || {  	    lt_exit=$? @@ -10502,12 +10788,13 @@ EOF  	  elif eval var_value=\$$var; test -z "$var_value"; then  	    relink_command="$var=; export $var; $relink_command"  	  else -	    func_quote_for_eval "$var_value" -	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" +	    func_quote_arg pretty "$var_value" +	    relink_command="$var=$func_quote_arg_result; export $var; $relink_command"  	  fi  	done -	relink_command="(cd `pwd`; $relink_command)" -	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` +	func_quote eval cd "`pwd`" +	func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" +	relink_command=$func_quote_arg_unquoted_result        fi        # Only actually do things if not in dry run mode. @@ -10747,13 +11034,15 @@ EOF  	elif eval var_value=\$$var; test -z "$var_value"; then  	  relink_command="$var=; export $var; $relink_command"  	else -	  func_quote_for_eval "$var_value" -	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" +	  func_quote_arg pretty,unquoted "$var_value" +	  relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"  	fi        done        # Quote the link command for shipping. -      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" -      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` +      func_quote eval cd "`pwd`" +      relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" +      func_quote_arg pretty,unquoted "$relink_command" +      relink_command=$func_quote_arg_unquoted_result        if test yes = "$hardcode_automatic"; then  	relink_command=        fi diff --git a/build-aux/missing b/build-aux/missing index c6e3795..1fe1611 100755 --- a/build-aux/missing +++ b/build-aux/missing @@ -1,9 +1,9 @@  #! /bin/sh  # Common wrapper for a few potentially missing GNU programs. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc.  # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.  # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC  # GNU 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 @@ -101,9 +101,9 @@ else    exit $st  fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software  program_details ()  { @@ -207,7 +207,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \  exit $st  # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp)  # time-stamp-start: "scriptversion="  # time-stamp-format: "%:y-%02m-%02d.%02H"  # time-stamp-time-zone: "UTC0" diff --git a/build-aux/test-driver b/build-aux/test-driver index 8e63ebd..0fa6395 100755 --- a/build-aux/test-driver +++ b/build-aux/test-driver @@ -1,9 +1,9 @@  #! /bin/sh  # test-driver - basic testsuite driver script. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc.  #  # This program is free software; you can redistribute it and/or modify  # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC  # GNU 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 @@ -42,11 +42,13 @@ print_usage ()  {    cat <<END  Usage: -  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH -              [--expect-failure={yes|no}] [--color-tests={yes|no}] -              [--enable-hard-errors={yes|no}] [--] +  test-driver --test-name NAME --log-file PATH --trs-file PATH +              [--expect-failure {yes|no}] [--color-tests {yes|no}] +              [--enable-hard-errors {yes|no}] [--]                TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] +  The '--test-name', '--log-file' and '--trs-file' options are mandatory. +See the GNU Automake documentation for information.  END  } @@ -59,7 +61,7 @@ enable_hard_errors=yes  while test $# -gt 1; do   arg=${1%=*}   val=${1#*=} - if [ $arg == $val ]; then + if [ $arg = $val ]; then     val=$2     shift   fi @@ -75,7 +77,7 @@ while test $# -gt 1; do    --) break;;    -*) usage_error "invalid option: '$1'";;    esac -  [[ $arg != $val ]] && shift +  [ $arg != $val ] && shift  done  missing_opts= @@ -108,8 +110,11 @@ trap "st=130; $do_exit" 2  trap "st=141; $do_exit" 13  trap "st=143; $do_exit" 15 -# Test script is run here. -"$@" >$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1  estatus=$?  if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -131,7 +136,7 @@ esac  # know whether the test passed or failed simply by looking at the '.log'  # file, without the need of also peaking into the corresponding '.trs'  # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file"  # Report outcome to console.  echo "${col}${res}${std}: $test_name" @@ -145,7 +150,7 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file  # Local Variables:  # mode: shell-script  # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp)  # time-stamp-start: "scriptversion="  # time-stamp-format: "%:y-%02m-%02d.%02H"  # time-stamp-time-zone: "UTC0" | 
