Trisurf Monte Carlo simulator
Samo Penic
2017-09-18 1d32b65243c0ad55ae9516acaa349f4f7c823b72
Merge remote-tracking branch 'origin/trilib'
2 files added
8 files modified
4024 ■■■■■ changed files
INSTALL 379 ●●●●● patch | view | raw | blame | history
README.md 2 ●●●●● patch | view | raw | blame | history
config.guess 1441 ●●●●● patch | view | raw | blame | history
config.sub 1813 ●●●●● patch | view | raw | blame | history
configure.ac 4 ●●●● patch | view | raw | blame | history
install-sh 361 ●●●● patch | view | raw | blame | history
src/initial_distribution.c 4 ●●●● patch | view | raw | blame | history
src/io.c 5 ●●●●● patch | view | raw | blame | history
src/tape 2 ●●● patch | view | raw | blame | history
src/timestep.c 13 ●●●● patch | view | raw | blame | history
INSTALL
@@ -1,21 +1,370 @@
This will be installation instructions
Installation Instructions
*************************
To run automake:
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Inc.
-- This should be performed by developers --
   Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without warranty of any kind.
autoscan
mv configure.scan configure.ac
aclocal
autoheader
automake -ac
autoconf
Basic Installation
==================
-- END --
   Briefly, the shell command `./configure && make && make install'
should configure, build, and install this package.  The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.  Some packages provide this
`INSTALL' file but do not implement all of the features documented
below.  The lack of an optional feature in a given package is not
necessarily a bug.  More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
-- End user should do this --
To build:
./configure
make
-- END --
   The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions.  Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
   It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring.  Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
   If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release.  If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
   The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'.  You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
   The simplest way to compile this package is:
  1. `cd' to the directory containing the package's source code and type
     `./configure' to configure the package for your system.
     Running `configure' might take a while.  While running, it prints
     some messages telling which features it is checking for.
  2. Type `make' to compile the package.
  3. Optionally, type `make check' to run any self-tests that come with
     the package, generally using the just-built uninstalled binaries.
  4. Type `make install' to install the programs and any data files and
     documentation.  When installing into a prefix owned by root, it is
     recommended that the package be configured and built as a regular
     user, and only the `make install' phase executed with root
     privileges.
  5. Optionally, type `make installcheck' to repeat any self-tests, but
     this time using the binaries in their final installed location.
     This target does not install anything.  Running this target as a
     regular user, particularly if the prior `make install' required
     root privileges, verifies that the installation completed
     correctly.
  6. You can remove the program binaries and object files from the
     source code directory by typing `make clean'.  To also remove the
     files that `configure' created (so you can compile the package for
     a different kind of computer), type `make distclean'.  There is
     also a `make maintainer-clean' target, but that is intended mainly
     for the package's developers.  If you use it, you may have to get
     all sorts of other programs in order to regenerate files that came
     with the distribution.
  7. Often, you can also type `make uninstall' to remove the installed
     files again.  In practice, not all packages have tested that
     uninstallation works correctly, even though it is required by the
     GNU Coding Standards.
  8. Some packages, particularly those that use Automake, provide `make
     distcheck', which can by used by developers to test that all other
     targets like `make install' and `make uninstall' work correctly.
     This target is generally not run by end users.
Compilers and Options
=====================
   Some systems require unusual options for compilation or linking that
the `configure' script does not know about.  Run `./configure --help'
for details on some of the pertinent environment variables.
   You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment.  Here
is an example:
     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
   *Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
   You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory.  To do this, you can use GNU `make'.  `cd' to the
directory where you want the object files and executables to go and run
the `configure' script.  `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.  This
is known as a "VPATH" build.
   With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory.  After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
   On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor.  Like
this:
     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
                 CPP="gcc -E" CXXCPP="g++ -E"
   This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
   By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc.  You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
   You can specify separate installation prefixes for
architecture-specific files and architecture-independent files.  If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
   In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files.  Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.  In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
   The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
   The first method involves providing an override variable for each
affected directory.  For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'.  Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated.  The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
   The second method involves providing the `DESTDIR' variable.  For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names.  The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters.  On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
   If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
   Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System).  The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
   For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
   Some packages offer the ability to configure how verbose the
execution of `make' will be.  For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
   HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved.  Use GNU `make'
instead.
   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
a workaround.  If GNU CC is not installed, it is therefore recommended
to try
     ./configure CC="cc"
and if that doesn't work, try
     ./configure CC="cc -nodtk"
   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
   On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'.  It is recommended to use the following options:
     ./configure --prefix=/boot/common
Specifying the System Type
==========================
   There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on.  Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option.  TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
     CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
     OS
     KERNEL-OS
   See the file `config.sub' for the possible values of each field.  If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
   If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
   If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
   If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists.  Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
   Variables not defined in a site shell script can be set in the
environment passed to `configure'.  However, some packages may run
configure again during the build, and the customized values of these
variables may be lost.  In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'.  For example:
     ./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf limitation.  Until the limitation is lifted, you can use
this workaround:
     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
   `configure' recognizes the following options to control how it
operates.
`--help'
`-h'
     Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
     Print a summary of the options unique to this package's
     `configure', and exit.  The `short' variant lists options used
     only in the top level, while the `recursive' variant lists options
     also present in any nested packages.
`--version'
`-V'
     Print the version of Autoconf used to generate the `configure'
     script, and exit.
`--cache-file=FILE'
     Enable the cache: use and save the results of the tests in FILE,
     traditionally `config.cache'.  FILE defaults to `/dev/null' to
     disable caching.
`--config-cache'
`-C'
     Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
     Do not print messages saying which checks are being made.  To
     suppress all normal output, redirect it to `/dev/null' (any error
     messages will still be shown).
`--srcdir=DIR'
     Look for the package's source code in directory DIR.  Usually
     `configure' can determine that directory automatically.
`--prefix=DIR'
     Use DIR as the installation prefix.  *note Installation Names::
     for more details, including other options available for fine-tuning
     the installation locations.
`--no-create'
`-n'
     Run the configure checks, but stop before creating any output
     files.
`configure' also accepts some other, not widely useful, options.  Run
`configure --help' for more details.
README.md
@@ -41,6 +41,8 @@
``autoconf``
``autoreconf -if``
``./configure``
``make``
config.guess
New file
@@ -0,0 +1,1441 @@
#! /bin/sh
# Attempt to guess a canonical system name.
#   Copyright 1992-2015 Free Software Foundation, Inc.
timestamp='2015-08-20'
# 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 <http://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:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
# 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.
Operation modes:
  -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-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
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'`
    ;;
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.
    case "${UNAME_MACHINE_ARCH}" in
        arm*|earm*|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 ;;
    *: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 ;;
    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 ;;
    Alpha\ *:Windows_NT*:*)
    # How do we know it's Interix rather than the generic POSIX subsystem?
    # Should we change UNAME_MACHINE based on the output of uname instead
    # of the specific Alpha model?
    echo alpha-pc-interix
    exit ;;
    21064:Windows_NT:50:3)
    echo alpha-dec-winnt3.5
    exit ;;
    Amiga*:UNIX_System_V:4.0:*)
    echo m68k-unknown-sysv4
    exit ;;
    *:[Aa]miga[Oo][Ss]:*:*)
    echo ${UNAME_MACHINE}-unknown-amigaos
    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:BSD:*)
    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)
        echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
        *)
        echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
    esac
    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*:windows32*:*)
    # uname -m includes "-pc" on this system.
    echo ${UNAME_MACHINE}-mingw32
    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 ;;
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
    echo i${UNAME_MACHINE}-pc-mks
    exit ;;
    8664:Windows_NT:*)
    echo x86_64-pc-mks
    exit ;;
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
    # How do we know it's Interix rather than the generic POSIX subsystem?
    # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
    # UNAME_MACHINE based on the output of uname instead of i386?
    echo i586-pc-interix
    exit ;;
    i*:UWIN*:*)
    echo ${UNAME_MACHINE}-pc-uwin
    exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
    echo x86_64-unknown-cygwin
    exit ;;
    p*:CYGWIN*:*)
    echo powerpcle-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 '[A-Z]' '[a-z]'``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 ;;
    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; }
    ;;
    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 ;;
    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.*:* | i*86:SYSTEM_V: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 configury 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 ;;
    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
        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 ;;
    *: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 ;;
