aboutsummaryrefslogtreecommitdiff
path: root/vendor/gmp-6.3.0/config.sub
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gmp-6.3.0/config.sub')
-rwxr-xr-xvendor/gmp-6.3.0/config.sub165
1 files changed, 165 insertions, 0 deletions
diff --git a/vendor/gmp-6.3.0/config.sub b/vendor/gmp-6.3.0/config.sub
new file mode 100755
index 0000000..7da560e
--- /dev/null
+++ b/vendor/gmp-6.3.0/config.sub
@@ -0,0 +1,165 @@
+#! /bin/sh
+#
+# GMP config.sub wrapper.
+
+
+# Copyright 2000-2003, 2006, 2009-2016 Free Software Foundation, Inc.
+#
+# This file is part of the GNU MP Library.
+#
+# The GNU MP Library is free software; you can redistribute it and/or modify
+# it under the terms of either:
+#
+# * the GNU Lesser General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# or
+#
+# * the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any
+# later version.
+#
+# or both in parallel, as here.
+#
+# The GNU MP Library 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 copies of the GNU General Public License and the
+# GNU Lesser General Public License along with the GNU MP Library. If not,
+# see https://www.gnu.org/licenses/.
+
+
+# Usage: config.sub CPU-VENDOR-OS
+# config.sub ALIAS
+#
+# Validate and canonicalize the given configuration name, with special
+# handling for GMP extra CPU names.
+#
+# When the CPU isn't special the whole name is simply passed straight
+# through to configfsf.sub.
+#
+# When the CPU is a GMP extra, configfsf.sub is run on a similar CPU that it
+# will recognise. For example "athlon-pc-freebsd3.5" is validated using
+# "i386-pc-freebsd3.5".
+#
+# Any canonicalizations made by configfsf.sub are preserved. For example
+# given "athlon-linux", configfsf.sub is called with "i386-linux" and will
+# give back "i386-pc-linux-gnu". "athlon" is then reinstated, so we print
+# "athlon-pc-linux-gnu".
+
+
+# Expect to find configfsf.sub in the same directory as this config.sub
+configfsf_sub="`echo \"$0\" | sed 's/config.sub$/configfsf.sub/'`"
+if test "$configfsf_sub" = "$0"; then
+ echo "Cannot derive configfsf.sub from $0" 1>&2
+ exit 1
+fi
+if test -f "$configfsf_sub"; then
+ :
+else
+ echo "$configfsf_sub not found" 1>&2
+ exit 1
+fi
+
+# Always run configfsf.sub with $SHELL, like autoconf does for config.sub
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identify ourselves on --version, --help, etc
+case "$1" in
+"" | -*)
+ echo "(GNU MP wrapped config.sub)" 1>&2
+ $SHELL $configfsf_sub "$@"
+ exit
+ ;;
+esac
+
+given_full="$1"
+given_cpu=`echo "$given_full" | sed 's/-.*$//'`
+given_rest=`echo "$given_full" | sed 's/^[^-]*//'`
+
+
+# Aliases for GMP extras
+case "$given_cpu" in
+ # configfsf.sub turns p5 into i586, instead use our exact cpu type
+ p5 | p54) given_cpu=pentium ;;
+ p55) given_cpu=pentiummmx ;;
+
+ # configfsf.sub turns p6, pentiumii and pentiumiii into i686, instead use
+ # our exact cpu types
+ p6) given_cpu=pentiumpro ;;
+ pentiumii) given_cpu=pentium2 ;;
+ pentiumiii) given_cpu=pentium3 ;;
+esac
+given_full="$given_cpu$given_rest"
+
+
+# GMP extras and what to use for the config.sub test
+case "$given_cpu" in
+itanium | itanium2)
+ test_cpu=ia64 ;;
+pentium | pentiummmx | pentiumpro | pentium[234m] | k[567] | k6[23] | geode | athlon | viac3*)
+ test_cpu=i386 ;;
+athlon64 | atom | silvermont | goldmont | tremont | core2 | corei* | opteron | k[89] | k10 | bobcat | jaguar* | bulldozer* | piledriver* | steamroller* | excavator* | zen* | nano | nehalem | westmere | sandybridge* | ivybridge* | haswell* | broadwell* | skylake* | kabylake* | icelake* | rocketlake* | tigerlake* | alderlake* | raptorlake* | knightslanding)
+ test_cpu=x86_64 ;;
+power[2-9] | power1[0-9] | power2sc)
+ test_cpu=power ;;
+powerpc401 | powerpc403 | powerpc405 | \
+powerpc505 | \
+powerpc601 | powerpc602 | \
+powerpc603 | powerpc603e | \
+powerpc604 | powerpc604e | \
+powerpc620 | powerpc630 | powerpc970 | \
+powerpc740 | powerpc74[0-9][0-9] | powerpc750 | \
+powerpc801 | powerpc821 | powerpc823 | powerpc860 | \
+powerpc64)
+ test_cpu=powerpc ;;
+sparcv8 | supersparc | microsparc | \
+ultrasparc | ultrasparc2 | ultrasparc2i | ultrasparc3 | ultrasparct[12345])
+ test_cpu=sparc ;;
+sh2)
+ test_cpu=sh ;;
+
+z900 | z990 | z9 | z1[0-6] | z196)
+ test_cpu=s390x;;
+z900esa | z990esa | z9esa | z1[0-6]esa | z196esa)
+ test_cpu=s390;;
+
+armsa1 | armxscale | arm9tdmi | arm9te | \
+arm10* | arm11mpcore | armsa1 | arm1136 | arm1156 | arm1176 | \
+armcortex[arm][0-9] | armcortex[arm][0-9][0-9] | \
+arm*neon | armxgene1 | armexynosm1 | armthunderx | applem[1-9])
+ test_cpu="arm";;
+
+*)
+ # Don't need or want to change the given name, just run configfsf.sub
+ $SHELL $configfsf_sub "$given_full"
+ if test $? = 0; then
+ exit 0
+ else
+ echo "(GNU MP wrapped config.sub, testing \"$given_full\")"
+ exit 1
+ fi
+esac
+
+
+test_full="$test_cpu$given_rest"
+canonical_full=`$SHELL $configfsf_sub "$test_full"`
+if test $? = 0; then
+ :
+else
+ echo "(GNU MP wrapped config.sub, testing \"$given_full\" as \"$test_full\")"
+ exit 1
+fi
+
+canonical_rest=`echo "$canonical_full" | sed 's/^[^-]*//'`
+echo "$given_cpu$canonical_rest"
+exit 0
+
+
+
+# Local variables:
+# fill-column: 76
+# End: