Red Hat specific rpm configuration files
20c7f1cb3036ffdb3dc74d44a36059d4099d9e3d..c8e342b6acf360927347c9cf2ba24e3f9b2ee200
10 days ago CentOS Sources
debrand redhat-rpm-config-9.1.0-77.el7a
c8e342 diff | tree
10 days ago CentOS Sources
import redhat-rpm-config-9.1.0-77.el7a
3bf4a1 diff | tree
53 files added
1 files deleted
5804 ■■■■■ changed files
.gitignore 1 ●●●● patch | view | raw | blame | history
.redhat-rpm-config.metadata 1 ●●●● patch | view | raw | blame | history
README.md 5 ●●●●● patch | view | raw | blame | history
SOURCES/0001-Drop-un-setting-LANG-and-DISPLAY-in-various-build-st.patch 44 ●●●●● patch | view | raw | blame | history
SOURCES/config.guess 1558 ●●●●● patch | view | raw | blame | history
SOURCES/config.sub 1791 ●●●●● patch | view | raw | blame | history
SOURCES/kabi.attr 2 ●●●●● patch | view | raw | blame | history
SOURCES/kabi.sh 13 ●●●●● patch | view | raw | blame | history
SOURCES/libtool-handle-ppc64le.sh 135 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-hardened-cc1 2 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-hardened-ld 5 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.0.3-latest-kernel.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.0.3-shebang.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-Add-_pkgdocdir.patch 26 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-Fix-stripping-of-binaries.patch 44 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-aarch64.patch 13 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-arches-macros.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-arm.patch 28 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-centos.dist.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-configfoo.patch 13 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-dwz.patch 42 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-fcflags.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-filtering-spaces-in-filename.patch 13 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-find-provides.libtool.patch 15 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-find-requires-fix-detection.patch 15 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-fix-depmod-path.patch 32 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-fix-find-provides-modalias-permissions.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-fix-kabi-path.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-fix-requires.patch 31 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-hardened.patch 21 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-jar-repack-perms.patch 14 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-java-repack-order.patch 16 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-java-repack-spaces-in-filenames.patch 64 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-kernel-source.patch 13 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-kmod-brew-build.patch 99 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-kmod-kabi.patch 509 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-ksyms.patch 33 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-minidebuginfo.patch 10 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-ncpus-max.patch 19 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-no-strip-note.patch 27 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-perfbuild.patch 19 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-pkgconfig-private.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-ppc-no-minimal-toc.patch 15 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-ppc64le.patch 31 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-python-hardlink-spaces-in-filenames.patch 15 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-record-switches.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-relro.patch 19 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-repack-jars.patch 21 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-rhel7-arch-optflags.patch 36 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-stackprotector-strong.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-strict-python-bytecompile.patch 36 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-use-kverrel-for-kmodtool.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/redhat-rpm-config-9.1.0-use-prefix-macro.patch 18 ●●●●● patch | view | raw | blame | history
SPECS/redhat-rpm-config.spec 774 ●●●●● patch | view | raw | blame | history
.gitignore
New file
@@ -0,0 +1 @@
SOURCES/redhat-rpm-config-9.1.0.tar.bz2
.redhat-rpm-config.metadata
New file
@@ -0,0 +1 @@
9124b508706a7d7f1db0973a2b8454a2c71e560b SOURCES/redhat-rpm-config-9.1.0.tar.bz2
README.md
File was deleted
SOURCES/0001-Drop-un-setting-LANG-and-DISPLAY-in-various-build-st.patch
New file
@@ -0,0 +1,44 @@
From 17d08cd3942405e20889ba7d420191993c93a12f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
Date: Sun, 25 Sep 2011 11:25:34 +0300
Subject: [PATCH] Drop (un)setting LANG and DISPLAY in various build stages.
rpm >= 4.8.0 takes care of that itself.
---
 macros |   21 ---------------------
 1 files changed, 0 insertions(+), 21 deletions(-)
Index: redhat-rpm-config-9.1.0/macros
===================================================================
--- redhat-rpm-config-9.1.0.orig/macros
+++ redhat-rpm-config-9.1.0/macros
@@ -131,29 +131,8 @@ package or when debugging this package.\
 %endif\
 %{nil}
-# Bad hack to set $LANG to C during all RPM builds
-%prep \
-%%prep\
-LANG=C\
-export LANG\
-unset DISPLAY\
-%{nil}
-
-%build %%build\
-LANG=C\
-export LANG\
-unset DISPLAY\
-%{nil}
-
 %install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\
 %%install\
-LANG=C\
-export LANG\
-unset DISPLAY\
-%{nil}
-
-%check %%check\
-unset DISPLAY\
 %{nil}
 #
SOURCES/config.guess
New file
@@ -0,0 +1,1558 @@
#! /bin/sh
# Attempt to guess a canonical system name.
#   Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2013-06-10'
# 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.
#
# 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 with a ChangeLog entry 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-2013 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'`
    ;;
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=`(/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 ;;
        *) 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*|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
    # 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/[-_].*/\./'`
        ;;
    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}"
    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 ;;
    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/oslevel ] ; then
        IBM_REV=`/usr/bin/oslevel`
    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 ;;
    i*: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 ;;
    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; }
    ;;
    or1k:Linux:*:*)
    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
    or32: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}-unknown-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 [ "$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
    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
eval $set_cc_for_build
cat >$dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
     I don't know....  */
  printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
  printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
    "4"
#else
    ""
#endif
    ); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
  printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
  printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
  int version;
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
  if (version < 4)
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  else
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
  exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
  printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
  printf ("ns32k-encore-mach\n"); exit (0);
#else
  printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
  printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
  printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
  printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
    struct utsname un;
    uname(&un);
    if (strncmp(un.version, "V2", 2) == 0) {
    printf ("i386-sequent-ptx2\n"); exit (0);
    }
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
    printf ("i386-sequent-ptx1\n"); exit (0);
    }
    printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
#  include <sys/param.h>
#  if defined (BSD)
#   if BSD == 43
      printf ("vax-dec-bsd4.3\n"); exit (0);
#   else
#    if BSD == 199006
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
#    else
      printf ("vax-dec-bsd\n"); exit (0);
#    endif
#   endif
#  else
    printf ("vax-dec-bsd\n"); exit (0);
#  endif
# else
    printf ("vax-dec-ultrix\n"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
  printf ("i860-alliant-bsd\n"); exit (0);
#endif
  exit (1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
    { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
    case `getsysinfo -f cpu_type` in
    c1*)
    echo c1-convex-bsd
    exit ;;
    c2*)
    if getsysinfo -f scalar_acc
    then echo c32-convex-bsd
    else echo c2-convex-bsd
    fi
    exit ;;
    c34*)
    echo c34-convex-bsd
    exit ;;
    c38*)
    echo c38-convex-bsd
    exit ;;
    c4*)
    echo c4-convex-bsd
    exit ;;
    esac