esac
cat >&2 <<EOF
$0: unable to guess system type
This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
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 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
config.sub
New file
@@ -0,0 +1,1813 @@
#! /bin/sh
# Configuration validation subroutine script.
#   Copyright 1992-2015 Free Software Foundation, Inc.
timestamp='2015-08-20'
# 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 <http://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:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# 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
       $0 [OPTION] ALIAS
Canonicalize a configuration name.
Operation modes:
  -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-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
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* | \
  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/'`
        ;;
    -windowsnt*)
        os=`echo $os | sed -e 's/windowsnt/winnt/'`
        ;;
    -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 | ia64 \
    | ip2k | iq2000 \
    | k1om \
    | le32 | le64 \
    | lm32 \
    | m32c | m32r | m32rle | m68000 | m68k | m88k \
    | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
    | mips | mipsbe | mipseb | mipsel | mipsle \
    | mips16 \
    | mips64 | mips64el \
    | mips64octeon | mips64octeonel \
    | mips64orion | mips64orionel \
    | mips64r5900 | mips64r5900el \
    | mips64vr | mips64vrel \
    | mips64vr4100 | mips64vr4100el \
    | mips64vr4300 | mips64vr4300el \
    | mips64vr5000 | mips64vr5000el \
    | mips64vr5900 | mips64vr5900el \
    | mipsisa32 | mipsisa32el \
    | mipsisa32r2 | mipsisa32r2el \
    | mipsisa32r6 | mipsisa32r6el \
    | mipsisa64 | mipsisa64el \
    | mipsisa64r2 | mipsisa64r2el \
    | mipsisa64r6 | mipsisa64r6el \
    | mipsisa64sb1 | mipsisa64sb1el \
    | mipsisa64sr71k | mipsisa64sr71kel \
    | mipsr5900 | mipsr5900el \
    | mipstx39 | mipstx39el \
    | mn10200 | mn10300 \
    | moxie \
    | mt \
    | msp430 \
    | nds32 | nds32le | nds32be \
    | nios | nios2 | nios2eb | nios2el \
    | ns16k | ns32k \
    | open8 | or1k | or1knd | or32 \
    | pdp10 | pdp11 | pj | pjl \
    | powerpc | powerpc64 | powerpc64le | powerpcle \
    | pyramid \
    | riscv32 | riscv64 \
    | rl78 | rx \
    | score \
    | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
    | sh64 | sh64le \
    | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
    | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
    | spu \
    | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
    | ubicom32 \
    | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
    | visium \
    | we32k \
    | x86 | xc16x | xstormy16 | xtensa \
    | z8k | z80)
        basic_machine=$basic_machine-unknown
        ;;
    c54x)
        basic_machine=tic54x-unknown
        ;;
    c55x)
        basic_machine=tic55x-unknown
        ;;
    c6x)
        basic_machine=tic6x-unknown
        ;;
    leon|leon[3-9])
        basic_machine=sparc-$basic_machine
        ;;
    m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
        basic_machine=$basic_machine-unknown
        os=-none
        ;;
    m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
        ;;
    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-* | ia64-* \
    | ip2k-* | iq2000-* \
    | k1om-* \
    | le32-* | le64-* \
    | lm32-* \
    | m32c-* | m32r-* | m32rle-* \
    | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
    | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
    | microblaze-* | microblazeel-* \
    | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
    | mips16-* \
    | mips64-* | mips64el-* \
    | mips64octeon-* | mips64octeonel-* \
    | mips64orion-* | mips64orionel-* \
    | mips64r5900-* | mips64r5900el-* \
    | mips64vr-* | mips64vrel-* \
    | mips64vr4100-* | mips64vr4100el-* \
    | mips64vr4300-* | mips64vr4300el-* \
    | mips64vr5000-* | mips64vr5000el-* \
    | mips64vr5900-* | mips64vr5900el-* \
    | mipsisa32-* | mipsisa32el-* \
    | mipsisa32r2-* | mipsisa32r2el-* \
    | mipsisa32r6-* | mipsisa32r6el-* \
    | mipsisa64-* | mipsisa64el-* \
    | mipsisa64r2-* | mipsisa64r2el-* \
    | mipsisa64r6-* | mipsisa64r6el-* \
    | mipsisa64sb1-* | mipsisa64sb1el-* \
    | mipsisa64sr71k-* | mipsisa64sr71kel-* \
    | mipsr5900-* | mipsr5900el-* \
    | mipstx39-* | mipstx39el-* \
    | mmix-* \
    | mt-* \
    | msp430-* \
    | nds32-* | nds32le-* | nds32be-* \
    | nios-* | nios2-* | nios2eb-* | nios2el-* \
    | none-* | np1-* | ns16k-* | ns32k-* \
    | open8-* \
    | or1k*-* \
    | orion-* \
    | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
    | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
    | pyramid-* \
    | riscv32-* | riscv64-* \
    | rl78-* | romp-* | rs6000-* | rx-* \
    | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
    | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
    | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
    | sparclite-* \
    | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
    | tahoe-* \
    | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
    | tile*-* \
    | tron-* \
    | ubicom32-* \
    | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
    | vax-* \
    | visium-* \
    | we32k-* \
    | x86-* | x86_64-* | xc16x-* | xps100-* \
    | xstormy16-* | xtensa*-* \
    | ymp-* \
    | z8k-* | z80-*)
        ;;
    # Recognize the basic CPU types without company name, with glob match.
    xtensa*)
        basic_machine=$basic_machine-unknown
        ;;
    # Recognize the various machine names and aliases which stand
    # for a CPU type and a company and sometimes even an OS.
    386bsd)
        basic_machine=i386-unknown
        os=-bsd
        ;;
    3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
        basic_machine=m68000-att
        ;;
    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* | dpx2*-bull)
        basic_machine=m68k-bull
        os=-sysv3
        ;;
    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
        ;;
    hppa-next)
        os=-nextstep3
        ;;
    hppaosf)
        basic_machine=hppa1.1-hp
        os=-osf
        ;;
    hppro)
        basic_machine=hppa1.1-hp
        os=-proelf
        ;;
    i370-ibm* | ibm*)
        basic_machine=i370-ibm
        ;;
    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
        ;;
    i386-vsta | 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
        ;;
    m88k-omron*)
        basic_machine=m88k-omron
        ;;
    magnum | m3230)
        basic_machine=mips-mips
        os=-sysv
        ;;
    merlin)
        basic_machine=ns32k-utek
        os=-sysv
        ;;
    microblaze*)
        basic_machine=microblaze-xilinx
        ;;
    mingw64)
        basic_machine=x86_64-pc
        os=-mingw64
        ;;
    mingw32)
        basic_machine=i686-pc
        os=-mingw32
        ;;
    mingw32ce)
        basic_machine=arm-unknown
        os=-mingw32ce
        ;;
    miniframe)
        basic_machine=m68000-convergent
        ;;
    *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
        basic_machine=m68k-atari
        os=-mint
        ;;
    mips3*-*)
        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
        ;;
    mips3*)
        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
        ;;
    monitor)
        basic_machine=m68k-rom68k
        os=-coff
        ;;
    morphos)
        basic_machine=powerpc-unknown
        os=-morphos
        ;;
    moxiebox)
        basic_machine=moxie-unknown
        os=-moxiebox
        ;;
    msdos)
        basic_machine=i386-pc
        os=-msdos
        ;;
    ms1-*)
        basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
        ;;
    msys)
        basic_machine=i686-pc
        os=-msys
        ;;
    mvs)
        basic_machine=i370-ibm
        os=-mvs
        ;;
    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
        ;;
    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 | ppc-le | powerpc-little)
        basic_machine=powerpcle-unknown
        ;;
    ppcle-* | powerpclittle-*)
        basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    ppc64)    basic_machine=powerpc64-unknown
        ;;
    ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    ppc64le | powerpc64little | ppc64-le | powerpc64-little)
        basic_machine=powerpc64le-unknown
        ;;
    ppc64le-* | powerpc64little-*)
        basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    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
        ;;
    sh)
        basic_machine=sh-hitachi
        os=-hms
        ;;
    sh5el)
        basic_machine=sh5le-unknown
        ;;
    sh64)
        basic_machine=sh64-unknown
        ;;
    sparclite-wrs | 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
        ;;
    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
        ;;
    z8k-*-coff)
        basic_machine=z8k-unknown
        os=-sim
        ;;
    z80-*-coff)
        basic_machine=z80-unknown
        os=-sim
        ;;
    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
        ;;
    pdp10)
        # there are many clones, so DEC is not a safe bet
        basic_machine=pdp10-unknown
        ;;
    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
        ;;
    sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
        basic_machine=sparc-sun
        ;;
    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
        ;;
    -svr4*)
        os=-sysv4
        ;;
    -unixware*)
        os=-sysv4.2uw
        ;;
    -gnu/linux*)
        os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
        ;;
    # First accept the basic system types.
    # The portable systems comes first.
    # Each alternative MUST END IN A *, to match a version number.
    # -sysv* is not here because it comes later, after sysvr4.
    -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
          | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
          | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
          | -sym* | -kopensolaris* | -plan9* \
          | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
          | -aos* | -aros* | -cloudabi* | -sortix* \
          | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
          | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
          | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
          | -bitrig* | -openbsd* | -solidbsd* \
          | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
          | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
          | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
          | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
          | -chorusos* | -chorusrdb* | -cegcc* \
          | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
          | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
          | -linux-newlib* | -linux-musl* | -linux-uclibc* \
          | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
          | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
          | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
          | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
          | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
          | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
          | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
          | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
    # 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 | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
          | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
          | -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
        ;;
    -osfrose*)
        os=-osfrose
        ;;
    -osf*)
        os=-osf
        ;;
    -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
        ;;
    -es1800*)
        os=-ose
        ;;
    -xenix)
        os=-xenix
        ;;
    -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
        os=-mint
        ;;
    -aros*)
        os=-aros
        ;;
    -zvmoe)
        os=-zvmoe
        ;;
    -dicos*)
        os=-dicos
        ;;
    -nacl*)
        ;;
    -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
        ;;
    *-be)
        os=-beos
        ;;
    *-haiku)
        os=-haiku
        ;;
    *-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
        ;;
    *-next)
        os=-nextstep3
        ;;
    *-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 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
