vinted-memcached 1.8.4 → 1.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/build_release_pipeline.yaml +53 -0
- data/.gitignore +33 -0
- data/BENCHMARKS +130 -126
- data/CHANGELOG +1 -6
- data/Gemfile +8 -1
- data/Gemfile.lock +25 -38
- data/README.md +144 -0
- data/Rakefile +21 -93
- data/ext/rlibmemcached/extconf.rb +76 -0
- data/ext/{rlibmemcached.i → rlibmemcached/rlibmemcached.i} +48 -69
- data/ext/{rlibmemcached_wrap.c → rlibmemcached/rlibmemcached_wrap.c} +146 -320
- data/lib/memcached/exceptions.rb +1 -12
- data/lib/memcached/experimental.rb +1 -33
- data/lib/memcached/memcached.rb +41 -34
- data/lib/memcached/version.rb +1 -1
- data/lib/memcached.rb +9 -4
- data/memcached.gemspec +0 -0
- data/memcached.pem +21 -0
- data/vendor/libmemcached-0.32/config/config.guess +1815 -0
- data/vendor/libmemcached-0.32/config/config.sub +2354 -0
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_connect.c +23 -13
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_io.c +18 -13
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_purge.c +1 -1
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_storage.c +16 -25
- metadata +195 -249
- data/Manifest +0 -209
- data/README.rdoc +0 -124
- data/ext/extconf-make.rb +0 -25
- data/ext/extconf.rb +0 -78
- data/ext/libmemcached-0.32/config/config.guess +0 -1561
- data/ext/libmemcached-0.32/config/config.sub +0 -1686
- data/lib/memcached/auth.rb +0 -16
- data/test/profile/benchmark.rb +0 -280
- data/test/profile/c_profiler.rb +0 -14
- data/test/profile/exercise.rb +0 -185
- data/test/profile/rb_profiler.rb +0 -21
- data/test/profile/valgrind.rb +0 -10
- data/test/setup.rb +0 -30
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +0 -18
- data/test/unit/binding_test.rb +0 -8
- data/test/unit/memcached_experimental_test.rb +0 -272
- data/test/unit/memcached_test.rb +0 -1487
- data/test/unit/rails_test.rb +0 -330
- /data/{ext → vendor}/libmemcached-0.32/AUTHORS +0 -0
- /data/{ext → vendor}/libmemcached-0.32/COPYING +0 -0
- /data/{ext → vendor}/libmemcached-0.32/ChangeLog +0 -0
- /data/{ext → vendor}/libmemcached-0.32/INSTALL +0 -0
- /data/{ext → vendor}/libmemcached-0.32/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/NEWS +0 -0
- /data/{ext → vendor}/libmemcached-0.32/README +0 -0
- /data/{ext → vendor}/libmemcached-0.32/THANKS +0 -0
- /data/{ext → vendor}/libmemcached-0.32/TODO +0 -0
- /data/{ext → vendor}/libmemcached-0.32/aclocal.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/client_options.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/execute.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/execute.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/generator.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/generator.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memcat.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memcp.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memdump.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memerror.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memflush.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memrm.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memslap.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memstat.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/utilities.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/utilities.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/compile +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/config.rpath +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/depcomp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/install-sh +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/ltmain.sh +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/missing +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config.h.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/configure +0 -0
- /data/{ext → vendor}/libmemcached-0.32/configure.ac +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/byteorder.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/common.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/crc.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/hsieh_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/jenkins_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/libmemcached.ver +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/libmemcached_probes.d +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/libmemcached_probes.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/md5.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached/README.txt +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached.hpp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_allocators.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_analyze.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_auto.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_behavior.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_callback.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_configure.h.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_constants.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_do.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_dump.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_exist.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_exist.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_fetch.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_flush.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_flush_buffers.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_get.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_get.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_hosts.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_internal.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_io.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_key.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_parse.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_pool.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_quit.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_response.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_result.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_result.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_sasl.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_sasl.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_server.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_server.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_stats.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_storage.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_strerror.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_string.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_string.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_touch.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_touch.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_types.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_util.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_verbosity.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_version.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_watchpoint.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/murmur_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/visibility.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/memcached_pool.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/acx_pthread.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/byteorder.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/deprecated.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/enable_utillib.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/extensions.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/hsieh.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/lib-prefix.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/libtool.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ltoptions.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ltsugar.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ltversion.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/lt~obsolete.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/memcached.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_64bit.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_canonical.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_check_compiler_version.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_check_cxx_standard.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_enable_dtrace.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_have_better_malloc.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_have_sasl.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_header_assert.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_libtool.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_optimize.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_shared_ptr.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_vc_build.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_warnings.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pod2man.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/protocol_binary.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/setsockopt.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/visibility.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached-fc.spec.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached.pc.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached.spec +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached.spec.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/set_benchmark.sh +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/atomsmasher.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/function.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/ketama_test_cases.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/output.cmp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/output.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/output2.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/plus.cpp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memcat.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memcp.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memrm.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memslap.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memstat.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/server.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/server.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/start.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memcat.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memcp.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memrm.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memslap.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memstat.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/test.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/test.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/udp.c +0 -0
@@ -0,0 +1,2354 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
# Configuration validation subroutine script.
|
3
|
+
# Copyright 1992-2024 Free Software Foundation, Inc.
|
4
|
+
|
5
|
+
# shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
|
6
|
+
|
7
|
+
timestamp='2024-05-27'
|
8
|
+
|
9
|
+
# This file is free software; you can redistribute it and/or modify it
|
10
|
+
# under the terms of the GNU General Public License as published by
|
11
|
+
# the Free Software Foundation, either version 3 of the License, or
|
12
|
+
# (at your option) any later version.
|
13
|
+
#
|
14
|
+
# This program is distributed in the hope that it will be useful, but
|
15
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
# General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU General Public License
|
20
|
+
# along with this program; if not, see <https://www.gnu.org/licenses/>.
|
21
|
+
#
|
22
|
+
# As a special exception to the GNU General Public License, if you
|
23
|
+
# distribute this file as part of a program that contains a
|
24
|
+
# configuration script generated by Autoconf, you may include it under
|
25
|
+
# the same distribution terms that you use for the rest of that
|
26
|
+
# program. This Exception is an additional permission under section 7
|
27
|
+
# of the GNU General Public License, version 3 ("GPLv3").
|
28
|
+
|
29
|
+
|
30
|
+
# Please send patches to <config-patches@gnu.org>.
|
31
|
+
#
|
32
|
+
# Configuration subroutine to validate and canonicalize a configuration type.
|
33
|
+
# Supply the specified configuration type as an argument.
|
34
|
+
# If it is invalid, we print an error message on stderr and exit with code 1.
|
35
|
+
# Otherwise, we print the canonical config type on stdout and succeed.
|
36
|
+
|
37
|
+
# You can get the latest version of this script from:
|
38
|
+
# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
|
39
|
+
|
40
|
+
# This file is supposed to be the same for all GNU packages
|
41
|
+
# and recognize all the CPU types, system types and aliases
|
42
|
+
# that are meaningful with *any* GNU software.
|
43
|
+
# Each package is responsible for reporting which valid configurations
|
44
|
+
# it does not support. The user should be able to distinguish
|
45
|
+
# a failure to support a valid configuration from a meaningless
|
46
|
+
# configuration.
|
47
|
+
|
48
|
+
# The goal of this file is to map all the various variations of a given
|
49
|
+
# machine specification into a single specification in the form:
|
50
|
+
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
51
|
+
# or in some cases, the newer four-part form:
|
52
|
+
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
53
|
+
# It is wrong to echo any other type of specification.
|
54
|
+
|
55
|
+
# The "shellcheck disable" line above the timestamp inhibits complaints
|
56
|
+
# about features and limitations of the classic Bourne shell that were
|
57
|
+
# superseded or lifted in POSIX. However, this script identifies a wide
|
58
|
+
# variety of pre-POSIX systems that do not have POSIX shells at all, and
|
59
|
+
# even some reasonably current systems (Solaris 10 as case-in-point) still
|
60
|
+
# have a pre-POSIX /bin/sh.
|
61
|
+
|
62
|
+
me=`echo "$0" | sed -e 's,.*/,,'`
|
63
|
+
|
64
|
+
usage="\
|
65
|
+
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
|
66
|
+
|
67
|
+
Canonicalize a configuration name.
|
68
|
+
|
69
|
+
Options:
|
70
|
+
-h, --help print this help, then exit
|
71
|
+
-t, --time-stamp print date of last modification, then exit
|
72
|
+
-v, --version print version number, then exit
|
73
|
+
|
74
|
+
Report bugs and patches to <config-patches@gnu.org>."
|
75
|
+
|
76
|
+
version="\
|
77
|
+
GNU config.sub ($timestamp)
|
78
|
+
|
79
|
+
Copyright 1992-2024 Free Software Foundation, Inc.
|
80
|
+
|
81
|
+
This is free software; see the source for copying conditions. There is NO
|
82
|
+
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
83
|
+
|
84
|
+
help="
|
85
|
+
Try '$me --help' for more information."
|
86
|
+
|
87
|
+
# Parse command line
|
88
|
+
while test $# -gt 0 ; do
|
89
|
+
case $1 in
|
90
|
+
--time-stamp | --time* | -t )
|
91
|
+
echo "$timestamp" ; exit ;;
|
92
|
+
--version | -v )
|
93
|
+
echo "$version" ; exit ;;
|
94
|
+
--help | --h* | -h )
|
95
|
+
echo "$usage"; exit ;;
|
96
|
+
-- ) # Stop option processing
|
97
|
+
shift; break ;;
|
98
|
+
- ) # Use stdin as input.
|
99
|
+
break ;;
|
100
|
+
-* )
|
101
|
+
echo "$me: invalid option $1$help" >&2
|
102
|
+
exit 1 ;;
|
103
|
+
|
104
|
+
*local*)
|
105
|
+
# First pass through any local machine types.
|
106
|
+
echo "$1"
|
107
|
+
exit ;;
|
108
|
+
|
109
|
+
* )
|
110
|
+
break ;;
|
111
|
+
esac
|
112
|
+
done
|
113
|
+
|
114
|
+
case $# in
|
115
|
+
0) echo "$me: missing argument$help" >&2
|
116
|
+
exit 1;;
|
117
|
+
1) ;;
|
118
|
+
*) echo "$me: too many arguments$help" >&2
|
119
|
+
exit 1;;
|
120
|
+
esac
|
121
|
+
|
122
|
+
# Split fields of configuration type
|
123
|
+
saved_IFS=$IFS
|
124
|
+
IFS="-" read field1 field2 field3 field4 <<EOF
|
125
|
+
$1
|
126
|
+
EOF
|
127
|
+
IFS=$saved_IFS
|
128
|
+
|
129
|
+
# Separate into logical components for further validation
|
130
|
+
case $1 in
|
131
|
+
*-*-*-*-*)
|
132
|
+
echo "Invalid configuration '$1': more than four components" >&2
|
133
|
+
exit 1
|
134
|
+
;;
|
135
|
+
*-*-*-*)
|
136
|
+
basic_machine=$field1-$field2
|
137
|
+
basic_os=$field3-$field4
|
138
|
+
;;
|
139
|
+
*-*-*)
|
140
|
+
# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
|
141
|
+
# parts
|
142
|
+
maybe_os=$field2-$field3
|
143
|
+
case $maybe_os in
|
144
|
+
cloudabi*-eabi* \
|
145
|
+
| kfreebsd*-gnu* \
|
146
|
+
| knetbsd*-gnu* \
|
147
|
+
| kopensolaris*-gnu* \
|
148
|
+
| linux-* \
|
149
|
+
| managarm-* \
|
150
|
+
| netbsd*-eabi* \
|
151
|
+
| netbsd*-gnu* \
|
152
|
+
| nto-qnx* \
|
153
|
+
| os2-emx* \
|
154
|
+
| rtmk-nova* \
|
155
|
+
| storm-chaos* \
|
156
|
+
| uclinux-gnu* \
|
157
|
+
| uclinux-uclibc* \
|
158
|
+
| windows-* )
|
159
|
+
basic_machine=$field1
|
160
|
+
basic_os=$maybe_os
|
161
|
+
;;
|
162
|
+
android-linux)
|
163
|
+
basic_machine=$field1-unknown
|
164
|
+
basic_os=linux-android
|
165
|
+
;;
|
166
|
+
*)
|
167
|
+
basic_machine=$field1-$field2
|
168
|
+
basic_os=$field3
|
169
|
+
;;
|
170
|
+
esac
|
171
|
+
;;
|
172
|
+
*-*)
|
173
|
+
case $field1-$field2 in
|
174
|
+
# Shorthands that happen to contain a single dash
|
175
|
+
convex-c[12] | convex-c3[248])
|
176
|
+
basic_machine=$field2-convex
|
177
|
+
basic_os=
|
178
|
+
;;
|
179
|
+
decstation-3100)
|
180
|
+
basic_machine=mips-dec
|
181
|
+
basic_os=
|
182
|
+
;;
|
183
|
+
*-*)
|
184
|
+
# Second component is usually, but not always the OS
|
185
|
+
case $field2 in
|
186
|
+
# Do not treat sunos as a manufacturer
|
187
|
+
sun*os*)
|
188
|
+
basic_machine=$field1
|
189
|
+
basic_os=$field2
|
190
|
+
;;
|
191
|
+
# Manufacturers
|
192
|
+
3100* \
|
193
|
+
| 32* \
|
194
|
+
| 3300* \
|
195
|
+
| 3600* \
|
196
|
+
| 7300* \
|
197
|
+
| acorn \
|
198
|
+
| altos* \
|
199
|
+
| apollo \
|
200
|
+
| apple \
|
201
|
+
| atari \
|
202
|
+
| att* \
|
203
|
+
| axis \
|
204
|
+
| be \
|
205
|
+
| bull \
|
206
|
+
| cbm \
|
207
|
+
| ccur \
|
208
|
+
| cisco \
|
209
|
+
| commodore \
|
210
|
+
| convergent* \
|
211
|
+
| convex* \
|
212
|
+
| cray \
|
213
|
+
| crds \
|
214
|
+
| dec* \
|
215
|
+
| delta* \
|
216
|
+
| dg \
|
217
|
+
| digital \
|
218
|
+
| dolphin \
|
219
|
+
| encore* \
|
220
|
+
| gould \
|
221
|
+
| harris \
|
222
|
+
| highlevel \
|
223
|
+
| hitachi* \
|
224
|
+
| hp \
|
225
|
+
| ibm* \
|
226
|
+
| intergraph \
|
227
|
+
| isi* \
|
228
|
+
| knuth \
|
229
|
+
| masscomp \
|
230
|
+
| microblaze* \
|
231
|
+
| mips* \
|
232
|
+
| motorola* \
|
233
|
+
| ncr* \
|
234
|
+
| news \
|
235
|
+
| next \
|
236
|
+
| ns \
|
237
|
+
| oki \
|
238
|
+
| omron* \
|
239
|
+
| pc533* \
|
240
|
+
| rebel \
|
241
|
+
| rom68k \
|
242
|
+
| rombug \
|
243
|
+
| semi \
|
244
|
+
| sequent* \
|
245
|
+
| siemens \
|
246
|
+
| sgi* \
|
247
|
+
| siemens \
|
248
|
+
| sim \
|
249
|
+
| sni \
|
250
|
+
| sony* \
|
251
|
+
| stratus \
|
252
|
+
| sun \
|
253
|
+
| sun[234]* \
|
254
|
+
| tektronix \
|
255
|
+
| tti* \
|
256
|
+
| ultra \
|
257
|
+
| unicom* \
|
258
|
+
| wec \
|
259
|
+
| winbond \
|
260
|
+
| wrs)
|
261
|
+
basic_machine=$field1-$field2
|
262
|
+
basic_os=
|
263
|
+
;;
|
264
|
+
zephyr*)
|
265
|
+
basic_machine=$field1-unknown
|
266
|
+
basic_os=$field2
|
267
|
+
;;
|
268
|
+
*)
|
269
|
+
basic_machine=$field1
|
270
|
+
basic_os=$field2
|
271
|
+
;;
|
272
|
+
esac
|
273
|
+
;;
|
274
|
+
esac
|
275
|
+
;;
|
276
|
+
*)
|
277
|
+
# Convert single-component short-hands not valid as part of
|
278
|
+
# multi-component configurations.
|
279
|
+
case $field1 in
|
280
|
+
386bsd)
|
281
|
+
basic_machine=i386-pc
|
282
|
+
basic_os=bsd
|
283
|
+
;;
|
284
|
+
a29khif)
|
285
|
+
basic_machine=a29k-amd
|
286
|
+
basic_os=udi
|
287
|
+
;;
|
288
|
+
adobe68k)
|
289
|
+
basic_machine=m68010-adobe
|
290
|
+
basic_os=scout
|
291
|
+
;;
|
292
|
+
alliant)
|
293
|
+
basic_machine=fx80-alliant
|
294
|
+
basic_os=
|
295
|
+
;;
|
296
|
+
altos | altos3068)
|
297
|
+
basic_machine=m68k-altos
|
298
|
+
basic_os=
|
299
|
+
;;
|
300
|
+
am29k)
|
301
|
+
basic_machine=a29k-none
|
302
|
+
basic_os=bsd
|
303
|
+
;;
|
304
|
+
amdahl)
|
305
|
+
basic_machine=580-amdahl
|
306
|
+
basic_os=sysv
|
307
|
+
;;
|
308
|
+
amiga)
|
309
|
+
basic_machine=m68k-unknown
|
310
|
+
basic_os=
|
311
|
+
;;
|
312
|
+
amigaos | amigados)
|
313
|
+
basic_machine=m68k-unknown
|
314
|
+
basic_os=amigaos
|
315
|
+
;;
|
316
|
+
amigaunix | amix)
|
317
|
+
basic_machine=m68k-unknown
|
318
|
+
basic_os=sysv4
|
319
|
+
;;
|
320
|
+
apollo68)
|
321
|
+
basic_machine=m68k-apollo
|
322
|
+
basic_os=sysv
|
323
|
+
;;
|
324
|
+
apollo68bsd)
|
325
|
+
basic_machine=m68k-apollo
|
326
|
+
basic_os=bsd
|
327
|
+
;;
|
328
|
+
aros)
|
329
|
+
basic_machine=i386-pc
|
330
|
+
basic_os=aros
|
331
|
+
;;
|
332
|
+
aux)
|
333
|
+
basic_machine=m68k-apple
|
334
|
+
basic_os=aux
|
335
|
+
;;
|
336
|
+
balance)
|
337
|
+
basic_machine=ns32k-sequent
|
338
|
+
basic_os=dynix
|
339
|
+
;;
|
340
|
+
blackfin)
|
341
|
+
basic_machine=bfin-unknown
|
342
|
+
basic_os=linux
|
343
|
+
;;
|
344
|
+
cegcc)
|
345
|
+
basic_machine=arm-unknown
|
346
|
+
basic_os=cegcc
|
347
|
+
;;
|
348
|
+
cray)
|
349
|
+
basic_machine=j90-cray
|
350
|
+
basic_os=unicos
|
351
|
+
;;
|
352
|
+
crds | unos)
|
353
|
+
basic_machine=m68k-crds
|
354
|
+
basic_os=
|
355
|
+
;;
|
356
|
+
da30)
|
357
|
+
basic_machine=m68k-da30
|
358
|
+
basic_os=
|
359
|
+
;;
|
360
|
+
decstation | pmax | pmin | dec3100 | decstatn)
|
361
|
+
basic_machine=mips-dec
|
362
|
+
basic_os=
|
363
|
+
;;
|
364
|
+
delta88)
|
365
|
+
basic_machine=m88k-motorola
|
366
|
+
basic_os=sysv3
|
367
|
+
;;
|
368
|
+
dicos)
|
369
|
+
basic_machine=i686-pc
|
370
|
+
basic_os=dicos
|
371
|
+
;;
|
372
|
+
djgpp)
|
373
|
+
basic_machine=i586-pc
|
374
|
+
basic_os=msdosdjgpp
|
375
|
+
;;
|
376
|
+
ebmon29k)
|
377
|
+
basic_machine=a29k-amd
|
378
|
+
basic_os=ebmon
|
379
|
+
;;
|
380
|
+
es1800 | OSE68k | ose68k | ose | OSE)
|
381
|
+
basic_machine=m68k-ericsson
|
382
|
+
basic_os=ose
|
383
|
+
;;
|
384
|
+
gmicro)
|
385
|
+
basic_machine=tron-gmicro
|
386
|
+
basic_os=sysv
|
387
|
+
;;
|
388
|
+
go32)
|
389
|
+
basic_machine=i386-pc
|
390
|
+
basic_os=go32
|
391
|
+
;;
|
392
|
+
h8300hms)
|
393
|
+
basic_machine=h8300-hitachi
|
394
|
+
basic_os=hms
|
395
|
+
;;
|
396
|
+
h8300xray)
|
397
|
+
basic_machine=h8300-hitachi
|
398
|
+
basic_os=xray
|
399
|
+
;;
|
400
|
+
h8500hms)
|
401
|
+
basic_machine=h8500-hitachi
|
402
|
+
basic_os=hms
|
403
|
+
;;
|
404
|
+
harris)
|
405
|
+
basic_machine=m88k-harris
|
406
|
+
basic_os=sysv3
|
407
|
+
;;
|
408
|
+
hp300 | hp300hpux)
|
409
|
+
basic_machine=m68k-hp
|
410
|
+
basic_os=hpux
|
411
|
+
;;
|
412
|
+
hp300bsd)
|
413
|
+
basic_machine=m68k-hp
|
414
|
+
basic_os=bsd
|
415
|
+
;;
|
416
|
+
hppaosf)
|
417
|
+
basic_machine=hppa1.1-hp
|
418
|
+
basic_os=osf
|
419
|
+
;;
|
420
|
+
hppro)
|
421
|
+
basic_machine=hppa1.1-hp
|
422
|
+
basic_os=proelf
|
423
|
+
;;
|
424
|
+
i386mach)
|
425
|
+
basic_machine=i386-mach
|
426
|
+
basic_os=mach
|
427
|
+
;;
|
428
|
+
isi68 | isi)
|
429
|
+
basic_machine=m68k-isi
|
430
|
+
basic_os=sysv
|
431
|
+
;;
|
432
|
+
m68knommu)
|
433
|
+
basic_machine=m68k-unknown
|
434
|
+
basic_os=linux
|
435
|
+
;;
|
436
|
+
magnum | m3230)
|
437
|
+
basic_machine=mips-mips
|
438
|
+
basic_os=sysv
|
439
|
+
;;
|
440
|
+
merlin)
|
441
|
+
basic_machine=ns32k-utek
|
442
|
+
basic_os=sysv
|
443
|
+
;;
|
444
|
+
mingw64)
|
445
|
+
basic_machine=x86_64-pc
|
446
|
+
basic_os=mingw64
|
447
|
+
;;
|
448
|
+
mingw32)
|
449
|
+
basic_machine=i686-pc
|
450
|
+
basic_os=mingw32
|
451
|
+
;;
|
452
|
+
mingw32ce)
|
453
|
+
basic_machine=arm-unknown
|
454
|
+
basic_os=mingw32ce
|
455
|
+
;;
|
456
|
+
monitor)
|
457
|
+
basic_machine=m68k-rom68k
|
458
|
+
basic_os=coff
|
459
|
+
;;
|
460
|
+
morphos)
|
461
|
+
basic_machine=powerpc-unknown
|
462
|
+
basic_os=morphos
|
463
|
+
;;
|
464
|
+
moxiebox)
|
465
|
+
basic_machine=moxie-unknown
|
466
|
+
basic_os=moxiebox
|
467
|
+
;;
|
468
|
+
msdos)
|
469
|
+
basic_machine=i386-pc
|
470
|
+
basic_os=msdos
|
471
|
+
;;
|
472
|
+
msys)
|
473
|
+
basic_machine=i686-pc
|
474
|
+
basic_os=msys
|
475
|
+
;;
|
476
|
+
mvs)
|
477
|
+
basic_machine=i370-ibm
|
478
|
+
basic_os=mvs
|
479
|
+
;;
|
480
|
+
nacl)
|
481
|
+
basic_machine=le32-unknown
|
482
|
+
basic_os=nacl
|
483
|
+
;;
|
484
|
+
ncr3000)
|
485
|
+
basic_machine=i486-ncr
|
486
|
+
basic_os=sysv4
|
487
|
+
;;
|
488
|
+
netbsd386)
|
489
|
+
basic_machine=i386-pc
|
490
|
+
basic_os=netbsd
|
491
|
+
;;
|
492
|
+
netwinder)
|
493
|
+
basic_machine=armv4l-rebel
|
494
|
+
basic_os=linux
|
495
|
+
;;
|
496
|
+
news | news700 | news800 | news900)
|
497
|
+
basic_machine=m68k-sony
|
498
|
+
basic_os=newsos
|
499
|
+
;;
|
500
|
+
news1000)
|
501
|
+
basic_machine=m68030-sony
|
502
|
+
basic_os=newsos
|
503
|
+
;;
|
504
|
+
necv70)
|
505
|
+
basic_machine=v70-nec
|
506
|
+
basic_os=sysv
|
507
|
+
;;
|
508
|
+
nh3000)
|
509
|
+
basic_machine=m68k-harris
|
510
|
+
basic_os=cxux
|
511
|
+
;;
|
512
|
+
nh[45]000)
|
513
|
+
basic_machine=m88k-harris
|
514
|
+
basic_os=cxux
|
515
|
+
;;
|
516
|
+
nindy960)
|
517
|
+
basic_machine=i960-intel
|
518
|
+
basic_os=nindy
|
519
|
+
;;
|
520
|
+
mon960)
|
521
|
+
basic_machine=i960-intel
|
522
|
+
basic_os=mon960
|
523
|
+
;;
|
524
|
+
nonstopux)
|
525
|
+
basic_machine=mips-compaq
|
526
|
+
basic_os=nonstopux
|
527
|
+
;;
|
528
|
+
os400)
|
529
|
+
basic_machine=powerpc-ibm
|
530
|
+
basic_os=os400
|
531
|
+
;;
|
532
|
+
OSE68000 | ose68000)
|
533
|
+
basic_machine=m68000-ericsson
|
534
|
+
basic_os=ose
|
535
|
+
;;
|
536
|
+
os68k)
|
537
|
+
basic_machine=m68k-none
|
538
|
+
basic_os=os68k
|
539
|
+
;;
|
540
|
+
paragon)
|
541
|
+
basic_machine=i860-intel
|
542
|
+
basic_os=osf
|
543
|
+
;;
|
544
|
+
parisc)
|
545
|
+
basic_machine=hppa-unknown
|
546
|
+
basic_os=linux
|
547
|
+
;;
|
548
|
+
psp)
|
549
|
+
basic_machine=mipsallegrexel-sony
|
550
|
+
basic_os=psp
|
551
|
+
;;
|
552
|
+
pw32)
|
553
|
+
basic_machine=i586-unknown
|
554
|
+
basic_os=pw32
|
555
|
+
;;
|
556
|
+
rdos | rdos64)
|
557
|
+
basic_machine=x86_64-pc
|
558
|
+
basic_os=rdos
|
559
|
+
;;
|
560
|
+
rdos32)
|
561
|
+
basic_machine=i386-pc
|
562
|
+
basic_os=rdos
|
563
|
+
;;
|
564
|
+
rom68k)
|
565
|
+
basic_machine=m68k-rom68k
|
566
|
+
basic_os=coff
|
567
|
+
;;
|
568
|
+
sa29200)
|
569
|
+
basic_machine=a29k-amd
|
570
|
+
basic_os=udi
|
571
|
+
;;
|
572
|
+
sei)
|
573
|
+
basic_machine=mips-sei
|
574
|
+
basic_os=seiux
|
575
|
+
;;
|
576
|
+
sequent)
|
577
|
+
basic_machine=i386-sequent
|
578
|
+
basic_os=
|
579
|
+
;;
|
580
|
+
sps7)
|
581
|
+
basic_machine=m68k-bull
|
582
|
+
basic_os=sysv2
|
583
|
+
;;
|
584
|
+
st2000)
|
585
|
+
basic_machine=m68k-tandem
|
586
|
+
basic_os=
|
587
|
+
;;
|
588
|
+
stratus)
|
589
|
+
basic_machine=i860-stratus
|
590
|
+
basic_os=sysv4
|
591
|
+
;;
|
592
|
+
sun2)
|
593
|
+
basic_machine=m68000-sun
|
594
|
+
basic_os=
|
595
|
+
;;
|
596
|
+
sun2os3)
|
597
|
+
basic_machine=m68000-sun
|
598
|
+
basic_os=sunos3
|
599
|
+
;;
|
600
|
+
sun2os4)
|
601
|
+
basic_machine=m68000-sun
|
602
|
+
basic_os=sunos4
|
603
|
+
;;
|
604
|
+
sun3)
|
605
|
+
basic_machine=m68k-sun
|
606
|
+
basic_os=
|
607
|
+
;;
|
608
|
+
sun3os3)
|
609
|
+
basic_machine=m68k-sun
|
610
|
+
basic_os=sunos3
|
611
|
+
;;
|
612
|
+
sun3os4)
|
613
|
+
basic_machine=m68k-sun
|
614
|
+
basic_os=sunos4
|
615
|
+
;;
|
616
|
+
sun4)
|
617
|
+
basic_machine=sparc-sun
|
618
|
+
basic_os=
|
619
|
+
;;
|
620
|
+
sun4os3)
|
621
|
+
basic_machine=sparc-sun
|
622
|
+
basic_os=sunos3
|
623
|
+
;;
|
624
|
+
sun4os4)
|
625
|
+
basic_machine=sparc-sun
|
626
|
+
basic_os=sunos4
|
627
|
+
;;
|
628
|
+
sun4sol2)
|
629
|
+
basic_machine=sparc-sun
|
630
|
+
basic_os=solaris2
|
631
|
+
;;
|
632
|
+
sun386 | sun386i | roadrunner)
|
633
|
+
basic_machine=i386-sun
|
634
|
+
basic_os=
|
635
|
+
;;
|
636
|
+
sv1)
|
637
|
+
basic_machine=sv1-cray
|
638
|
+
basic_os=unicos
|
639
|
+
;;
|
640
|
+
symmetry)
|
641
|
+
basic_machine=i386-sequent
|
642
|
+
basic_os=dynix
|
643
|
+
;;
|
644
|
+
t3e)
|
645
|
+
basic_machine=alphaev5-cray
|
646
|
+
basic_os=unicos
|
647
|
+
;;
|
648
|
+
t90)
|
649
|
+
basic_machine=t90-cray
|
650
|
+
basic_os=unicos
|
651
|
+
;;
|
652
|
+
toad1)
|
653
|
+
basic_machine=pdp10-xkl
|
654
|
+
basic_os=tops20
|
655
|
+
;;
|
656
|
+
tpf)
|
657
|
+
basic_machine=s390x-ibm
|
658
|
+
basic_os=tpf
|
659
|
+
;;
|
660
|
+
udi29k)
|
661
|
+
basic_machine=a29k-amd
|
662
|
+
basic_os=udi
|
663
|
+
;;
|
664
|
+
ultra3)
|
665
|
+
basic_machine=a29k-nyu
|
666
|
+
basic_os=sym1
|
667
|
+
;;
|
668
|
+
v810 | necv810)
|
669
|
+
basic_machine=v810-nec
|
670
|
+
basic_os=none
|
671
|
+
;;
|
672
|
+
vaxv)
|
673
|
+
basic_machine=vax-dec
|
674
|
+
basic_os=sysv
|
675
|
+
;;
|
676
|
+
vms)
|
677
|
+
basic_machine=vax-dec
|
678
|
+
basic_os=vms
|
679
|
+
;;
|
680
|
+
vsta)
|
681
|
+
basic_machine=i386-pc
|
682
|
+
basic_os=vsta
|
683
|
+
;;
|
684
|
+
vxworks960)
|
685
|
+
basic_machine=i960-wrs
|
686
|
+
basic_os=vxworks
|
687
|
+
;;
|
688
|
+
vxworks68)
|
689
|
+
basic_machine=m68k-wrs
|
690
|
+
basic_os=vxworks
|
691
|
+
;;
|
692
|
+
vxworks29k)
|
693
|
+
basic_machine=a29k-wrs
|
694
|
+
basic_os=vxworks
|
695
|
+
;;
|
696
|
+
xbox)
|
697
|
+
basic_machine=i686-pc
|
698
|
+
basic_os=mingw32
|
699
|
+
;;
|
700
|
+
ymp)
|
701
|
+
basic_machine=ymp-cray
|
702
|
+
basic_os=unicos
|
703
|
+
;;
|
704
|
+
*)
|
705
|
+
basic_machine=$1
|
706
|
+
basic_os=
|
707
|
+
;;
|
708
|
+
esac
|
709
|
+
;;
|
710
|
+
esac
|
711
|
+
|
712
|
+
# Decode 1-component or ad-hoc basic machines
|
713
|
+
case $basic_machine in
|
714
|
+
# Here we handle the default manufacturer of certain CPU types. It is in
|
715
|
+
# some cases the only manufacturer, in others, it is the most popular.
|
716
|
+
w89k)
|
717
|
+
cpu=hppa1.1
|
718
|
+
vendor=winbond
|
719
|
+
;;
|
720
|
+
op50n)
|
721
|
+
cpu=hppa1.1
|
722
|
+
vendor=oki
|
723
|
+
;;
|
724
|
+
op60c)
|
725
|
+
cpu=hppa1.1
|
726
|
+
vendor=oki
|
727
|
+
;;
|
728
|
+
ibm*)
|
729
|
+
cpu=i370
|
730
|
+
vendor=ibm
|
731
|
+
;;
|
732
|
+
orion105)
|
733
|
+
cpu=clipper
|
734
|
+
vendor=highlevel
|
735
|
+
;;
|
736
|
+
mac | mpw | mac-mpw)
|
737
|
+
cpu=m68k
|
738
|
+
vendor=apple
|
739
|
+
;;
|
740
|
+
pmac | pmac-mpw)
|
741
|
+
cpu=powerpc
|
742
|
+
vendor=apple
|
743
|
+
;;
|
744
|
+
|
745
|
+
# Recognize the various machine names and aliases which stand
|
746
|
+
# for a CPU type and a company and sometimes even an OS.
|
747
|
+
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
748
|
+
cpu=m68000
|
749
|
+
vendor=att
|
750
|
+
;;
|
751
|
+
3b*)
|
752
|
+
cpu=we32k
|
753
|
+
vendor=att
|
754
|
+
;;
|
755
|
+
bluegene*)
|
756
|
+
cpu=powerpc
|
757
|
+
vendor=ibm
|
758
|
+
basic_os=cnk
|
759
|
+
;;
|
760
|
+
decsystem10* | dec10*)
|
761
|
+
cpu=pdp10
|
762
|
+
vendor=dec
|
763
|
+
basic_os=tops10
|
764
|
+
;;
|
765
|
+
decsystem20* | dec20*)
|
766
|
+
cpu=pdp10
|
767
|
+
vendor=dec
|
768
|
+
basic_os=tops20
|
769
|
+
;;
|
770
|
+
delta | 3300 | delta-motorola | 3300-motorola | motorola-delta | motorola-3300)
|
771
|
+
cpu=m68k
|
772
|
+
vendor=motorola
|
773
|
+
;;
|
774
|
+
# This used to be dpx2*, but that gets the RS6000-based
|
775
|
+
# DPX/20 and the x86-based DPX/2-100 wrong. See
|
776
|
+
# https://oldskool.silicium.org/stations/bull_dpx20.htm
|
777
|
+
# https://www.feb-patrimoine.com/english/bull_dpx2.htm
|
778
|
+
# https://www.feb-patrimoine.com/english/unix_and_bull.htm
|
779
|
+
dpx2 | dpx2[23]00 | dpx2[23]xx)
|
780
|
+
cpu=m68k
|
781
|
+
vendor=bull
|
782
|
+
;;
|
783
|
+
dpx2100 | dpx21xx)
|
784
|
+
cpu=i386
|
785
|
+
vendor=bull
|
786
|
+
;;
|
787
|
+
dpx20)
|
788
|
+
cpu=rs6000
|
789
|
+
vendor=bull
|
790
|
+
;;
|
791
|
+
encore | umax | mmax)
|
792
|
+
cpu=ns32k
|
793
|
+
vendor=encore
|
794
|
+
;;
|
795
|
+
elxsi)
|
796
|
+
cpu=elxsi
|
797
|
+
vendor=elxsi
|
798
|
+
basic_os=${basic_os:-bsd}
|
799
|
+
;;
|
800
|
+
fx2800)
|
801
|
+
cpu=i860
|
802
|
+
vendor=alliant
|
803
|
+
;;
|
804
|
+
genix)
|
805
|
+
cpu=ns32k
|
806
|
+
vendor=ns
|
807
|
+
;;
|
808
|
+
h3050r* | hiux*)
|
809
|
+
cpu=hppa1.1
|
810
|
+
vendor=hitachi
|
811
|
+
basic_os=hiuxwe2
|
812
|
+
;;
|
813
|
+
hp3k9[0-9][0-9] | hp9[0-9][0-9])
|
814
|
+
cpu=hppa1.0
|
815
|
+
vendor=hp
|
816
|
+
;;
|
817
|
+
hp9k2[0-9][0-9] | hp9k31[0-9])
|
818
|
+
cpu=m68000
|
819
|
+
vendor=hp
|
820
|
+
;;
|
821
|
+
hp9k3[2-9][0-9])
|
822
|
+
cpu=m68k
|
823
|
+
vendor=hp
|
824
|
+
;;
|
825
|
+
hp9k6[0-9][0-9] | hp6[0-9][0-9])
|
826
|
+
cpu=hppa1.0
|
827
|
+
vendor=hp
|
828
|
+
;;
|
829
|
+
hp9k7[0-79][0-9] | hp7[0-79][0-9])
|
830
|
+
cpu=hppa1.1
|
831
|
+
vendor=hp
|
832
|
+
;;
|
833
|
+
hp9k78[0-9] | hp78[0-9])
|
834
|
+
# FIXME: really hppa2.0-hp
|
835
|
+
cpu=hppa1.1
|
836
|
+
vendor=hp
|
837
|
+
;;
|
838
|
+
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
|
839
|
+
# FIXME: really hppa2.0-hp
|
840
|
+
cpu=hppa1.1
|
841
|
+
vendor=hp
|
842
|
+
;;
|
843
|
+
hp9k8[0-9][13679] | hp8[0-9][13679])
|
844
|
+
cpu=hppa1.1
|
845
|
+
vendor=hp
|
846
|
+
;;
|
847
|
+
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
848
|
+
cpu=hppa1.0
|
849
|
+
vendor=hp
|
850
|
+
;;
|
851
|
+
i*86v32)
|
852
|
+
cpu=`echo "$1" | sed -e 's/86.*/86/'`
|
853
|
+
vendor=pc
|
854
|
+
basic_os=sysv32
|
855
|
+
;;
|
856
|
+
i*86v4*)
|
857
|
+
cpu=`echo "$1" | sed -e 's/86.*/86/'`
|
858
|
+
vendor=pc
|
859
|
+
basic_os=sysv4
|
860
|
+
;;
|
861
|
+
i*86v)
|
862
|
+
cpu=`echo "$1" | sed -e 's/86.*/86/'`
|
863
|
+
vendor=pc
|
864
|
+
basic_os=sysv
|
865
|
+
;;
|
866
|
+
i*86sol2)
|
867
|
+
cpu=`echo "$1" | sed -e 's/86.*/86/'`
|
868
|
+
vendor=pc
|
869
|
+
basic_os=solaris2
|
870
|
+
;;
|
871
|
+
j90 | j90-cray)
|
872
|
+
cpu=j90
|
873
|
+
vendor=cray
|
874
|
+
basic_os=${basic_os:-unicos}
|
875
|
+
;;
|
876
|
+
iris | iris4d)
|
877
|
+
cpu=mips
|
878
|
+
vendor=sgi
|
879
|
+
case $basic_os in
|
880
|
+
irix*)
|
881
|
+
;;
|
882
|
+
*)
|
883
|
+
basic_os=irix4
|
884
|
+
;;
|
885
|
+
esac
|
886
|
+
;;
|
887
|
+
miniframe)
|
888
|
+
cpu=m68000
|
889
|
+
vendor=convergent
|
890
|
+
;;
|
891
|
+
*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
|
892
|
+
cpu=m68k
|
893
|
+
vendor=atari
|
894
|
+
basic_os=mint
|
895
|
+
;;
|
896
|
+
news-3600 | risc-news)
|
897
|
+
cpu=mips
|
898
|
+
vendor=sony
|
899
|
+
basic_os=newsos
|
900
|
+
;;
|
901
|
+
next | m*-next)
|
902
|
+
cpu=m68k
|
903
|
+
vendor=next
|
904
|
+
;;
|
905
|
+
np1)
|
906
|
+
cpu=np1
|
907
|
+
vendor=gould
|
908
|
+
;;
|
909
|
+
op50n-* | op60c-*)
|
910
|
+
cpu=hppa1.1
|
911
|
+
vendor=oki
|
912
|
+
basic_os=proelf
|
913
|
+
;;
|
914
|
+
pa-hitachi)
|
915
|
+
cpu=hppa1.1
|
916
|
+
vendor=hitachi
|
917
|
+
basic_os=hiuxwe2
|
918
|
+
;;
|
919
|
+
pbd)
|
920
|
+
cpu=sparc
|
921
|
+
vendor=tti
|
922
|
+
;;
|
923
|
+
pbb)
|
924
|
+
cpu=m68k
|
925
|
+
vendor=tti
|
926
|
+
;;
|
927
|
+
pc532)
|
928
|
+
cpu=ns32k
|
929
|
+
vendor=pc532
|
930
|
+
;;
|
931
|
+
pn)
|
932
|
+
cpu=pn
|
933
|
+
vendor=gould
|
934
|
+
;;
|
935
|
+
power)
|
936
|
+
cpu=power
|
937
|
+
vendor=ibm
|
938
|
+
;;
|
939
|
+
ps2)
|
940
|
+
cpu=i386
|
941
|
+
vendor=ibm
|
942
|
+
;;
|
943
|
+
rm[46]00)
|
944
|
+
cpu=mips
|
945
|
+
vendor=siemens
|
946
|
+
;;
|
947
|
+
rtpc | rtpc-*)
|
948
|
+
cpu=romp
|
949
|
+
vendor=ibm
|
950
|
+
;;
|
951
|
+
sde)
|
952
|
+
cpu=mipsisa32
|
953
|
+
vendor=sde
|
954
|
+
basic_os=${basic_os:-elf}
|
955
|
+
;;
|
956
|
+
simso-wrs)
|
957
|
+
cpu=sparclite
|
958
|
+
vendor=wrs
|
959
|
+
basic_os=vxworks
|
960
|
+
;;
|
961
|
+
tower | tower-32)
|
962
|
+
cpu=m68k
|
963
|
+
vendor=ncr
|
964
|
+
;;
|
965
|
+
vpp*|vx|vx-*)
|
966
|
+
cpu=f301
|
967
|
+
vendor=fujitsu
|
968
|
+
;;
|
969
|
+
w65)
|
970
|
+
cpu=w65
|
971
|
+
vendor=wdc
|
972
|
+
;;
|
973
|
+
w89k-*)
|
974
|
+
cpu=hppa1.1
|
975
|
+
vendor=winbond
|
976
|
+
basic_os=proelf
|
977
|
+
;;
|
978
|
+
none)
|
979
|
+
cpu=none
|
980
|
+
vendor=none
|
981
|
+
;;
|
982
|
+
leon|leon[3-9])
|
983
|
+
cpu=sparc
|
984
|
+
vendor=$basic_machine
|
985
|
+
;;
|
986
|
+
leon-*|leon[3-9]-*)
|
987
|
+
cpu=sparc
|
988
|
+
vendor=`echo "$basic_machine" | sed 's/-.*//'`
|
989
|
+
;;
|
990
|
+
|
991
|
+
*-*)
|
992
|
+
saved_IFS=$IFS
|
993
|
+
IFS="-" read cpu vendor <<EOF
|
994
|
+
$basic_machine
|
995
|
+
EOF
|
996
|
+
IFS=$saved_IFS
|
997
|
+
;;
|
998
|
+
# We use 'pc' rather than 'unknown'
|
999
|
+
# because (1) that's what they normally are, and
|
1000
|
+
# (2) the word "unknown" tends to confuse beginning users.
|
1001
|
+
i*86 | x86_64)
|
1002
|
+
cpu=$basic_machine
|
1003
|
+
vendor=pc
|
1004
|
+
;;
|
1005
|
+
# These rules are duplicated from below for sake of the special case above;
|
1006
|
+
# i.e. things that normalized to x86 arches should also default to "pc"
|
1007
|
+
pc98)
|
1008
|
+
cpu=i386
|
1009
|
+
vendor=pc
|
1010
|
+
;;
|
1011
|
+
x64 | amd64)
|
1012
|
+
cpu=x86_64
|
1013
|
+
vendor=pc
|
1014
|
+
;;
|
1015
|
+
# Recognize the basic CPU types without company name.
|
1016
|
+
*)
|
1017
|
+
cpu=$basic_machine
|
1018
|
+
vendor=unknown
|
1019
|
+
;;
|
1020
|
+
esac
|
1021
|
+
|
1022
|
+
unset -v basic_machine
|
1023
|
+
|
1024
|
+
# Decode basic machines in the full and proper CPU-Company form.
|
1025
|
+
case $cpu-$vendor in
|
1026
|
+
# Here we handle the default manufacturer of certain CPU types in canonical form.
|
1027
|
+
# It is in some cases the only manufacturer, in others, it is the most popular.
|
1028
|
+
c[12]-convex | c[12]-unknown | c3[248]-convex | c3[248]-unknown)
|
1029
|
+
vendor=convex
|
1030
|
+
basic_os=${basic_os:-bsd}
|
1031
|
+
;;
|
1032
|
+
craynv-unknown)
|
1033
|
+
vendor=cray
|
1034
|
+
basic_os=${basic_os:-unicosmp}
|
1035
|
+
;;
|
1036
|
+
c90-unknown | c90-cray)
|
1037
|
+
vendor=cray
|
1038
|
+
basic_os=${basic_os:-unicos}
|
1039
|
+
;;
|
1040
|
+
fx80-unknown)
|
1041
|
+
vendor=alliant
|
1042
|
+
;;
|
1043
|
+
romp-unknown)
|
1044
|
+
vendor=ibm
|
1045
|
+
;;
|
1046
|
+
mmix-unknown)
|
1047
|
+
vendor=knuth
|
1048
|
+
;;
|
1049
|
+
microblaze-unknown | microblazeel-unknown)
|
1050
|
+
vendor=xilinx
|
1051
|
+
;;
|
1052
|
+
rs6000-unknown)
|
1053
|
+
vendor=ibm
|
1054
|
+
;;
|
1055
|
+
vax-unknown)
|
1056
|
+
vendor=dec
|
1057
|
+
;;
|
1058
|
+
pdp11-unknown)
|
1059
|
+
vendor=dec
|
1060
|
+
;;
|
1061
|
+
we32k-unknown)
|
1062
|
+
vendor=att
|
1063
|
+
;;
|
1064
|
+
cydra-unknown)
|
1065
|
+
vendor=cydrome
|
1066
|
+
;;
|
1067
|
+
i370-ibm*)
|
1068
|
+
vendor=ibm
|
1069
|
+
;;
|
1070
|
+
orion-unknown)
|
1071
|
+
vendor=highlevel
|
1072
|
+
;;
|
1073
|
+
xps-unknown | xps100-unknown)
|
1074
|
+
cpu=xps100
|
1075
|
+
vendor=honeywell
|
1076
|
+
;;
|
1077
|
+
|
1078
|
+
# Here we normalize CPU types with a missing or matching vendor
|
1079
|
+
armh-unknown | armh-alt)
|
1080
|
+
cpu=armv7l
|
1081
|
+
vendor=alt
|
1082
|
+
basic_os=${basic_os:-linux-gnueabihf}
|
1083
|
+
;;
|
1084
|
+
|
1085
|
+
# Normalized CPU+vendor pairs that imply an OS, if not otherwise specified
|
1086
|
+
m68k-isi)
|
1087
|
+
basic_os=${basic_os:-sysv}
|
1088
|
+
;;
|
1089
|
+
m68k-sony)
|
1090
|
+
basic_os=${basic_os:-newsos}
|
1091
|
+
;;
|
1092
|
+
m68k-tektronix)
|
1093
|
+
basic_os=${basic_os:-bsd}
|
1094
|
+
;;
|
1095
|
+
m88k-harris)
|
1096
|
+
basic_os=${basic_os:-sysv3}
|
1097
|
+
;;
|
1098
|
+
i386-bull | m68k-bull)
|
1099
|
+
basic_os=${basic_os:-sysv3}
|
1100
|
+
;;
|
1101
|
+
rs6000-bull)
|
1102
|
+
basic_os=${basic_os:-bosx}
|
1103
|
+
;;
|
1104
|
+
mips-sni)
|
1105
|
+
basic_os=${basic_os:-sysv4}
|
1106
|
+
;;
|
1107
|
+
|
1108
|
+
# Here we normalize CPU types irrespective of the vendor
|
1109
|
+
amd64-*)
|
1110
|
+
cpu=x86_64
|
1111
|
+
;;
|
1112
|
+
blackfin-*)
|
1113
|
+
cpu=bfin
|
1114
|
+
basic_os=${basic_os:-linux}
|
1115
|
+
;;
|
1116
|
+
c54x-*)
|
1117
|
+
cpu=tic54x
|
1118
|
+
;;
|
1119
|
+
c55x-*)
|
1120
|
+
cpu=tic55x
|
1121
|
+
;;
|
1122
|
+
c6x-*)
|
1123
|
+
cpu=tic6x
|
1124
|
+
;;
|
1125
|
+
e500v[12]-*)
|
1126
|
+
cpu=powerpc
|
1127
|
+
basic_os=${basic_os}"spe"
|
1128
|
+
;;
|
1129
|
+
mips3*-*)
|
1130
|
+
cpu=mips64
|
1131
|
+
;;
|
1132
|
+
ms1-*)
|
1133
|
+
cpu=mt
|
1134
|
+
;;
|
1135
|
+
m68knommu-*)
|
1136
|
+
cpu=m68k
|
1137
|
+
basic_os=${basic_os:-linux}
|
1138
|
+
;;
|
1139
|
+
m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
|
1140
|
+
cpu=s12z
|
1141
|
+
;;
|
1142
|
+
openrisc-*)
|
1143
|
+
cpu=or32
|
1144
|
+
;;
|
1145
|
+
parisc-*)
|
1146
|
+
cpu=hppa
|
1147
|
+
basic_os=${basic_os:-linux}
|
1148
|
+
;;
|
1149
|
+
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
1150
|
+
cpu=i586
|
1151
|
+
;;
|
1152
|
+
pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
|
1153
|
+
cpu=i686
|
1154
|
+
;;
|
1155
|
+
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
1156
|
+
cpu=i686
|
1157
|
+
;;
|
1158
|
+
pentium4-*)
|
1159
|
+
cpu=i786
|
1160
|
+
;;
|
1161
|
+
ppc-* | ppcbe-*)
|
1162
|
+
cpu=powerpc
|
1163
|
+
;;
|
1164
|
+
ppcle-* | powerpclittle-*)
|
1165
|
+
cpu=powerpcle
|
1166
|
+
;;
|
1167
|
+
ppc64-*)
|
1168
|
+
cpu=powerpc64
|
1169
|
+
;;
|
1170
|
+
ppc64le-* | powerpc64little-*)
|
1171
|
+
cpu=powerpc64le
|
1172
|
+
;;
|
1173
|
+
sb1-*)
|
1174
|
+
cpu=mipsisa64sb1
|
1175
|
+
;;
|
1176
|
+
sb1el-*)
|
1177
|
+
cpu=mipsisa64sb1el
|
1178
|
+
;;
|
1179
|
+
sh5e[lb]-*)
|
1180
|
+
cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
|
1181
|
+
;;
|
1182
|
+
spur-*)
|
1183
|
+
cpu=spur
|
1184
|
+
;;
|
1185
|
+
strongarm-* | thumb-*)
|
1186
|
+
cpu=arm
|
1187
|
+
;;
|
1188
|
+
tx39-*)
|
1189
|
+
cpu=mipstx39
|
1190
|
+
;;
|
1191
|
+
tx39el-*)
|
1192
|
+
cpu=mipstx39el
|
1193
|
+
;;
|
1194
|
+
xscale-* | xscalee[bl]-*)
|
1195
|
+
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
|
1196
|
+
;;
|
1197
|
+
arm64-* | aarch64le-*)
|
1198
|
+
cpu=aarch64
|
1199
|
+
;;
|
1200
|
+
|
1201
|
+
# Recognize the canonical CPU Types that limit and/or modify the
|
1202
|
+
# company names they are paired with.
|
1203
|
+
cr16-*)
|
1204
|
+
basic_os=${basic_os:-elf}
|
1205
|
+
;;
|
1206
|
+
crisv32-* | etraxfs*-*)
|
1207
|
+
cpu=crisv32
|
1208
|
+
vendor=axis
|
1209
|
+
;;
|
1210
|
+
cris-* | etrax*-*)
|
1211
|
+
cpu=cris
|
1212
|
+
vendor=axis
|
1213
|
+
;;
|
1214
|
+
crx-*)
|
1215
|
+
basic_os=${basic_os:-elf}
|
1216
|
+
;;
|
1217
|
+
neo-tandem)
|
1218
|
+
cpu=neo
|
1219
|
+
vendor=tandem
|
1220
|
+
;;
|
1221
|
+
nse-tandem)
|
1222
|
+
cpu=nse
|
1223
|
+
vendor=tandem
|
1224
|
+
;;
|
1225
|
+
nsr-tandem)
|
1226
|
+
cpu=nsr
|
1227
|
+
vendor=tandem
|
1228
|
+
;;
|
1229
|
+
nsv-tandem)
|
1230
|
+
cpu=nsv
|
1231
|
+
vendor=tandem
|
1232
|
+
;;
|
1233
|
+
nsx-tandem)
|
1234
|
+
cpu=nsx
|
1235
|
+
vendor=tandem
|
1236
|
+
;;
|
1237
|
+
mipsallegrexel-sony)
|
1238
|
+
cpu=mipsallegrexel
|
1239
|
+
vendor=sony
|
1240
|
+
;;
|
1241
|
+
tile*-*)
|
1242
|
+
basic_os=${basic_os:-linux-gnu}
|
1243
|
+
;;
|
1244
|
+
|
1245
|
+
*)
|
1246
|
+
# Recognize the canonical CPU types that are allowed with any
|
1247
|
+
# company name.
|
1248
|
+
case $cpu in
|
1249
|
+
1750a \
|
1250
|
+
| 580 \
|
1251
|
+
| [cjt]90 \
|
1252
|
+
| a29k \
|
1253
|
+
| aarch64 \
|
1254
|
+
| aarch64_be \
|
1255
|
+
| aarch64c \
|
1256
|
+
| abacus \
|
1257
|
+
| alpha \
|
1258
|
+
| alpha64 \
|
1259
|
+
| alpha64ev56 \
|
1260
|
+
| alpha64ev6[78] \
|
1261
|
+
| alpha64ev[4-8] \
|
1262
|
+
| alpha64pca5[67] \
|
1263
|
+
| alphaev56 \
|
1264
|
+
| alphaev6[78] \
|
1265
|
+
| alphaev[4-8] \
|
1266
|
+
| alphapca5[67] \
|
1267
|
+
| am33_2.0 \
|
1268
|
+
| amdgcn \
|
1269
|
+
| arc \
|
1270
|
+
| arc32 \
|
1271
|
+
| arc64 \
|
1272
|
+
| arceb \
|
1273
|
+
| arm \
|
1274
|
+
| arm64e \
|
1275
|
+
| arm64ec \
|
1276
|
+
| arm[lb]e \
|
1277
|
+
| arme[lb] \
|
1278
|
+
| armv* \
|
1279
|
+
| asmjs \
|
1280
|
+
| avr \
|
1281
|
+
| avr32 \
|
1282
|
+
| ba \
|
1283
|
+
| be32 \
|
1284
|
+
| be64 \
|
1285
|
+
| bfin \
|
1286
|
+
| bpf \
|
1287
|
+
| bs2000 \
|
1288
|
+
| c30 \
|
1289
|
+
| c4x \
|
1290
|
+
| c8051 \
|
1291
|
+
| c[123]* \
|
1292
|
+
| clipper \
|
1293
|
+
| craynv \
|
1294
|
+
| csky \
|
1295
|
+
| cydra \
|
1296
|
+
| d10v \
|
1297
|
+
| d30v \
|
1298
|
+
| dlx \
|
1299
|
+
| dsp16xx \
|
1300
|
+
| e2k \
|
1301
|
+
| elxsi \
|
1302
|
+
| epiphany \
|
1303
|
+
| f30[01] \
|
1304
|
+
| f700 \
|
1305
|
+
| fido \
|
1306
|
+
| fr30 \
|
1307
|
+
| frv \
|
1308
|
+
| ft32 \
|
1309
|
+
| fx80 \
|
1310
|
+
| h8300 \
|
1311
|
+
| h8500 \
|
1312
|
+
| hexagon \
|
1313
|
+
| hppa \
|
1314
|
+
| hppa1.[01] \
|
1315
|
+
| hppa2.0 \
|
1316
|
+
| hppa2.0[nw] \
|
1317
|
+
| hppa64 \
|
1318
|
+
| i*86 \
|
1319
|
+
| i370 \
|
1320
|
+
| i860 \
|
1321
|
+
| i960 \
|
1322
|
+
| ia16 \
|
1323
|
+
| ia64 \
|
1324
|
+
| ip2k \
|
1325
|
+
| iq2000 \
|
1326
|
+
| javascript \
|
1327
|
+
| k1om \
|
1328
|
+
| kvx \
|
1329
|
+
| le32 \
|
1330
|
+
| le64 \
|
1331
|
+
| lm32 \
|
1332
|
+
| loongarch32 \
|
1333
|
+
| loongarch64 \
|
1334
|
+
| m32c \
|
1335
|
+
| m32r \
|
1336
|
+
| m32rle \
|
1337
|
+
| m5200 \
|
1338
|
+
| m68000 \
|
1339
|
+
| m680[012346]0 \
|
1340
|
+
| m6811 \
|
1341
|
+
| m6812 \
|
1342
|
+
| m68360 \
|
1343
|
+
| m683?2 \
|
1344
|
+
| m68hc11 \
|
1345
|
+
| m68hc12 \
|
1346
|
+
| m68hcs12x \
|
1347
|
+
| m68k \
|
1348
|
+
| m88110 \
|
1349
|
+
| m88k \
|
1350
|
+
| maxq \
|
1351
|
+
| mb \
|
1352
|
+
| mcore \
|
1353
|
+
| mep \
|
1354
|
+
| metag \
|
1355
|
+
| microblaze \
|
1356
|
+
| microblazeel \
|
1357
|
+
| mips* \
|
1358
|
+
| mmix \
|
1359
|
+
| mn10200 \
|
1360
|
+
| mn10300 \
|
1361
|
+
| moxie \
|
1362
|
+
| msp430 \
|
1363
|
+
| mt \
|
1364
|
+
| nanomips* \
|
1365
|
+
| nds32 \
|
1366
|
+
| nds32be \
|
1367
|
+
| nds32le \
|
1368
|
+
| nfp \
|
1369
|
+
| nios \
|
1370
|
+
| nios2 \
|
1371
|
+
| nios2eb \
|
1372
|
+
| nios2el \
|
1373
|
+
| none \
|
1374
|
+
| np1 \
|
1375
|
+
| ns16k \
|
1376
|
+
| ns32k \
|
1377
|
+
| nvptx \
|
1378
|
+
| open8 \
|
1379
|
+
| or1k* \
|
1380
|
+
| or32 \
|
1381
|
+
| orion \
|
1382
|
+
| pdp10 \
|
1383
|
+
| pdp11 \
|
1384
|
+
| picochip \
|
1385
|
+
| pj \
|
1386
|
+
| pjl \
|
1387
|
+
| pn \
|
1388
|
+
| power \
|
1389
|
+
| powerpc \
|
1390
|
+
| powerpc64 \
|
1391
|
+
| powerpc64le \
|
1392
|
+
| powerpcle \
|
1393
|
+
| powerpcspe \
|
1394
|
+
| pru \
|
1395
|
+
| pyramid \
|
1396
|
+
| riscv \
|
1397
|
+
| riscv32 \
|
1398
|
+
| riscv32be \
|
1399
|
+
| riscv64 \
|
1400
|
+
| riscv64be \
|
1401
|
+
| rl78 \
|
1402
|
+
| romp \
|
1403
|
+
| rs6000 \
|
1404
|
+
| rx \
|
1405
|
+
| s390 \
|
1406
|
+
| s390x \
|
1407
|
+
| score \
|
1408
|
+
| sh \
|
1409
|
+
| sh64 \
|
1410
|
+
| sh64le \
|
1411
|
+
| sh[12345][lb]e \
|
1412
|
+
| sh[1234] \
|
1413
|
+
| sh[1234]e[lb] \
|
1414
|
+
| sh[23]e \
|
1415
|
+
| sh[23]ele \
|
1416
|
+
| sh[24]a \
|
1417
|
+
| sh[24]ae[lb] \
|
1418
|
+
| sh[lb]e \
|
1419
|
+
| she[lb] \
|
1420
|
+
| shl \
|
1421
|
+
| sparc \
|
1422
|
+
| sparc64 \
|
1423
|
+
| sparc64b \
|
1424
|
+
| sparc64v \
|
1425
|
+
| sparc86x \
|
1426
|
+
| sparclet \
|
1427
|
+
| sparclite \
|
1428
|
+
| sparcv8 \
|
1429
|
+
| sparcv9 \
|
1430
|
+
| sparcv9b \
|
1431
|
+
| sparcv9v \
|
1432
|
+
| spu \
|
1433
|
+
| sv1 \
|
1434
|
+
| sx* \
|
1435
|
+
| tahoe \
|
1436
|
+
| thumbv7* \
|
1437
|
+
| tic30 \
|
1438
|
+
| tic4x \
|
1439
|
+
| tic54x \
|
1440
|
+
| tic55x \
|
1441
|
+
| tic6x \
|
1442
|
+
| tic80 \
|
1443
|
+
| tron \
|
1444
|
+
| ubicom32 \
|
1445
|
+
| v70 \
|
1446
|
+
| v810 \
|
1447
|
+
| v850 \
|
1448
|
+
| v850e \
|
1449
|
+
| v850e1 \
|
1450
|
+
| v850e2 \
|
1451
|
+
| v850e2v3 \
|
1452
|
+
| v850es \
|
1453
|
+
| vax \
|
1454
|
+
| vc4 \
|
1455
|
+
| visium \
|
1456
|
+
| w65 \
|
1457
|
+
| wasm32 \
|
1458
|
+
| wasm64 \
|
1459
|
+
| we32k \
|
1460
|
+
| x86 \
|
1461
|
+
| x86_64 \
|
1462
|
+
| xc16x \
|
1463
|
+
| xgate \
|
1464
|
+
| xps100 \
|
1465
|
+
| xstormy16 \
|
1466
|
+
| xtensa* \
|
1467
|
+
| ymp \
|
1468
|
+
| z80 \
|
1469
|
+
| z8k)
|
1470
|
+
;;
|
1471
|
+
|
1472
|
+
*)
|
1473
|
+
echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
|
1474
|
+
exit 1
|
1475
|
+
;;
|
1476
|
+
esac
|
1477
|
+
;;
|
1478
|
+
esac
|
1479
|
+
|
1480
|
+
# Here we canonicalize certain aliases for manufacturers.
|
1481
|
+
case $vendor in
|
1482
|
+
digital*)
|
1483
|
+
vendor=dec
|
1484
|
+
;;
|
1485
|
+
commodore*)
|
1486
|
+
vendor=cbm
|
1487
|
+
;;
|
1488
|
+
*)
|
1489
|
+
;;
|
1490
|
+
esac
|
1491
|
+
|
1492
|
+
# Decode manufacturer-specific aliases for certain operating systems.
|
1493
|
+
|
1494
|
+
if test x"$basic_os" != x
|
1495
|
+
then
|
1496
|
+
|
1497
|
+
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
|
1498
|
+
# set os.
|
1499
|
+
obj=
|
1500
|
+
case $basic_os in
|
1501
|
+
gnu/linux*)
|
1502
|
+
kernel=linux
|
1503
|
+
os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
|
1504
|
+
;;
|
1505
|
+
os2-emx)
|
1506
|
+
kernel=os2
|
1507
|
+
os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
|
1508
|
+
;;
|
1509
|
+
nto-qnx*)
|
1510
|
+
kernel=nto
|
1511
|
+
os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
|
1512
|
+
;;
|
1513
|
+
*-*)
|
1514
|
+
saved_IFS=$IFS
|
1515
|
+
IFS="-" read kernel os <<EOF
|
1516
|
+
$basic_os
|
1517
|
+
EOF
|
1518
|
+
IFS=$saved_IFS
|
1519
|
+
;;
|
1520
|
+
# Default OS when just kernel was specified
|
1521
|
+
nto*)
|
1522
|
+
kernel=nto
|
1523
|
+
os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
|
1524
|
+
;;
|
1525
|
+
linux*)
|
1526
|
+
kernel=linux
|
1527
|
+
os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
|
1528
|
+
;;
|
1529
|
+
managarm*)
|
1530
|
+
kernel=managarm
|
1531
|
+
os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
|
1532
|
+
;;
|
1533
|
+
*)
|
1534
|
+
kernel=
|
1535
|
+
os=$basic_os
|
1536
|
+
;;
|
1537
|
+
esac
|
1538
|
+
|
1539
|
+
# Now, normalize the OS (knowing we just have one component, it's not a kernel,
|
1540
|
+
# etc.)
|
1541
|
+
case $os in
|
1542
|
+
# First match some system type aliases that might get confused
|
1543
|
+
# with valid system types.
|
1544
|
+
# solaris* is a basic system type, with this one exception.
|
1545
|
+
auroraux)
|
1546
|
+
os=auroraux
|
1547
|
+
;;
|
1548
|
+
bluegene*)
|
1549
|
+
os=cnk
|
1550
|
+
;;
|
1551
|
+
solaris1 | solaris1.*)
|
1552
|
+
os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
|
1553
|
+
;;
|
1554
|
+
solaris)
|
1555
|
+
os=solaris2
|
1556
|
+
;;
|
1557
|
+
unixware*)
|
1558
|
+
os=sysv4.2uw
|
1559
|
+
;;
|
1560
|
+
# The marketing names for NeXT's operating systems were
|
1561
|
+
# NeXTSTEP, NeXTSTEP 2, OpenSTEP 3, OpenSTEP 4. 'openstep' is
|
1562
|
+
# mapped to 'openstep3', but 'openstep1' and 'openstep2' are
|
1563
|
+
# mapped to 'nextstep' and 'nextstep2', consistent with the
|
1564
|
+
# treatment of SunOS/Solaris.
|
1565
|
+
ns | ns1 | nextstep | nextstep1 | openstep1)
|
1566
|
+
os=nextstep
|
1567
|
+
;;
|
1568
|
+
ns2 | nextstep2 | openstep2)
|
1569
|
+
os=nextstep2
|
1570
|
+
;;
|
1571
|
+
ns3 | nextstep3 | openstep | openstep3)
|
1572
|
+
os=openstep3
|
1573
|
+
;;
|
1574
|
+
ns4 | nextstep4 | openstep4)
|
1575
|
+
os=openstep4
|
1576
|
+
;;
|
1577
|
+
# es1800 is here to avoid being matched by es* (a different OS)
|
1578
|
+
es1800*)
|
1579
|
+
os=ose
|
1580
|
+
;;
|
1581
|
+
# Some version numbers need modification
|
1582
|
+
chorusos*)
|
1583
|
+
os=chorusos
|
1584
|
+
;;
|
1585
|
+
isc)
|
1586
|
+
os=isc2.2
|
1587
|
+
;;
|
1588
|
+
sco6)
|
1589
|
+
os=sco5v6
|
1590
|
+
;;
|
1591
|
+
sco5)
|
1592
|
+
os=sco3.2v5
|
1593
|
+
;;
|
1594
|
+
sco4)
|
1595
|
+
os=sco3.2v4
|
1596
|
+
;;
|
1597
|
+
sco3.2.[4-9]*)
|
1598
|
+
os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
|
1599
|
+
;;
|
1600
|
+
sco*v* | scout)
|
1601
|
+
# Don't match below
|
1602
|
+
;;
|
1603
|
+
sco*)
|
1604
|
+
os=sco3.2v2
|
1605
|
+
;;
|
1606
|
+
psos*)
|
1607
|
+
os=psos
|
1608
|
+
;;
|
1609
|
+
qnx*)
|
1610
|
+
os=qnx
|
1611
|
+
;;
|
1612
|
+
hiux*)
|
1613
|
+
os=hiuxwe2
|
1614
|
+
;;
|
1615
|
+
lynx*178)
|
1616
|
+
os=lynxos178
|
1617
|
+
;;
|
1618
|
+
lynx*5)
|
1619
|
+
os=lynxos5
|
1620
|
+
;;
|
1621
|
+
lynxos*)
|
1622
|
+
# don't get caught up in next wildcard
|
1623
|
+
;;
|
1624
|
+
lynx*)
|
1625
|
+
os=lynxos
|
1626
|
+
;;
|
1627
|
+
mac[0-9]*)
|
1628
|
+
os=`echo "$os" | sed -e 's|mac|macos|'`
|
1629
|
+
;;
|
1630
|
+
opened*)
|
1631
|
+
os=openedition
|
1632
|
+
;;
|
1633
|
+
os400*)
|
1634
|
+
os=os400
|
1635
|
+
;;
|
1636
|
+
sunos5*)
|
1637
|
+
os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
|
1638
|
+
;;
|
1639
|
+
sunos6*)
|
1640
|
+
os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
|
1641
|
+
;;
|
1642
|
+
wince*)
|
1643
|
+
os=wince
|
1644
|
+
;;
|
1645
|
+
utek*)
|
1646
|
+
os=bsd
|
1647
|
+
vendor=`echo "$vendor" | sed -e 's|^unknown$|tektronix|'`
|
1648
|
+
;;
|
1649
|
+
dynix*)
|
1650
|
+
os=bsd
|
1651
|
+
;;
|
1652
|
+
acis*)
|
1653
|
+
os=aos
|
1654
|
+
;;
|
1655
|
+
atheos*)
|
1656
|
+
os=atheos
|
1657
|
+
;;
|
1658
|
+
syllable*)
|
1659
|
+
os=syllable
|
1660
|
+
;;
|
1661
|
+
386bsd)
|
1662
|
+
os=bsd
|
1663
|
+
;;
|
1664
|
+
ctix*)
|
1665
|
+
os=sysv
|
1666
|
+
vendor=`echo "$vendor" | sed -e 's|^unknown$|convergent|'`
|
1667
|
+
;;
|
1668
|
+
uts*)
|
1669
|
+
os=sysv
|
1670
|
+
;;
|
1671
|
+
nova*)
|
1672
|
+
kernel=rtmk
|
1673
|
+
os=nova
|
1674
|
+
;;
|
1675
|
+
# Preserve the version number of sinix5.
|
1676
|
+
sinix5.*)
|
1677
|
+
os=`echo "$os" | sed -e 's|sinix|sysv|'`
|
1678
|
+
vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
|
1679
|
+
;;
|
1680
|
+
sinix*)
|
1681
|
+
os=sysv4
|
1682
|
+
vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
|
1683
|
+
;;
|
1684
|
+
tpf*)
|
1685
|
+
os=tpf
|
1686
|
+
;;
|
1687
|
+
triton*)
|
1688
|
+
os=sysv3
|
1689
|
+
;;
|
1690
|
+
oss*)
|
1691
|
+
os=sysv3
|
1692
|
+
;;
|
1693
|
+
svr4*)
|
1694
|
+
os=sysv4
|
1695
|
+
;;
|
1696
|
+
svr3)
|
1697
|
+
os=sysv3
|
1698
|
+
;;
|
1699
|
+
sysvr4)
|
1700
|
+
os=sysv4
|
1701
|
+
;;
|
1702
|
+
ose*)
|
1703
|
+
os=ose
|
1704
|
+
;;
|
1705
|
+
*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
|
1706
|
+
os=mint
|
1707
|
+
;;
|
1708
|
+
dicos*)
|
1709
|
+
os=dicos
|
1710
|
+
;;
|
1711
|
+
pikeos*)
|
1712
|
+
# Until real need of OS specific support for
|
1713
|
+
# particular features comes up, bare metal
|
1714
|
+
# configurations are quite functional.
|
1715
|
+
case $cpu in
|
1716
|
+
arm*)
|
1717
|
+
os=eabi
|
1718
|
+
;;
|
1719
|
+
*)
|
1720
|
+
os=
|
1721
|
+
obj=elf
|
1722
|
+
;;
|
1723
|
+
esac
|
1724
|
+
;;
|
1725
|
+
aout* | coff* | elf* | pe*)
|
1726
|
+
# These are machine code file formats, not OSes
|
1727
|
+
obj=$os
|
1728
|
+
os=
|
1729
|
+
;;
|
1730
|
+
*)
|
1731
|
+
# No normalization, but not necessarily accepted, that comes below.
|
1732
|
+
;;
|
1733
|
+
esac
|
1734
|
+
|
1735
|
+
else
|
1736
|
+
|
1737
|
+
# Here we handle the default operating systems that come with various machines.
|
1738
|
+
# The value should be what the vendor currently ships out the door with their
|
1739
|
+
# machine or put another way, the most popular os provided with the machine.
|
1740
|
+
|
1741
|
+
# Note that if you're going to try to match "-MANUFACTURER" here (say,
|
1742
|
+
# "-sun"), then you have to tell the case statement up towards the top
|
1743
|
+
# that MANUFACTURER isn't an operating system. Otherwise, code above
|
1744
|
+
# will signal an error saying that MANUFACTURER isn't an operating
|
1745
|
+
# system, and we'll never get to this point.
|
1746
|
+
|
1747
|
+
kernel=
|
1748
|
+
obj=
|
1749
|
+
case $cpu-$vendor in
|
1750
|
+
score-*)
|
1751
|
+
os=
|
1752
|
+
obj=elf
|
1753
|
+
;;
|
1754
|
+
spu-*)
|
1755
|
+
os=
|
1756
|
+
obj=elf
|
1757
|
+
;;
|
1758
|
+
*-acorn)
|
1759
|
+
os=riscix1.2
|
1760
|
+
;;
|
1761
|
+
arm*-rebel)
|
1762
|
+
kernel=linux
|
1763
|
+
os=gnu
|
1764
|
+
;;
|
1765
|
+
arm*-semi)
|
1766
|
+
os=
|
1767
|
+
obj=aout
|
1768
|
+
;;
|
1769
|
+
c4x-* | tic4x-*)
|
1770
|
+
os=
|
1771
|
+
obj=coff
|
1772
|
+
;;
|
1773
|
+
c8051-*)
|
1774
|
+
os=
|
1775
|
+
obj=elf
|
1776
|
+
;;
|
1777
|
+
clipper-intergraph)
|
1778
|
+
os=clix
|
1779
|
+
;;
|
1780
|
+
hexagon-*)
|
1781
|
+
os=
|
1782
|
+
obj=elf
|
1783
|
+
;;
|
1784
|
+
tic54x-*)
|
1785
|
+
os=
|
1786
|
+
obj=coff
|
1787
|
+
;;
|
1788
|
+
tic55x-*)
|
1789
|
+
os=
|
1790
|
+
obj=coff
|
1791
|
+
;;
|
1792
|
+
tic6x-*)
|
1793
|
+
os=
|
1794
|
+
obj=coff
|
1795
|
+
;;
|
1796
|
+
# This must come before the *-dec entry.
|
1797
|
+
pdp10-*)
|
1798
|
+
os=tops20
|
1799
|
+
;;
|
1800
|
+
pdp11-*)
|
1801
|
+
os=none
|
1802
|
+
;;
|
1803
|
+
*-dec | vax-*)
|
1804
|
+
os=ultrix4.2
|
1805
|
+
;;
|
1806
|
+
m68*-apollo)
|
1807
|
+
os=domain
|
1808
|
+
;;
|
1809
|
+
i386-sun)
|
1810
|
+
os=sunos4.0.2
|
1811
|
+
;;
|
1812
|
+
m68000-sun)
|
1813
|
+
os=sunos3
|
1814
|
+
;;
|
1815
|
+
m68*-cisco)
|
1816
|
+
os=
|
1817
|
+
obj=aout
|
1818
|
+
;;
|
1819
|
+
mep-*)
|
1820
|
+
os=
|
1821
|
+
obj=elf
|
1822
|
+
;;
|
1823
|
+
# The -sgi and -siemens entries must be before the mips- entry
|
1824
|
+
# or we get the wrong os.
|
1825
|
+
*-sgi)
|
1826
|
+
os=irix
|
1827
|
+
;;
|
1828
|
+
*-siemens)
|
1829
|
+
os=sysv4
|
1830
|
+
;;
|
1831
|
+
mips*-cisco)
|
1832
|
+
os=
|
1833
|
+
obj=elf
|
1834
|
+
;;
|
1835
|
+
mips*-*|nanomips*-*)
|
1836
|
+
os=
|
1837
|
+
obj=elf
|
1838
|
+
;;
|
1839
|
+
or32-*)
|
1840
|
+
os=
|
1841
|
+
obj=coff
|
1842
|
+
;;
|
1843
|
+
# This must be before the sparc-* entry or we get the wrong os.
|
1844
|
+
*-tti)
|
1845
|
+
os=sysv3
|
1846
|
+
;;
|
1847
|
+
sparc-* | *-sun)
|
1848
|
+
os=sunos4.1.1
|
1849
|
+
;;
|
1850
|
+
pru-*)
|
1851
|
+
os=
|
1852
|
+
obj=elf
|
1853
|
+
;;
|
1854
|
+
*-be)
|
1855
|
+
os=beos
|
1856
|
+
;;
|
1857
|
+
*-ibm)
|
1858
|
+
os=aix
|
1859
|
+
;;
|
1860
|
+
*-knuth)
|
1861
|
+
os=mmixware
|
1862
|
+
;;
|
1863
|
+
*-wec)
|
1864
|
+
os=proelf
|
1865
|
+
;;
|
1866
|
+
*-winbond)
|
1867
|
+
os=proelf
|
1868
|
+
;;
|
1869
|
+
*-oki)
|
1870
|
+
os=proelf
|
1871
|
+
;;
|
1872
|
+
*-hp)
|
1873
|
+
os=hpux
|
1874
|
+
;;
|
1875
|
+
*-hitachi)
|
1876
|
+
os=hiuxwe2
|
1877
|
+
;;
|
1878
|
+
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
1879
|
+
os=sysv
|
1880
|
+
;;
|
1881
|
+
*-cbm)
|
1882
|
+
os=amigaos
|
1883
|
+
;;
|
1884
|
+
*-dg)
|
1885
|
+
os=dgux
|
1886
|
+
;;
|
1887
|
+
*-dolphin)
|
1888
|
+
os=sysv3
|
1889
|
+
;;
|
1890
|
+
m68k-ccur)
|
1891
|
+
os=rtu
|
1892
|
+
;;
|
1893
|
+
m88k-omron*)
|
1894
|
+
os=luna
|
1895
|
+
;;
|
1896
|
+
*-next)
|
1897
|
+
os=nextstep
|
1898
|
+
;;
|
1899
|
+
*-sequent)
|
1900
|
+
os=ptx
|
1901
|
+
;;
|
1902
|
+
*-crds)
|
1903
|
+
os=unos
|
1904
|
+
;;
|
1905
|
+
*-ns)
|
1906
|
+
os=genix
|
1907
|
+
;;
|
1908
|
+
i370-*)
|
1909
|
+
os=mvs
|
1910
|
+
;;
|
1911
|
+
*-gould)
|
1912
|
+
os=sysv
|
1913
|
+
;;
|
1914
|
+
*-highlevel)
|
1915
|
+
os=bsd
|
1916
|
+
;;
|
1917
|
+
*-encore)
|
1918
|
+
os=bsd
|
1919
|
+
;;
|
1920
|
+
*-masscomp)
|
1921
|
+
os=rtu
|
1922
|
+
;;
|
1923
|
+
f30[01]-fujitsu | f700-fujitsu)
|
1924
|
+
os=uxpv
|
1925
|
+
;;
|
1926
|
+
*-rom68k)
|
1927
|
+
os=
|
1928
|
+
obj=coff
|
1929
|
+
;;
|
1930
|
+
*-*bug)
|
1931
|
+
os=
|
1932
|
+
obj=coff
|
1933
|
+
;;
|
1934
|
+
*-apple)
|
1935
|
+
os=macos
|
1936
|
+
;;
|
1937
|
+
*-atari*)
|
1938
|
+
os=mint
|
1939
|
+
;;
|
1940
|
+
*-wrs)
|
1941
|
+
os=vxworks
|
1942
|
+
;;
|
1943
|
+
*)
|
1944
|
+
os=none
|
1945
|
+
;;
|
1946
|
+
esac
|
1947
|
+
|
1948
|
+
fi
|
1949
|
+
|
1950
|
+
# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
|
1951
|
+
|
1952
|
+
case $os in
|
1953
|
+
# Sometimes we do "kernel-libc", so those need to count as OSes.
|
1954
|
+
llvm* | musl* | newlib* | relibc* | uclibc*)
|
1955
|
+
;;
|
1956
|
+
# Likewise for "kernel-abi"
|
1957
|
+
eabi* | gnueabi*)
|
1958
|
+
;;
|
1959
|
+
# VxWorks passes extra cpu info in the 4th filed.
|
1960
|
+
simlinux | simwindows | spe)
|
1961
|
+
;;
|
1962
|
+
# See `case $cpu-$os` validation below
|
1963
|
+
ghcjs)
|
1964
|
+
;;
|
1965
|
+
# Now accept the basic system types.
|
1966
|
+
# Each alternative MUST end in a * to match a version number.
|
1967
|
+
abug \
|
1968
|
+
| aix* \
|
1969
|
+
| amdhsa* \
|
1970
|
+
| amigados* \
|
1971
|
+
| amigaos* \
|
1972
|
+
| android* \
|
1973
|
+
| aof* \
|
1974
|
+
| aos* \
|
1975
|
+
| aros* \
|
1976
|
+
| atheos* \
|
1977
|
+
| auroraux* \
|
1978
|
+
| aux* \
|
1979
|
+
| beos* \
|
1980
|
+
| bitrig* \
|
1981
|
+
| bme* \
|
1982
|
+
| bosx* \
|
1983
|
+
| bsd* \
|
1984
|
+
| cegcc* \
|
1985
|
+
| chorusos* \
|
1986
|
+
| chorusrdb* \
|
1987
|
+
| clix* \
|
1988
|
+
| cloudabi* \
|
1989
|
+
| cnk* \
|
1990
|
+
| conix* \
|
1991
|
+
| cos* \
|
1992
|
+
| cxux* \
|
1993
|
+
| cygwin* \
|
1994
|
+
| darwin* \
|
1995
|
+
| dgux* \
|
1996
|
+
| dicos* \
|
1997
|
+
| dnix* \
|
1998
|
+
| domain* \
|
1999
|
+
| dragonfly* \
|
2000
|
+
| drops* \
|
2001
|
+
| ebmon* \
|
2002
|
+
| ecoff* \
|
2003
|
+
| ekkobsd* \
|
2004
|
+
| emscripten* \
|
2005
|
+
| emx* \
|
2006
|
+
| es* \
|
2007
|
+
| fiwix* \
|
2008
|
+
| freebsd* \
|
2009
|
+
| fuchsia* \
|
2010
|
+
| genix* \
|
2011
|
+
| genode* \
|
2012
|
+
| glidix* \
|
2013
|
+
| gnu* \
|
2014
|
+
| go32* \
|
2015
|
+
| haiku* \
|
2016
|
+
| hcos* \
|
2017
|
+
| hiux* \
|
2018
|
+
| hms* \
|
2019
|
+
| hpux* \
|
2020
|
+
| ieee* \
|
2021
|
+
| interix* \
|
2022
|
+
| ios* \
|
2023
|
+
| iris* \
|
2024
|
+
| irix* \
|
2025
|
+
| ironclad* \
|
2026
|
+
| isc* \
|
2027
|
+
| its* \
|
2028
|
+
| l4re* \
|
2029
|
+
| libertybsd* \
|
2030
|
+
| lites* \
|
2031
|
+
| lnews* \
|
2032
|
+
| luna* \
|
2033
|
+
| lynxos* \
|
2034
|
+
| mach* \
|
2035
|
+
| macos* \
|
2036
|
+
| magic* \
|
2037
|
+
| mbr* \
|
2038
|
+
| midipix* \
|
2039
|
+
| midnightbsd* \
|
2040
|
+
| mingw32* \
|
2041
|
+
| mingw64* \
|
2042
|
+
| minix* \
|
2043
|
+
| mint* \
|
2044
|
+
| mirbsd* \
|
2045
|
+
| mks* \
|
2046
|
+
| mlibc* \
|
2047
|
+
| mmixware* \
|
2048
|
+
| mon960* \
|
2049
|
+
| morphos* \
|
2050
|
+
| moss* \
|
2051
|
+
| moxiebox* \
|
2052
|
+
| mpeix* \
|
2053
|
+
| mpw* \
|
2054
|
+
| msdos* \
|
2055
|
+
| msys* \
|
2056
|
+
| mvs* \
|
2057
|
+
| nacl* \
|
2058
|
+
| netbsd* \
|
2059
|
+
| netware* \
|
2060
|
+
| newsos* \
|
2061
|
+
| nextstep* \
|
2062
|
+
| nindy* \
|
2063
|
+
| nonstopux* \
|
2064
|
+
| nova* \
|
2065
|
+
| nsk* \
|
2066
|
+
| nucleus* \
|
2067
|
+
| nx6 \
|
2068
|
+
| nx7 \
|
2069
|
+
| oabi* \
|
2070
|
+
| ohos* \
|
2071
|
+
| onefs* \
|
2072
|
+
| openbsd* \
|
2073
|
+
| openedition* \
|
2074
|
+
| openstep* \
|
2075
|
+
| os108* \
|
2076
|
+
| os2* \
|
2077
|
+
| os400* \
|
2078
|
+
| os68k* \
|
2079
|
+
| os9* \
|
2080
|
+
| ose* \
|
2081
|
+
| osf* \
|
2082
|
+
| oskit* \
|
2083
|
+
| osx* \
|
2084
|
+
| palmos* \
|
2085
|
+
| phoenix* \
|
2086
|
+
| plan9* \
|
2087
|
+
| powermax* \
|
2088
|
+
| powerunix* \
|
2089
|
+
| proelf* \
|
2090
|
+
| psos* \
|
2091
|
+
| psp* \
|
2092
|
+
| ptx* \
|
2093
|
+
| pw32* \
|
2094
|
+
| qnx* \
|
2095
|
+
| rdos* \
|
2096
|
+
| redox* \
|
2097
|
+
| rhapsody* \
|
2098
|
+
| riscix* \
|
2099
|
+
| riscos* \
|
2100
|
+
| rtems* \
|
2101
|
+
| rtmk* \
|
2102
|
+
| rtu* \
|
2103
|
+
| scout* \
|
2104
|
+
| secbsd* \
|
2105
|
+
| sei* \
|
2106
|
+
| serenity* \
|
2107
|
+
| sim* \
|
2108
|
+
| skyos* \
|
2109
|
+
| solaris* \
|
2110
|
+
| solidbsd* \
|
2111
|
+
| sortix* \
|
2112
|
+
| storm-chaos* \
|
2113
|
+
| sunos \
|
2114
|
+
| sunos[34]* \
|
2115
|
+
| superux* \
|
2116
|
+
| syllable* \
|
2117
|
+
| sym* \
|
2118
|
+
| sysv* \
|
2119
|
+
| tenex* \
|
2120
|
+
| tirtos* \
|
2121
|
+
| toppers* \
|
2122
|
+
| tops10* \
|
2123
|
+
| tops20* \
|
2124
|
+
| tpf* \
|
2125
|
+
| tvos* \
|
2126
|
+
| twizzler* \
|
2127
|
+
| uclinux* \
|
2128
|
+
| udi* \
|
2129
|
+
| udk* \
|
2130
|
+
| ultrix* \
|
2131
|
+
| unicos* \
|
2132
|
+
| uniplus* \
|
2133
|
+
| unleashed* \
|
2134
|
+
| unos* \
|
2135
|
+
| uwin* \
|
2136
|
+
| uxpv* \
|
2137
|
+
| v88r* \
|
2138
|
+
|*vms* \
|
2139
|
+
| vos* \
|
2140
|
+
| vsta* \
|
2141
|
+
| vxsim* \
|
2142
|
+
| vxworks* \
|
2143
|
+
| wasi* \
|
2144
|
+
| watchos* \
|
2145
|
+
| wince* \
|
2146
|
+
| windiss* \
|
2147
|
+
| windows* \
|
2148
|
+
| winnt* \
|
2149
|
+
| xenix* \
|
2150
|
+
| xray* \
|
2151
|
+
| zephyr* \
|
2152
|
+
| zvmoe* )
|
2153
|
+
;;
|
2154
|
+
# This one is extra strict with allowed versions
|
2155
|
+
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
2156
|
+
# Don't forget version if it is 3.2v4 or newer.
|
2157
|
+
;;
|
2158
|
+
# This refers to builds using the UEFI calling convention
|
2159
|
+
# (which depends on the architecture) and PE file format.
|
2160
|
+
# Note that this is both a different calling convention and
|
2161
|
+
# different file format than that of GNU-EFI
|
2162
|
+
# (x86_64-w64-mingw32).
|
2163
|
+
uefi)
|
2164
|
+
;;
|
2165
|
+
none)
|
2166
|
+
;;
|
2167
|
+
kernel* | msvc* )
|
2168
|
+
# Restricted further below
|
2169
|
+
;;
|
2170
|
+
'')
|
2171
|
+
if test x"$obj" = x
|
2172
|
+
then
|
2173
|
+
echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
|
2174
|
+
fi
|
2175
|
+
;;
|
2176
|
+
*)
|
2177
|
+
echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
|
2178
|
+
exit 1
|
2179
|
+
;;
|
2180
|
+
esac
|
2181
|
+
|
2182
|
+
case $obj in
|
2183
|
+
aout* | coff* | elf* | pe*)
|
2184
|
+
;;
|
2185
|
+
'')
|
2186
|
+
# empty is fine
|
2187
|
+
;;
|
2188
|
+
*)
|
2189
|
+
echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
|
2190
|
+
exit 1
|
2191
|
+
;;
|
2192
|
+
esac
|
2193
|
+
|
2194
|
+
# Here we handle the constraint that a (synthetic) cpu and os are
|
2195
|
+
# valid only in combination with each other and nowhere else.
|
2196
|
+
case $cpu-$os in
|
2197
|
+
# The "javascript-unknown-ghcjs" triple is used by GHC; we
|
2198
|
+
# accept it here in order to tolerate that, but reject any
|
2199
|
+
# variations.
|
2200
|
+
javascript-ghcjs)
|
2201
|
+
;;
|
2202
|
+
javascript-* | *-ghcjs)
|
2203
|
+
echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
|
2204
|
+
exit 1
|
2205
|
+
;;
|
2206
|
+
esac
|
2207
|
+
|
2208
|
+
# As a final step for OS-related things, validate the OS-kernel combination
|
2209
|
+
# (given a valid OS), if there is a kernel.
|
2210
|
+
case $kernel-$os-$obj in
|
2211
|
+
linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
|
2212
|
+
| linux-mlibc*- | linux-musl*- | linux-newlib*- \
|
2213
|
+
| linux-relibc*- | linux-uclibc*- | linux-ohos*- )
|
2214
|
+
;;
|
2215
|
+
uclinux-uclibc*- | uclinux-gnu*- )
|
2216
|
+
;;
|
2217
|
+
managarm-mlibc*- | managarm-kernel*- )
|
2218
|
+
;;
|
2219
|
+
windows*-msvc*-)
|
2220
|
+
;;
|
2221
|
+
-dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
|
2222
|
+
| -uclibc*- )
|
2223
|
+
# These are just libc implementations, not actual OSes, and thus
|
2224
|
+
# require a kernel.
|
2225
|
+
echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
|
2226
|
+
exit 1
|
2227
|
+
;;
|
2228
|
+
-kernel*- )
|
2229
|
+
echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
|
2230
|
+
exit 1
|
2231
|
+
;;
|
2232
|
+
*-kernel*- )
|
2233
|
+
echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
|
2234
|
+
exit 1
|
2235
|
+
;;
|
2236
|
+
*-msvc*- )
|
2237
|
+
echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
|
2238
|
+
exit 1
|
2239
|
+
;;
|
2240
|
+
kfreebsd*-gnu*- | knetbsd*-gnu*- | netbsd*-gnu*- | kopensolaris*-gnu*-)
|
2241
|
+
;;
|
2242
|
+
vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
|
2243
|
+
;;
|
2244
|
+
nto-qnx*-)
|
2245
|
+
;;
|
2246
|
+
os2-emx-)
|
2247
|
+
;;
|
2248
|
+
rtmk-nova-)
|
2249
|
+
;;
|
2250
|
+
*-eabi*- | *-gnueabi*-)
|
2251
|
+
;;
|
2252
|
+
none--*)
|
2253
|
+
# None (no kernel, i.e. freestanding / bare metal),
|
2254
|
+
# can be paired with an machine code file format
|
2255
|
+
;;
|
2256
|
+
-*-)
|
2257
|
+
# Blank kernel with real OS is always fine.
|
2258
|
+
;;
|
2259
|
+
--*)
|
2260
|
+
# Blank kernel and OS with real machine code file format is always fine.
|
2261
|
+
;;
|
2262
|
+
*-*-*)
|
2263
|
+
echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
|
2264
|
+
exit 1
|
2265
|
+
;;
|
2266
|
+
esac
|
2267
|
+
|
2268
|
+
# Here we handle the case where we know the os, and the CPU type, but not the
|
2269
|
+
# manufacturer. We pick the logical manufacturer.
|
2270
|
+
case $vendor in
|
2271
|
+
unknown)
|
2272
|
+
case $cpu-$os in
|
2273
|
+
*-riscix*)
|
2274
|
+
vendor=acorn
|
2275
|
+
;;
|
2276
|
+
*-sunos* | *-solaris*)
|
2277
|
+
vendor=sun
|
2278
|
+
;;
|
2279
|
+
*-cnk* | *-aix*)
|
2280
|
+
vendor=ibm
|
2281
|
+
;;
|
2282
|
+
*-beos*)
|
2283
|
+
vendor=be
|
2284
|
+
;;
|
2285
|
+
*-hpux*)
|
2286
|
+
vendor=hp
|
2287
|
+
;;
|
2288
|
+
*-mpeix*)
|
2289
|
+
vendor=hp
|
2290
|
+
;;
|
2291
|
+
*-hiux*)
|
2292
|
+
vendor=hitachi
|
2293
|
+
;;
|
2294
|
+
*-unos*)
|
2295
|
+
vendor=crds
|
2296
|
+
;;
|
2297
|
+
*-dgux*)
|
2298
|
+
vendor=dg
|
2299
|
+
;;
|
2300
|
+
*-luna*)
|
2301
|
+
vendor=omron
|
2302
|
+
;;
|
2303
|
+
*-genix*)
|
2304
|
+
vendor=ns
|
2305
|
+
;;
|
2306
|
+
*-clix*)
|
2307
|
+
vendor=intergraph
|
2308
|
+
;;
|
2309
|
+
*-mvs* | *-opened*)
|
2310
|
+
vendor=ibm
|
2311
|
+
;;
|
2312
|
+
*-os400*)
|
2313
|
+
vendor=ibm
|
2314
|
+
;;
|
2315
|
+
s390-* | s390x-*)
|
2316
|
+
vendor=ibm
|
2317
|
+
;;
|
2318
|
+
*-ptx*)
|
2319
|
+
vendor=sequent
|
2320
|
+
;;
|
2321
|
+
*-tpf*)
|
2322
|
+
vendor=ibm
|
2323
|
+
;;
|
2324
|
+
*-vxsim* | *-vxworks* | *-windiss*)
|
2325
|
+
vendor=wrs
|
2326
|
+
;;
|
2327
|
+
*-aux*)
|
2328
|
+
vendor=apple
|
2329
|
+
;;
|
2330
|
+
*-hms*)
|
2331
|
+
vendor=hitachi
|
2332
|
+
;;
|
2333
|
+
*-mpw* | *-macos*)
|
2334
|
+
vendor=apple
|
2335
|
+
;;
|
2336
|
+
*-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
|
2337
|
+
vendor=atari
|
2338
|
+
;;
|
2339
|
+
*-vos*)
|
2340
|
+
vendor=stratus
|
2341
|
+
;;
|
2342
|
+
esac
|
2343
|
+
;;
|
2344
|
+
esac
|
2345
|
+
|
2346
|
+
echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
|
2347
|
+
exit
|
2348
|
+
|
2349
|
+
# Local variables:
|
2350
|
+
# eval: (add-hook 'before-save-hook 'time-stamp)
|
2351
|
+
# time-stamp-start: "timestamp='"
|
2352
|
+
# time-stamp-format: "%:y-%02m-%02d"
|
2353
|
+
# time-stamp-end: "'"
|
2354
|
+
# End:
|