fi
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:
SOURCES/config.sub
New file
@@ -0,0 +1,1791 @@
#! /bin/sh
# Configuration validation subroutine script.
#   Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2013-08-10'
# 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 with a ChangeLog entry 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-2013 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* | \
  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 \
    | be32 | be64 \
    | bfin \
    | c4x | c8051 | clipper \
    | d10v | d30v | dlx | dsp16xx \
    | epiphany \
    | fido | fr30 | frv \
    | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
    | hexagon \
    | i370 | i860 | i960 | ia64 \
    | ip2k | iq2000 \
    | 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 \
    | mipsisa64 | mipsisa64el \
    | mipsisa64r2 | mipsisa64r2el \
    | mipsisa64sb1 | mipsisa64sb1el \
    | mipsisa64sr71k | mipsisa64sr71kel \
    | mipsr5900 | mipsr5900el \
    | mipstx39 | mipstx39el \
    | mn10200 | mn10300 \
    | moxie \
    | mt \
    | msp430 \
    | nds32 | nds32le | nds32be \
    | nios | nios2 | nios2eb | nios2el \
    | ns16k | ns32k \
    | open8 \
    | or1k | or32 \
    | pdp10 | pdp11 | pj | pjl \
    | powerpc | powerpc64 | powerpc64le | powerpcle \
    | pyramid \
    | rl78 | rx \
    | score \
    | 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 \
    | spu \
    | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
    | ubicom32 \
    | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
    | 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
        ;;
    m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | 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-* \
    | be32-* | be64-* \
    | bfin-* | bs2000-* \
    | c[123]* | c30-* | [cjt]90-* | c4x-* \
    | c8051-* | clipper-* | craynv-* | cydra-* \
    | d10v-* | d30v-* | dlx-* \
    | 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-* \
    | 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-* \
    | mipsisa64-* | mipsisa64el-* \
    | mipsisa64r2-* | mipsisa64r2el-* \
    | mipsisa64sb1-* | mipsisa64sb1el-* \
    | mipsisa64sr71k-* | mipsisa64sr71kel-* \
    | mipsr5900-* | mipsr5900el-* \
    | mipstx39-* | mipstx39el-* \
    | mmix-* \
    | mt-* \
    | msp430-* \
    | nds32-* | nds32le-* | nds32be-* \
    | nios-* | nios2-* | nios2eb-* | nios2el-* \
    | none-* | np1-* | ns16k-* | ns32k-* \
    | open8-* \
    | orion-* \
    | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
    | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
    | pyramid-* \
    | 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-* \
    | 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
        ;;
    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
        ;;
    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
        ;;
    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-* | ppc64p7-*) 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* \
          | -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* \
          | -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*)
    # 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
        ;;
    or1k-*)
        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:
SOURCES/kabi.attr
New file
@@ -0,0 +1,2 @@
%__kabi_provides    %{_rpmconfigdir}/kabi.sh
%__kabi_path        ^/boot/symvers-.*gz$
SOURCES/kabi.sh
New file
@@ -0,0 +1,13 @@
#!/bin/sh +x
#
# kabi.sh - Automatically extract any kernel symbol checksum from the
#           symvers file and add to RPM deps.  This is used to move the
#           checksum checking from modprobe to rpm install for 3rd party
#           modules (so they can fail during install and not at load).
IFS=$'\n'
for symvers in $(grep -E '/boot/symvers-*') $*;
do
    zcat $symvers | awk ' {print "kernel(" $2 ") = " $1 }'
done
SOURCES/libtool-handle-ppc64le.sh
New file
@@ -0,0 +1,135 @@
#!/bin/bash
# Date: April 2, 2014
# by Aldy Hernandez
# Attempt to fix any "-m elf64ppc" linker checks in configure and
# libtool.m4 files.
#
# This script is meant to run silently as part of rpm's %configure
# macro.  It either fixes the problem, or we silently ignore it, in
# which case it is up to the package maintainer to add support for
# ppc64le.
# Our two attempts at fixing the problem.
PATCH1=/tmp/$$.patch1
PATCH2=/tmp/$$.patch2
cleanup() {
    rm -f $PATCH1 $PATCH2
}
trap cleanup 0 1 2 3 4 5 6 7 8 9 11 13 14 15
# There are two variants in RHEL7 so far.  The first version, handled
# with $PATCH1, currently handles all but 3 packages.  The $PATCH2
# version handles the remnant.
#
cat > $PATCH1 <<EOF
--- configure.orig    2014-03-18 15:56:15.575070238 -0500
+++ configure    2014-03-18 16:05:50.877861163 -0500
@@ -7714,6 +7714,9 @@
       x86_64-*linux*)
         LD="\${LD-ld} -m elf_i386"
         ;;
+      ppc64le-*linux*|powerpc64le-*linux*)
+        LD="\${LD-ld} -m elf32lppclinux"
+        ;;
       ppc64-*linux*|powerpc64-*linux*)
         LD="\${LD-ld} -m elf32ppclinux"
         ;;
@@ -7733,6 +7736,9 @@
       x86_64-*linux*)
         LD="\${LD-ld} -m elf_x86_64"
         ;;
+      ppc*le-*linux*|powerpc*le-*linux*)
+        LD="\${LD-ld} -m elf64lppc"
+        ;;
       ppc*-*linux*|powerpc*-*linux*)
         LD="\${LD-ld} -m elf64ppc"
         ;;
EOF
cat > $PATCH2 <<EOF
--- configure.orig    2014-03-18 16:35:28.942799967 -0500
+++ configure    2014-03-18 16:34:35.608519090 -0500
@@ -3798,6 +3798,9 @@
         x86_64-*linux*)
           LD="\${LD-ld} -m elf_i386"
           ;;
+        ppc64le-*linux*)
+          LD="\${LD-ld} -m elf32lppclinux"
+          ;;
         ppc64-*linux*)
           LD="\${LD-ld} -m elf32ppclinux"
           ;;
@@ -3814,6 +3817,9 @@
         x86_64-*linux*)
           LD="\${LD-ld} -m elf_x86_64"
           ;;
+        ppc*le-*linux*|powerpc*le-*linux*)
+          LD="\${LD-ld} -m elf64lppc"
+          ;;
         ppc*-*linux*|powerpc*-*linux*)
           LD="\${LD-ld} -m elf64ppc"
           ;;
EOF
FILES=`find . -name configure -o -name libtool.m4`
for f in $FILES; do
    # Filter out candidates that already handle ppc64le.
    if grep -s -e '-m elf64lppc' $f >/dev/null; then
    continue
    fi
    # Filter out candidates that don't handle PPC.
    if ! grep -s -e '-m elf64ppc' $f >/dev/null; then
    continue
    fi
    echo "Broken -m elf64ppc use in $f should handle elf64lppc."
    echo "Attempting automatic fix."
    # Attempt to fix the offended file.
    basename=`basename $f`
    dirname=`dirname $f`
    for p in $PATCH1 $PATCH2; do
    # This is an all for nothing affair.  The patch either
    # applies entirely clean, or we don't even try.
    #
    # Tentatively try either patch cleanly, and if we succeed then
    # do it for real.
    pushd $dirname 2>&1 > /dev/null
    if [ $basename = libtool.m4 ]; then
        sed s/configure/libtool.m4/ < $p | patch --dry-run --follow-symlinks -l 2>&1 >/dev/null
    else
        patch --dry-run --follow-symlinks -l < $p 2>&1 > /dev/null
    fi
    if [ $? != 0 ]; then
        echo -n "$p approach did not work for $dirname/$basename: "
        pwd
        # This approach didn't work, try the next one.
        popd 2>&1 > /dev/null
        continue
    fi
    # Seriously now...
    if [ $basename = libtool.m4 ]; then
        # Save the timestamp.
        cp -p $basename /tmp/tmp.$$
        sed s/configure/libtool.m4/ < $p | patch --follow-symlinks -l -s 2>&1 > /dev/null
        # Use the old timestamp, to avoid anyone noticing changes
        # to libtool.m4.
        touch --reference=/tmp/tmp.$$ $basename
        rm -f /tmp/tmp.$$
    else
        patch --follow-symlinks -l -s < $p 2>&1 > /dev/null
    fi
    echo "Fixed $f for ld -m ppc64le support."
    popd 2>&1 > /dev/null
    break
    done