configure.ac
@@ -9,7 +9,7 @@
# Checks for programs.
AC_PROG_CC
LT_INIT
#AC_PROG_LIBTOOL
AC_PROG_LIBTOOL
# Checks for libraries.
# FIXME: Replace `main' with a function in `-lconfuse':
AC_CHECK_LIB([confuse], [cfg_parse])
@@ -30,7 +30,7 @@
dnl Check if we have enable debug support.
AC_MSG_CHECKING(whether to enable debugging)
debug_default="yes"
debug_default="no"
AC_ARG_ENABLE(debug, [ --enable-debug=[no/yes] turn on debugging
[default=$debug_default]],, enable_debug=$debug_default)
dnl Yes, shell scripts can be used
install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2011-11-20.07; # UTC
scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@
# This script is compatible with the BSD install script, but was written
# from scratch.
tab='    '
nl='
'
IFS=" ""    $nl"
IFS=" $tab$nl"
# set DOITPROG to echo to test this script
# Set DOITPROG to "echo" to test this script.
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
  doit_exec=exec
else
  doit_exec=$doit
fi
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -67,17 +63,6 @@
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
  test "$posix_glob" != "?" || {
    if (set -f) 2>/dev/null; then
      posix_glob=
    else
      posix_glob=:
    fi
  }
