230821.5 · 67ff835028d45557d37ecd3b222b8c973fe5a415
update docs
reading declarations
@@ -0,0 +1,2 @@+# Auto detect text files and perform LF normalization+* text=auto
@@ -0,0 +1,80 @@+Contributor Covenant Code of Conduct+====================================++Our Pledge+----------++In the interest of fostering an open and welcoming environment, we as+contributors and maintainers pledge to making participation in our project and+our community a harassment-free experience for everyone, regardless of age,+body size, disability, ethnicity, gender identity and expression, level of+experience, nationality, personal appearance, race, religion, or sexual+identity and orientation.++Our Standards+-------------++Examples of behavior that contributes to creating a positive environment+include:++- Using welcoming and inclusive language+- Being respectful of differing viewpoints and experiences+- Gracefully accepting constructive criticism+- Focusing on what is best for the community+- Showing empathy towards other community members++Examples of unacceptable behavior by participants include:++- The use of sexualized language or imagery and unwelcome sexual attention or+ advances+- Trolling, insulting/derogatory comments, and personal or political attacks+- Public or private harassment+- Publishing others' private information, such as a physical or electronic+ address, without explicit permission+- Other conduct which could reasonably be considered inappropriate in a+ professional setting++Our Responsibilities+--------------------++Project maintainers are responsible for clarifying the standards of acceptable+behavior and are expected to take appropriate and fair corrective action in+response to any instances of unacceptable behavior.++Project maintainers have the right and responsibility to remove, edit, or+reject comments, commits, code, wiki edits, issues, and other contributions+that are not aligned to this Code of Conduct, or to ban temporarily or+permanently any contributor for other behaviors that they deem inappropriate,+threatening, offensive, or harmful.++Scope+-----++This Code of Conduct applies both within project spaces and in public spaces+when an individual is representing the project or its community. Examples of+representing a project or community include using an official project e-mail+address, posting via an official social media account, or acting as an+appointed representative at an online or offline event. Representation of a+project may be further defined and clarified by project maintainers.++Enforcement+-----------++Instances of abusive, harassing, or otherwise unacceptable behavior may be+reported by contacting the project team at <contact@genivia.com>. All+complaints will be reviewed and investigated and will result in a response that+is deemed necessary and appropriate to the circumstances. The project team is+obligated to maintain confidentiality with regard to the reporter of an+incident. Further details of specific enforcement policies may be posted+separately.++Project maintainers who do not follow or enforce the Code of Conduct in good+faith may face temporary or permanent repercussions as determined by other+members of the project's leadership.++Attribution+-----------++This Code of Conduct is adapted from the Contributor Covenant, version 1.4,+available at <http://contributor-covenant.org/version/1/4>.+
@@ -0,0 +1,29 @@+BSD 3-Clause License++Copyright (c) 2023, Robert van Engelen, Genivia Inc.+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++1. Redistributions of source code must retain the above copyright notice, this+ list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright notice,+ this list of conditions and the following disclaimer in the documentation+ and/or other materials provided with the distribution.++3. Neither the name of the copyright holder nor the names of its+ contributors may be used to endorse or promote products derived from+ this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,270 @@+#! /bin/sh+# Wrapper for Microsoft lib.exe++me=ar-lib+scriptversion=2012-03-01.08; # UTC++# Copyright (C) 2010-2018 Free Software Foundation, Inc.+# Written by Peter Rosin <peda@lysator.liu.se>.+#+# 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 2, 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.+#+# You should have received a copy of the GNU General Public License+# 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+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that program.++# This file is maintained in Automake, please report+# bugs to <bug-automake@gnu.org> or send patches to+# <automake-patches@gnu.org>.+++# func_error message+func_error ()+{+ echo "$me: $1" 1>&2+ exit 1+}++file_conv=++# func_file_conv build_file+# Convert a $build file to $host form and store it in $file+# Currently only supports Windows hosts.+func_file_conv ()+{+ file=$1+ case $file in+ / | /[!/]*) # absolute file, and not a UNC file+ if test -z "$file_conv"; then+ # lazily determine how to convert abs files+ case `uname -s` in+ MINGW*)+ file_conv=mingw+ ;;+ CYGWIN*)+ file_conv=cygwin+ ;;+ *)+ file_conv=wine+ ;;+ esac+ fi+ case $file_conv in+ mingw)+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`+ ;;+ cygwin)+ file=`cygpath -m "$file" || echo "$file"`+ ;;+ wine)+ file=`winepath -w "$file" || echo "$file"`+ ;;+ esac+ ;;+ esac+}++# func_at_file at_file operation archive+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE+# for each of them.+# When interpreting the content of the @FILE, do NOT use func_file_conv,+# since the user would need to supply preconverted file names to+# binutils ar, at least for MinGW.+func_at_file ()+{+ operation=$2+ archive=$3+ at_file_contents=`cat "$1"`+ eval set x "$at_file_contents"+ shift++ for member+ do+ $AR -NOLOGO $operation:"$member" "$archive" || exit $?+ done+}++case $1 in+ '')+ func_error "no command. Try '$0 --help' for more information."+ ;;+ -h | --h*)+ cat <<EOF+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]++Members may be specified in a file named with @FILE.+EOF+ exit $?+ ;;+ -v | --v*)+ echo "$me, version $scriptversion"+ exit $?+ ;;+esac++if test $# -lt 3; then+ func_error "you must specify a program, an action and an archive"+fi++AR=$1+shift+while :+do+ if test $# -lt 2; then+ func_error "you must specify a program, an action and an archive"+ fi+ case $1 in+ -lib | -LIB \+ | -ltcg | -LTCG \+ | -machine* | -MACHINE* \+ | -subsystem* | -SUBSYSTEM* \+ | -verbose | -VERBOSE \+ | -wx* | -WX* )+ AR="$AR $1"+ shift+ ;;+ *)+ action=$1+ shift+ break+ ;;+ esac+done+orig_archive=$1+shift+func_file_conv "$orig_archive"+archive=$file++# strip leading dash in $action+action=${action#-}++delete=+extract=+list=+quick=+replace=+index=+create=++while test -n "$action"+do+ case $action in+ d*) delete=yes ;;+ x*) extract=yes ;;+ t*) list=yes ;;+ q*) quick=yes ;;+ r*) replace=yes ;;+ s*) index=yes ;;+ S*) ;; # the index is always updated implicitly+ c*) create=yes ;;+ u*) ;; # TODO: don't ignore the update modifier+ v*) ;; # TODO: don't ignore the verbose modifier+ *)+ func_error "unknown action specified"+ ;;+ esac+ action=${action#?}+done++case $delete$extract$list$quick$replace,$index in+ yes,* | ,yes)+ ;;+ yesyes*)+ func_error "more than one action specified"+ ;;+ *)+ func_error "no action specified"+ ;;+esac++if test -n "$delete"; then+ if test ! -f "$orig_archive"; then+ func_error "archive not found"+ fi+ for member+ do+ case $1 in+ @*)+ func_at_file "${1#@}" -REMOVE "$archive"+ ;;+ *)+ func_file_conv "$1"+ $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?+ ;;+ esac+ done++elif test -n "$extract"; then+ if test ! -f "$orig_archive"; then+ func_error "archive not found"+ fi+ if test $# -gt 0; then+ for member+ do+ case $1 in+ @*)+ func_at_file "${1#@}" -EXTRACT "$archive"+ ;;+ *)+ func_file_conv "$1"+ $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?+ ;;+ esac+ done+ else+ $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member+ do+ $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?+ done+ fi++elif test -n "$quick$replace"; then+ if test ! -f "$orig_archive"; then+ if test -z "$create"; then+ echo "$me: creating $orig_archive"+ fi+ orig_archive=+ else+ orig_archive=$archive+ fi++ for member+ do+ case $1 in+ @*)+ func_file_conv "${1#@}"+ set x "$@" "@$file"+ ;;+ *)+ func_file_conv "$1"+ set x "$@" "$file"+ ;;+ esac+ shift+ shift+ done++ if test -n "$orig_archive"; then+ $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?+ else+ $AR -NOLOGO -OUT:"$archive" "$@" || exit $?+ fi++elif test -n "$list"; then+ if test ! -f "$orig_archive"; then+ func_error "archive not found"+ fi+ $AR -NOLOGO -LIST "$archive" || exit $?+fi
@@ -0,0 +1,348 @@+#! /bin/sh+# Wrapper for compilers which do not understand '-c -o'.++scriptversion=2018-03-07.03; # UTC++# Copyright (C) 1999-2018 Free Software Foundation, Inc.+# Written by Tom Tromey <tromey@cygnus.com>.+#+# 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 2, 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.+#+# You should have received a copy of the GNU General Public License+# 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+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that program.++# This file is maintained in Automake, please report+# bugs to <bug-automake@gnu.org> or send patches to+# <automake-patches@gnu.org>.++nl='+'++# We need space, tab and new line, in precisely that order. Quoting is+# there to prevent tools from complaining about whitespace usage.+IFS=" "" $nl"++file_conv=++# func_file_conv build_file lazy+# Convert a $build file to $host form and store it in $file+# Currently only supports Windows hosts. If the determined conversion+# type is listed in (the comma separated) LAZY, no conversion will+# take place.+func_file_conv ()+{+ file=$1+ case $file in+ / | /[!/]*) # absolute file, and not a UNC file+ if test -z "$file_conv"; then+ # lazily determine how to convert abs files+ case `uname -s` in+ MINGW*)+ file_conv=mingw+ ;;+ CYGWIN*)+ file_conv=cygwin+ ;;+ *)+ file_conv=wine+ ;;+ esac+ fi+ case $file_conv/,$2, in+ *,$file_conv,*)+ ;;+ mingw/*)+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`+ ;;+ cygwin/*)+ file=`cygpath -m "$file" || echo "$file"`+ ;;+ wine/*)+ file=`winepath -w "$file" || echo "$file"`+ ;;+ esac+ ;;+ esac+}++# func_cl_dashL linkdir+# Make cl look for libraries in LINKDIR+func_cl_dashL ()+{+ func_file_conv "$1"+ if test -z "$lib_path"; then+ lib_path=$file+ else+ lib_path="$lib_path;$file"+ fi+ linker_opts="$linker_opts -LIBPATH:$file"+}++# func_cl_dashl library+# Do a library search-path lookup for cl+func_cl_dashl ()+{+ lib=$1+ found=no+ save_IFS=$IFS+ IFS=';'+ for dir in $lib_path $LIB+ do+ IFS=$save_IFS+ if $shared && test -f "$dir/$lib.dll.lib"; then+ found=yes+ lib=$dir/$lib.dll.lib+ break+ fi+ if test -f "$dir/$lib.lib"; then+ found=yes+ lib=$dir/$lib.lib+ break+ fi+ if test -f "$dir/lib$lib.a"; then+ found=yes+ lib=$dir/lib$lib.a+ break+ fi+ done+ IFS=$save_IFS++ if test "$found" != yes; then+ lib=$lib.lib+ fi+}++# func_cl_wrapper cl arg...+# Adjust compile command to suit cl+func_cl_wrapper ()+{+ # Assume a capable shell+ lib_path=+ shared=:+ linker_opts=+ for arg+ do+ if test -n "$eat"; then+ eat=+ else+ case $1 in+ -o)+ # configure might choose to run compile as 'compile cc -o foo foo.c'.+ eat=1+ case $2 in+ *.o | *.[oO][bB][jJ])+ func_file_conv "$2"+ set x "$@" -Fo"$file"+ shift+ ;;+ *)+ func_file_conv "$2"+ set x "$@" -Fe"$file"+ shift+ ;;+ esac+ ;;+ -I)+ eat=1+ func_file_conv "$2" mingw+ set x "$@" -I"$file"+ shift+ ;;+ -I*)+ func_file_conv "${1#-I}" mingw+ set x "$@" -I"$file"+ shift+ ;;+ -l)+ eat=1+ func_cl_dashl "$2"+ set x "$@" "$lib"+ shift+ ;;+ -l*)+ func_cl_dashl "${1#-l}"+ set x "$@" "$lib"+ shift+ ;;+ -L)+ eat=1+ func_cl_dashL "$2"+ ;;+ -L*)+ func_cl_dashL "${1#-L}"+ ;;+ -static)+ shared=false+ ;;+ -Wl,*)+ arg=${1#-Wl,}+ save_ifs="$IFS"; IFS=','+ for flag in $arg; do+ IFS="$save_ifs"+ linker_opts="$linker_opts $flag"+ done+ IFS="$save_ifs"+ ;;+ -Xlinker)+ eat=1+ linker_opts="$linker_opts $2"+ ;;+ -*)+ set x "$@" "$1"+ shift+ ;;+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)+ func_file_conv "$1"+ set x "$@" -Tp"$file"+ shift+ ;;+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])+ func_file_conv "$1" mingw+ set x "$@" "$file"+ shift+ ;;+ *)+ set x "$@" "$1"+ shift+ ;;+ esac+ fi+ shift+ done+ if test -n "$linker_opts"; then+ linker_opts="-link$linker_opts"+ fi+ exec "$@" $linker_opts+ exit 1+}++eat=++case $1 in+ '')+ echo "$0: No command. Try '$0 --help' for more information." 1>&2+ exit 1;+ ;;+ -h | --h*)+ cat <<\EOF+Usage: compile [--help] [--version] PROGRAM [ARGS]++Wrapper for compilers which do not understand '-c -o'.+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining+arguments, and rename the output as expected.++If you are trying to build a whole package this is not the+right script to run: please start by reading the file 'INSTALL'.++Report bugs to <bug-automake@gnu.org>.+EOF+ exit $?+ ;;+ -v | --v*)+ echo "compile $scriptversion"+ exit $?+ ;;+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )+ func_cl_wrapper "$@" # Doesn't return...+ ;;+esac++ofile=+cfile=++for arg+do+ if test -n "$eat"; then+ eat=+ else+ case $1 in+ -o)+ # configure might choose to run compile as 'compile cc -o foo foo.c'.+ # So we strip '-o arg' only if arg is an object.+ eat=1+ case $2 in+ *.o | *.obj)+ ofile=$2+ ;;+ *)+ set x "$@" -o "$2"+ shift+ ;;+ esac+ ;;+ *.c)+ cfile=$1+ set x "$@" "$1"+ shift+ ;;+ *)+ set x "$@" "$1"+ shift+ ;;+ esac+ fi+ shift+done++if test -z "$ofile" || test -z "$cfile"; then+ # If no '-o' option was seen then we might have been invoked from a+ # pattern rule where we don't need one. That is ok -- this is a+ # normal compilation that the losing compiler can handle. If no+ # '.c' file was seen then we are probably linking. That is also+ # ok.+ exec "$@"+fi++# Name of file we expect compiler to create.+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`++# Create the lock directory.+# Note: use '[/\\:.-]' here to ensure that we don't use the same name+# that we are using for the .o file. Also, base the name on the expected+# object file name, since that is what matters with a parallel build.+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d+while true; do+ if mkdir "$lockdir" >/dev/null 2>&1; then+ break+ fi+ sleep 1+done+# FIXME: race condition here if user kills between mkdir and trap.+trap "rmdir '$lockdir'; exit 1" 1 2 15++# Run the compile.+"$@"+ret=$?++if test -f "$cofile"; then+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"+elif test -f "${cofile}bj"; then+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"+fi++rmdir "$lockdir"+exit $ret++# Local Variables:+# mode: shell-script+# sh-indentation: 2+# eval: (add-hook 'before-save-hook 'time-stamp)+# time-stamp-start: "scriptversion="+# time-stamp-format: "%:y-%02m-%02d.%02H"+# time-stamp-time-zone: "UTC0"+# time-stamp-end: "; # UTC"+# End:
@@ -0,0 +1,1476 @@+#! /bin/sh+# Attempt to guess a canonical system name.+# Copyright 1992-2018 Free Software Foundation, Inc.++timestamp='2018-03-08'++# This file is free software; you can redistribute it and/or modify it+# under the terms of the GNU General Public License as published by+# the Free Software Foundation; either version 3 of the License, or+# (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.+#+# You should have received a copy of the GNU General Public License+# 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+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that+# program. This Exception is an additional permission under section 7+# of the GNU General Public License, version 3 ("GPLv3").+#+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.+#+# You can get the latest version of this script from:+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess+#+# Please send patches to <config-patches@gnu.org>.+++me=`echo "$0" | sed -e 's,.*/,,'`++usage="\+Usage: $0 [OPTION]++Output the configuration name of the system \`$me' is run on.++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++Report bugs and patches to <config-patches@gnu.org>."++version="\+GNU config.guess ($timestamp)++Originally written by Per Bothner.+Copyright 1992-2018 Free Software Foundation, Inc.++This is free software; see the source for copying conditions. There is NO+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."++help="+Try \`$me --help' for more information."++# Parse command line+while test $# -gt 0 ; do+ case $1 in+ --time-stamp | --time* | -t )+ echo "$timestamp" ; exit ;;+ --version | -v )+ echo "$version" ; exit ;;+ --help | --h* | -h )+ echo "$usage"; exit ;;+ -- ) # Stop option processing+ shift; break ;;+ - ) # Use stdin as input.+ break ;;+ -* )+ echo "$me: invalid option $1$help" >&2+ exit 1 ;;+ * )+ break ;;+ esac+done++if test $# != 0; then+ echo "$me: too many arguments$help" >&2+ exit 1+fi++trap 'exit 1' 1 2 15++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a+# compiler to aid in system detection is discouraged as it requires+# temporary files to be created and, as you can see below, it is a+# headache to deal with in a portable fashion.++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still+# use `HOST_CC' if defined, but it is deprecated.++# 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= ;'++# 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+ 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_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown++case "$UNAME_SYSTEM" in+Linux|GNU|GNU/*)+ # If the system lacks a compiler, then just pick glibc.+ # We could probably try harder.+ LIBC=gnu++ eval "$set_cc_for_build"+ cat <<-EOF > "$dummy.c"+ #include <features.h>+ #if defined(__UCLIBC__)+ LIBC=uclibc+ #elif defined(__dietlibc__)+ LIBC=dietlibc+ #else+ LIBC=gnu+ #endif+ EOF+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"++ # If ldd exists, use it to detect musl libc.+ if command -v ldd >/dev/null && \+ ldd --version 2>&1 | grep -q ^musl+ then+ LIBC=musl+ fi+ ;;+esac++# Note: order is significant - the case branches are not exclusive.++case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in+ *:NetBSD:*:*)+ # NetBSD (nbsd) targets should (where applicable) match one or+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently+ # switched to ELF, *-*-netbsd* would select the old+ # object file format. This provides both forward+ # compatibility and a consistent mechanism for selecting the+ # object file format.+ #+ # 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 || \+ echo unknown)`+ case "$UNAME_MACHINE_ARCH" in+ armeb) machine=armeb-unknown ;;+ arm*) machine=arm-unknown ;;+ sh3el) machine=shl-unknown ;;+ sh3eb) machine=sh-unknown ;;+ sh5el) machine=sh5le-unknown ;;+ earmv*)+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`+ machine="${arch}${endian}"-unknown+ ;;+ *) 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+ earm*)+ os=netbsdelf+ ;;+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)+ eval "$set_cc_for_build"+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \+ | grep -q __ELF__+ then+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).+ # Return netbsd for either. FIX?+ os=netbsd+ else+ os=netbsdelf+ fi+ ;;+ *)+ os=netbsd+ ;;+ esac+ # Determine ABI tags.+ case "$UNAME_MACHINE_ARCH" in+ earm*)+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`+ ;;+ esac+ # The OS release+ # Debian GNU/NetBSD machines have a different userland, and+ # 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+ Debian*)+ release='-gnu'+ ;;+ *)+ 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 ;;+ *:Bitrig:*:*)+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"+ exit ;;+ *:OpenBSD:*:*)+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"+ exit ;;+ *:LibertyBSD:*:*)+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"+ exit ;;+ *:MidnightBSD:*:*)+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"+ exit ;;+ *:ekkoBSD:*:*)+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"+ exit ;;+ *:SolidBSD:*:*)+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"+ exit ;;+ macppc:MirBSD:*:*)+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"+ exit ;;+ *:MirBSD:*:*)+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"+ exit ;;+ *:Sortix:*:*)+ echo "$UNAME_MACHINE"-unknown-sortix+ exit ;;+ *:Redox:*:*)+ echo "$UNAME_MACHINE"-unknown-redox+ exit ;;+ mips:OSF1:*.*)+ echo mips-dec-osf1+ exit ;;+ alpha:OSF1:*:*)+ case $UNAME_RELEASE in+ *4.0)+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`+ ;;+ *5.*)+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`+ ;;+ esac+ # According to Compaq, /usr/sbin/psrinfo has been available on+ # OSF/1 and Tru64 systems produced since 1995. I hope that+ # 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+ "EV4 (21064)")+ UNAME_MACHINE=alpha ;;+ "EV4.5 (21064)")+ UNAME_MACHINE=alpha ;;+ "LCA4 (21066/21068)")+ UNAME_MACHINE=alpha ;;+ "EV5 (21164)")+ UNAME_MACHINE=alphaev5 ;;+ "EV5.6 (21164A)")+ UNAME_MACHINE=alphaev56 ;;+ "EV5.6 (21164PC)")+ UNAME_MACHINE=alphapca56 ;;+ "EV5.7 (21164PC)")+ UNAME_MACHINE=alphapca57 ;;+ "EV6 (21264)")+ UNAME_MACHINE=alphaev6 ;;+ "EV6.7 (21264A)")+ UNAME_MACHINE=alphaev67 ;;+ "EV6.8CB (21264C)")+ UNAME_MACHINE=alphaev68 ;;+ "EV6.8AL (21264B)")+ UNAME_MACHINE=alphaev68 ;;+ "EV6.8CX (21264D)")+ UNAME_MACHINE=alphaev68 ;;+ "EV6.9A (21264/EV69A)")+ UNAME_MACHINE=alphaev69 ;;+ "EV7 (21364)")+ UNAME_MACHINE=alphaev7 ;;+ "EV7.9 (21364A)")+ UNAME_MACHINE=alphaev79 ;;+ esac+ # A Pn.n version is a patched version.+ # A Vn.n version is a released version.+ # 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 ;;+ Amiga*:UNIX_System_V:4.0:*)+ echo m68k-unknown-sysv4+ exit ;;+ *:[Aa]miga[Oo][Ss]:*:*)+ echo "$UNAME_MACHINE"-unknown-amigaos+ exit ;;+ *:[Mm]orph[Oo][Ss]:*:*)+ echo "$UNAME_MACHINE"-unknown-morphos+ exit ;;+ *:OS/390:*:*)+ echo i370-ibm-openedition+ exit ;;+ *:z/VM:*:*)+ echo s390-ibm-zvmoe+ exit ;;+ *:OS400:*:*)+ echo powerpc-ibm-os400+ exit ;;+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)+ echo arm-acorn-riscix"$UNAME_RELEASE"+ exit ;;+ arm*:riscos:*:*|arm*:RISCOS:*:*)+ echo arm-unknown-riscos+ exit ;;+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)+ echo hppa1.1-hitachi-hiuxmpp+ exit ;;+ 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 ;;+ NILE*:*:*:dcosx)+ echo pyramid-pyramid-svr4+ exit ;;+ DRS?6000:unix:4.0:6*)+ echo sparc-icl-nx6+ exit ;;+ 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 ;;+ s390x:SunOS:*:*)+ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"+ exit ;;+ sun4H:SunOS:5.*:*)+ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"+ exit ;;+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)+ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"+ exit ;;+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)+ echo i386-pc-auroraux"$UNAME_RELEASE"+ exit ;;+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)+ eval "$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 (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \+ grep IS_64BIT_ARCH >/dev/null+ then+ SUN_ARCH=x86_64+ fi+ fi+ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"+ exit ;;+ sun4*:SunOS:6*:*)+ # According to config.sub, this is the proper way to canonicalize+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but+ # it's likely to be more like Solaris than SunOS4.+ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"+ exit ;;+ sun4*:SunOS:*:*)+ 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 ;;+ sun3*:SunOS:*:*)+ echo m68k-sun-sunos"$UNAME_RELEASE"+ exit ;;+ sun*:*:4.2BSD:*)+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3+ case "`/bin/arch`" in+ sun3)+ echo m68k-sun-sunos"$UNAME_RELEASE"+ ;;+ sun4)+ echo sparc-sun-sunos"$UNAME_RELEASE"+ ;;+ esac+ exit ;;+ aushp:SunOS:*:*)+ echo sparc-auspex-sunos"$UNAME_RELEASE"+ exit ;;+ # The situation for MiNT is a little confusing. The machine name+ # can be virtually everything (everything which is not+ # "atarist" or "atariste" at least should have a processor+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"+ # to the lowercase version "mint" (or "freemint"). Finally+ # the system name "TOS" denotes a system which is actually not+ # 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 ;;+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)+ echo m68k-atari-mint"$UNAME_RELEASE"+ exit ;;+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)+ echo m68k-atari-mint"$UNAME_RELEASE"+ exit ;;+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)+ echo m68k-milan-mint"$UNAME_RELEASE"+ exit ;;+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)+ echo m68k-hades-mint"$UNAME_RELEASE"+ exit ;;+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)+ echo m68k-unknown-mint"$UNAME_RELEASE"+ exit ;;+ m68k:machten:*:*)+ echo m68k-apple-machten"$UNAME_RELEASE"+ exit ;;+ powerpc:machten:*:*)+ echo powerpc-apple-machten"$UNAME_RELEASE"+ exit ;;+ RISC*:Mach:*:*)+ echo mips-dec-mach_bsd4.3+ exit ;;+ RISC*:ULTRIX:*:*)+ echo mips-dec-ultrix"$UNAME_RELEASE"+ exit ;;+ VAX*:ULTRIX*:*:*)+ echo vax-dec-ultrix"$UNAME_RELEASE"+ exit ;;+ 2020:CLIX:*:* | 2430:CLIX:*:*)+ echo clipper-intergraph-clix"$UNAME_RELEASE"+ exit ;;+ mips:*:*:UMIPS | mips:*:*:RISCos)+ eval "$set_cc_for_build"+ sed 's/^ //' << EOF > "$dummy.c"+#ifdef __cplusplus+#include <stdio.h> /* for printf() prototype */+ int main (int argc, char *argv[]) {+#else+ int main (argc, argv) int argc; char *argv[]; {+#endif+ #if defined (host_mips) && defined (MIPSEB)+ #if defined (SYSTYPE_SYSV)+ 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);+ #endif+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)+ 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"` &&+ { echo "$SYSTEM_NAME"; exit; }+ echo mips-mips-riscos"$UNAME_RELEASE"+ exit ;;+ Motorola:PowerMAX_OS:*:*)+ echo powerpc-motorola-powermax+ exit ;;+ Motorola:*:4.3:PL8-*)+ echo powerpc-harris-powermax+ exit ;;+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)+ echo powerpc-harris-powermax+ exit ;;+ Night_Hawk:Power_UNIX:*:*)+ echo powerpc-harris-powerunix+ exit ;;+ m88k:CX/UX:7*:*)+ echo m88k-harris-cxux7+ exit ;;+ m88k:*:4*:R4*)+ echo m88k-motorola-sysv4+ exit ;;+ m88k:*:3*:R3*)+ echo m88k-motorola-sysv3+ exit ;;+ AViiON:dgux:*:*)+ # DG/UX returns AViiON for all architectures+ UNAME_PROCESSOR=`/usr/bin/uname -p`+ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]+ then+ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \+ [ "$TARGET_BINARY_INTERFACE"x = x ]+ then+ echo m88k-dg-dgux"$UNAME_RELEASE"+ else+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"+ fi+ else+ echo i586-dg-dgux"$UNAME_RELEASE"+ fi+ exit ;;+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)+ echo m88k-dolphin-sysv3+ exit ;;+ M88*:*:R3*:*)+ # Delta 88k system running SVR3+ echo m88k-motorola-sysv3+ exit ;;+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)+ echo m88k-tektronix-sysv3+ exit ;;+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)+ echo m68k-tektronix-bsd+ exit ;;+ *:IRIX*:*:*)+ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"+ exit ;;+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '+ i*86:AIX:*:*)+ echo i386-ibm-aix+ exit ;;+ ia64:AIX:*:*)+ if [ -x /usr/bin/oslevel ] ; then+ IBM_REV=`/usr/bin/oslevel`+ else+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"+ fi+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"+ exit ;;+ *:AIX:2:3)+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then+ eval "$set_cc_for_build"+ sed 's/^ //' << EOF > "$dummy.c"+ #include <sys/systemcfg.h>++ main()+ {+ if (!__power_pc())+ exit(1);+ puts("powerpc-ibm-aix3.2.5");+ exit(0);+ }+EOF+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`+ then+ echo "$SYSTEM_NAME"+ else+ echo rs6000-ibm-aix3.2.5+ fi+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then+ echo rs6000-ibm-aix3.2.4+ else+ echo 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+ IBM_ARCH=rs6000+ else+ IBM_ARCH=powerpc+ fi+ if [ -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"+ fi+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"+ exit ;;+ *:AIX:*:*)+ echo rs6000-ibm-aix+ exit ;;+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)+ echo romp-ibm-bsd4.4+ exit ;;+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to+ exit ;; # report: romp-ibm BSD 4.3+ *:BOSX:*:*)+ echo rs6000-bull-bosx+ exit ;;+ DPX/2?00:B.O.S.:*:*)+ echo m68k-bull-sysv3+ exit ;;+ 9000/[34]??:4.3bsd:1.*:*)+ echo m68k-hp-bsd+ exit ;;+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)+ echo m68k-hp-bsd4.4+ exit ;;+ 9000/[34678]??:HP-UX:*:*)+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`+ case "$UNAME_MACHINE" in+ 9000/31?) HP_ARCH=m68000 ;;+ 9000/[34]??) HP_ARCH=m68k ;;+ 9000/[678][0-9][0-9])+ if [ -x /usr/bin/getconf ]; then+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`+ case "$sc_cpu_version" in+ 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+ 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"++ #define _HPUX_SOURCE+ #include <stdlib.h>+ #include <unistd.h>++ int main ()+ {+ #if defined(_SC_KERNEL_BITS)+ long bits = sysconf(_SC_KERNEL_BITS);+ #endif+ long cpu = sysconf (_SC_CPU_VERSION);++ switch (cpu)+ {+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;+ case CPU_PA_RISC2_0:+ #if defined(_SC_KERNEL_BITS)+ switch (bits)+ {+ case 64: puts ("hppa2.0w"); break;+ case 32: puts ("hppa2.0n"); break;+ default: puts ("hppa2.0"); break;+ } break;+ #else /* !defined(_SC_KERNEL_BITS) */+ puts ("hppa2.0"); break;+ #endif+ default: puts ("hppa1.0"); break;+ }+ exit (0);+ }+EOF+ (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 ]+ then+ eval "$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+ # generating 64-bit code. GNU and HP use different nomenclature:+ #+ # $ CC_FOR_BUILD=cc ./config.guess+ # => hppa2.0w-hp-hpux11.23+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess+ # => hppa64-hp-hpux11.23++ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |+ grep -q __LP64__+ then+ HP_ARCH=hppa2.0w+ else+ HP_ARCH=hppa64+ fi+ fi+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"+ exit ;;+ ia64:HP-UX:*:*)+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`+ echo ia64-hp-hpux"$HPUX_REV"+ exit ;;+ 3050*:HI-UX:*:*)+ eval "$set_cc_for_build"+ sed 's/^ //' << EOF > "$dummy.c"+ #include <unistd.h>+ int+ main ()+ {+ long cpu = sysconf (_SC_CPU_VERSION);+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct+ results, however. */+ if (CPU_IS_PA_RISC (cpu))+ {+ switch (cpu)+ {+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;+ default: puts ("hppa-hitachi-hiuxwe2"); break;+ }+ }+ else if (CPU_IS_HP_MC68K (cpu))+ puts ("m68k-hitachi-hiuxwe2");+ else puts ("unknown-hitachi-hiuxwe2");+ exit (0);+ }+EOF+ $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 ;;+ 9000/8??:4.3bsd:*:*)+ echo hppa1.0-hp-bsd+ exit ;;+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)+ echo hppa1.0-hp-mpeix+ exit ;;+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)+ echo hppa1.1-hp-osf+ exit ;;+ hp8??:OSF1:*:*)+ echo hppa1.0-hp-osf+ exit ;;+ i*86:OSF1:*:*)+ if [ -x /usr/sbin/sysversion ] ; then+ echo "$UNAME_MACHINE"-unknown-osf1mk+ else+ echo "$UNAME_MACHINE"-unknown-osf1+ fi+ exit ;;+ parisc*:Lites*:*:*)+ echo hppa1.1-hp-lites+ exit ;;+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)+ echo c1-convex-bsd+ exit ;;+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)+ if getsysinfo -f scalar_acc+ then echo c32-convex-bsd+ else echo c2-convex-bsd+ fi+ exit ;;+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)+ echo c34-convex-bsd+ exit ;;+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)+ echo c38-convex-bsd+ exit ;;+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)+ echo c4-convex-bsd+ exit ;;+ CRAY*Y-MP:*:*:*)+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ CRAY*[A-Z]90:*:*:*)+ 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*T3E:*:*:*)+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ CRAY*SV1:*:*:*)+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ *:UNICOS/mp:*:*)+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"+ exit ;;+ 5000:UNIX_System_V:4.*:*)+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"+ exit ;;+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"+ exit ;;+ sparc*:BSD/OS:*:*)+ echo sparc-unknown-bsdi"$UNAME_RELEASE"+ exit ;;+ *:BSD/OS:*:*)+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"+ exit ;;+ *:FreeBSD:*:*)+ UNAME_PROCESSOR=`/usr/bin/uname -p`+ case "$UNAME_PROCESSOR" in+ amd64)+ UNAME_PROCESSOR=x86_64 ;;+ i386)+ UNAME_PROCESSOR=i586 ;;+ esac+ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"+ exit ;;+ i*:CYGWIN*:*)+ echo "$UNAME_MACHINE"-pc-cygwin+ exit ;;+ *:MINGW64*:*)+ echo "$UNAME_MACHINE"-pc-mingw64+ exit ;;+ *:MINGW*:*)+ echo "$UNAME_MACHINE"-pc-mingw32+ exit ;;+ *:MSYS*:*)+ echo "$UNAME_MACHINE"-pc-msys+ exit ;;+ i*:PW*:*)+ echo "$UNAME_MACHINE"-pc-pw32+ exit ;;+ *:Interix*:*)+ case "$UNAME_MACHINE" in+ x86)+ echo i586-pc-interix"$UNAME_RELEASE"+ exit ;;+ authenticamd | genuineintel | EM64T)+ echo x86_64-unknown-interix"$UNAME_RELEASE"+ exit ;;+ IA64)+ echo ia64-unknown-interix"$UNAME_RELEASE"+ exit ;;+ esac ;;+ i*:UWIN*:*)+ echo "$UNAME_MACHINE"-pc-uwin+ exit ;;+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)+ echo x86_64-unknown-cygwin+ exit ;;+ prep*:SunOS:5.*:*)+ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"+ exit ;;+ *:GNU:*:*)+ # the GNU system+ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"+ exit ;;+ *:GNU/*:*:*)+ # other systems with GNU libc and userland+ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"+ exit ;;+ i*86:Minix:*:*)+ echo "$UNAME_MACHINE"-pc-minix+ exit ;;+ aarch64:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ aarch64_be:Linux:*:*)+ UNAME_MACHINE=aarch64_be+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ alpha:Linux:*:*)+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in+ EV5) UNAME_MACHINE=alphaev5 ;;+ EV56) UNAME_MACHINE=alphaev56 ;;+ PCA56) UNAME_MACHINE=alphapca56 ;;+ PCA57) UNAME_MACHINE=alphapca56 ;;+ EV6) UNAME_MACHINE=alphaev6 ;;+ EV67) UNAME_MACHINE=alphaev67 ;;+ EV68*) UNAME_MACHINE=alphaev68 ;;+ esac+ objdump --private-headers /bin/sh | grep -q ld.so.1+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ arc:Linux:*:* | arceb:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ arm*:Linux:*:*)+ eval "$set_cc_for_build"+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \+ | grep -q __ARM_EABI__+ then+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ else+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \+ | grep -q __ARM_PCS_VFP+ then+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi+ else+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf+ fi+ fi+ exit ;;+ avr32*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ cris:Linux:*:*)+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"+ exit ;;+ crisv32:Linux:*:*)+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"+ exit ;;+ e2k:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ frv:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ hexagon:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ i*86:Linux:*:*)+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"+ exit ;;+ ia64:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ k1om:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ m32r*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ m68*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ mips:Linux:*:* | mips64:Linux:*:*)+ eval "$set_cc_for_build"+ sed 's/^ //' << EOF > "$dummy.c"+ #undef CPU+ #undef ${UNAME_MACHINE}+ #undef ${UNAME_MACHINE}el+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)+ CPU=${UNAME_MACHINE}el+ #else+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)+ CPU=${UNAME_MACHINE}+ #else+ CPU=+ #endif+ #endif+EOF+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"+ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }+ ;;+ mips64el:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ openrisc*:Linux:*:*)+ echo or1k-unknown-linux-"$LIBC"+ exit ;;+ or32:Linux:*:* | or1k*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ padre:Linux:*:*)+ echo sparc-unknown-linux-"$LIBC"+ exit ;;+ parisc64:Linux:*:* | hppa64:Linux:*:*)+ echo hppa64-unknown-linux-"$LIBC"+ exit ;;+ parisc:Linux:*:* | hppa:Linux:*:*)+ # Look for CPU level+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;+ *) echo hppa-unknown-linux-"$LIBC" ;;+ esac+ exit ;;+ ppc64:Linux:*:*)+ echo powerpc64-unknown-linux-"$LIBC"+ exit ;;+ ppc:Linux:*:*)+ echo powerpc-unknown-linux-"$LIBC"+ exit ;;+ ppc64le:Linux:*:*)+ echo powerpc64le-unknown-linux-"$LIBC"+ exit ;;+ ppcle:Linux:*:*)+ echo powerpcle-unknown-linux-"$LIBC"+ exit ;;+ riscv32:Linux:*:* | riscv64:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ s390:Linux:*:* | s390x:Linux:*:*)+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"+ exit ;;+ sh64*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ sh*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ sparc:Linux:*:* | sparc64:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ tile*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ vax:Linux:*:*)+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"+ exit ;;+ x86_64:Linux:*:*)+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"+ exit ;;+ xtensa*:Linux:*:*)+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"+ exit ;;+ 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 ;;+ 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 ;;+ 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 ;;+ i*86:XTS-300:*:STOP)+ echo "$UNAME_MACHINE"-unknown-stop+ exit ;;+ i*86:atheos:*:*)+ echo "$UNAME_MACHINE"-unknown-atheos+ exit ;;+ i*86:syllable:*:*)+ echo "$UNAME_MACHINE"-pc-syllable+ exit ;;+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)+ echo i386-unknown-lynxos"$UNAME_RELEASE"+ exit ;;+ i*86:*DOS:*:*)+ echo "$UNAME_MACHINE"-pc-msdosdjgpp+ exit ;;+ 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"+ else+ echo "$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+ *486*) UNAME_MACHINE=i486 ;;+ *Pentium) UNAME_MACHINE=i586 ;;+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;+ esac+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"+ exit ;;+ i*86:*:3.2:*)+ if test -f /usr/options/cb.name; then+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"+ 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+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \+ && UNAME_MACHINE=i586+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \+ && UNAME_MACHINE=i686+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \+ && UNAME_MACHINE=i686+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"+ else+ echo "$UNAME_MACHINE"-pc-sysv32+ fi+ exit ;;+ pc:*:*:*)+ # Left here for compatibility:+ # uname -m prints for DJGPP always 'pc', but it prints nothing about+ # the processor, so we play safe by assuming i586.+ # 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 ;;+ Intel:Mach:3*:*)+ echo i386-pc-mach3+ exit ;;+ paragon:*:*:*)+ echo i860-intel-osf1+ exit ;;+ i860:*:4.*:*) # i860-SVR4+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4+ else # Add other i860-SVR4 vendors below as they are discovered.+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4+ fi+ exit ;;+ mini*:CTIX:SYS*5:*)+ # "miniframe"+ echo m68010-convergent-sysv+ exit ;;+ mc68k:UNIX:SYSTEM5:3.51m)+ echo m68k-convergent-sysv+ exit ;;+ M680?0:D-NIX:5.3:*)+ echo m68k-diab-dnix+ exit ;;+ 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)+ OS_REL=''+ 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; }+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \+ && { 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; } ;;+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)+ OS_REL='.3'+ 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; }+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \+ && { 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; } ;;+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)+ echo m68k-unknown-lynxos"$UNAME_RELEASE"+ exit ;;+ mc68030:UNIX_System_V:4.*:*)+ echo m68k-atari-sysv4+ exit ;;+ TSUNAMI:LynxOS:2.*:*)+ echo sparc-unknown-lynxos"$UNAME_RELEASE"+ exit ;;+ rs6000:LynxOS:2.*:*)+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"+ exit ;;+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"+ exit ;;+ SM[BE]S:UNIX_SV:*:*)+ echo mips-dde-sysv"$UNAME_RELEASE"+ exit ;;+ RM*:ReliantUNIX-*:*:*)+ echo mips-sni-sysv4+ exit ;;+ RM*:SINIX-*:*:*)+ echo mips-sni-sysv4+ exit ;;+ *:SINIX-*:*:*)+ if uname -p 2>/dev/null >/dev/null ; then+ UNAME_MACHINE=`(uname -p) 2>/dev/null`+ echo "$UNAME_MACHINE"-sni-sysv4+ else+ echo 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 ;;+ *:UNIX_System_V:4*:FTX*)+ # From Gerald Hewes <hewes@openmarket.com>.+ # How about differentiating between stratus architectures? -djm+ echo hppa1.1-stratus-sysv4+ exit ;;+ *:*:*:FTX*)+ # From seanf@swdc.stratus.com.+ echo i860-stratus-sysv4+ exit ;;+ i*86:VOS:*:*)+ # From Paul.Green@stratus.com.+ echo "$UNAME_MACHINE"-stratus-vos+ exit ;;+ *:VOS:*:*)+ # From Paul.Green@stratus.com.+ echo hppa1.1-stratus-vos+ exit ;;+ mc68*:A/UX:*:*)+ echo m68k-apple-aux"$UNAME_RELEASE"+ exit ;;+ news*:NEWS-OS:6*:*)+ echo mips-sony-newsos6+ exit ;;+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)+ if [ -d /usr/nec ]; then+ echo mips-nec-sysv"$UNAME_RELEASE"+ else+ echo mips-unknown-sysv"$UNAME_RELEASE"+ fi+ exit ;;+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.+ echo powerpc-be-beos+ exit ;;+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.+ echo powerpc-apple-beos+ exit ;;+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.+ echo i586-pc-beos+ exit ;;+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.+ echo i586-pc-haiku+ exit ;;+ x86_64:Haiku:*:*)+ echo x86_64-unknown-haiku+ exit ;;+ SX-4:SUPER-UX:*:*)+ echo sx4-nec-superux"$UNAME_RELEASE"+ exit ;;+ SX-5:SUPER-UX:*:*)+ echo sx5-nec-superux"$UNAME_RELEASE"+ exit ;;+ SX-6:SUPER-UX:*:*)+ echo sx6-nec-superux"$UNAME_RELEASE"+ exit ;;+ SX-7:SUPER-UX:*:*)+ echo sx7-nec-superux"$UNAME_RELEASE"+ exit ;;+ SX-8:SUPER-UX:*:*)+ echo sx8-nec-superux"$UNAME_RELEASE"+ exit ;;+ SX-8R:SUPER-UX:*:*)+ echo sx8r-nec-superux"$UNAME_RELEASE"+ exit ;;+ SX-ACE:SUPER-UX:*:*)+ echo sxace-nec-superux"$UNAME_RELEASE"+ exit ;;+ Power*:Rhapsody:*:*)+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"+ exit ;;+ *:Rhapsody:*:*)+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"+ exit ;;+ *:Darwin:*:*)+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown+ eval "$set_cc_for_build"+ if test "$UNAME_PROCESSOR" = unknown ; then+ UNAME_PROCESSOR=powerpc+ fi+ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then+ 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+ 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+ fi+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"+ exit ;;+ *: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 ;;+ *:QNX:*:4*)+ echo i386-pc-qnx+ exit ;;+ NEO-*:NONSTOP_KERNEL:*:*)+ echo neo-tandem-nsk"$UNAME_RELEASE"+ exit ;;+ NSE-*:NONSTOP_KERNEL:*:*)+ echo nse-tandem-nsk"$UNAME_RELEASE"+ exit ;;+ NSR-*:NONSTOP_KERNEL:*:*)+ echo nsr-tandem-nsk"$UNAME_RELEASE"+ exit ;;+ NSV-*:NONSTOP_KERNEL:*:*)+ echo nsv-tandem-nsk"$UNAME_RELEASE"+ exit ;;+ NSX-*:NONSTOP_KERNEL:*:*)+ echo nsx-tandem-nsk"$UNAME_RELEASE"+ exit ;;+ *:NonStop-UX:*:*)+ echo mips-compaq-nonstopux+ exit ;;+ BS2000:POSIX*:*:*)+ echo bs2000-siemens-sysv+ exit ;;+ DS/*:UNIX_System_V:*:*)+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"+ exit ;;+ *:Plan9:*:*)+ # "uname -m" is not consistent, so use $cputype instead. 386+ # is converted to i386 for consistency with other x86+ # operating systems.+ if test "$cputype" = 386; then+ UNAME_MACHINE=i386+ else+ UNAME_MACHINE="$cputype"+ fi+ echo "$UNAME_MACHINE"-unknown-plan9+ exit ;;+ *:TOPS-10:*:*)+ echo pdp10-unknown-tops10+ exit ;;+ *:TENEX:*:*)+ echo pdp10-unknown-tenex+ exit ;;+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)+ echo pdp10-dec-tops20+ exit ;;+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)+ echo pdp10-xkl-tops20+ exit ;;+ *:TOPS-20:*:*)+ echo pdp10-unknown-tops20+ exit ;;+ *:ITS:*:*)+ echo pdp10-unknown-its+ exit ;;+ SEI:*:*:SEIUX)+ echo mips-sei-seiux"$UNAME_RELEASE"+ exit ;;+ *:DragonFly:*:*)+ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"+ exit ;;+ *:*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 ;;+ esac ;;+ *:XENIX:*:SysV)+ echo i386-pc-xenix+ exit ;;+ i*86:skyos:*:*)+ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"+ exit ;;+ i*86:rdos:*:*)+ echo "$UNAME_MACHINE"-pc-rdos+ exit ;;+ i*86:AROS:*:*)+ echo "$UNAME_MACHINE"-pc-aros+ exit ;;+ x86_64:VMkernel:*:*)+ echo "$UNAME_MACHINE"-unknown-esx+ exit ;;+ amd64:Isilon\ OneFS:*:*)+ echo x86_64-unknown-onefs+ exit ;;+esac++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++This script (version $timestamp), has failed to recognize the+operating system you are using. If your script is old, overwrite *all*+copies of config.guess and config.sub with the latest versions from:++ https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess+and+ https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub++If $0 has already been updated, send the following data and any+information you think might be pertinent to config-patches@gnu.org to+provide the necessary information to handle your system.++config.guess timestamp = $timestamp++uname -m = `(uname -m) 2>/dev/null || echo unknown`+uname -r = `(uname -r) 2>/dev/null || echo unknown`+uname -s = `(uname -s) 2>/dev/null || echo unknown`+uname -v = `(uname -v) 2>/dev/null || echo unknown`++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`++hostinfo = `(hostinfo) 2>/dev/null`+/bin/universe = `(/bin/universe) 2>/dev/null`+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`+/bin/arch = `(/bin/arch) 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"+EOF++exit 1++# Local variables:+# eval: (add-hook 'before-save-hook 'time-stamp)+# time-stamp-start: "timestamp='"+# time-stamp-format: "%:y-%02m-%02d"+# time-stamp-end: "'"+# End:
@@ -0,0 +1,1801 @@+#! /bin/sh+# Configuration validation subroutine script.+# Copyright 1992-2018 Free Software Foundation, Inc.++timestamp='2018-03-08'++# This file is free software; you can redistribute it and/or modify it+# under the terms of the GNU General Public License as published by+# the Free Software Foundation; either version 3 of the License, or+# (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.+#+# You should have received a copy of the GNU General Public License+# 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+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that+# program. This Exception is an additional permission under section 7+# of the GNU General Public License, version 3 ("GPLv3").+++# Please send patches to <config-patches@gnu.org>.+#+# Configuration subroutine to validate and canonicalize a configuration type.+# Supply the specified configuration type as an argument.+# If it is invalid, we print an error message on stderr and exit with code 1.+# Otherwise, we print the canonical config type on stdout and succeed.++# You can get the latest version of this script from:+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub++# This file is supposed to be the same for all GNU packages+# and recognize all the CPU types, system types and aliases+# that are meaningful with *any* GNU software.+# Each package is responsible for reporting which valid configurations+# it does not support. The user should be able to distinguish+# a failure to support a valid configuration from a meaningless+# configuration.++# The goal of this file is to map all the various variations of a given+# machine specification into a single specification in the form:+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM+# or in some cases, the newer four-part form:+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM+# It is wrong to echo any other type of specification.++me=`echo "$0" | sed -e 's,.*/,,'`++usage="\+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS++Canonicalize a configuration name.++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++Report bugs and patches to <config-patches@gnu.org>."++version="\+GNU config.sub ($timestamp)++Copyright 1992-2018 Free Software Foundation, Inc.++This is free software; see the source for copying conditions. There is NO+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."++help="+Try \`$me --help' for more information."++# Parse command line+while test $# -gt 0 ; do+ case $1 in+ --time-stamp | --time* | -t )+ echo "$timestamp" ; exit ;;+ --version | -v )+ echo "$version" ; exit ;;+ --help | --h* | -h )+ echo "$usage"; exit ;;+ -- ) # Stop option processing+ shift; break ;;+ - ) # Use stdin as input.+ break ;;+ -* )+ echo "$me: invalid option $1$help"+ exit 1 ;;++ *local*)+ # First pass through any local machine types.+ echo "$1"+ exit ;;++ * )+ break ;;+ esac+done++case $# in+ 0) echo "$me: missing argument$help" >&2+ exit 1;;+ 1) ;;+ *) echo "$me: too many arguments$help" >&2+ 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++### 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+ ;;+ -ptx*)+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`+ ;;+ -psos*)+ os=-psos+ ;;+ -mint | -mint[0-9]*)+ basic_machine=m68k-atari+ os=-mint+ ;;+esac++# Decode aliases for certain CPU-COMPANY combinations.+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 | 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 \+ | 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+ ;;+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)+ ;;+ ms1)+ basic_machine=mt-unknown+ ;;++ strongarm | thumb | xscale)+ basic_machine=arm-unknown+ ;;+ xgate)+ basic_machine=$basic_machine-unknown+ os=-none+ ;;+ xscaleeb)+ basic_machine=armeb-unknown+ ;;++ xscaleel)+ basic_machine=armel-unknown+ ;;++ # We use `pc' rather than `unknown'+ # because (1) that's what they normally are, and+ # (2) the word "unknown" tends to confuse beginning users.+ i*86 | x86_64)+ 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-pc+ os=-bsd+ ;;+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)+ basic_machine=m68000-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+ ;;+ 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+ ;;+ decsystem10* | dec10*)+ basic_machine=pdp10-dec+ os=-tops10+ ;;+ decsystem20* | dec20*)+ basic_machine=pdp10-dec+ os=-tops20+ ;;+ delta | 3300 | motorola-3300 | motorola-delta \+ | 3300-motorola | delta-motorola)+ basic_machine=m68k-motorola+ ;;+ delta88)+ basic_machine=m88k-motorola+ os=-sysv3+ ;;+ dicos)+ basic_machine=i686-pc+ os=-dicos+ ;;+ djgpp)+ basic_machine=i586-pc+ os=-msdosdjgpp+ ;;+ dpx20 | dpx20-*)+ basic_machine=rs6000-bull+ os=-bosx+ ;;+ dpx2*)+ basic_machine=m68k-bull+ os=-sysv3+ ;;+ 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+ ;;+ encore | umax | mmax)+ basic_machine=ns32k-encore+ ;;+ es1800 | OSE68k | ose68k | ose | OSE)+ basic_machine=m68k-ericsson+ os=-ose+ ;;+ fx2800)+ basic_machine=i860-alliant+ ;;+ genix)+ basic_machine=ns32k-ns+ ;;+ gmicro)+ basic_machine=tron-gmicro+ os=-sysv+ ;;+ go32)+ basic_machine=i386-pc+ os=-go32+ ;;+ 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+ ;;+ hp3k9[0-9][0-9] | hp9[0-9][0-9])+ basic_machine=hppa1.0-hp+ ;;+ hp9k2[0-9][0-9] | hp9k31[0-9])+ basic_machine=m68000-hp+ ;;+ hp9k3[2-9][0-9])+ basic_machine=m68k-hp+ ;;+ hp9k6[0-9][0-9] | hp6[0-9][0-9])+ basic_machine=hppa1.0-hp+ ;;+ hp9k7[0-79][0-9] | hp7[0-79][0-9])+ basic_machine=hppa1.1-hp+ ;;+ hp9k78[0-9] | hp78[0-9])+ # FIXME: really hppa2.0-hp+ basic_machine=hppa1.1-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+ ;;+ hp9k8[0-9][13679] | hp8[0-9][13679])+ basic_machine=hppa1.1-hp+ ;;+ hp9k8[0-9][0-9] | hp8[0-9][0-9])+ basic_machine=hppa1.0-hp+ ;;+ hppaosf)+ basic_machine=hppa1.1-hp+ os=-osf+ ;;+ hppro)+ basic_machine=hppa1.1-hp+ os=-proelf+ ;;+ i370-ibm* | ibm*)+ basic_machine=i370-ibm+ ;;+ i*86v32)+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`+ os=-sysv32+ ;;+ i*86v4*)+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`+ os=-sysv4+ ;;+ i*86v)+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`+ os=-sysv+ ;;+ i*86sol2)+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`+ os=-solaris2+ ;;+ i386mach)+ basic_machine=i386-mach+ os=-mach+ ;;+ vsta)+ basic_machine=i386-unknown+ os=-vsta+ ;;+ iris | iris4d)+ basic_machine=mips-sgi+ case $os in+ -irix*)+ ;;+ *)+ 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+ ;;+ magnum | m3230)+ basic_machine=mips-mips+ os=-sysv+ ;;+ merlin)+ basic_machine=ns32k-utek+ os=-sysv+ ;;+ microblaze*)+ basic_machine=microblaze-xilinx+ ;;+ mingw64)+ basic_machine=x86_64-pc+ os=-mingw64+ ;;+ mingw32)+ basic_machine=i686-pc+ os=-mingw32+ ;;+ mingw32ce)+ basic_machine=arm-unknown+ os=-mingw32ce+ ;;+ miniframe)+ basic_machine=m68000-convergent+ ;;+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)+ basic_machine=m68k-atari+ os=-mint+ ;;+ mips3*-*)+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`+ ;;+ mips3*)+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown+ ;;+ monitor)+ basic_machine=m68k-rom68k+ os=-coff+ ;;+ morphos)+ basic_machine=powerpc-unknown+ os=-morphos+ ;;+ moxiebox)+ basic_machine=moxie-unknown+ os=-moxiebox+ ;;+ msdos)+ basic_machine=i386-pc+ os=-msdos+ ;;+ ms1-*)+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`+ ;;+ msys)+ basic_machine=i686-pc+ os=-msys+ ;;+ mvs)+ basic_machine=i370-ibm+ os=-mvs+ ;;+ 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+ ;;+ 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* )+ ;;+ -ns2*)+ os=-nextstep2+ ;;+ *)+ 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+ ;;+ nsv-tandem)+ basic_machine=nsv-tandem+ ;;+ nsx-tandem)+ basic_machine=nsx-tandem+ ;;+ 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+ ;;+ 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+ ;;+ pbd)+ basic_machine=sparc-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/^[^-]*-//'`+ ;;+ 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/^[^-]*-//'`+ ;;+ 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/^[^-]*-//'`+ ;;+ 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/^[^-]*-//'`+ ;;+ 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+ ;;+ rm[46]00)+ basic_machine=mips-siemens+ ;;+ rtpc | rtpc-*)+ basic_machine=romp-ibm+ ;;+ s390 | s390-*)+ basic_machine=s390-ibm+ ;;+ s390x | s390x-*)+ basic_machine=s390x-ibm+ ;;+ sa29200)+ basic_machine=a29k-amd+ os=-udi+ ;;+ sb1)+ basic_machine=mipsisa64sb1-unknown+ ;;+ sb1el)+ basic_machine=mipsisa64sb1el-unknown+ ;;+ sde)+ basic_machine=mipsisa32-sde+ os=-elf+ ;;+ sei)+ basic_machine=mips-sei+ os=-seiux+ ;;+ sequent)+ basic_machine=i386-sequent+ ;;+ sh5el)+ basic_machine=sh5le-unknown+ ;;+ simso-wrs)+ basic_machine=sparclite-wrs+ os=-vxworks+ ;;+ sps7)+ basic_machine=m68k-bull+ os=-sysv2+ ;;+ spur)+ basic_machine=spur-unknown+ ;;+ st2000)+ basic_machine=m68k-tandem+ ;;+ stratus)+ basic_machine=i860-stratus+ os=-sysv4+ ;;+ strongarm-* | thumb-*)+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`+ ;;+ sun2)+ basic_machine=m68000-sun+ ;;+ sun2os3)+ basic_machine=m68000-sun+ os=-sunos3+ ;;+ sun2os4)+ basic_machine=m68000-sun+ os=-sunos4+ ;;+ sun3os3)+ basic_machine=m68k-sun+ os=-sunos3+ ;;+ sun3os4)+ basic_machine=m68k-sun+ os=-sunos4+ ;;+ sun4os3)+ basic_machine=sparc-sun+ os=-sunos3+ ;;+ sun4os4)+ basic_machine=sparc-sun+ os=-sunos4+ ;;+ sun4sol2)+ basic_machine=sparc-sun+ os=-solaris2+ ;;+ sun3 | sun3-*)+ basic_machine=m68k-sun+ ;;+ sun4)+ basic_machine=sparc-sun+ ;;+ sun386 | sun386i | roadrunner)+ basic_machine=i386-sun+ ;;+ sv1)+ basic_machine=sv1-cray+ os=-unicos+ ;;+ symmetry)+ basic_machine=i386-sequent+ os=-dynix+ ;;+ t3e)+ basic_machine=alphaev5-cray+ os=-unicos+ ;;+ t90)+ basic_machine=t90-cray+ os=-unicos+ ;;+ tile*)+ basic_machine=$basic_machine-unknown+ os=-linux-gnu+ ;;+ tx39)+ basic_machine=mipstx39-unknown+ ;;+ tx39el)+ basic_machine=mipstx39el-unknown+ ;;+ toad1)+ basic_machine=pdp10-xkl+ os=-tops20+ ;;+ tower | tower-32)+ basic_machine=m68k-ncr+ ;;+ tpf)+ basic_machine=s390x-ibm+ os=-tpf+ ;;+ udi29k)+ basic_machine=a29k-amd+ os=-udi+ ;;+ ultra3)+ basic_machine=a29k-nyu+ os=-sym1+ ;;+ v810 | necv810)+ basic_machine=v810-nec+ os=-none+ ;;+ vaxv)+ basic_machine=vax-dec+ os=-sysv+ ;;+ vms)+ basic_machine=vax-dec+ os=-vms+ ;;+ vpp*|vx|vx-*)+ basic_machine=f301-fujitsu+ ;;+ vxworks960)+ basic_machine=i960-wrs+ os=-vxworks+ ;;+ vxworks68)+ basic_machine=m68k-wrs+ os=-vxworks+ ;;+ vxworks29k)+ basic_machine=a29k-wrs+ os=-vxworks+ ;;+ w65*)+ basic_machine=w65-wdc+ os=-none+ ;;+ w89k-*)+ basic_machine=hppa1.1-winbond+ os=-proelf+ ;;+ x64)+ basic_machine=x86_64-pc+ ;;+ xbox)+ basic_machine=i686-pc+ os=-mingw32+ ;;+ xps | xps100)+ basic_machine=xps100-honeywell+ ;;+ xscale-* | xscalee[bl]-*)+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`+ ;;+ ymp)+ basic_machine=ymp-cray+ os=-unicos+ ;;+ none)+ basic_machine=none-none+ 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)+ basic_machine=hppa1.1-winbond+ ;;+ op50n)+ basic_machine=hppa1.1-oki+ ;;+ op60c)+ basic_machine=hppa1.1-oki+ ;;+ romp)+ basic_machine=romp-ibm+ ;;+ mmix)+ basic_machine=mmix-knuth+ ;;+ rs6000)+ basic_machine=rs6000-ibm+ ;;+ vax)+ basic_machine=vax-dec+ ;;+ pdp11)+ basic_machine=pdp11-dec+ ;;+ we32k)+ basic_machine=we32k-att+ ;;+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)+ basic_machine=sh-unknown+ ;;+ cydra)+ basic_machine=cydra-cydrome+ ;;+ orion)+ basic_machine=orion-highlevel+ ;;+ orion105)+ basic_machine=clipper-highlevel+ ;;+ mac | mpw | mac-mpw)+ basic_machine=m68k-apple+ ;;+ pmac | pmac-mpw)+ basic_machine=powerpc-apple+ ;;+ *-unknown)+ # Make sure to match an already-canonicalized machine name.+ ;;+ *)+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2+ exit 1+ ;;+esac++# Here we canonicalize certain aliases for manufacturers.+case $basic_machine in+ *-digital*)+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`+ ;;+ *-commodore*)+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`+ ;;+ *)+ ;;+esac++# Decode manufacturer-specific aliases for certain operating systems.++if [ x"$os" != x"" ]+then+case $os in+ # First match some system type aliases that might get confused+ # with valid system types.+ # -solaris* is a basic system type, with this one exception.+ -auroraux)+ os=-auroraux+ ;;+ -solaris1 | -solaris1.*)+ os=`echo $os | sed -e 's|solaris1|sunos4|'`+ ;;+ -solaris)+ os=-solaris2+ ;;+ -unixware*)+ os=-sysv4.2uw+ ;;+ -gnu/linux*)+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`+ ;;+ # es1800 is here to avoid being matched by es* (a different OS)+ -es1800*)+ os=-ose+ ;;+ # Now accept the basic system types.+ # The portable systems comes first.+ # Each alternative MUST end in a * to match a version number.+ # -sysv* is not here because it comes later, after sysvr4.+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \+ | -sym* | -kopensolaris* | -plan9* \+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \+ | -aos* | -aros* | -cloudabi* | -sortix* \+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \+ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \+ | -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* \+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \+ | -morphos* | -superux* | -rtmk* | -windiss* \+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \+ | -midnightbsd*)+ # Remember, each alternative MUST END IN *, to match a version number.+ ;;+ -qnx*)+ case $basic_machine in+ x86-* | i*86-*)+ ;;+ *)+ os=-nto$os+ ;;+ esac+ ;;+ -nto-qnx*)+ ;;+ -nto*)+ os=`echo $os | sed -e 's|nto|nto-qnx|'`+ ;;+ -sim | -xray | -os68k* | -v88r* \+ | -windows* | -osx | -abug | -netware* | -os9* \+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)+ ;;+ -mac*)+ os=`echo "$os" | sed -e 's|mac|macos|'`+ ;;+ -linux-dietlibc)+ os=-linux-dietlibc+ ;;+ -linux*)+ os=`echo $os | sed -e 's|linux|linux-gnu|'`+ ;;+ -sunos5*)+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`+ ;;+ -sunos6*)+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`+ ;;+ -opened*)+ os=-openedition+ ;;+ -os400*)+ os=-os400+ ;;+ -wince*)+ os=-wince+ ;;+ -utek*)+ os=-bsd+ ;;+ -dynix*)+ os=-bsd+ ;;+ -acis*)+ os=-aos+ ;;+ -atheos*)+ os=-atheos+ ;;+ -syllable*)+ os=-syllable+ ;;+ -386bsd)+ os=-bsd+ ;;+ -ctix* | -uts*)+ os=-sysv+ ;;+ -nova*)+ os=-rtmk-nova+ ;;+ -ns2)+ os=-nextstep2+ ;;+ -nsk*)+ os=-nsk+ ;;+ # Preserve the version number of sinix5.+ -sinix5.*)+ os=`echo $os | sed -e 's|sinix|sysv|'`+ ;;+ -sinix*)+ os=-sysv4+ ;;+ -tpf*)+ os=-tpf+ ;;+ -triton*)+ os=-sysv3+ ;;+ -oss*)+ os=-sysv3+ ;;+ -svr4*)+ os=-sysv4+ ;;+ -svr3)+ os=-sysv3+ ;;+ -sysvr4)+ os=-sysv4+ ;;+ # This must come after -sysvr4.+ -sysv*)+ ;;+ -ose*)+ os=-ose+ ;;+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)+ os=-mint+ ;;+ -zvmoe)+ os=-zvmoe+ ;;+ -dicos*)+ os=-dicos+ ;;+ -pikeos*)+ # Until real need of OS specific support for+ # particular features comes up, bare metal+ # configurations are quite functional.+ case $basic_machine in+ arm*)+ os=-eabi+ ;;+ *)+ os=-elf+ ;;+ esac+ ;;+ -nacl*)+ ;;+ -ios)+ ;;+ -none)+ ;;+ *)+ # 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+ ;;+esac+else++# Here we handle the default operating systems that come with various machines.+# The value should be what the vendor currently ships out the door with their+# machine or put another way, the most popular os provided with the machine.++# Note that if you're going to try to match "-MANUFACTURER" here (say,+# "-sun"), then you have to tell the case statement up towards the top+# that MANUFACTURER isn't an operating system. Otherwise, code above+# will signal an error saying that MANUFACTURER isn't an operating+# system, and we'll never get to this point.++case $basic_machine in+ score-*)+ os=-elf+ ;;+ spu-*)+ os=-elf+ ;;+ *-acorn)+ os=-riscix1.2+ ;;+ arm*-rebel)+ os=-linux+ ;;+ arm*-semi)+ os=-aout+ ;;+ c4x-* | tic4x-*)+ os=-coff+ ;;+ c8051-*)+ os=-elf+ ;;+ hexagon-*)+ os=-elf+ ;;+ tic54x-*)+ os=-coff+ ;;+ tic55x-*)+ os=-coff+ ;;+ tic6x-*)+ os=-coff+ ;;+ # This must come before the *-dec entry.+ pdp10-*)+ os=-tops20+ ;;+ pdp11-*)+ os=-none+ ;;+ *-dec | vax-*)+ os=-ultrix4.2+ ;;+ m68*-apollo)+ os=-domain+ ;;+ i386-sun)+ os=-sunos4.0.2+ ;;+ m68000-sun)+ os=-sunos3+ ;;+ m68*-cisco)+ os=-aout+ ;;+ mep-*)+ os=-elf+ ;;+ mips*-cisco)+ os=-elf+ ;;+ mips*-*)+ os=-elf+ ;;+ or32-*)+ os=-coff+ ;;+ *-tti) # must be before sparc entry or we get the wrong os.+ os=-sysv3+ ;;+ sparc-* | *-sun)+ os=-sunos4.1.1+ ;;+ pru-*)+ os=-elf+ ;;+ *-be)+ os=-beos+ ;;+ *-ibm)+ os=-aix+ ;;+ *-knuth)+ os=-mmixware+ ;;+ *-wec)+ os=-proelf+ ;;+ *-winbond)+ os=-proelf+ ;;+ *-oki)+ os=-proelf+ ;;+ *-hp)+ os=-hpux+ ;;+ *-hitachi)+ os=-hiux+ ;;+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)+ os=-sysv+ ;;+ *-cbm)+ os=-amigaos+ ;;+ *-dg)+ os=-dgux+ ;;+ *-dolphin)+ os=-sysv3+ ;;+ m68k-ccur)+ os=-rtu+ ;;+ m88k-omron*)+ os=-luna+ ;;+ *-next)+ os=-nextstep+ ;;+ *-sequent)+ os=-ptx+ ;;+ *-crds)+ os=-unos+ ;;+ *-ns)+ os=-genix+ ;;+ i370-*)+ os=-mvs+ ;;+ *-gould)+ os=-sysv+ ;;+ *-highlevel)+ os=-bsd+ ;;+ *-encore)+ os=-bsd+ ;;+ *-sgi)+ os=-irix+ ;;+ *-siemens)+ os=-sysv4+ ;;+ *-masscomp)+ os=-rtu+ ;;+ f30[01]-fujitsu | f700-fujitsu)+ os=-uxpv+ ;;+ *-rom68k)+ os=-coff+ ;;+ *-*bug)+ os=-coff+ ;;+ *-apple)+ os=-macos+ ;;+ *-atari*)+ os=-mint+ ;;+ *)+ os=-none+ ;;+esac+fi++# Here we handle the case where we know the os, and the CPU type, but not the+# manufacturer. We pick the logical manufacturer.+vendor=unknown+case $basic_machine in+ *-unknown)+ case $os in+ -riscix*)+ vendor=acorn+ ;;+ -sunos*)+ vendor=sun+ ;;+ -cnk*|-aix*)+ vendor=ibm+ ;;+ -beos*)+ vendor=be+ ;;+ -hpux*)+ vendor=hp+ ;;+ -mpeix*)+ vendor=hp+ ;;+ -hiux*)+ vendor=hitachi+ ;;+ -unos*)+ vendor=crds+ ;;+ -dgux*)+ vendor=dg+ ;;+ -luna*)+ vendor=omron+ ;;+ -genix*)+ vendor=ns+ ;;+ -mvs* | -opened*)+ vendor=ibm+ ;;+ -os400*)+ vendor=ibm+ ;;+ -ptx*)+ vendor=sequent+ ;;+ -tpf*)+ vendor=ibm+ ;;+ -vxsim* | -vxworks* | -windiss*)+ vendor=wrs+ ;;+ -aux*)+ vendor=apple+ ;;+ -hms*)+ vendor=hitachi+ ;;+ -mpw* | -macos*)+ vendor=apple+ ;;+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)+ vendor=atari+ ;;+ -vos*)+ vendor=stratus+ ;;+ esac+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`+ ;;+esac++echo "$basic_machine$os"+exit++# Local variables:+# eval: (add-hook 'before-save-hook 'time-stamp)+# time-stamp-start: "timestamp='"+# time-stamp-format: "%:y-%02m-%02d"+# time-stamp-end: "'"+# End:
@@ -0,0 +1,791 @@+#! /bin/sh+# depcomp - compile a program generating dependencies as side-effects++scriptversion=2018-03-07.03; # UTC++# Copyright (C) 1999-2018 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+# the Free Software Foundation; either version 2, 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.++# You should have received a copy of the GNU General Public License+# 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+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that program.++# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.++case $1 in+ '')+ echo "$0: No command. Try '$0 --help' for more information." 1>&2+ exit 1;+ ;;+ -h | --h*)+ cat <<\EOF+Usage: depcomp [--help] [--version] PROGRAM [ARGS]++Run PROGRAMS ARGS to compile a file, generating dependencies+as side-effects.++Environment variables:+ depmode Dependency tracking mode.+ source Source file read by 'PROGRAMS ARGS'.+ object Object file output by 'PROGRAMS ARGS'.+ DEPDIR directory where to store dependencies.+ depfile Dependency file to output.+ tmpdepfile Temporary file to use when outputting dependencies.+ libtool Whether libtool is used (yes/no).++Report bugs to <bug-automake@gnu.org>.+EOF+ exit $?+ ;;+ -v | --v*)+ echo "depcomp $scriptversion"+ exit $?+ ;;+esac++# Get the directory component of the given path, and save it in the+# global variables '$dir'. Note that this directory component will+# be either empty or ending with a '/' character. This is deliberate.+set_dir_from ()+{+ case $1 in+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;+ *) dir=;;+ esac+}++# Get the suffix-stripped basename of the given path, and save it the+# global variable '$base'.+set_base_from ()+{+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`+}++# If no dependency file was actually created by the compiler invocation,+# we still have to create a dummy depfile, to avoid errors with the+# Makefile "include basename.Plo" scheme.+make_dummy_depfile ()+{+ echo "#dummy" > "$depfile"+}++# Factor out some common post-processing of the generated depfile.+# Requires the auxiliary global variable '$tmpdepfile' to be set.+aix_post_process_depfile ()+{+ # If the compiler actually managed to produce a dependency file,+ # post-process it.+ if test -f "$tmpdepfile"; then+ # Each line is of the form 'foo.o: dependency.h'.+ # Do two passes, one to just change these to+ # $object: dependency.h+ # and one to simply output+ # dependency.h:+ # which is needed to avoid the deleted-header problem.+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"+ } > "$depfile"+ rm -f "$tmpdepfile"+ else+ make_dummy_depfile+ fi+}++# A tabulation character.+tab=' '+# A newline character.+nl='+'+# Character ranges might be problematic outside the C locale.+# These definitions help.+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ+lower=abcdefghijklmnopqrstuvwxyz+digits=0123456789+alpha=${upper}${lower}++if test -z "$depmode" || test -z "$source" || test -z "$object"; then+ echo "depcomp: Variables source, object and depmode must be set" 1>&2+ exit 1+fi++# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.+depfile=${depfile-`echo "$object" |+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}++rm -f "$tmpdepfile"++# Avoid interferences from the environment.+gccflag= dashmflag=++# Some modes work just like other modes, but use different flags. We+# parameterize here, but still list the modes in the big case below,+# to make depend.m4 easier to write. Note that we *cannot* use a case+# here, because this file can only contain one case statement.+if test "$depmode" = hp; then+ # HP compiler uses -M and no extra arg.+ gccflag=-M+ depmode=gcc+fi++if test "$depmode" = dashXmstdout; then+ # This is just like dashmstdout with a different argument.+ dashmflag=-xM+ depmode=dashmstdout+fi++cygpath_u="cygpath -u -f -"+if test "$depmode" = msvcmsys; then+ # This is just like msvisualcpp but w/o cygpath translation.+ # Just convert the backslash-escaped backslashes to single forward+ # slashes to satisfy depend.m4+ cygpath_u='sed s,\\\\,/,g'+ depmode=msvisualcpp+fi++if test "$depmode" = msvc7msys; then+ # This is just like msvc7 but w/o cygpath translation.+ # Just convert the backslash-escaped backslashes to single forward+ # slashes to satisfy depend.m4+ cygpath_u='sed s,\\\\,/,g'+ depmode=msvc7+fi++if test "$depmode" = xlc; then+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.+ gccflag=-qmakedep=gcc,-MF+ depmode=gcc+fi++case "$depmode" in+gcc3)+## gcc 3 implements dependency tracking that does exactly what+## we want. Yay! Note: for some reason libtool 1.4 doesn't like+## it if -MD -MP comes after the -MF stuff. Hmm.+## Unfortunately, FreeBSD c89 acceptance of flags depends upon+## the command line argument order; so add the flags where they+## appear in depend2.am. Note that the slowdown incurred here+## affects only configure: in makefiles, %FASTDEP% shortcuts this.+ for arg+ do+ case $arg in+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;+ *) set fnord "$@" "$arg" ;;+ esac+ shift # fnord+ shift # $arg+ done+ "$@"+ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile"+ exit $stat+ fi+ mv "$tmpdepfile" "$depfile"+ ;;++gcc)+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.+## (see the conditional assignment to $gccflag above).+## There are various ways to get dependency output from gcc. Here's+## why we pick this rather obscure method:+## - Don't want to use -MD because we'd like the dependencies to end+## up in a subdir. Having to rename by hand is ugly.+## (We might end up doing this anyway to support other compilers.)+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like+## -MM, not -M (despite what the docs say). Also, it might not be+## supported by the other compilers which use the 'gcc' depmode.+## - Using -M directly means running the compiler twice (even worse+## than renaming).+ if test -z "$gccflag"; then+ gccflag=-MD,+ fi+ "$@" -Wp,"$gccflag$tmpdepfile"+ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile"+ exit $stat+ fi+ rm -f "$depfile"+ echo "$object : \\" > "$depfile"+ # The second -e expression handles DOS-style file names with drive+ # letters.+ sed -e 's/^[^:]*: / /' \+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"+## This next piece of magic avoids the "deleted header file" problem.+## The problem is that when a header file which appears in a .P file+## is deleted, the dependency causes make to die (because there is+## typically no way to rebuild the header). We avoid this by adding+## dummy dependencies for each header file. Too bad gcc doesn't do+## this for us directly.+## Some versions of gcc put a space before the ':'. On the theory+## that the space means something, we add a space to the output as+## well. hp depmode also adds that space, but also prefixes the VPATH+## to the object. Take care to not repeat it in the output.+## Some versions of the HPUX 10.20 sed can't process this invocation+## correctly. Breaking it into two sed invocations is a workaround.+ tr ' ' "$nl" < "$tmpdepfile" \+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \+ | sed -e 's/$/ :/' >> "$depfile"+ rm -f "$tmpdepfile"+ ;;++hp)+ # This case exists only to let depend.m4 do its work. It works by+ # looking at the text of this script. This case will never be run,+ # since it is checked for above.+ exit 1+ ;;++sgi)+ if test "$libtool" = yes; then+ "$@" "-Wp,-MDupdate,$tmpdepfile"+ else+ "$@" -MDupdate "$tmpdepfile"+ fi+ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile"+ exit $stat+ fi+ rm -f "$depfile"++ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files+ echo "$object : \\" > "$depfile"+ # Clip off the initial element (the dependent). Don't try to be+ # clever and replace this with sed code, as IRIX sed won't handle+ # lines with more than a fixed number of characters (4096 in+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;+ # the IRIX cc adds comments like '#:fec' to the end of the+ # dependency line.+ tr ' ' "$nl" < "$tmpdepfile" \+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \+ | tr "$nl" ' ' >> "$depfile"+ echo >> "$depfile"+ # The second pass generates a dummy entry for each header file.+ tr ' ' "$nl" < "$tmpdepfile" \+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \+ >> "$depfile"+ else+ make_dummy_depfile+ fi+ rm -f "$tmpdepfile"+ ;;++xlc)+ # This case exists only to let depend.m4 do its work. It works by+ # looking at the text of this script. This case will never be run,+ # since it is checked for above.+ exit 1+ ;;++aix)+ # The C for AIX Compiler uses -M and outputs the dependencies+ # in a .u file. In older versions, this file always lives in the+ # current directory. Also, the AIX compiler puts '$object:' at the+ # start of each line; $object doesn't have directory information.+ # Version 6 uses the directory in both cases.+ set_dir_from "$object"+ set_base_from "$object"+ if test "$libtool" = yes; then+ tmpdepfile1=$dir$base.u+ tmpdepfile2=$base.u+ tmpdepfile3=$dir.libs/$base.u+ "$@" -Wc,-M+ else+ tmpdepfile1=$dir$base.u+ tmpdepfile2=$dir$base.u+ tmpdepfile3=$dir$base.u+ "$@" -M+ fi+ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"+ exit $stat+ fi++ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"+ do+ test -f "$tmpdepfile" && break+ done+ aix_post_process_depfile+ ;;++tcc)+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26+ # FIXME: That version still under development at the moment of writing.+ # Make that this statement remains true also for stable, released+ # versions.+ # It will wrap lines (doesn't matter whether long or short) with a+ # trailing '\', as in:+ #+ # foo.o : \+ # foo.c \+ # foo.h \+ #+ # It will put a trailing '\' even on the last line, and will use leading+ # spaces rather than leading tabs (at least since its commit 0394caf7+ # "Emit spaces for -MD").+ "$@" -MD -MF "$tmpdepfile"+ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile"+ exit $stat+ fi+ rm -f "$depfile"+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.+ # We have to change lines of the first kind to '$object: \'.+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"+ # And for each line of the second kind, we have to emit a 'dep.h:'+ # dummy dependency, to avoid the deleted-header problem.+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"+ rm -f "$tmpdepfile"+ ;;++## The order of this option in the case statement is important, since the+## shell code in configure will try each of these formats in the order+## listed in this file. A plain '-MD' option would be understood by many+## compilers, so we must ensure this comes after the gcc and icc options.+pgcc)+ # Portland's C compiler understands '-MD'.+ # Will always output deps to 'file.d' where file is the root name of the+ # source file under compilation, even if file resides in a subdirectory.+ # The object file name does not affect the name of the '.d' file.+ # pgcc 10.2 will output+ # foo.o: sub/foo.c sub/foo.h+ # and will wrap long lines using '\' :+ # foo.o: sub/foo.c ... \+ # sub/foo.h ... \+ # ...+ set_dir_from "$object"+ # Use the source, not the object, to determine the base name, since+ # that's sadly what pgcc will do too.+ set_base_from "$source"+ tmpdepfile=$base.d++ # For projects that build the same source file twice into different object+ # files, the pgcc approach of using the *source* file root name can cause+ # problems in parallel builds. Use a locking strategy to avoid stomping on+ # the same $tmpdepfile.+ lockdir=$base.d-lock+ trap "+ echo '$0: caught signal, cleaning up...' >&2+ rmdir '$lockdir'+ exit 1+ " 1 2 13 15+ numtries=100+ i=$numtries+ while test $i -gt 0; do+ # mkdir is a portable test-and-set.+ if mkdir "$lockdir" 2>/dev/null; then+ # This process acquired the lock.+ "$@" -MD+ stat=$?+ # Release the lock.+ rmdir "$lockdir"+ break+ else+ # If the lock is being held by a different process, wait+ # until the winning process is done or we timeout.+ while test -d "$lockdir" && test $i -gt 0; do+ sleep 1+ i=`expr $i - 1`+ done+ fi+ i=`expr $i - 1`+ done+ trap - 1 2 13 15+ if test $i -le 0; then+ echo "$0: failed to acquire lock after $numtries attempts" >&2+ echo "$0: check lockdir '$lockdir'" >&2+ exit 1+ fi++ if test $stat -ne 0; then+ rm -f "$tmpdepfile"+ exit $stat+ fi+ rm -f "$depfile"+ # Each line is of the form `foo.o: dependent.h',+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.+ # Do two passes, one to just change these to+ # `$object: dependent.h' and one to simply `dependent.h:'.+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"+ # Some versions of the HPUX 10.20 sed can't process this invocation+ # correctly. Breaking it into two sed invocations is a workaround.+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \+ | sed -e 's/$/ :/' >> "$depfile"+ rm -f "$tmpdepfile"+ ;;++hp2)+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64+ # compilers, which have integrated preprocessors. The correct option+ # to use with these is +Maked; it writes dependencies to a file named+ # 'foo.d', which lands next to the object file, wherever that+ # happens to be.+ # Much of this is similar to the tru64 case; see comments there.+ set_dir_from "$object"+ set_base_from "$object"+ if test "$libtool" = yes; then+ tmpdepfile1=$dir$base.d+ tmpdepfile2=$dir.libs/$base.d+ "$@" -Wc,+Maked+ else+ tmpdepfile1=$dir$base.d+ tmpdepfile2=$dir$base.d+ "$@" +Maked+ fi+ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile1" "$tmpdepfile2"+ exit $stat+ fi++ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"+ do+ test -f "$tmpdepfile" && break+ done+ if test -f "$tmpdepfile"; then+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"+ # Add 'dependent.h:' lines.+ sed -ne '2,${+ s/^ *//+ s/ \\*$//+ s/$/:/+ p+ }' "$tmpdepfile" >> "$depfile"+ else+ make_dummy_depfile+ fi+ rm -f "$tmpdepfile" "$tmpdepfile2"+ ;;++tru64)+ # The Tru64 compiler uses -MD to generate dependencies as a side+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put+ # dependencies in 'foo.d' instead, so we check for that too.+ # Subdirectories are respected.+ set_dir_from "$object"+ set_base_from "$object"++ if test "$libtool" = yes; then+ # Libtool generates 2 separate objects for the 2 libraries. These+ # two compilations output dependencies in $dir.libs/$base.o.d and+ # in $dir$base.o.d. We have to check for both files, because+ # one of the two compilations can be disabled. We should prefer+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is+ # automatically cleaned when .libs/ is deleted, while ignoring+ # the former would cause a distcleancheck panic.+ tmpdepfile1=$dir$base.o.d # libtool 1.5+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504+ "$@" -Wc,-MD+ else+ tmpdepfile1=$dir$base.d+ tmpdepfile2=$dir$base.d+ tmpdepfile3=$dir$base.d+ "$@" -MD+ fi++ stat=$?+ if test $stat -ne 0; then+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"+ exit $stat+ fi++ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"+ do+ test -f "$tmpdepfile" && break+ done+ # Same post-processing that is required for AIX mode.+ aix_post_process_depfile+ ;;++msvc7)+ if test "$libtool" = yes; then+ showIncludes=-Wc,-showIncludes+ else+ showIncludes=-showIncludes+ fi+ "$@" $showIncludes > "$tmpdepfile"+ stat=$?+ grep -v '^Note: including file: ' "$tmpdepfile"+ if test $stat -ne 0; then+ rm -f "$tmpdepfile"+ exit $stat+ fi+ rm -f "$depfile"+ echo "$object : \\" > "$depfile"+ # The first sed program below extracts the file names and escapes+ # backslashes for cygpath. The second sed program outputs the file+ # name when reading, but also accumulates all include files in the+ # hold buffer in order to output them again at the end. This only+ # works with sed implementations that can handle large buffers.+ sed < "$tmpdepfile" -n '+/^Note: including file: *\(.*\)/ {+ s//\1/+ s/\\/\\\\/g+ p+}' | $cygpath_u | sort -u | sed -n '+s/ /\\ /g+s/\(.*\)/'"$tab"'\1 \\/p+s/.\(.*\) \\/\1:/+H+$ {+ s/.*/'"$tab"'/+ G+ p+}' >> "$depfile"+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash+ rm -f "$tmpdepfile"+ ;;++msvc7msys)+ # This case exists only to let depend.m4 do its work. It works by+ # looking at the text of this script. This case will never be run,+ # since it is checked for above.+ exit 1+ ;;++#nosideeffect)+ # This comment above is used by automake to tell side-effect+ # dependency tracking mechanisms from slower ones.++dashmstdout)+ # Important note: in order to support this mode, a compiler *must*+ # always write the preprocessed file to stdout, regardless of -o.+ "$@" || exit $?++ # Remove the call to Libtool.+ if test "$libtool" = yes; then+ while test "X$1" != 'X--mode=compile'; do+ shift+ done+ shift+ fi++ # Remove '-o $object'.+ IFS=" "+ for arg+ do+ case $arg in+ -o)+ shift+ ;;+ $object)+ shift+ ;;+ *)+ set fnord "$@" "$arg"+ shift # fnord+ shift # $arg+ ;;+ esac+ done++ test -z "$dashmflag" && dashmflag=-M+ # Require at least two characters before searching for ':'+ # in the target name. This is to cope with DOS-style filenames:+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.+ "$@" $dashmflag |+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"+ rm -f "$depfile"+ cat < "$tmpdepfile" > "$depfile"+ # Some versions of the HPUX 10.20 sed can't process this sed invocation+ # correctly. Breaking it into two sed invocations is a workaround.+ tr ' ' "$nl" < "$tmpdepfile" \+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \+ | sed -e 's/$/ :/' >> "$depfile"+ rm -f "$tmpdepfile"+ ;;++dashXmstdout)+ # This case only exists to satisfy depend.m4. It is never actually+ # run, as this mode is specially recognized in the preamble.+ exit 1+ ;;++makedepend)+ "$@" || exit $?+ # Remove any Libtool call+ if test "$libtool" = yes; then+ while test "X$1" != 'X--mode=compile'; do+ shift+ done+ shift+ fi+ # X makedepend+ shift+ cleared=no eat=no+ for arg+ do+ case $cleared in+ no)+ set ""; shift+ cleared=yes ;;+ esac+ if test $eat = yes; then+ eat=no+ continue+ fi+ case "$arg" in+ -D*|-I*)+ set fnord "$@" "$arg"; shift ;;+ # Strip any option that makedepend may not understand. Remove+ # the object too, otherwise makedepend will parse it as a source file.+ -arch)+ eat=yes ;;+ -*|$object)+ ;;+ *)+ set fnord "$@" "$arg"; shift ;;+ esac+ done+ obj_suffix=`echo "$object" | sed 's/^.*\././'`+ touch "$tmpdepfile"+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"+ rm -f "$depfile"+ # makedepend may prepend the VPATH from the source file name to the object.+ # No need to regex-escape $object, excess matching of '.' is harmless.+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"+ # Some versions of the HPUX 10.20 sed can't process the last invocation+ # correctly. Breaking it into two sed invocations is a workaround.+ sed '1,2d' "$tmpdepfile" \+ | tr ' ' "$nl" \+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \+ | sed -e 's/$/ :/' >> "$depfile"+ rm -f "$tmpdepfile" "$tmpdepfile".bak+ ;;++cpp)+ # Important note: in order to support this mode, a compiler *must*+ # always write the preprocessed file to stdout.+ "$@" || exit $?++ # Remove the call to Libtool.+ if test "$libtool" = yes; then+ while test "X$1" != 'X--mode=compile'; do+ shift+ done+ shift+ fi++ # Remove '-o $object'.+ IFS=" "+ for arg+ do+ case $arg in+ -o)+ shift+ ;;+ $object)+ shift+ ;;+ *)+ set fnord "$@" "$arg"+ shift # fnord+ shift # $arg+ ;;+ esac+ done++ "$@" -E \+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \+ | sed '$ s: \\$::' > "$tmpdepfile"+ rm -f "$depfile"+ echo "$object : \\" > "$depfile"+ cat < "$tmpdepfile" >> "$depfile"+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"+ rm -f "$tmpdepfile"+ ;;++msvisualcpp)+ # Important note: in order to support this mode, a compiler *must*+ # always write the preprocessed file to stdout.+ "$@" || exit $?++ # Remove the call to Libtool.+ if test "$libtool" = yes; then+ while test "X$1" != 'X--mode=compile'; do+ shift+ done+ shift+ fi++ IFS=" "+ for arg+ do+ case "$arg" in+ -o)+ shift+ ;;+ $object)+ shift+ ;;+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")+ set fnord "$@"+ shift+ shift+ ;;+ *)+ set fnord "$@" "$arg"+ shift+ shift+ ;;+ esac+ done+ "$@" -E 2>/dev/null |+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"+ rm -f "$depfile"+ echo "$object : \\" > "$depfile"+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"+ echo "$tab" >> "$depfile"+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"+ rm -f "$tmpdepfile"+ ;;++msvcmsys)+ # This case exists only to let depend.m4 do its work. It works by+ # looking at the text of this script. This case will never be run,+ # since it is checked for above.+ exit 1+ ;;++none)+ exec "$@"+ ;;++*)+ echo "Unknown depmode $depmode" 1>&2+ exit 1+ ;;+esac++exit 0++# Local Variables:+# mode: shell-script+# sh-indentation: 2+# eval: (add-hook 'before-save-hook 'time-stamp)+# time-stamp-start: "scriptversion="+# time-stamp-format: "%:y-%02m-%02d.%02H"+# time-stamp-time-zone: "UTC0"+# time-stamp-end: "; # UTC"+# End:
@@ -0,0 +1,518 @@+#!/bin/sh+# install - install a program, script, or datafile++scriptversion=2018-03-11.20; # UTC++# This originates from X11R5 (mit/util/scripts/install.sh), which was+# later released in X11R6 (xc/config/util/install.sh) with the+# following copyright and license.+#+# Copyright (C) 1994 X Consortium+#+# Permission is hereby granted, free of charge, to any person obtaining a copy+# of this software and associated documentation files (the "Software"), to+# deal in the Software without restriction, including without limitation the+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or+# sell copies of the Software, and to permit persons to whom the Software is+# furnished to do so, subject to the following conditions:+#+# The above copyright notice and this permission notice shall be included in+# all copies or substantial portions of the Software.+#+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.+#+# Except as contained in this notice, the name of the X Consortium shall not+# be used in advertising or otherwise to promote the sale, use or other deal-+# ings in this Software without prior written authorization from the X Consor-+# tium.+#+#+# FSF changes to this file are in the public domain.+#+# Calling this script install-sh is preferred over install.sh, to prevent+# 'make' implicit rules from creating a file called install from it+# when there is no Makefile.+#+# This script is compatible with the BSD install script, but was written+# from scratch.++tab=' '+nl='+'+IFS=" $tab$nl"++# Set DOITPROG to "echo" to test this script.++doit=${DOITPROG-}+doit_exec=${doit:-exec}++# Put in absolute file names if you don't have them in your path;+# or use environment vars.++chgrpprog=${CHGRPPROG-chgrp}+chmodprog=${CHMODPROG-chmod}+chownprog=${CHOWNPROG-chown}+cmpprog=${CMPPROG-cmp}+cpprog=${CPPROG-cp}+mkdirprog=${MKDIRPROG-mkdir}+mvprog=${MVPROG-mv}+rmprog=${RMPROG-rm}+stripprog=${STRIPPROG-strip}++posix_mkdir=++# Desired mode of installed file.+mode=0755++chgrpcmd=+chmodcmd=$chmodprog+chowncmd=+mvcmd=$mvprog+rmcmd="$rmprog -f"+stripcmd=++src=+dst=+dir_arg=+dst_arg=++copy_on_change=false+is_target_a_directory=possibly++usage="\+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE+ or: $0 [OPTION]... SRCFILES... DIRECTORY+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...+ or: $0 [OPTION]... -d DIRECTORIES...++In the 1st form, copy SRCFILE to DSTFILE.+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.+In the 4th, create DIRECTORIES.++Options:+ --help display this help and exit.+ --version display version info and exit.++ -c (ignored)+ -C install only if different (preserve the last 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.+ -s $stripprog installed files.+ -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+"++while test $# -ne 0; do+ case $1 in+ -c) ;;++ -C) copy_on_change=true;;++ -d) dir_arg=true;;++ -g) chgrpcmd="$chgrpprog $2"+ shift;;++ --help) echo "$usage"; exit $?;;++ -m) mode=$2+ case $mode in+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)+ echo "$0: invalid mode: $mode" >&2+ exit 1;;+ esac+ shift;;++ -o) chowncmd="$chownprog $2"+ shift;;++ -s) stripcmd=$stripprog;;++ -t)+ is_target_a_directory=always+ dst_arg=$2+ # Protect names problematic for 'test' and other utilities.+ case $dst_arg in+ -* | [=\(\)!]) dst_arg=./$dst_arg;;+ esac+ shift;;++ -T) is_target_a_directory=never;;++ --version) echo "$0 $scriptversion"; exit $?;;++ --) shift+ break;;++ -*) echo "$0: invalid option: $1" >&2+ exit 1;;++ *) break;;+ esac+ shift+done++# We allow the use of options -d and -T together, by making -d+# take the precedence; this is for compatibility with GNU install.++if test -n "$dir_arg"; then+ if test -n "$dst_arg"; then+ echo "$0: target directory not allowed when installing a directory." >&2+ exit 1+ fi+fi++if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then+ # When -d is used, all remaining arguments are directories to create.+ # When -t is used, the destination is already specified.+ # Otherwise, the last argument is the destination. Remove it from $@.+ for arg+ do+ if test -n "$dst_arg"; then+ # $@ is not empty: it contains at least $arg.+ set fnord "$@" "$dst_arg"+ shift # fnord+ fi+ shift # arg+ dst_arg=$arg+ # Protect names problematic for 'test' and other utilities.+ case $dst_arg in+ -* | [=\(\)!]) dst_arg=./$dst_arg;;+ esac+ done+fi++if test $# -eq 0; then+ if test -z "$dir_arg"; then+ echo "$0: no input file specified." >&2+ exit 1+ fi+ # It's OK to call 'install-sh -d' without argument.+ # This can happen when creating conditional directories.+ exit 0+fi++if test -z "$dir_arg"; then+ if test $# -gt 1 || test "$is_target_a_directory" = always; then+ if test ! -d "$dst_arg"; then+ echo "$0: $dst_arg: Is not a directory." >&2+ exit 1+ fi+ fi+fi++if test -z "$dir_arg"; then+ do_exit='(exit $ret); exit $ret'+ trap "ret=129; $do_exit" 1+ trap "ret=130; $do_exit" 2+ trap "ret=141; $do_exit" 13+ trap "ret=143; $do_exit" 15++ # Set umask so as not to create temps with too-generous modes.+ # However, 'strip' requires both read and write access to temps.+ case $mode in+ # Optimize common cases.+ *644) cp_umask=133;;+ *755) cp_umask=22;;++ *[0-7])+ if test -z "$stripcmd"; then+ u_plus_rw=+ else+ u_plus_rw='% 200'+ fi+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;+ *)+ if test -z "$stripcmd"; then+ u_plus_rw=+ else+ u_plus_rw=,u+rw+ fi+ cp_umask=$mode$u_plus_rw;;+ esac+fi++for src+do+ # Protect names problematic for 'test' and other utilities.+ case $src in+ -* | [=\(\)!]) src=./$src;;+ esac++ if test -n "$dir_arg"; then+ dst=$src+ dstdir=$dst+ test -d "$dstdir"+ dstdir_status=$?+ else++ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command+ # might cause directories to be created, which would be especially bad+ # if $src (and thus $dsttmp) contains '*'.+ if test ! -f "$src" && test ! -d "$src"; then+ echo "$0: $src does not exist." >&2+ exit 1+ fi++ if test -z "$dst_arg"; then+ echo "$0: no destination specified." >&2+ exit 1+ fi+ dst=$dst_arg++ # 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+ dstbase=`basename "$src"`+ case $dst in+ */) dst=$dst$dstbase;;+ *) dst=$dst/$dstbase;;+ esac+ dstdir_status=0+ else+ dstdir=`dirname "$dst"`+ test -d "$dstdir"+ dstdir_status=$?+ 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+ mkdir_mode=-m$mode+ else+ mkdir_mode=+ 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.+ ;;+ *)+ # Note that $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' feature.+ 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;;+ esac++ if+ $posix_mkdir && (+ umask $mkdir_umask &&+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"+ )+ then :+ else++ # The umask is ridiculous, or 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.++ case $dstdir in+ /*) prefix='/';;+ [-=\(\)!]*) prefix='./';;+ *) prefix='';;+ esac++ oIFS=$IFS+ IFS=/+ set -f+ set fnord $dstdir+ shift+ set +f+ IFS=$oIFS++ prefixes=++ for d+ do+ test X"$d" = X && continue++ prefix=$prefix$d+ if test -d "$prefix"; then+ prefixes=+ else+ if $posix_mkdir; then+ (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+ else+ case $prefix in+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;+ *) qprefix=$prefix;;+ esac+ prefixes="$prefixes '$qprefix'"+ fi+ fi+ prefix=$prefix/+ done++ if test -n "$prefixes"; then+ # Don't fail if two instances are running concurrently.+ (umask $mkdir_umask &&+ eval "\$doit_exec \$mkdirprog $prefixes") ||+ test -d "$dstdir" || exit 1+ obsolete_mkdir_used=true+ fi+ fi+ fi++ if test -n "$dir_arg"; then+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1+ else++ # Make a couple of temp file names in the proper directory.+ 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") &&++ # and set any options; do chmod last to preserve setuid bits.+ #+ # If any of these fail, we abort the whole thing. If we want to+ # ignore errors from any of these, just make sure not to ignore+ # errors from the above "$doit $cpprog $src $dsttmp" command.+ #+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&++ # If -C, don't bother to copy if it wouldn't change the file.+ if $copy_on_change &&+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&+ set -f &&+ set X $old && old=:$2:$4:$5:$6 &&+ set X $new && new=:$2:$4:$5:$6 &&+ set +f &&+ test "$old" = "$new" &&+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1+ then+ rm -f "$dsttmp"+ else+ # Rename the file to the real destination.+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||++ # The rename failed, perhaps because mv can't rename something else+ # to itself, or perhaps because mv is so ancient that it does not+ # support -f.+ {+ # Now remove or move aside any old file at destination location.+ # We try this two ways since rm can't unlink itself on some+ # systems and the destination file might be busy for other+ # reasons. In this case, the final cleanup might fail but the new+ # file should still install successfully.+ {+ test ! -f "$dst" ||+ $doit $rmcmd -f "$dst" 2>/dev/null ||+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }+ } ||+ { echo "$0: cannot unlink or rename $dst" >&2+ (exit 1); exit 1+ }+ } &&++ # Now rename the file to the real destination.+ $doit $mvcmd "$dsttmp" "$dst"+ }+ fi || exit 1++ trap '' 0+ fi+done++# Local variables:+# eval: (add-hook 'before-save-hook 'time-stamp)+# time-stamp-start: "scriptversion="+# time-stamp-format: "%:y-%02m-%02d.%02H"+# time-stamp-time-zone: "UTC0"+# time-stamp-end: "; # UTC"+# End:
@@ -0,0 +1,215 @@+#! /bin/sh+# Common wrapper for a few potentially missing GNU programs.++scriptversion=2018-03-07.03; # UTC++# Copyright (C) 1996-2018 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+# it under the terms of the GNU General Public License as published by+# the Free Software Foundation; either version 2, 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.++# You should have received a copy of the GNU General Public License+# 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+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that program.++if test $# -eq 0; then+ echo 1>&2 "Try '$0 --help' for more information"+ exit 1+fi++case $1 in++ --is-lightweight)+ # Used by our autoconf macros to check whether the available missing+ # script is modern enough.+ exit 0+ ;;++ --run)+ # Back-compat with the calling convention used by older automake.+ shift+ ;;++ -h|--h|--he|--hel|--help)+ echo "\+$0 [OPTION]... PROGRAM [ARGUMENT]...++Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due+to PROGRAM being missing or too old.++Options:+ -h, --help display this help and exit+ -v, --version output version information and exit++Supported PROGRAM values:+ aclocal autoconf autoheader autom4te automake makeinfo+ bison yacc flex lex help2man++Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and+'g' are ignored when checking the name.++Send bug reports to <bug-automake@gnu.org>."+ exit $?+ ;;++ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)+ echo "missing $scriptversion (GNU Automake)"+ exit $?+ ;;++ -*)+ echo 1>&2 "$0: unknown '$1' option"+ echo 1>&2 "Try '$0 --help' for more information"+ exit 1+ ;;++esac++# Run the given program, remember its exit status.+"$@"; st=$?++# If it succeeded, we are done.+test $st -eq 0 && exit 0++# Also exit now if we it failed (or wasn't found), and '--version' was+# passed; such an option is passed most likely to detect whether the+# program is present and works.+case $2 in --version|--help) exit $st;; esac++# Exit code 63 means version mismatch. This often happens when the user+# tries to use an ancient version of a tool on a file that requires a+# minimum version.+if test $st -eq 63; then+ msg="probably too old"+elif test $st -eq 127; then+ # Program was missing.+ msg="missing on your system"+else+ # Program was found and executed, but failed. Give up.+ exit $st+fi++perl_URL=https://www.perl.org/+flex_URL=https://github.com/westes/flex+gnu_software_URL=https://www.gnu.org/software++program_details ()+{+ case $1 in+ aclocal|automake)+ echo "The '$1' program is part of the GNU Automake package:"+ echo "<$gnu_software_URL/automake>"+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"+ echo "<$gnu_software_URL/autoconf>"+ echo "<$gnu_software_URL/m4/>"+ echo "<$perl_URL>"+ ;;+ autoconf|autom4te|autoheader)+ echo "The '$1' program is part of the GNU Autoconf package:"+ echo "<$gnu_software_URL/autoconf/>"+ echo "It also requires GNU m4 and Perl in order to run:"+ echo "<$gnu_software_URL/m4/>"+ echo "<$perl_URL>"+ ;;+ esac+}++give_advice ()+{+ # Normalize program name to check for.+ normalized_program=`echo "$1" | sed '+ s/^gnu-//; t+ s/^gnu//; t+ s/^g//; t'`++ printf '%s\n' "'$1' is $msg."++ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"+ case $normalized_program in+ autoconf*)+ echo "You should only need it if you modified 'configure.ac',"+ echo "or m4 files included by it."+ program_details 'autoconf'+ ;;+ autoheader*)+ echo "You should only need it if you modified 'acconfig.h' or"+ echo "$configure_deps."+ program_details 'autoheader'+ ;;+ automake*)+ echo "You should only need it if you modified 'Makefile.am' or"+ echo "$configure_deps."+ program_details 'automake'+ ;;+ aclocal*)+ echo "You should only need it if you modified 'acinclude.m4' or"+ echo "$configure_deps."+ program_details 'aclocal'+ ;;+ autom4te*)+ echo "You might have modified some maintainer files that require"+ echo "the 'autom4te' program to be rebuilt."+ program_details 'autom4te'+ ;;+ bison*|yacc*)+ echo "You should only need it if you modified a '.y' file."+ echo "You may want to install the GNU Bison package:"+ echo "<$gnu_software_URL/bison/>"+ ;;+ lex*|flex*)+ echo "You should only need it if you modified a '.l' file."+ echo "You may want to install the Fast Lexical Analyzer package:"+ echo "<$flex_URL>"+ ;;+ help2man*)+ echo "You should only need it if you modified a dependency" \+ "of a man page."+ echo "You may want to install the GNU Help2man package:"+ echo "<$gnu_software_URL/help2man/>"+ ;;+ makeinfo*)+ echo "You should only need it if you modified a '.texi' file, or"+ echo "any other file indirectly affecting the aspect of the manual."+ echo "You might want to install the Texinfo package:"+ echo "<$gnu_software_URL/texinfo/>"+ echo "The spurious makeinfo call might also be the consequence of"+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"+ echo "want to install GNU make:"+ echo "<$gnu_software_URL/make/>"+ ;;+ *)+ echo "You might have modified some files without having the proper"+ echo "tools for further handling them. Check the 'README' file, it"+ echo "often tells you about the needed prerequisites for installing"+ echo "this package. You may also peek at any GNU archive site, in"+ echo "case some other package contains this missing '$1' program."+ ;;+ esac+}++give_advice "$1" | sed -e '1s/^/WARNING: /' \+ -e '2,$s/^/ /' >&2++# Propagate the correct exit status (expected to be 127 for a program+# not found, 63 for a program that failed due to version mismatch).+exit $st++# Local variables:+# eval: (add-hook 'before-save-hook 'time-stamp)+# time-stamp-start: "scriptversion="+# time-stamp-format: "%:y-%02m-%02d.%02H"+# time-stamp-time-zone: "UTC0"+# time-stamp-end: "; # UTC"+# End:
@@ -4475,7 +4475,7 @@ static void save_config() fprintf(file, "# Enable pretty output to the terminal, default: pretty\n%s\n\n", flag_pretty ? "pretty" : "no-pretty"); - fprintf(file, "# Enable directory tree output to a terminal for --files-with-matches and --count\n%s\n\n", flag_tree ? "tree" : "no-tree");+ fprintf(file, "# Enable directory tree output to a terminal for -l (--files-with-matches) and -c (--count)\n%s\n\n", flag_tree ? "tree" : "no-tree"); if (flag_heading.is_defined() && flag_heading != flag_pretty) fprintf(file, "# Enable headings\n%s\n\n", flag_heading ? "heading" : "no-heading");@@ -4529,6 +4529,7 @@ static void save_config() fprintf(file, "# Enable case-insensitive search, default: no-ignore-case\n%s\n\n", flag_ignore_case.is_undefined() ? "# no-ignore-case" : flag_ignore_case ? "ignore-case" : "no-ignore-case"); fprintf(file, "# Enable smart case, default: no-smart-case\n%s\n\n", flag_smart_case.is_undefined() ? "# no-smart-case" : flag_smart_case ? "smart-case" : "no-smart-case"); fprintf(file, "# Enable empty pattern matches, default: no-empty\n%s\n\n", flag_empty.is_undefined() ? "# no-empty" : flag_empty ? "empty" : "no-empty");+ fprintf(file, "# Force option -c (--count) to return non-zero matches with --min-count=1, default: --min-count=0\nmin-count=%zu\n\n", flag_min_count); fprintf(file, "### SEARCH TARGETS ###\n\n"); @@ -12678,7 +12679,9 @@ void help(std::ostream& out) Only a count of selected lines is written to standard output.\n\ If -o or -u is specified, counts the number of patterns matched.\n\ If -v is specified, counts the number of non-matching lines. If\n\- --tree is specified, outputs directories in a tree-like format.\n\+ -m1, (with a comma or --min-count=1) is specified, counts only\n\+ matching files without outputting zero matches. If --tree is\n\+ specified, outputs directories in a tree-like format.\n\ --color[=WHEN], --colour[=WHEN]\n\ Mark up the matching text with the expression stored in the\n\ GREP_COLOR or GREP_COLORS environment variable. WHEN can be\n\