done
rm -f $PATCH1 $PATCH2
SOURCES/redhat-hardened-cc1
New file
@@ -0,0 +1,2 @@
*cc1_options:
+ %{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}
SOURCES/redhat-hardened-ld
New file
@@ -0,0 +1,5 @@
*self_spec:
+ %{!shared:-pie}
*link:
+ -z now
SOURCES/redhat-rpm-config-9.0.3-latest-kernel.patch
New file
@@ -0,0 +1,11 @@
--- redhat-rpm-config-9.0.3/macros.orig    2016-01-05 16:21:18.708529423 +0100
+++ redhat-rpm-config-9.0.3/macros    2016-01-05 16:42:26.023939895 +0100
@@ -202,7 +202,7 @@
     %global kmodtool %{-s*}%{!-s:/usr/lib/rpm/redhat/kmodtool} \
     %global kmod_version %{-v*}%{!-v:%{version}} \
     %global kmod_release %{-r*}%{!-r:%{release}} \
-    %global latest_kernel %(rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\\\\n' `rpm -q kernel-devel | /usr/lib/rpm/redhat/rpmsort -r | head -n 1` | head -n 1) \
+    %global latest_kernel %(rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\\\\n' `rpm -qa | egrep "^kernel(-rt|-aarch64)?-devel" | /usr/lib/rpm/redhat/rpmsort -r | head -n 1` | head -n 1) \
     %{!?kernel_version:%{expand:%%global kernel_version %{latest_kernel}}} \
     %global kverrel %(%{kmodtool} verrel %{?kernel_version} 2>/dev/null) \
     flavors="default" \
SOURCES/redhat-rpm-config-9.0.3-shebang.patch
New file
@@ -0,0 +1,11 @@
--- redhat-rpm-config-9.0.3/find-requires.original    2015-01-07 10:47:24.250285190 +0900
+++ redhat-rpm-config-9.0.3/find-requires    2015-01-07 10:48:01.483585227 +0900
@@ -74,7 +74,7 @@ fi
 # --- Script interpreters.
 for f in $scriptlist; do
     [ -r $f -a -x $f ] || continue
-    interp=`head -n 1 $f | sed -e 's/^\#\![     ]*//' | cut -d" " -f1`
+    interp=`head -n 1 $f | grep '^#!' | sed -e 's/^\#\![     ]*//' | cut -d" " -f1`
     interplist="$interplist $interp"
     case $interp in
     */perl)    perllist="$perllist $f" ;;