'
posix_mkdir=
@@ -97,7 +82,7 @@
dst_arg=
copy_on_change=false
no_target_directory=
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,45 +122,56 @@
    -d) dir_arg=true;;
    -g) chgrpcmd="$chgrpprog $2"
    shift;;
        shift;;
    --help) echo "$usage"; exit $?;;
    -m) mode=$2
    case $mode in
      *' '* | *'    '* | *'
'*      | *'*'* | *'?'* | *'['*)
        echo "$0: invalid mode: $mode" >&2
        exit 1;;
    esac
    shift;;
        case $mode in
          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
            echo "$0: invalid mode: $mode" >&2
            exit 1;;
        esac
        shift;;
    -o) chowncmd="$chownprog $2"
    shift;;
        shift;;
    -s) stripcmd=$stripprog;;
    -t) 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=always
        dst_arg=$2
        # Protect names problematic for 'test' and other utilities.
        case $dst_arg in
          -* | [=\(\)!]) dst_arg=./$dst_arg;;
        esac
        shift;;
    -T) no_target_directory=true;;
    -T) is_target_a_directory=never;;
    --version) echo "$0 $scriptversion"; exit $?;;
    --)    shift
    break;;
    --) shift
        break;;
    -*)    echo "$0: invalid option: $1" >&2
    exit 1;;
    -*) 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.