SOURCES/redhat-rpm-config-9.1.0-Add-_pkgdocdir.patch
New file
@@ -0,0 +1,26 @@
From e606f56f34f55900ef4d52fd273192425fe50ba5 Mon Sep 17 00:00:00 2001
From: Kevin Fenzi <kevin@scrye.com>
Date: Wed, 24 Jul 2013 16:20:05 -0600
Subject: [PATCH] Make docdirs unversioned on Fedora 20+ (#986871)
Add macros but keep it versioned for RHEL 7
---
 macros | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/macros b/macros
index 6994751..3776e60 100644
--- a/macros
+++ b/macros
@@ -18,6 +18,8 @@
 %_mandir        %{_prefix}/share/man
 %_defaultdocdir        %{_prefix}/share/doc
+%_pkgdocdir             %{_docdir}/%{name}-%{version}
+%_docdir_fmt            %%{NAME}-%%{VERSION}
 %_fmoddir        %{_libdir}/gfortran/modules
--
2.5.5
SOURCES/redhat-rpm-config-9.1.0-Fix-stripping-of-binaries.patch
New file
@@ -0,0 +1,44 @@
Based on:
From 5b4805df2085b0e7c4f09caad62638c3238b3bc1 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Tue, 30 Jun 2015 11:39:21 +0200
Subject: [PATCH] Fix stripping of binaries for changed file output.
file will print a "warning" that it only processed up to 256 notes.
 - Related: 659614aeb6fffe3b249c12b442bd85129100f73b
 - Related: http://rpm.org/ticket/887
 - Related: rhbz#1206312
--- redhat-rpm-config-9.1.0/brp-strip.orig    2010-02-02 10:24:04.000000000 +0100
+++ redhat-rpm-config-9.1.0/brp-strip    2016-05-11 14:21:47.846187676 +0200
@@ -9,6 +9,6 @@
 for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
         grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug"  | \
     grep -v ' shared object,' | \
-    sed -n -e 's/^\(.*\):[     ]*ELF.*, not stripped/\1/p'`; do
+    sed -n -e 's/^\(.*\):[     ]*ELF.*, not stripped.*/\1/p'`; do
     $STRIP -g "$f" || :
 done
--- redhat-rpm-config-9.1.0/brp-strip-comment-note.orig    2010-02-02 10:24:04.000000000 +0100
+++ redhat-rpm-config-9.1.0/brp-strip-comment-note    2016-05-11 14:21:47.846187676 +0200
@@ -13,7 +13,7 @@
 # for already stripped elf files in the build root
 for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
         grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug"  | \
-    sed -n -e 's/^\(.*\):[     ]*ELF.*, stripped/\1/p'`; do
+    sed -n -e 's/^\(.*\):[     ]*ELF.*, stripped.*/\1/p'`; do
     note="-R .note"
     if $OBJDUMP -h $f | grep '^[     ]*[0-9]*[     ]*.note[     ]' -A 1 | \
         grep ALLOC >/dev/null; then
--- redhat-rpm-config-9.1.0/brp-strip-shared.orig    2010-02-02 10:24:04.000000000 +0100
+++ redhat-rpm-config-9.1.0/brp-strip-shared    2016-05-11 14:21:47.846187676 +0200
@@ -15,6 +15,6 @@
 for f in `find $RPM_BUILD_ROOT -type f -a -exec file {} \; | \
         grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug"  | \
     grep ' shared object,' | \
-    sed -n -e 's/^\(.*\):[     ]*ELF.*, not stripped/\1/p'`; do
+    sed -n -e 's/^\(.*\):[     ]*ELF.*, not stripped.*/\1/p'`; do
     $STRIP --strip-unneeded "$f"
 done
SOURCES/redhat-rpm-config-9.1.0-aarch64.patch
New file
@@ -0,0 +1,13 @@
diff --git a/rpmrc b/rpmrc
index 9127200..fe2f84b 100644
--- a/rpmrc
+++ b/rpmrc
@@ -64,6 +64,8 @@ optflags: hades %{__global_cflags}
 optflags: s390 %{__global_cflags} -m31 -march=z9-109 -mtune=z10
 optflags: s390x %{__global_cflags} -m64 -march=z9-109 -mtune=z10
+optflags: aarch64 %{__global_cflags}
+
 # set build arch to fedora buildarches on hardware capable of running it
 # saves having to do rpmbuild --target=
 buildarchtranslate: athlon: i686
SOURCES/redhat-rpm-config-9.1.0-arches-macros.patch
New file
@@ -0,0 +1,51 @@
diff -uNr redhat-rpm-config-9.1.0-orig/macros.ghc-srpm redhat-rpm-config-9.1.0/macros.ghc-srpm
--- redhat-rpm-config-9.1.0-orig/macros.ghc-srpm    1969-12-31 18:00:00.000000000 -0600
+++ redhat-rpm-config-9.1.0/macros.ghc-srpm    2011-05-27 10:19:29.504287354 -0500
@@ -0,0 +1,3 @@
+# macro defining the archs that ghc runs on in fedora
+%ghc_arches %{ix86} x86_64 ppc ppc64 ppc64le alpha sparcv9 armv7hl armv5tel s390 s390x aarch64
+%ghc_arches_with_ghci %{ix86} x86_64 ppc sparcv9 armv7hl armv5tel
diff -uNr redhat-rpm-config-9.1.0-orig/macros.mono-srpm redhat-rpm-config-9.1.0/macros.mono-srpm
--- redhat-rpm-config-9.1.0-orig/macros.mono-srpm    1969-12-31 18:00:00.000000000 -0600
+++ redhat-rpm-config-9.1.0/macros.mono-srpm    2011-05-27 10:59:00.348201750 -0500
@@ -0,0 +1,2 @@
+# arches that mono builds on
+%mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64
diff -uNr redhat-rpm-config-9.1.0-orig/macros.nodejs-srpm redhat-rpm-config-9.1.0/macros.nodejs-srpm
--- redhat-rpm-config-9.1.0-orig/macros.nodejs-srpm 1969-12-31 17:00:00.000000000 -0700
+++ redhat-rpm-config-9.1.0/macros.nodejs-srpm  2013-05-20 19:21:20.364367765 -0700
@@ -0,0 +1,6 @@
+# nodejs_arches lists what arches Node.js and dependent packages run on.
+#
+# Enabling Node.js on other arches requires porting the V8 JavaScript JIT to
+# those arches.
+
+%nodejs_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
diff -uNr redhat-rpm-config-9.1.0-orig/macros.ocaml-srpm redhat-rpm-config-9.1.0/macros.ocaml-srpm
--- redhat-rpm-config-9.1.0-orig/macros.ocaml-srpm    1969-12-31 18:00:00.000000000 -0600
+++ redhat-rpm-config-9.1.0/macros.ocaml-srpm    2011-05-27 10:42:10.638194240 -0500
@@ -0,0 +1,2 @@
+# arches that ocaml runs on
+%ocaml_arches aarch64 alpha %{arm} %{ix86} ia64 x86_64 ppc ppc64 ppc64le sparc sparcv9
diff -uNr redhat-rpm-config-9.1.0-orig/macros.gnat-srpm redhat-rpm-config-9.1.0/macros.gnat-srpm
--- redhat-rpm-config-9.1.0-orig/macros.gnat-srpm    1970-01-01 01:00:00.000000000 +0100
+++ redhat-rpm-config-9.1.0/macros.gnat-srpm    2012-01-05 17:04:35.000000000 +0100
@@ -0,0 +1,4 @@
+# GNAT_arches lists the architectures where GNAT is available in Fedora. Ada
+# packages won't build on other architectures until GNAT is bootstrapped for
+# them.
+%GNAT_arches %{ix86} x86_64 ia64 ppc ppc64 ppc64le alpha aarch64
diff -uNr redhat-rpm-config-9.1.0-orig/Makefile redhat-rpm-config-9.1.0/Makefile
--- redhat-rpm-config-9.1.0-orig/Makefile    2010-02-02 03:24:04.000000000 -0600
+++ redhat-rpm-config-9.1.0/Makefile    2011-05-27 10:43:34.898205307 -0500
@@ -11,7 +11,10 @@
 install:
     mkdir -p $(DESTDIR)/usr/lib/rpm/redhat
     cp -pr * $(DESTDIR)/usr/lib/rpm/redhat/
+    mkdir -p $(DESTDIR)/etc/rpm
+    cp -pr macros.* $(DESTDIR)/etc/rpm/
     rm -f $(DESTDIR)/usr/lib/rpm/redhat/Makefile
+    rm -f $(DESTDIR)/usr/lib/rpm/redhat/macros.*
 tag-archive:
     @git tag -a $(CVSTAG) -m "$(NAME)-$(VERSION) release"
SOURCES/redhat-rpm-config-9.1.0-arm.patch
New file
@@ -0,0 +1,28 @@
diff -urNp redhat-rpm-config-9.1.0_orig/rpmrc redhat-rpm-config-9.1.0/rpmrc
--- redhat-rpm-config-9.1.0_orig/rpmrc    2010-02-02 04:24:04.000000000 -0500
+++ redhat-rpm-config-9.1.0/rpmrc    2011-07-02 04:29:11.921575635 -0400
@@ -46,10 +46,12 @@ optflags: armv3l %{__global_cflags} -fsi
 optflags: armv4b %{__global_cflags} -fsigned-char -march=armv4
 optflags: armv4l %{__global_cflags} -fsigned-char -march=armv4
 optflags: armv4tl %{__global_cflags} -march=armv4t
-optflags: armv5tel %{__global_cflags} -march=armv5te
-optflags: armv5tejl %{__global_cflags} -march=armv5te
-optflags: armv6l %{__global_cflags} -march=armv6
-optflags: armv7l %{__global_cflags} -march=armv7
+optflags: armv5tel %{__global_cflags} -march=armv5te -mfloat-abi=soft
+optflags: armv5tejl %{__global_cflags} -march=armv5te -mfloat-abi=soft
+optflags: armv6l %{__global_cflags} -march=armv6 -mfloat-abi=soft
+optflags: armv7l %{__global_cflags} -march=armv7-a -mfloat-abi=soft
+optflags: armv7hl %{__global_cflags} -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard
+optflags: armv7hnl %{__global_cflags} -march=armv7-a -mfpu=neon  -mfloat-abi=hard
 optflags: atarist %{__global_cflags}
 optflags: atariste %{__global_cflags}
@@ -76,5 +78,7 @@ buildarchtranslate: sparcv9v: sparcv9
 buildarchtranslate: armv5tejl: armv5tel
 buildarchtranslate: armv6l: armv5tel
 buildarchtranslate: armv7l: armv5tel
+buildarchtranslate: armv7hl: armv7hl
+buildarchtranslate: armv7hnl: armv7hl
SOURCES/redhat-rpm-config-9.1.0-centos.dist.patch
New file
@@ -0,0 +1,12 @@
diff -uNrp redhat-rpm-config-9.1.0.orig/dist.sh redhat-rpm-config-9.1.0/dist.sh
--- redhat-rpm-config-9.1.0.orig/dist.sh    2010-02-02 03:24:04.000000000 -0600
+++ redhat-rpm-config-9.1.0/dist.sh    2014-06-19 09:29:04.064790458 -0500
@@ -25,7 +25,7 @@ function check_rhl {
 }
 function check_rhel {
-    egrep -q "(Enterprise|Advanced)" $RELEASEFILE && echo $DISTNUM
+    egrep -q "(Enterprise|Advanced|CentOS)" $RELEASEFILE && echo $DISTNUM
 }
 function check_fedora {
SOURCES/redhat-rpm-config-9.1.0-configfoo.patch
New file
@@ -0,0 +1,13 @@
diff -up redhat-rpm-config-9.1.0/macros.configfoo redhat-rpm-config-9.1.0/macros
--- redhat-rpm-config-9.1.0/macros.configfoo    2013-04-22 13:42:25.984613491 +0300
+++ redhat-rpm-config-9.1.0/macros    2013-04-22 13:43:27.053420367 +0300
@@ -33,6 +33,9 @@
   CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
   FFLAGS="${FFLAGS:-%optflags -I%_fmoddir}" ; export FFLAGS ; \
   LDFLAGS="${LDFLAGS:-%__global_ldflags}"; export LDFLAGS; \
+  for i in $(find . -name config.guess -o -name config.sub) ; do \
+      [ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; \
+  done ; \
   %{_configure} --build=%{_build} --host=%{_host} \\\
     --program-prefix=%{?_program_prefix} \\\
     --disable-dependency-tracking \\\
SOURCES/redhat-rpm-config-9.1.0-dwz.patch
New file
@@ -0,0 +1,42 @@
--- redhat-rpm-config-9.1.0/macros.dwz.jj    2012-06-25 13:08:44.854489913 +0200
+++ redhat-rpm-config-9.1.0/macros.dwz    2012-06-25 13:03:55.520112180 +0200
@@ -0,0 +1,39 @@
+# Macros for reducing debug info size using dwz(1) utility.
+
+# The two default values below should result in dwz taking at most
+# 3GB of RAM or so on 64-bit hosts and 2.5GB on 32-bit hosts
+# on the largest *.debug files  (in mid 2012 those are
+# libreoffice-debuginfo, debuginfos containing
+# libxul.so.debug and libwebkitgtk-*.so.*.debug).
+# This needs to be tuned based on the amount of available RAM
+# on build boxes for each architecture as well as virtual address
+# space limitations if dwz is 32-bit program.  While it needs less
+# memory than 64-bit program because pointers are smaller, it can
+# never have more than 4GB-epsilon of RAM and on some architecture
+# even less than that (e.g. 2GB).
+
+# Number of debugging information entries (DIEs) above which
+# dwz will stop considering file for multifile optimizations
+# and enter a low memory mode, in which it will optimize
+# in about half the memory needed otherwise.
+%_dwz_low_mem_die_limit         10000000
+# Number of DIEs above which dwz will stop processing
+# a file altogether.
+%_dwz_max_die_limit          50000000
+
+# On x86_64 increase the higher limit to make libwebkit* optimizable.
+# libwebkit* in mid 2012 contains roughly 87mil DIEs, and 64-bit
+# dwz is able to optimize it from ~1.1GB to ~410MB using 5.2GB of RAM.
+%_dwz_max_die_limit_x86_64    110000000
+
+# On ARM, build boxes often have only 512MB of RAM and are very slow.
+# Lower both the limits.
+%_dwz_low_mem_die_limit_armv5tel  4000000
+%_dwz_low_mem_die_limit_armv7hl      4000000
+%_dwz_max_die_limit_armv5tel     10000000
+%_dwz_max_die_limit_armv7hl     10000000
+
+%_dwz_limit() %{expand:%%{?%{1}_%{_arch}}%%{!?%{1}_%{_arch}:%%%{1}}}
+%_find_debuginfo_dwz_opts --run-dwz\\\
+   --dwz-low-mem-die-limit %{_dwz_limit _dwz_low_mem_die_limit}\\\
+   --dwz-max-die-limit %{_dwz_limit _dwz_max_die_limit}
SOURCES/redhat-rpm-config-9.1.0-fcflags.patch
New file
@@ -0,0 +1,11 @@
diff -up redhat-rpm-config-9.1.0/macros.fcflags redhat-rpm-config-9.1.0/macros
--- redhat-rpm-config-9.1.0/macros.fcflags    2013-04-23 07:26:57.202073011 +0300
+++ redhat-rpm-config-9.1.0/macros    2013-04-23 07:29:21.401036883 +0300
@@ -32,6 +32,7 @@
   CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
   CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
   FFLAGS="${FFLAGS:-%optflags -I%_fmoddir}" ; export FFLAGS ; \
+  FCFLAGS="${FCFLAGS:-%optflags -I%_fmoddir}" ; export FCFLAGS ; \
   LDFLAGS="${LDFLAGS:-%__global_ldflags}"; export LDFLAGS; \
   for i in $(find . -name config.guess -o -name config.sub) ; do \
       [ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; \
SOURCES/redhat-rpm-config-9.1.0-filtering-spaces-in-filename.patch
New file
@@ -0,0 +1,13 @@
Index: redhat-rpm-config-9.1.0/macros
===================================================================
--- redhat-rpm-config-9.1.0.orig/macros
+++ redhat-rpm-config-9.1.0/macros
@@ -262,7 +262,7 @@ kernel_module_package_release    1
 # actually set up the filtering bits
 %filter_setup %{expand: \
 %global _use_internal_dependency_generator 0 \
-%global __deploop() while read FILE; do /usr/lib/rpm/rpmdeps -%{1} ${FILE}; done | /bin/sort -u \
+%global __deploop() while read FILE; do echo "${FILE}" | /usr/lib/rpm/rpmdeps -%{1}; done | /bin/sort -u \
 %global __find_provides /bin/sh -c "%{?__filter_prov_cmd} %{__deploop P} %{?__filter_from_prov}" \
 %global __find_requires /bin/sh -c "%{?__filter_req_cmd}  %{__deploop R} %{?__filter_from_req}" \
 }
SOURCES/redhat-rpm-config-9.1.0-find-provides.libtool.patch
New file
@@ -0,0 +1,15 @@
--- redhat-rpm-config-9.1.0/find-provides.libtool.orig    2016-05-11 14:36:17.082744500 +0200
+++ redhat-rpm-config-9.1.0/find-provides.libtool    2016-05-11 14:38:49.404192547 +0200
@@ -2,9 +2,9 @@
 while read possible ; do
     case "$possible" in
     *.la)
-        if grep -iq '^# Generated by ltmain.sh' "$possible" 2> /dev/null ; then
-            echo "libtool($possible)"
-        fi
+        if grep -Eiq '^# Generated by (libtool|ltmain.sh)' "$possible" 2> /dev/null ; then
+        echo "libtool($possible)"
+        fi
         ;;
     esac
 done
SOURCES/redhat-rpm-config-9.1.0-find-requires-fix-detection.patch
New file
@@ -0,0 +1,15 @@
--- current/find-requires.orig    2016-06-13 17:31:21.689322870 +0200
+++ current/find-requires    2016-06-13 17:42:04.779855644 +0200
@@ -21,10 +21,10 @@
 # --- Grab the file manifest and classify files.
 #filelist=`sed "s/['\"]/\\\&/g"`
 filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
-exelist=`echo $filelist | xargs -r file | egrep -v ":.* (commands|script) " | \
+exelist=`echo $filelist | xargs -r file | egrep -v ":.* (commands|script)[, ]" | \
     grep ":.*executable" | cut -d: -f1`
 scriptlist=`echo $filelist | xargs -r file | \
-    egrep ":.* (commands|script) " | cut -d: -f1`
+    egrep ":.* (commands|script)[, ]" | cut -d: -f1`
 liblist=`echo $filelist | xargs -r file | \
     grep ":.*shared object" | cut -d : -f1`
SOURCES/redhat-rpm-config-9.1.0-fix-depmod-path.patch
New file
@@ -0,0 +1,32 @@
diff -Nuar redhat-rpm-config-9.1.0_old/kmodtool redhat-rpm-config-9.1.0/kmodtool
--- redhat-rpm-config-9.1.0_old/kmodtool    2013-09-22 10:15:55.903436121 +0800
+++ redhat-rpm-config-9.1.0/kmodtool    2013-09-22 10:18:24.230435836 +0800
@@ -154,8 +154,8 @@
     cat <<EOF
 Provides:         kernel-modules >= ${verrel_dep}${dotvariant}
 Provides:         ${kmod_name}-kmod = %{?epoch:%{epoch}:}%{version}-%{release}
-Requires(post):   /sbin/depmod
-Requires(postun): /sbin/depmod
+Requires(post):   /usr/sbin/depmod
+Requires(postun): /usr/sbin/depmod
 EOF
     if [ "yes" != "$nobuildreqs" ]
@@ -183,7 +183,7 @@
 cat <<EOF
 %post          -n kmod-${kmod_name}${dashvariant}
 if [ -e "/boot/System.map-${verrel}${dotvariant}" ]; then
-    /sbin/depmod -aeF "/boot/System.map-${verrel}${dotvariant}" "${verrel}${dotvariant}" > /dev/null || :
+    /usr/sbin/depmod -aeF "/boot/System.map-${verrel}${dotvariant}" "${verrel}${dotvariant}" > /dev/null || :
 fi
 modules=( \$(find /lib/modules/${verrel}${dotvariant}/extra/${kmod_name} | grep '\.ko$') )
@@ -201,7 +201,7 @@
 cat <<EOF
 %postun        -n kmod-${kmod_name}${dashvariant}
 if [ -e "/boot/System.map-${verrel}${dotvariant}" ]; then
-    /sbin/depmod -aeF "/boot/System.map-${verrel}${dotvariant}" "${verrel}${dotvariant}" > /dev/null || :
+    /usr/sbin/depmod -aeF "/boot/System.map-${verrel}${dotvariant}" "${verrel}${dotvariant}" > /dev/null || :
 fi
 modules=( \$(cat /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules) )
SOURCES/redhat-rpm-config-9.1.0-fix-find-provides-modalias-permissions.patch
New file
@@ -0,0 +1,11 @@
diff -Nuar redhat-rpm-config-9.1.0_old/Makefile redhat-rpm-config-9.1.0/Makefile
--- redhat-rpm-config-9.1.0_old/Makefile    2013-08-26 10:54:34.040834006 +0800
+++ redhat-rpm-config-9.1.0/Makefile    2013-08-26 10:57:03.315833999 +0800
@@ -15,6 +15,7 @@
     cp -pr macros.* $(DESTDIR)/etc/rpm/
     rm -f $(DESTDIR)/usr/lib/rpm/redhat/Makefile
     rm -f $(DESTDIR)/usr/lib/rpm/redhat/macros.*
+    chmod +x $(DESTDIR)/usr/lib/rpm/redhat/find-provides.d/modalias.prov
 tag-archive:
     @git tag -a $(CVSTAG) -m "$(NAME)-$(VERSION) release"
SOURCES/redhat-rpm-config-9.1.0-fix-kabi-path.patch
New file
@@ -0,0 +1,12 @@
diff -Nuar redhat-rpm-config-9.1.0_bak/find-requires.ksyms redhat-rpm-config-9.1.0/find-requires.ksyms
--- redhat-rpm-config-9.1.0_bak/find-requires.ksyms    2014-11-12 02:24:19.883051779 -0500
+++ redhat-rpm-config-9.1.0/find-requires.ksyms    2014-11-12 02:24:35.005003931 -0500
@@ -45,7 +45,7 @@
 check_kabi() {
     arch=$(uname -m)
-    kabi_file="/lib/modules/kabi/kabi_whitelist_$arch"
+    kabi_file="/lib/modules/kabi-current/kabi_whitelist_$arch"
     # If not installed, output a warning and return (continue)
     if [ ! -f "$kabi_file" ]; then
SOURCES/redhat-rpm-config-9.1.0-fix-requires.patch
New file
@@ -0,0 +1,31 @@
commit 635437c7bfe6053dcfe112705b809bb78aba1a73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 15 13:42:36 2010 +0200
    Unbreak find-requires (#443015, #564527)
    - regression originating from commit 9ed9b4e3459e3125befd324f579f751a239c26ca
      which was supposed to fix something for on ARM but broke pretty much
      all else
    - this should've been in 9.1.0 but somehow gone missing, ugh...
    - fix originally from Bill Nottingham
diff --git a/find-requires b/find-requires
index fa5ab95..eb3ee54 100755
--- a/find-requires
+++ b/find-requires
@@ -106,6 +106,7 @@ for f in $liblist $exelist ; do
         print $2 ;
         }
     }
+    (START==2) && /^[A-Za-z]/ { START=3; }
     /^Version References:$/ { START=2; }
     (START==2) && /required from/ {
         sub(/:/, "", $3);
@@ -114,7 +115,6 @@ for f in $liblist $exelist ; do
     (START==2) && (LIBNAME!="") && ($4!="") {
         print LIBNAME "(" $4 ")'$lib64'";
     }
-    /^[A-Za-z]/ { START=3; }
     '
 done | sort -u
SOURCES/redhat-rpm-config-9.1.0-hardened.patch
New file
@@ -0,0 +1,21 @@
diff -up redhat-rpm-config-9.1.0/macros.jx redhat-rpm-config-9.1.0/macros
--- redhat-rpm-config-9.1.0/macros.jx    2011-08-03 15:42:20.267064981 -0400
+++ redhat-rpm-config-9.1.0/macros    2011-08-03 15:44:46.581058603 -0400
@@ -184,8 +184,15 @@ unset DISPLAY\
 %__find_provides        /usr/lib/rpm/redhat/find-provides
 %__find_requires        /usr/lib/rpm/redhat/find-requires
-%__global_cflags    -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
-%__global_ldflags    -Wl,-z,relro
+%_hardening_cflags    -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
+%_hardening_ldflags    -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
+
+#_hardened_build    0
+%_hardened_cflags    %{?_hardened_build:%{_hardening_cflags}}
+%_hardened_ldflags    %{?_hardened_build:%{_hardening_ldflags}}
+
+%__global_cflags    -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 %{_hardened_cflags}
+%__global_ldflags    -Wl,-z,relro %{_hardened_ldflags}
 # Use these macros to differentiate between RH and other KMP implementation(s).
 redhat_kernel_module_package    1
SOURCES/redhat-rpm-config-9.1.0-jar-repack-perms.patch
New file
@@ -0,0 +1,14 @@
diff -up redhat-rpm-config-9.1.0/brp-java-repack-jars.jar-repack-perms redhat-rpm-config-9.1.0/brp-java-repack-jars
--- redhat-rpm-config-9.1.0/brp-java-repack-jars.jar-repack-perms    2013-07-05 13:21:56.548998671 +0300
+++ redhat-rpm-config-9.1.0/brp-java-repack-jars    2013-07-05 13:22:50.962398381 +0300
@@ -35,8 +35,8 @@ if [ ! -z "$JARS" ]; then
         pushd "$JTMPDIR" > /dev/null
         /usr/bin/unzip -qq -o "$j"
-        find -type d -exec chmod a+rx {} \;
-        find -type f -exec chmod a+r {} \;
+        find -type d -exec chmod a+rx,u+w {} \;
+        find -type f -exec chmod a+r,u+w {} \;
         rm -f "$j"
         # Create the directories first.
SOURCES/redhat-rpm-config-9.1.0-java-repack-order.patch
New file
@@ -0,0 +1,16 @@
Index: redhat-rpm-config-9.1.0/brp-java-repack-jars
===================================================================
--- redhat-rpm-config-9.1.0.orig/brp-java-repack-jars
+++ redhat-rpm-config-9.1.0/brp-java-repack-jars
@@ -79,7 +79,10 @@ if [ ! -z "$JARS" ]; then
         pushd $JARDIR > /dev/null
         if [ -n "`find -not -name '.'`" ]; then
-            find * -not -name '.' | LC_ALL=C sort | /usr/bin/zip -q -X -9 $j -@
+            if [ -e META-INF/MANIFEST.MF ]; then
+                /usr/bin/zip -q -X -9 $j META-INF/MANIFEST.MF
+            fi
+            find * -not -name '.' | LC_ALL=C sort | /usr/bin/zip -u -q -X -9 $j -@
         else
             # Put the empty jar back
             touch $j
SOURCES/redhat-rpm-config-9.1.0-java-repack-spaces-in-filenames.patch
New file
@@ -0,0 +1,64 @@
Index: redhat-rpm-config-9.1.0/brp-java-repack-jars
===================================================================
--- redhat-rpm-config-9.1.0.orig/brp-java-repack-jars
+++ redhat-rpm-config-9.1.0/brp-java-repack-jars
@@ -25,17 +25,19 @@ if [ ! -z "$JARS" ]; then
     # unpack every jar, set the date of the files and directories and
     # repack the jar
+    OLD_IFS="$IFS"
+    IFS=$(printf '\n\t')
     for j in $JARS ; do
-        JARNAME=`basename $j`
-        JTMPDIR=`mktemp -d -p $RPM_BUILD_ROOT/tmp $JARNAME.tmpdir.XXXXXXXXXX` || exit 1
-        JARDIR=`mktemp -d -p $RPM_BUILD_ROOT/tmp $JARNAME.jardir.XXXXXXXXXX` || exit 1
-        TIMEREF=`mktemp -p $RPM_BUILD_ROOT/tmp $JARNAME.timeref.XXXXXXXXXX` || exit 1
+        JARNAME=`basename "$j"`
+        JTMPDIR=`mktemp -d -p $RPM_BUILD_ROOT/tmp "$JARNAME.tmpdir.XXXXXXXXXX"` || exit 1
+        JARDIR=`mktemp -d -p $RPM_BUILD_ROOT/tmp "$JARNAME.jardir.XXXXXXXXXX"` || exit 1
+        TIMEREF=`mktemp -p $RPM_BUILD_ROOT/tmp "$JARNAME.timeref.XXXXXXXXXX"` || exit 1
-        pushd $JTMPDIR > /dev/null
-        /usr/bin/unzip -qq -o $j
+        pushd "$JTMPDIR" > /dev/null
+        /usr/bin/unzip -qq -o "$j"
         find -type d -exec chmod a+rx {} \;
         find -type f -exec chmod a+r {} \;
-        rm -f $j
+        rm -f "$j"
         # Create the directories first.
         find -type d | LC_ALL=C sort | while read d; do
@@ -76,24 +78,25 @@ if [ ! -z "$JARS" ]; then
         done
         # make the jar
-        pushd $JARDIR > /dev/null
+        pushd "$JARDIR" > /dev/null
         if [ -n "`find -not -name '.'`" ]; then
             if [ -e META-INF/MANIFEST.MF ]; then
-                /usr/bin/zip -q -X -9 $j META-INF/MANIFEST.MF
+                /usr/bin/zip -q -X -9 "$j" META-INF/MANIFEST.MF
             fi
-            find * -not -name '.' | LC_ALL=C sort | /usr/bin/zip -u -q -X -9 $j -@
+            find * -not -name '.' | LC_ALL=C sort | /usr/bin/zip -u -q -X -9 "$j" -@
         else
             # Put the empty jar back
-            touch $j
+            touch "$j"
         fi
         popd > /dev/null
         # Cleanup.
-        rm -rf $JTMPDIR
-        rm -rf $JARDIR
-        rm -f $TIMEREF
+        rm -rf "$JTMPDIR"
+        rm -rf "$JARDIR"
+        rm -f "$TIMEREF"
     done
+    IFS="$OLD_IFS"
     # remove $RPM_BUILD_ROOT/tmp if we created it
     if [ $rmtmp -eq 1 ]; then
SOURCES/redhat-rpm-config-9.1.0-kernel-source.patch
New file
@@ -0,0 +1,13 @@
Index: redhat-rpm-config-9.1.0/macros
===================================================================
--- redhat-rpm-config-9.1.0.orig/macros
+++ redhat-rpm-config-9.1.0/macros
@@ -239,7 +239,7 @@ kernel_module_package_release    1
         done \
     fi \
     echo "%%global flavors_to_build ${flavors_to_build:-%%nil}" \
-    echo "%%global kernel_source() /usr/src/kernels/%kverrel-\\\$([ %%%%{1} = default ] || echo "%%%%{1}-")%_target_cpu" \
+    echo "%%global kernel_source() /usr/src/kernels/%kverrel-\\\$([ %%%%{1} = default ] || echo "%%%%{1}.")%_target_cpu" \
     if [ ! -z "%{-f*}" ] \
     then \
         filelist="%{-f*}" \
SOURCES/redhat-rpm-config-9.1.0-kmod-brew-build.patch
New file
@@ -0,0 +1,99 @@
From: Jiri Benc <jbenc@redhat.com>
Subject: Build correctly with z-stream kernels
In brew, there's usually a newer kernel installed than the one used for
installation. Handle this situation correctly by allowing the spec file to
define kernel_version to be used in rpm dependencies, while building against
a compatible newer (z-stream) kernel.
Signed-off-by: Jiri Benc <jbenc@redhat.com>
---
 kmodtool |   31 ++++++++++++++++++++++++++++---
 macros   |    2 +-
 2 files changed, 29 insertions(+), 4 deletions(-)
--- a/kmodtool
+++ b/kmodtool
@@ -9,6 +9,7 @@
 # Copyright (c) 2003-2010 Ville Skytt√§ <ville.skytta@iki.fi>,
 #                         Thorsten Leemhuis <fedora@leemhuis.info>
 #                         Jon Masters <jcm@redhat.com>
+# Copyright (c) 2012-2013 Jiri Benc <jbenc@redhat.com>
 #
 # Permission is hereby granted, free of charge, to any person obtaining
 # a copy of this software and associated documentation files (the
@@ -49,9 +50,25 @@ kver=
 verrel=
 variant=
+get_kernel_release ()
+{
+  if [[ -z $1 ]]; then
+    uname -r
+    return
+  fi
+  local arch=$(arch)
+  local verrel=${1%.$arch}
+  local verprefix=${verrel%.*}
+  local versuffix=${verrel#$verprefix}
+  verrel=$(ls -Ud /usr/src/kernels/$verprefix*$versuffix.$arch | sort -V | tail -n 1)
+  verrel=${verrel##*/}
+  [[ -z $verrel ]] && verrel=$1.$arch
+  echo "$verrel"
+}
+
 get_verrel ()
 {
-  verrel=${1:-$(uname -r)}
+  verrel=$(get_kernel_release "$1")
   verrel=${verrel/%.$knownvariants/}
 }
@@ -61,10 +78,16 @@ print_verrel ()
   echo "${verrel}"
 }
+get_verrel_for_deps ()
+{
+  verrel_dep=${1:-$(uname -r)}
+  verrel_dep=${verrel_dep/%.$knownvariants/}
+}
+
 get_variant ()
 {
   get_verrel $@
-  variant=${1:-$(uname -r)}
+  variant=$(get_kernel_release "$1")
   variant=${variant/#$verrel?(.)/}
   variant=${variant:-'""'}
 }
@@ -129,7 +152,7 @@ get_rpmtemplate ()
     echo "%global _use_internal_dependency_generator 0"
     cat <<EOF
-Provides:         kernel-modules >= ${verrel}${dotvariant}
+Provides:         kernel-modules >= ${verrel_dep}${dotvariant}
 Provides:         ${kmod_name}-kmod = %{?epoch:%{epoch}:}%{version}-%{release}
 Requires(post):   /sbin/depmod
 Requires(postun): /sbin/depmod
@@ -206,6 +229,8 @@ print_rpmtemplate ()
   shift
   kver="${1}"
   get_verrel "${1}"
+  get_verrel_for_deps "${1}"
+  [[ -z $kver ]] && kver=$verrel
   shift
   if [ -z "${kmod_name}" ] ; then
     echo "Please provide the kmodule-name as first parameter." >&2
--- a/macros
+++ b/macros
@@ -218,7 +218,7 @@ package or when debugging this package.\
     then \
         nobuildreqs="yes" \
     fi \
-    override_filelist="$filelist" override_preamble="$preamble" nobuildreqs="$nobuildreqs" kmod_version=%kmod_version kmod_release=%kmod_release %{kmodtool} rpmtemplate %{-n*}%{!-n:%name} %{kverrel} $flavors_to_build 2>/dev/null \
+    override_filelist="$filelist" override_preamble="$preamble" nobuildreqs="$nobuildreqs" kmod_version=%kmod_version kmod_release=%kmod_release %{kmodtool} rpmtemplate %{-n*}%{!-n:%name} %{kernel_version} $flavors_to_build 2>/dev/null \
 )}
 #==============================================================================
SOURCES/redhat-rpm-config-9.1.0-kmod-kabi.patch
New file
@@ -0,0 +1,509 @@
diff -Nuar redhat-rpm-config-9.1.0_old/find-provides.ksyms redhat-rpm-config-9.1.0/find-provides.ksyms
--- redhat-rpm-config-9.1.0_old/find-provides.ksyms    2013-03-22 10:48:56.344881194 +0800
+++ redhat-rpm-config-9.1.0/find-provides.ksyms    2013-03-22 10:49:31.727892674 +0800
@@ -4,6 +4,7 @@
 for module in $(grep -E '/lib/modules/.+\.ko$'); do
     nm $module \
-    | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):ksym(\2) = \1:p'
+    | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \
+    | awk --non-decimal-data '{printf("ksym(%s) = 0x%08x\n", $2, $1)}'
 done \
 | sort -u
diff -Nuar redhat-rpm-config-9.1.0_old/find-requires redhat-rpm-config-9.1.0/find-requires
--- redhat-rpm-config-9.1.0_old/find-requires    2013-03-22 10:48:56.343881193 +0800
+++ redhat-rpm-config-9.1.0/find-requires    2013-03-22 10:49:31.727892674 +0800
@@ -153,8 +153,7 @@
     fi
 done
-# Disabling for now while the Fedora kernel doesn't produce kABI deps.
-#[ -x /usr/lib/rpm/redhat/find-requires.ksyms ] && [ "$is_kmod" ] &&
-#    printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/redhat/find-requires.ksyms
+[ -x /usr/lib/rpm/redhat/find-requires.ksyms ] && [ "$is_kmod" ] &&
+    printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/redhat/find-requires.ksyms
 exit 0
diff -Nuar redhat-rpm-config-9.1.0_old/find-requires.ksyms redhat-rpm-config-9.1.0/find-requires.ksyms
--- redhat-rpm-config-9.1.0_old/find-requires.ksyms    2013-03-22 10:48:56.343881193 +0800
+++ redhat-rpm-config-9.1.0/find-requires.ksyms    2013-03-22 10:49:31.728892676 +0800
@@ -1,20 +1,41 @@
 #! /bin/bash
+#
+# This script is called during external module building to create dependencies
+# both upon the RHEL kernel, and on additional external modules. Symbols that
+# cannot be reconciled against those provided by the kernel are assumed to be
+# provided by an external module and "ksym" replaces th regular "kernel" dep.
 IFS=$'\n'
+# Extract all of the symbols provided by this module.
 all_provides() {
     nm "$@" \
-    | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):\1\t\2:p' \
-    | sort -k2 -u
+    | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \
+    | awk --non-decimal-data '{printf("0x%08x\t%s\n", $1, $2)}' \
+    | LANG=C sort -k2,2 -u
 }
+# Extract all of the requirements of this module.
 all_requires() {
     for module in "$@"; do
         set -- $(/sbin/modinfo -F vermagic "$module" | sed -e 's: .*::' -e q)