@@ -208,6 +204,15 @@
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
@@ -223,16 +228,16 @@
    *[0-7])
      if test -z "$stripcmd"; then
    u_plus_rw=
        u_plus_rw=
      else
    u_plus_rw='% 200'
        u_plus_rw='% 200'
      fi
      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
    *)
      if test -z "$stripcmd"; then
    u_plus_rw=
        u_plus_rw=
      else
    u_plus_rw=,u+rw
        u_plus_rw=,u+rw
      fi
      cp_umask=$mode$u_plus_rw;;
  esac
@@ -269,41 +274,15 @@
    # If destination is a directory, append the input filename; won't work
    # if double slashes aren't ignored.
    if test -d "$dst"; then
      if test -n "$no_target_directory"; then
    echo "$0: $dst_arg: Is a directory" >&2
    exit 1
      if test "$is_target_a_directory" = never; then
        echo "$0: $dst_arg: Is a directory" >&2
        exit 1
      fi
      dstdir=$dst
      dst=$dstdir/`basename "$src"`
      dstdir_status=0
    else
      # Prefer dirname, but fall back on a substitute if dirname fails.
      dstdir=`
    (dirname "$dst") 2>/dev/null ||
    expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$dst" : 'X\(//\)[^/]' \| \
         X"$dst" : 'X\(//\)$' \| \
         X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
    echo X"$dst" |
        sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
           s//\1/
           q
         }
         /^X\(\/\/\)[^/].*/{
           s//\1/
           q
         }
         /^X\(\/\/\)$/{
           s//\1/
           q
         }
         /^X\(\/\).*/{
           s//\1/
           q
         }
         s/.*/./; q'
      `
      dstdir=`dirname "$dst"`
      test -d "$dstdir"
      dstdir_status=$?
    fi
@@ -314,74 +293,81 @@
  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;;
        # 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
          *[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
        # 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.
        ;;
      *)
        tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
        trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
        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.
            ;;
          *)
            # $RANDOM is not portable (e.g. dash);  use it when possible to
            # lower collision chance
            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
        if (umask $mkdir_umask &&
        exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
        then
          if test -z "$dir_arg" || {
           # Check for POSIX incompatibilities with -m.
           # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
           # other-writable bit of parent directory when it shouldn't.
           # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
           ls_ld_tmpdir=`ls -ld "$tmpdir"`
           case $ls_ld_tmpdir in
             d????-?r-*) different_mode=700;;
             d????-?--*) different_mode=755;;
             *) false;;
           esac &&
           $mkdirprog -m$different_mode -p -- "$tmpdir" && {
             ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
             test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
           }
         }
          then posix_mkdir=:
          fi
          rmdir "$tmpdir/d" "$tmpdir"
        else
          # Remove any dirs left behind by ancient mkdir implementations.
          rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
        fi
        trap '' 0;;
    esac;;
            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
            # create the $tmpdir first (and fail if unsuccessful) to make sure
            # that nobody tries to guess the $tmpdir name.
            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"
        umask $mkdir_umask &&
        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
      )
    then :
    else
@@ -391,53 +377,51 @@
      # directory the slow way, step by step, checking for races as we go.
      case $dstdir in
    /*) prefix='/';;
    [-=\(\)!]*) prefix='./';;
    *)  prefix='';;
        /*) prefix='/';;
        [-=\(\)!]*) prefix='./';;
        *)  prefix='';;
      esac
      eval "$initialize_posix_glob"
      oIFS=$IFS
      IFS=/
      $posix_glob set -f
      set -f
      set fnord $dstdir
      shift
      $posix_glob set +f
      set +f
      IFS=$oIFS
      prefixes=
      for d
      do
    test X"$d" = X && continue
        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/
        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
        # 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
@@ -472,15 +456,12 @@
    # 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` &&
       eval "$initialize_posix_glob" &&
       $posix_glob set -f &&
       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 &&
       $posix_glob set +f &&
       set +f &&
       test "$old" = "$new" &&
       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
    then
@@ -493,24 +474,24 @@
      # 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 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"
        # Now rename the file to the real destination.
        $doit $mvcmd "$dsttmp" "$dst"
      }
    fi || exit 1
src/initial_distribution.c
@@ -121,7 +121,7 @@
ts_bool initial_population_with_c0(ts_vesicle *vesicle, ts_tape *tape){
    int rndvtx,i,j;
    if(tape->number_of_vertices_with_c0>0){
        ts_fprintf(stderr,"Setting values for spontaneous curvature as defined in tape\n");
//        ts_fprintf(stderr,"Setting values for spontaneous curvature as defined in tape\n");
        j=0;
        for(i=0;i<tape->number_of_vertices_with_c0;i++){
            rndvtx=rand() % vesicle->vlist->n;
@@ -137,7 +137,7 @@
        }
        mean_curvature_and_energy(vesicle);
        if(fabs(tape->w)>1e-16){ //if nonzero energy
            ts_fprintf(stderr,"Setting attraction between vertices with spontaneous curvature\n");
//            ts_fprintf(stderr,"Setting attraction between vertices with spontaneous curvature\n");
            sweep_attraction_bond_energy(vesicle);
        }
    }
src/io.c
@@ -1,3 +1,4 @@
/* vim: set ts=4 sts=4 sw=4 noet : */
#include "general.h"
#include<stdio.h>
@@ -1174,8 +1175,8 @@
        CFG_SIMPLE_INT("iterations",&tape->iterations),
    CFG_SIMPLE_INT("mcsweeps",&tape->mcsweeps),
    CFG_SIMPLE_INT("inititer", &tape->inititer),
        CFG_SIMPLE_BOOL("quiet",&tape->quiet),
        CFG_SIMPLE_STR("multiprocessing",tape->multiprocessing),
                CFG_SIMPLE_BOOL("quiet",(cfg_bool_t *)&tape->quiet),
        CFG_SIMPLE_STR("multiprocessing",&tape->multiprocessing),
        CFG_SIMPLE_INT("smp_cores",&tape->brezveze0),
        CFG_SIMPLE_INT("cluster_nodes",&tape->brezveze1),
        CFG_SIMPLE_INT("distributed_processes",&tape->brezveze2),
src/tape
@@ -25,7 +25,7 @@
####### Polymer (brush) definitions ###########
# npoly is a number of polymers attached to npoly distinct vertices on vesicle
npoly=400
npoly=0
# nmono is a number of monomers in each polymer
nmono=10
# Spring constant between monomers of the polymer
src/timestep.c
@@ -49,12 +49,11 @@
        fd2=fopen(filename,"w");
    else
        fd2=fopen(filename,"a");
        if(fd2==NULL){
            fatal("Cannot open ulm2.csv file for writing",1);
        }
        if(start_iteration==0) //file does not exist
            fprintf(fd2, "Timestep u_00^2 u_10^2 u_11^2 u_20^2 ...\n");
    if(fd2==NULL){
        fatal("Cannot open ulm2.csv file for writing",1);
    }
    if(start_iteration==0) //file does not exist
        fprintf(fd2, "Timestep u_00^2 u_10^2 u_11^2 u_20^2 ...\n");
    }
/* RANDOM SEED SET BY CURRENT TIME */
@@ -69,7 +68,7 @@
    ts_fprintf(stdout,"Setting volume V0=%.17f\n",V0);
    if(A0<0.000001)
        A0=vesicle->area;
        ts_fprintf(stdout,"Setting area A0=%.17f\n",A0);
    ts_fprintf(stdout,"Setting area A0=%.17f\n",A0);
    epsvol=4.0*sqrt(2.0*M_PI)/pow(3.0,3.0/4.0)*V0/pow(vesicle->tlist->n,3.0/2.0);
    epsarea=A0/(ts_double)vesicle->tlist->n;
  //  fprintf(stderr, "DVol=%1.16f (%1.16f), V0=%1.16f\n", epsvol,0.003e-2*V0,V0);