ffi-libarchive-binary 0.2.1-x86-linux

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9a94cf55db51f56f67a4e5fe5ba7fd249ccb0ccb
4
+ data.tar.gz: ddbfc2ac6532b5ea6bce7bf4c587e7e1508392f4
5
+ SHA512:
6
+ metadata.gz: 854b16d072fbd2ad78ffd5ef99bc7f4131fae4666a5bda8507a46448de4a62e46b318c5b1ebff3663f739d1ba4ab58a6fc5bbac564875998b0e2fa5367cfadba
7
+ data.tar.gz: 3679929b0500f247cffa6769a98df561a2e475fa9d874d0d03cf2ee20d47d8031da2b279e225f274604b2e8d0ca10692653d6b74820c34d12a6d25049d91ba36
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ Gemfile.lock
10
+ *.installed
11
+ ports/
12
+ vendor/
13
+ *.dll
14
+ *.dylib
15
+ *.so
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gemspec
6
+
7
+ gem "gem-release"
8
+
9
+ gem "mini_portile2", "~> 2.0"
10
+ gem "rake", "~> 13.0"
11
+ gem "rspec", "~> 3.0"
data/README.adoc ADDED
@@ -0,0 +1,103 @@
1
+ = Binaries for ffi-libarchive
2
+
3
+ == Purpose
4
+
5
+ Contains pre-compiled and install-time-compiled binaries for ffi-libarchive.
6
+
7
+
8
+ == Installation
9
+
10
+ Add this line to your application's Gemfile:
11
+
12
+ [source,ruby]
13
+ ----
14
+ gem "ffi-libarchive-binary"
15
+ ----
16
+
17
+ And then execute:
18
+
19
+ [source,sh]
20
+ ----
21
+ $ bundle install
22
+ ----
23
+
24
+ Or install it yourself as:
25
+
26
+ [source,sh]
27
+ ----
28
+ $ gem install ffi-libarchive-binary
29
+ ----
30
+
31
+
32
+ == Usage
33
+
34
+ Require the gem and use calls from https://github.com/chef/ffi-libarchive[ffi-libarchive].
35
+
36
+ [source,ruby]
37
+ ----
38
+ require "ffi-libarchive-binary"
39
+
40
+ path = File.expand_path('file.pkg', __dir__)
41
+ flags = Archive::EXTRACT_PERM
42
+ reader = Archive::Reader.open_filename(path)
43
+
44
+ reader.each_entry do |entry|
45
+ reader.extract(entry, flags.to_i)
46
+ end
47
+
48
+ reader.close
49
+ ----
50
+
51
+
52
+ == Development
53
+
54
+ We are following Sandi Metz's Rules for this gem, you can read the
55
+ http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers[description of the rules here].
56
+ All new code should follow these
57
+ rules. If you make changes in a pre-existing file that violates these rules you
58
+ should fix the violations as part of your contribution.
59
+
60
+
61
+ == Releasing
62
+
63
+ Releasing is done automatically with GitHub Action. Just bump and tag with `gem-release`.
64
+
65
+ For a patch release (0.0.x) use:
66
+
67
+ [source,ruby]
68
+ ----
69
+ gem bump --version patch --tag --push
70
+ ----
71
+
72
+ For a minor release (0.x.0) use:
73
+
74
+ [source,ruby]
75
+ ----
76
+ gem bump --version minor --tag --push
77
+ ----
78
+
79
+
80
+ == Contributing
81
+
82
+ First, thank you for contributing! We love pull requests from everyone. By
83
+ participating in this project, you hereby grant https://www.ribose.com[Ribose Inc.] the
84
+ right to grant or transfer an unlimited number of non exclusive licenses or
85
+ sub-licenses to third parties, under the copyright covering the contribution
86
+ to use the contribution by all means.
87
+
88
+ Here are a few technical guidelines to follow:
89
+
90
+ 1. Open an https://github.com/fontist/ffi-libarchive-binary/issues[issue] to discuss a new feature.
91
+ 1. Write tests to support your new feature.
92
+ 1. Make sure the entire test suite passes locally and on CI.
93
+ 1. Open a Pull Request.
94
+ 1. https://github.com/thoughtbot/guides/tree/master/protocol/git#write-a-feature[Squash your commits]
95
+ after receiving feedback.
96
+ 1. Party!
97
+
98
+
99
+ == License
100
+
101
+ This gem is distributed with a BSD 3-Clause license.
102
+
103
+ This gem is developed, maintained and funded by https://www.ribose.com/[Ribose Inc.]
data/Rakefile ADDED
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rake/clean"
4
+ require "rubygems/package_task"
5
+ require_relative "lib/ffi-libarchive-binary/libarchive_recipe"
6
+
7
+ desc "Build install-compilation gem"
8
+ task "gem:native:any" do
9
+ sh "rake platform:any gem"
10
+ end
11
+
12
+ desc "Define the gem task to build on any platform (compile on install)"
13
+ task "platform:any" do
14
+ spec = Gem::Specification::load("ffi-libarchive-binary.gemspec").dup
15
+ spec.extensions = ['ext/extconf.rb']
16
+ spec.add_runtime_dependency("mini_portile2", "~> 2.0")
17
+
18
+ task = Gem::PackageTask.new(spec)
19
+ task.define
20
+ end
21
+
22
+ platforms = [
23
+ ["x86-mingw32", "i686-w64-mingw32", "libarchive-13.dll"],
24
+ ["x64-mingw32", "x86_64-w64-mingw32", "libarchive-13.dll"],
25
+ ["x86-linux", "i686-linux-gnu", "libarchive.so"],
26
+ ["x86_64-linux", "x86_64-linux-gnu", "libarchive.so"],
27
+ ["x86_64-darwin", "x86_64-darwin", "libarchive.dylib"],
28
+ ["arm64-darwin", "arm64-darwin", "libarchive.dylib"],
29
+ ]
30
+
31
+ platforms.each do |platform, host, lib|
32
+ desc "Build pre-compiled gem for the #{platform} platform"
33
+ task "gem:native:#{platform}" do
34
+ sh "rake compile[#{host}] platform:#{platform} gem"
35
+ end
36
+
37
+ desc "Define the gem task to build on the #{platform} platform (binary gem)"
38
+ task "platform:#{platform}" do
39
+ spec = Gem::Specification::load("ffi-libarchive-binary.gemspec").dup
40
+ spec.platform = Gem::Platform.new(platform)
41
+ spec.files += ["lib/ffi-libarchive-binary/#{lib}"]
42
+
43
+ task = Gem::PackageTask.new(spec)
44
+ task.define
45
+ end
46
+ end
47
+
48
+ desc "Compile binary for the target host"
49
+ task :compile, [:host] do |_t, args|
50
+ recipe = LibarchiveBinary::LibarchiveRecipe.new
51
+ recipe.host = args[:host] if args[:host]
52
+ recipe.cook_if_not
53
+ end
54
+
55
+ CLOBBER.include("pkg")
56
+ CLEAN.include("ports",
57
+ "tmp",
58
+ "lib/ffi-libarchive-binary/libarchive-13.dll",
59
+ "lib/ffi-libarchive-binary/libarchive.dylib",
60
+ "lib/ffi-libarchive-binary/libarchive.so")
data/ext/Makefile ADDED
@@ -0,0 +1,4 @@
1
+ # dummy Makefile, it is required to build an extension
2
+ all:
3
+ clean:
4
+ install:
data/ext/extconf.rb ADDED
@@ -0,0 +1,6 @@
1
+ $: << File.expand_path(File.join(File.dirname(__FILE__), "../lib"))
2
+
3
+ require "ffi-libarchive-binary/libarchive_recipe"
4
+
5
+ recipe = LibarchiveBinary::LibarchiveRecipe.new
6
+ recipe.cook_if_not
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ $: << File.expand_path("lib", __dir__)
4
+ require "ffi-libarchive-binary/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "ffi-libarchive-binary"
8
+ spec.version = LibarchiveBinary::VERSION
9
+ spec.authors = ["Ribose Inc."]
10
+ spec.email = ["open.source@ribose.com"]
11
+
12
+ spec.summary = "Binaries for ffi-libarchive"
13
+ spec.description = "Contains pre-compiled and install-time-compiled binaries for ffi-libarchive"
14
+ spec.homepage = "https://github.com/fontist/ffi-libarchive-binary"
15
+ spec.license = "BSD-3-Clause"
16
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
17
+
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = "https://github.com/fontist/ffi-libarchive-binary"
20
+ spec.metadata["changelog_uri"] = "https://github.com/fontist/ffi-libarchive-binary"
21
+
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|bin|.github)/}) }
24
+ end
25
+ spec.bindir = "exe"
26
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
27
+ spec.require_paths = ["lib"]
28
+
29
+ spec.add_runtime_dependency "ffi-libarchive", "~> 1.0"
30
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ffi-libarchive-binary/version"
4
+ require "ffi"
5
+ require "pathname"
6
+
7
+ module LibarchiveBinary
8
+ class Error < StandardError; end
9
+
10
+ module LibraryPath
11
+ LIBRARY_PATH = Pathname.new(File.join(__dir__, "ffi-libarchive-binary"))
12
+
13
+ def ffi_lib(*names)
14
+ prefixed = names.map do |name|
15
+ paths = name.is_a?(Array) ? name : [name]
16
+ paths.map { |x| LIBRARY_PATH.join(FFI::map_library_name(x)).to_s }
17
+ end
18
+
19
+ super(*(prefixed + names))
20
+ end
21
+ end
22
+
23
+ ::FFI::Library.prepend(LibraryPath)
24
+ require "ffi-libarchive"
25
+ end
@@ -0,0 +1,51 @@
1
+ require "mini_portile2"
2
+ require "pathname"
3
+
4
+ module LibarchiveBinary
5
+ class LibarchiveRecipe < MiniPortile
6
+ ROOT = Pathname.new(File.expand_path("../..", __dir__))
7
+
8
+ def initialize
9
+ super("libarchive", "3.5.1")
10
+
11
+ @files << {
12
+ url: "https://www.libarchive.org/downloads/libarchive-3.5.1.tar.gz",
13
+ sha256: "9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a"
14
+ }
15
+
16
+ @target = ROOT.join(@target).to_s
17
+ end
18
+
19
+ def configure_defaults
20
+ [
21
+ "--host=#{@host}",
22
+ "--disable-static",
23
+ "--enable-shared",
24
+ ]
25
+ end
26
+
27
+ def cook_if_not
28
+ checkpoint_file = "#{self.name}-#{self.version}-#{self.host}.installed"
29
+ checkpoint = File.join(@target, checkpoint_file)
30
+ return if File.exist?(checkpoint)
31
+
32
+ cook
33
+ FileUtils.touch(checkpoint)
34
+ end
35
+
36
+ def patch
37
+ super
38
+
39
+ FileUtils.cp(Dir.glob(ROOT.join("updates", "config.*").to_s),
40
+ File.join(work_path, "build", "autoconf"))
41
+ end
42
+
43
+ def install
44
+ super
45
+
46
+ libs = Dir.glob(File.join(port_path, "{lib,bin}", "*"))
47
+ .grep(/\/(?:lib)?[a-zA-Z0-9\-]+\.(?:so|dylib|dll)$/)
48
+ FileUtils.cp_r(libs, ROOT.join("lib", "ffi-libarchive-binary"), verbose: true)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LibarchiveBinary
4
+ VERSION = "0.2.1"
5
+ end
@@ -0,0 +1,1700 @@
1
+ #! /bin/sh
2
+ # Attempt to guess a canonical system name.
3
+ # Copyright 1992-2021 Free Software Foundation, Inc.
4
+
5
+ timestamp='2021-01-25'
6
+
7
+ # This file is free software; you can redistribute it and/or modify it
8
+ # under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful, but
13
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, see <https://www.gnu.org/licenses/>.
19
+ #
20
+ # As a special exception to the GNU General Public License, if you
21
+ # distribute this file as part of a program that contains a
22
+ # configuration script generated by Autoconf, you may include it under
23
+ # the same distribution terms that you use for the rest of that
24
+ # program. This Exception is an additional permission under section 7
25
+ # of the GNU General Public License, version 3 ("GPLv3").
26
+ #
27
+ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28
+ #
29
+ # You can get the latest version of this script from:
30
+ # https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
31
+ #
32
+ # Please send patches to <config-patches@gnu.org>.
33
+
34
+
35
+ me=$(echo "$0" | sed -e 's,.*/,,')
36
+
37
+ usage="\
38
+ Usage: $0 [OPTION]
39
+
40
+ Output the configuration name of the system \`$me' is run on.
41
+
42
+ Options:
43
+ -h, --help print this help, then exit
44
+ -t, --time-stamp print date of last modification, then exit
45
+ -v, --version print version number, then exit
46
+
47
+ Report bugs and patches to <config-patches@gnu.org>."
48
+
49
+ version="\
50
+ GNU config.guess ($timestamp)
51
+
52
+ Originally written by Per Bothner.
53
+ Copyright 1992-2021 Free Software Foundation, Inc.
54
+
55
+ This is free software; see the source for copying conditions. There is NO
56
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57
+
58
+ help="
59
+ Try \`$me --help' for more information."
60
+
61
+ # Parse command line
62
+ while test $# -gt 0 ; do
63
+ case $1 in
64
+ --time-stamp | --time* | -t )
65
+ echo "$timestamp" ; exit ;;
66
+ --version | -v )
67
+ echo "$version" ; exit ;;
68
+ --help | --h* | -h )
69
+ echo "$usage"; exit ;;
70
+ -- ) # Stop option processing
71
+ shift; break ;;
72
+ - ) # Use stdin as input.
73
+ break ;;
74
+ -* )
75
+ echo "$me: invalid option $1$help" >&2
76
+ exit 1 ;;
77
+ * )
78
+ break ;;
79
+ esac
80
+ done
81
+
82
+ if test $# != 0; then
83
+ echo "$me: too many arguments$help" >&2
84
+ exit 1
85
+ fi
86
+
87
+ # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
88
+ # compiler to aid in system detection is discouraged as it requires
89
+ # temporary files to be created and, as you can see below, it is a
90
+ # headache to deal with in a portable fashion.
91
+
92
+ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
93
+ # use `HOST_CC' if defined, but it is deprecated.
94
+
95
+ # Portable tmp directory creation inspired by the Autoconf team.
96
+
97
+ tmp=
98
+ # shellcheck disable=SC2172
99
+ trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
100
+
101
+ set_cc_for_build() {
102
+ # prevent multiple calls if $tmp is already set
103
+ test "$tmp" && return 0
104
+ : "${TMPDIR=/tmp}"
105
+ # shellcheck disable=SC2039
106
+ { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } ||
107
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
108
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
109
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
110
+ dummy=$tmp/dummy
111
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
112
+ ,,) echo "int x;" > "$dummy.c"
113
+ for driver in cc gcc c89 c99 ; do
114
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
115
+ CC_FOR_BUILD="$driver"
116
+ break
117
+ fi
118
+ done
119
+ if test x"$CC_FOR_BUILD" = x ; then
120
+ CC_FOR_BUILD=no_compiler_found
121
+ fi
122
+ ;;
123
+ ,,*) CC_FOR_BUILD=$CC ;;
124
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
125
+ esac
126
+ }
127
+
128
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
129
+ # (ghazi@noc.rutgers.edu 1994-08-24)
130
+ if test -f /.attbin/uname ; then
131
+ PATH=$PATH:/.attbin ; export PATH
132
+ fi
133
+
134
+ UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown
135
+ UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown
136
+ UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown
137
+ UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
138
+
139
+ case "$UNAME_SYSTEM" in
140
+ Linux|GNU|GNU/*)
141
+ LIBC=unknown
142
+
143
+ set_cc_for_build
144
+ cat <<-EOF > "$dummy.c"
145
+ #include <features.h>
146
+ #if defined(__UCLIBC__)
147
+ LIBC=uclibc
148
+ #elif defined(__dietlibc__)
149
+ LIBC=dietlibc
150
+ #elif defined(__GLIBC__)
151
+ LIBC=gnu
152
+ #else
153
+ #include <stdarg.h>
154
+ /* First heuristic to detect musl libc. */
155
+ #ifdef __DEFINED_va_list
156
+ LIBC=musl
157
+ #endif
158
+ #endif
159
+ EOF
160
+ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
161
+
162
+ # Second heuristic to detect musl libc.
163
+ if [ "$LIBC" = unknown ] &&
164
+ command -v ldd >/dev/null &&
165
+ ldd --version 2>&1 | grep -q ^musl; then
166
+ LIBC=musl
167
+ fi
168
+
169
+ # If the system lacks a compiler, then just pick glibc.
170
+ # We could probably try harder.
171
+ if [ "$LIBC" = unknown ]; then
172
+ LIBC=gnu
173
+ fi
174
+ ;;
175
+ esac
176
+
177
+ # Note: order is significant - the case branches are not exclusive.
178
+
179
+ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
180
+ *:NetBSD:*:*)
181
+ # NetBSD (nbsd) targets should (where applicable) match one or
182
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
183
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
184
+ # switched to ELF, *-*-netbsd* would select the old
185
+ # object file format. This provides both forward
186
+ # compatibility and a consistent mechanism for selecting the
187
+ # object file format.
188
+ #
189
+ # Note: NetBSD doesn't particularly care about the vendor
190
+ # portion of the name. We always set it to "unknown".
191
+ UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
192
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
193
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
194
+ echo unknown))
195
+ case "$UNAME_MACHINE_ARCH" in
196
+ aarch64eb) machine=aarch64_be-unknown ;;
197
+ armeb) machine=armeb-unknown ;;
198
+ arm*) machine=arm-unknown ;;
199
+ sh3el) machine=shl-unknown ;;
200
+ sh3eb) machine=sh-unknown ;;
201
+ sh5el) machine=sh5le-unknown ;;
202
+ earmv*)
203
+ arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,')
204
+ endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p')
205
+ machine="${arch}${endian}"-unknown
206
+ ;;
207
+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
208
+ esac
209
+ # The Operating System including object format, if it has switched
210
+ # to ELF recently (or will in the future) and ABI.
211
+ case "$UNAME_MACHINE_ARCH" in
212
+ earm*)
213
+ os=netbsdelf
214
+ ;;
215
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
216
+ set_cc_for_build
217
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
218
+ | grep -q __ELF__
219
+ then
220
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
221
+ # Return netbsd for either. FIX?
222
+ os=netbsd
223
+ else
224
+ os=netbsdelf
225
+ fi
226
+ ;;
227
+ *)
228
+ os=netbsd
229
+ ;;
230
+ esac
231
+ # Determine ABI tags.
232
+ case "$UNAME_MACHINE_ARCH" in
233
+ earm*)
234
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
235
+ abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr")
236
+ ;;
237
+ esac
238
+ # The OS release
239
+ # Debian GNU/NetBSD machines have a different userland, and
240
+ # thus, need a distinct triplet. However, they do not need
241
+ # kernel version information, so it can be replaced with a
242
+ # suitable tag, in the style of linux-gnu.
243
+ case "$UNAME_VERSION" in
244
+ Debian*)
245
+ release='-gnu'
246
+ ;;
247
+ *)
248
+ release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2)
249
+ ;;
250
+ esac
251
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
252
+ # contains redundant information, the shorter form:
253
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
254
+ echo "$machine-${os}${release}${abi-}"
255
+ exit ;;
256
+ *:Bitrig:*:*)
257
+ UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//')
258
+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
259
+ exit ;;
260
+ *:OpenBSD:*:*)
261
+ UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//')
262
+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
263
+ exit ;;
264
+ *:LibertyBSD:*:*)
265
+ UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//')
266
+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
267
+ exit ;;
268
+ *:MidnightBSD:*:*)
269
+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
270
+ exit ;;
271
+ *:ekkoBSD:*:*)
272
+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
273
+ exit ;;
274
+ *:SolidBSD:*:*)
275
+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
276
+ exit ;;
277
+ *:OS108:*:*)
278
+ echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
279
+ exit ;;
280
+ macppc:MirBSD:*:*)
281
+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
282
+ exit ;;
283
+ *:MirBSD:*:*)
284
+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
285
+ exit ;;
286
+ *:Sortix:*:*)
287
+ echo "$UNAME_MACHINE"-unknown-sortix
288
+ exit ;;
289
+ *:Twizzler:*:*)
290
+ echo "$UNAME_MACHINE"-unknown-twizzler
291
+ exit ;;
292
+ *:Redox:*:*)
293
+ echo "$UNAME_MACHINE"-unknown-redox
294
+ exit ;;
295
+ mips:OSF1:*.*)
296
+ echo mips-dec-osf1
297
+ exit ;;
298
+ alpha:OSF1:*:*)
299
+ case $UNAME_RELEASE in
300
+ *4.0)
301
+ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}')
302
+ ;;
303
+ *5.*)
304
+ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}')
305
+ ;;
306
+ esac
307
+ # According to Compaq, /usr/sbin/psrinfo has been available on
308
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
309
+ # covers most systems running today. This code pipes the CPU
310
+ # types through head -n 1, so we only detect the type of CPU 0.
311
+ ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1)
312
+ case "$ALPHA_CPU_TYPE" in
313
+ "EV4 (21064)")
314
+ UNAME_MACHINE=alpha ;;
315
+ "EV4.5 (21064)")
316
+ UNAME_MACHINE=alpha ;;
317
+ "LCA4 (21066/21068)")
318
+ UNAME_MACHINE=alpha ;;
319
+ "EV5 (21164)")
320
+ UNAME_MACHINE=alphaev5 ;;
321
+ "EV5.6 (21164A)")
322
+ UNAME_MACHINE=alphaev56 ;;
323
+ "EV5.6 (21164PC)")
324
+ UNAME_MACHINE=alphapca56 ;;
325
+ "EV5.7 (21164PC)")
326
+ UNAME_MACHINE=alphapca57 ;;
327
+ "EV6 (21264)")
328
+ UNAME_MACHINE=alphaev6 ;;
329
+ "EV6.7 (21264A)")
330
+ UNAME_MACHINE=alphaev67 ;;
331
+ "EV6.8CB (21264C)")
332
+ UNAME_MACHINE=alphaev68 ;;
333
+ "EV6.8AL (21264B)")
334
+ UNAME_MACHINE=alphaev68 ;;
335
+ "EV6.8CX (21264D)")
336
+ UNAME_MACHINE=alphaev68 ;;
337
+ "EV6.9A (21264/EV69A)")
338
+ UNAME_MACHINE=alphaev69 ;;
339
+ "EV7 (21364)")
340
+ UNAME_MACHINE=alphaev7 ;;
341
+ "EV7.9 (21364A)")
342
+ UNAME_MACHINE=alphaev79 ;;
343
+ esac
344
+ # A Pn.n version is a patched version.
345
+ # A Vn.n version is a released version.
346
+ # A Tn.n version is a released field test version.
347
+ # A Xn.n version is an unreleased experimental baselevel.
348
+ # 1.2 uses "1.2" for uname -r.
349
+ echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)"
350
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
351
+ exitcode=$?
352
+ trap '' 0
353
+ exit $exitcode ;;
354
+ Amiga*:UNIX_System_V:4.0:*)
355
+ echo m68k-unknown-sysv4
356
+ exit ;;
357
+ *:[Aa]miga[Oo][Ss]:*:*)
358
+ echo "$UNAME_MACHINE"-unknown-amigaos
359
+ exit ;;
360
+ *:[Mm]orph[Oo][Ss]:*:*)
361
+ echo "$UNAME_MACHINE"-unknown-morphos
362
+ exit ;;
363
+ *:OS/390:*:*)
364
+ echo i370-ibm-openedition
365
+ exit ;;
366
+ *:z/VM:*:*)
367
+ echo s390-ibm-zvmoe
368
+ exit ;;
369
+ *:OS400:*:*)
370
+ echo powerpc-ibm-os400
371
+ exit ;;
372
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
373
+ echo arm-acorn-riscix"$UNAME_RELEASE"
374
+ exit ;;
375
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
376
+ echo arm-unknown-riscos
377
+ exit ;;
378
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
379
+ echo hppa1.1-hitachi-hiuxmpp
380
+ exit ;;
381
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
382
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
383
+ if test "$( (/bin/universe) 2>/dev/null)" = att ; then
384
+ echo pyramid-pyramid-sysv3
385
+ else
386
+ echo pyramid-pyramid-bsd
387
+ fi
388
+ exit ;;
389
+ NILE*:*:*:dcosx)
390
+ echo pyramid-pyramid-svr4
391
+ exit ;;
392
+ DRS?6000:unix:4.0:6*)
393
+ echo sparc-icl-nx6
394
+ exit ;;
395
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
396
+ case $(/usr/bin/uname -p) in
397
+ sparc) echo sparc-icl-nx7; exit ;;
398
+ esac ;;
399
+ s390x:SunOS:*:*)
400
+ echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
401
+ exit ;;
402
+ sun4H:SunOS:5.*:*)
403
+ echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
404
+ exit ;;
405
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
406
+ echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
407
+ exit ;;
408
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
409
+ echo i386-pc-auroraux"$UNAME_RELEASE"
410
+ exit ;;
411
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
412
+ set_cc_for_build
413
+ SUN_ARCH=i386
414
+ # If there is a compiler, see if it is configured for 64-bit objects.
415
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
416
+ # This test works for both compilers.
417
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
418
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
419
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
420
+ grep IS_64BIT_ARCH >/dev/null
421
+ then
422
+ SUN_ARCH=x86_64
423
+ fi
424
+ fi
425
+ echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
426
+ exit ;;
427
+ sun4*:SunOS:6*:*)
428
+ # According to config.sub, this is the proper way to canonicalize
429
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
430
+ # it's likely to be more like Solaris than SunOS4.
431
+ echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
432
+ exit ;;
433
+ sun4*:SunOS:*:*)
434
+ case "$(/usr/bin/arch -k)" in
435
+ Series*|S4*)
436
+ UNAME_RELEASE=$(uname -v)
437
+ ;;
438
+ esac
439
+ # Japanese Language versions have a version number like `4.1.3-JL'.
440
+ echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')"
441
+ exit ;;
442
+ sun3*:SunOS:*:*)
443
+ echo m68k-sun-sunos"$UNAME_RELEASE"
444
+ exit ;;
445
+ sun*:*:4.2BSD:*)
446
+ UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null)
447
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
448
+ case "$(/bin/arch)" in
449
+ sun3)
450
+ echo m68k-sun-sunos"$UNAME_RELEASE"
451
+ ;;
452
+ sun4)
453
+ echo sparc-sun-sunos"$UNAME_RELEASE"
454
+ ;;
455
+ esac
456
+ exit ;;
457
+ aushp:SunOS:*:*)
458
+ echo sparc-auspex-sunos"$UNAME_RELEASE"
459
+ exit ;;
460
+ # The situation for MiNT is a little confusing. The machine name
461
+ # can be virtually everything (everything which is not
462
+ # "atarist" or "atariste" at least should have a processor
463
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
464
+ # to the lowercase version "mint" (or "freemint"). Finally
465
+ # the system name "TOS" denotes a system which is actually not
466
+ # MiNT. But MiNT is downward compatible to TOS, so this should
467
+ # be no problem.
468
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
469
+ echo m68k-atari-mint"$UNAME_RELEASE"
470
+ exit ;;
471
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
472
+ echo m68k-atari-mint"$UNAME_RELEASE"
473
+ exit ;;
474
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
475
+ echo m68k-atari-mint"$UNAME_RELEASE"
476
+ exit ;;
477
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
478
+ echo m68k-milan-mint"$UNAME_RELEASE"
479
+ exit ;;
480
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
481
+ echo m68k-hades-mint"$UNAME_RELEASE"
482
+ exit ;;
483
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
484
+ echo m68k-unknown-mint"$UNAME_RELEASE"
485
+ exit ;;
486
+ m68k:machten:*:*)
487
+ echo m68k-apple-machten"$UNAME_RELEASE"
488
+ exit ;;
489
+ powerpc:machten:*:*)
490
+ echo powerpc-apple-machten"$UNAME_RELEASE"
491
+ exit ;;
492
+ RISC*:Mach:*:*)
493
+ echo mips-dec-mach_bsd4.3
494
+ exit ;;
495
+ RISC*:ULTRIX:*:*)
496
+ echo mips-dec-ultrix"$UNAME_RELEASE"
497
+ exit ;;
498
+ VAX*:ULTRIX*:*:*)
499
+ echo vax-dec-ultrix"$UNAME_RELEASE"
500
+ exit ;;
501
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
502
+ echo clipper-intergraph-clix"$UNAME_RELEASE"
503
+ exit ;;
504
+ mips:*:*:UMIPS | mips:*:*:RISCos)
505
+ set_cc_for_build
506
+ sed 's/^ //' << EOF > "$dummy.c"
507
+ #ifdef __cplusplus
508
+ #include <stdio.h> /* for printf() prototype */
509
+ int main (int argc, char *argv[]) {
510
+ #else
511
+ int main (argc, argv) int argc; char *argv[]; {
512
+ #endif
513
+ #if defined (host_mips) && defined (MIPSEB)
514
+ #if defined (SYSTYPE_SYSV)
515
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
516
+ #endif
517
+ #if defined (SYSTYPE_SVR4)
518
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
519
+ #endif
520
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
521
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
522
+ #endif
523
+ #endif
524
+ exit (-1);
525
+ }
526
+ EOF
527
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
528
+ dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') &&
529
+ SYSTEM_NAME=$("$dummy" "$dummyarg") &&
530
+ { echo "$SYSTEM_NAME"; exit; }
531
+ echo mips-mips-riscos"$UNAME_RELEASE"
532
+ exit ;;
533
+ Motorola:PowerMAX_OS:*:*)
534
+ echo powerpc-motorola-powermax
535
+ exit ;;
536
+ Motorola:*:4.3:PL8-*)
537
+ echo powerpc-harris-powermax
538
+ exit ;;
539
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
540
+ echo powerpc-harris-powermax
541
+ exit ;;
542
+ Night_Hawk:Power_UNIX:*:*)
543
+ echo powerpc-harris-powerunix
544
+ exit ;;
545
+ m88k:CX/UX:7*:*)
546
+ echo m88k-harris-cxux7
547
+ exit ;;
548
+ m88k:*:4*:R4*)
549
+ echo m88k-motorola-sysv4
550
+ exit ;;
551
+ m88k:*:3*:R3*)
552
+ echo m88k-motorola-sysv3
553
+ exit ;;
554
+ AViiON:dgux:*:*)
555
+ # DG/UX returns AViiON for all architectures
556
+ UNAME_PROCESSOR=$(/usr/bin/uname -p)
557
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
558
+ then
559
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
560
+ test "$TARGET_BINARY_INTERFACE"x = x
561
+ then
562
+ echo m88k-dg-dgux"$UNAME_RELEASE"
563
+ else
564
+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"
565
+ fi
566
+ else
567
+ echo i586-dg-dgux"$UNAME_RELEASE"
568
+ fi
569
+ exit ;;
570
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
571
+ echo m88k-dolphin-sysv3
572
+ exit ;;
573
+ M88*:*:R3*:*)
574
+ # Delta 88k system running SVR3
575
+ echo m88k-motorola-sysv3
576
+ exit ;;
577
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
578
+ echo m88k-tektronix-sysv3
579
+ exit ;;
580
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
581
+ echo m68k-tektronix-bsd
582
+ exit ;;
583
+ *:IRIX*:*:*)
584
+ echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')"
585
+ exit ;;
586
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
587
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
588
+ exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX '
589
+ i*86:AIX:*:*)
590
+ echo i386-ibm-aix
591
+ exit ;;
592
+ ia64:AIX:*:*)
593
+ if test -x /usr/bin/oslevel ; then
594
+ IBM_REV=$(/usr/bin/oslevel)
595
+ else
596
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
597
+ fi
598
+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
599
+ exit ;;
600
+ *:AIX:2:3)
601
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
602
+ set_cc_for_build
603
+ sed 's/^ //' << EOF > "$dummy.c"
604
+ #include <sys/systemcfg.h>
605
+
606
+ main()
607
+ {
608
+ if (!__power_pc())
609
+ exit(1);
610
+ puts("powerpc-ibm-aix3.2.5");
611
+ exit(0);
612
+ }
613
+ EOF
614
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy")
615
+ then
616
+ echo "$SYSTEM_NAME"
617
+ else
618
+ echo rs6000-ibm-aix3.2.5
619
+ fi
620
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
621
+ echo rs6000-ibm-aix3.2.4
622
+ else
623
+ echo rs6000-ibm-aix3.2
624
+ fi
625
+ exit ;;
626
+ *:AIX:*:[4567])
627
+ IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }')
628
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
629
+ IBM_ARCH=rs6000
630
+ else
631
+ IBM_ARCH=powerpc
632
+ fi
633
+ if test -x /usr/bin/lslpp ; then
634
+ IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc |
635
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/)
636
+ else
637
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
638
+ fi
639
+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
640
+ exit ;;
641
+ *:AIX:*:*)
642
+ echo rs6000-ibm-aix
643
+ exit ;;
644
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
645
+ echo romp-ibm-bsd4.4
646
+ exit ;;
647
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
648
+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
649
+ exit ;; # report: romp-ibm BSD 4.3
650
+ *:BOSX:*:*)
651
+ echo rs6000-bull-bosx
652
+ exit ;;
653
+ DPX/2?00:B.O.S.:*:*)
654
+ echo m68k-bull-sysv3
655
+ exit ;;
656
+ 9000/[34]??:4.3bsd:1.*:*)
657
+ echo m68k-hp-bsd
658
+ exit ;;
659
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
660
+ echo m68k-hp-bsd4.4
661
+ exit ;;
662
+ 9000/[34678]??:HP-UX:*:*)
663
+ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
664
+ case "$UNAME_MACHINE" in
665
+ 9000/31?) HP_ARCH=m68000 ;;
666
+ 9000/[34]??) HP_ARCH=m68k ;;
667
+ 9000/[678][0-9][0-9])
668
+ if test -x /usr/bin/getconf; then
669
+ sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null)
670
+ sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null)
671
+ case "$sc_cpu_version" in
672
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
673
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
674
+ 532) # CPU_PA_RISC2_0
675
+ case "$sc_kernel_bits" in
676
+ 32) HP_ARCH=hppa2.0n ;;
677
+ 64) HP_ARCH=hppa2.0w ;;
678
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
679
+ esac ;;
680
+ esac
681
+ fi
682
+ if test "$HP_ARCH" = ""; then
683
+ set_cc_for_build
684
+ sed 's/^ //' << EOF > "$dummy.c"
685
+
686
+ #define _HPUX_SOURCE
687
+ #include <stdlib.h>
688
+ #include <unistd.h>
689
+
690
+ int main ()
691
+ {
692
+ #if defined(_SC_KERNEL_BITS)
693
+ long bits = sysconf(_SC_KERNEL_BITS);
694
+ #endif
695
+ long cpu = sysconf (_SC_CPU_VERSION);
696
+
697
+ switch (cpu)
698
+ {
699
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
700
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
701
+ case CPU_PA_RISC2_0:
702
+ #if defined(_SC_KERNEL_BITS)
703
+ switch (bits)
704
+ {
705
+ case 64: puts ("hppa2.0w"); break;
706
+ case 32: puts ("hppa2.0n"); break;
707
+ default: puts ("hppa2.0"); break;
708
+ } break;
709
+ #else /* !defined(_SC_KERNEL_BITS) */
710
+ puts ("hppa2.0"); break;
711
+ #endif
712
+ default: puts ("hppa1.0"); break;
713
+ }
714
+ exit (0);
715
+ }
716
+ EOF
717
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy")
718
+ test -z "$HP_ARCH" && HP_ARCH=hppa
719
+ fi ;;
720
+ esac
721
+ if test "$HP_ARCH" = hppa2.0w
722
+ then
723
+ set_cc_for_build
724
+
725
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
726
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
727
+ # generating 64-bit code. GNU and HP use different nomenclature:
728
+ #
729
+ # $ CC_FOR_BUILD=cc ./config.guess
730
+ # => hppa2.0w-hp-hpux11.23
731
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
732
+ # => hppa64-hp-hpux11.23
733
+
734
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
735
+ grep -q __LP64__
736
+ then
737
+ HP_ARCH=hppa2.0w
738
+ else
739
+ HP_ARCH=hppa64
740
+ fi
741
+ fi
742
+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
743
+ exit ;;
744
+ ia64:HP-UX:*:*)
745
+ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
746
+ echo ia64-hp-hpux"$HPUX_REV"
747
+ exit ;;
748
+ 3050*:HI-UX:*:*)
749
+ set_cc_for_build
750
+ sed 's/^ //' << EOF > "$dummy.c"
751
+ #include <unistd.h>
752
+ int
753
+ main ()
754
+ {
755
+ long cpu = sysconf (_SC_CPU_VERSION);
756
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
757
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
758
+ results, however. */
759
+ if (CPU_IS_PA_RISC (cpu))
760
+ {
761
+ switch (cpu)
762
+ {
763
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
764
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
765
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
766
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
767
+ }
768
+ }
769
+ else if (CPU_IS_HP_MC68K (cpu))
770
+ puts ("m68k-hitachi-hiuxwe2");
771
+ else puts ("unknown-hitachi-hiuxwe2");
772
+ exit (0);
773
+ }
774
+ EOF
775
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") &&
776
+ { echo "$SYSTEM_NAME"; exit; }
777
+ echo unknown-hitachi-hiuxwe2
778
+ exit ;;
779
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
780
+ echo hppa1.1-hp-bsd
781
+ exit ;;
782
+ 9000/8??:4.3bsd:*:*)
783
+ echo hppa1.0-hp-bsd
784
+ exit ;;
785
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
786
+ echo hppa1.0-hp-mpeix
787
+ exit ;;
788
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
789
+ echo hppa1.1-hp-osf
790
+ exit ;;
791
+ hp8??:OSF1:*:*)
792
+ echo hppa1.0-hp-osf
793
+ exit ;;
794
+ i*86:OSF1:*:*)
795
+ if test -x /usr/sbin/sysversion ; then
796
+ echo "$UNAME_MACHINE"-unknown-osf1mk
797
+ else
798
+ echo "$UNAME_MACHINE"-unknown-osf1
799
+ fi
800
+ exit ;;
801
+ parisc*:Lites*:*:*)
802
+ echo hppa1.1-hp-lites
803
+ exit ;;
804
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
805
+ echo c1-convex-bsd
806
+ exit ;;
807
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
808
+ if getsysinfo -f scalar_acc
809
+ then echo c32-convex-bsd
810
+ else echo c2-convex-bsd
811
+ fi
812
+ exit ;;
813
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
814
+ echo c34-convex-bsd
815
+ exit ;;
816
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
817
+ echo c38-convex-bsd
818
+ exit ;;
819
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
820
+ echo c4-convex-bsd
821
+ exit ;;
822
+ CRAY*Y-MP:*:*:*)
823
+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
824
+ exit ;;
825
+ CRAY*[A-Z]90:*:*:*)
826
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
827
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
828
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
829
+ -e 's/\.[^.]*$/.X/'
830
+ exit ;;
831
+ CRAY*TS:*:*:*)
832
+ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
833
+ exit ;;
834
+ CRAY*T3E:*:*:*)
835
+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
836
+ exit ;;
837
+ CRAY*SV1:*:*:*)
838
+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
839
+ exit ;;
840
+ *:UNICOS/mp:*:*)
841
+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
842
+ exit ;;
843
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
844
+ FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)
845
+ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
846
+ FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/')
847
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
848
+ exit ;;
849
+ 5000:UNIX_System_V:4.*:*)
850
+ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
851
+ FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/')
852
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
853
+ exit ;;
854
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
855
+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
856
+ exit ;;
857
+ sparc*:BSD/OS:*:*)
858
+ echo sparc-unknown-bsdi"$UNAME_RELEASE"
859
+ exit ;;
860
+ *:BSD/OS:*:*)
861
+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
862
+ exit ;;
863
+ arm:FreeBSD:*:*)
864
+ UNAME_PROCESSOR=$(uname -p)
865
+ set_cc_for_build
866
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
867
+ | grep -q __ARM_PCS_VFP
868
+ then
869
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi
870
+ else
871
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf
872
+ fi
873
+ exit ;;
874
+ *:FreeBSD:*:*)
875
+ UNAME_PROCESSOR=$(/usr/bin/uname -p)
876
+ case "$UNAME_PROCESSOR" in
877
+ amd64)
878
+ UNAME_PROCESSOR=x86_64 ;;
879
+ i386)
880
+ UNAME_PROCESSOR=i586 ;;
881
+ esac
882
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
883
+ exit ;;
884
+ i*:CYGWIN*:*)
885
+ echo "$UNAME_MACHINE"-pc-cygwin
886
+ exit ;;
887
+ *:MINGW64*:*)
888
+ echo "$UNAME_MACHINE"-pc-mingw64
889
+ exit ;;
890
+ *:MINGW*:*)
891
+ echo "$UNAME_MACHINE"-pc-mingw32
892
+ exit ;;
893
+ *:MSYS*:*)
894
+ echo "$UNAME_MACHINE"-pc-msys
895
+ exit ;;
896
+ i*:PW*:*)
897
+ echo "$UNAME_MACHINE"-pc-pw32
898
+ exit ;;
899
+ *:Interix*:*)
900
+ case "$UNAME_MACHINE" in
901
+ x86)
902
+ echo i586-pc-interix"$UNAME_RELEASE"
903
+ exit ;;
904
+ authenticamd | genuineintel | EM64T)
905
+ echo x86_64-unknown-interix"$UNAME_RELEASE"
906
+ exit ;;
907
+ IA64)
908
+ echo ia64-unknown-interix"$UNAME_RELEASE"
909
+ exit ;;
910
+ esac ;;
911
+ i*:UWIN*:*)
912
+ echo "$UNAME_MACHINE"-pc-uwin
913
+ exit ;;
914
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
915
+ echo x86_64-pc-cygwin
916
+ exit ;;
917
+ prep*:SunOS:5.*:*)
918
+ echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
919
+ exit ;;
920
+ *:GNU:*:*)
921
+ # the GNU system
922
+ echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')"
923
+ exit ;;
924
+ *:GNU/*:*:*)
925
+ # other systems with GNU libc and userland
926
+ echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC"
927
+ exit ;;
928
+ *:Minix:*:*)
929
+ echo "$UNAME_MACHINE"-unknown-minix
930
+ exit ;;
931
+ aarch64:Linux:*:*)
932
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
933
+ exit ;;
934
+ aarch64_be:Linux:*:*)
935
+ UNAME_MACHINE=aarch64_be
936
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
937
+ exit ;;
938
+ alpha:Linux:*:*)
939
+ case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in
940
+ EV5) UNAME_MACHINE=alphaev5 ;;
941
+ EV56) UNAME_MACHINE=alphaev56 ;;
942
+ PCA56) UNAME_MACHINE=alphapca56 ;;
943
+ PCA57) UNAME_MACHINE=alphapca56 ;;
944
+ EV6) UNAME_MACHINE=alphaev6 ;;
945
+ EV67) UNAME_MACHINE=alphaev67 ;;
946
+ EV68*) UNAME_MACHINE=alphaev68 ;;
947
+ esac
948
+ objdump --private-headers /bin/sh | grep -q ld.so.1
949
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
950
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
951
+ exit ;;
952
+ arc:Linux:*:* | arceb:Linux:*:*)
953
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
954
+ exit ;;
955
+ arm*:Linux:*:*)
956
+ set_cc_for_build
957
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
958
+ | grep -q __ARM_EABI__
959
+ then
960
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
961
+ else
962
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
963
+ | grep -q __ARM_PCS_VFP
964
+ then
965
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
966
+ else
967
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
968
+ fi
969
+ fi
970
+ exit ;;
971
+ avr32*:Linux:*:*)
972
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
973
+ exit ;;
974
+ cris:Linux:*:*)
975
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
976
+ exit ;;
977
+ crisv32:Linux:*:*)
978
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
979
+ exit ;;
980
+ e2k:Linux:*:*)
981
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
982
+ exit ;;
983
+ frv:Linux:*:*)
984
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
985
+ exit ;;
986
+ hexagon:Linux:*:*)
987
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
988
+ exit ;;
989
+ i*86:Linux:*:*)
990
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
991
+ exit ;;
992
+ ia64:Linux:*:*)
993
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
994
+ exit ;;
995
+ k1om:Linux:*:*)
996
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
997
+ exit ;;
998
+ loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
999
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1000
+ exit ;;
1001
+ m32r*:Linux:*:*)
1002
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1003
+ exit ;;
1004
+ m68*:Linux:*:*)
1005
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1006
+ exit ;;
1007
+ mips:Linux:*:* | mips64:Linux:*:*)
1008
+ set_cc_for_build
1009
+ IS_GLIBC=0
1010
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
1011
+ sed 's/^ //' << EOF > "$dummy.c"
1012
+ #undef CPU
1013
+ #undef mips
1014
+ #undef mipsel
1015
+ #undef mips64
1016
+ #undef mips64el
1017
+ #if ${IS_GLIBC} && defined(_ABI64)
1018
+ LIBCABI=gnuabi64
1019
+ #else
1020
+ #if ${IS_GLIBC} && defined(_ABIN32)
1021
+ LIBCABI=gnuabin32
1022
+ #else
1023
+ LIBCABI=${LIBC}
1024
+ #endif
1025
+ #endif
1026
+
1027
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1028
+ CPU=mipsisa64r6
1029
+ #else
1030
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1031
+ CPU=mipsisa32r6
1032
+ #else
1033
+ #if defined(__mips64)
1034
+ CPU=mips64
1035
+ #else
1036
+ CPU=mips
1037
+ #endif
1038
+ #endif
1039
+ #endif
1040
+
1041
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1042
+ MIPS_ENDIAN=el
1043
+ #else
1044
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1045
+ MIPS_ENDIAN=
1046
+ #else
1047
+ MIPS_ENDIAN=
1048
+ #endif
1049
+ #endif
1050
+ EOF
1051
+ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')"
1052
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1053
+ ;;
1054
+ mips64el:Linux:*:*)
1055
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1056
+ exit ;;
1057
+ openrisc*:Linux:*:*)
1058
+ echo or1k-unknown-linux-"$LIBC"
1059
+ exit ;;
1060
+ or32:Linux:*:* | or1k*:Linux:*:*)
1061
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1062
+ exit ;;
1063
+ padre:Linux:*:*)
1064
+ echo sparc-unknown-linux-"$LIBC"
1065
+ exit ;;
1066
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
1067
+ echo hppa64-unknown-linux-"$LIBC"
1068
+ exit ;;
1069
+ parisc:Linux:*:* | hppa:Linux:*:*)
1070
+ # Look for CPU level
1071
+ case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in
1072
+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
1073
+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
1074
+ *) echo hppa-unknown-linux-"$LIBC" ;;
1075
+ esac
1076
+ exit ;;
1077
+ ppc64:Linux:*:*)
1078
+ echo powerpc64-unknown-linux-"$LIBC"
1079
+ exit ;;
1080
+ ppc:Linux:*:*)
1081
+ echo powerpc-unknown-linux-"$LIBC"
1082
+ exit ;;
1083
+ ppc64le:Linux:*:*)
1084
+ echo powerpc64le-unknown-linux-"$LIBC"
1085
+ exit ;;
1086
+ ppcle:Linux:*:*)
1087
+ echo powerpcle-unknown-linux-"$LIBC"
1088
+ exit ;;
1089
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1090
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1091
+ exit ;;
1092
+ s390:Linux:*:* | s390x:Linux:*:*)
1093
+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
1094
+ exit ;;
1095
+ sh64*:Linux:*:*)
1096
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1097
+ exit ;;
1098
+ sh*:Linux:*:*)
1099
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1100
+ exit ;;
1101
+ sparc:Linux:*:* | sparc64:Linux:*:*)
1102
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1103
+ exit ;;
1104
+ tile*:Linux:*:*)
1105
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1106
+ exit ;;
1107
+ vax:Linux:*:*)
1108
+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
1109
+ exit ;;
1110
+ x86_64:Linux:*:*)
1111
+ set_cc_for_build
1112
+ LIBCABI=$LIBC
1113
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
1114
+ if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
1115
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1116
+ grep IS_X32 >/dev/null
1117
+ then
1118
+ LIBCABI="$LIBC"x32
1119
+ fi
1120
+ fi
1121
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI"
1122
+ exit ;;
1123
+ xtensa*:Linux:*:*)
1124
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1125
+ exit ;;
1126
+ i*86:DYNIX/ptx:4*:*)
1127
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1128
+ # earlier versions are messed up and put the nodename in both
1129
+ # sysname and nodename.
1130
+ echo i386-sequent-sysv4
1131
+ exit ;;
1132
+ i*86:UNIX_SV:4.2MP:2.*)
1133
+ # Unixware is an offshoot of SVR4, but it has its own version
1134
+ # number series starting with 2...
1135
+ # I am not positive that other SVR4 systems won't match this,
1136
+ # I just have to hope. -- rms.
1137
+ # Use sysv4.2uw... so that sysv4* matches it.
1138
+ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
1139
+ exit ;;
1140
+ i*86:OS/2:*:*)
1141
+ # If we were able to find `uname', then EMX Unix compatibility
1142
+ # is probably installed.
1143
+ echo "$UNAME_MACHINE"-pc-os2-emx
1144
+ exit ;;
1145
+ i*86:XTS-300:*:STOP)
1146
+ echo "$UNAME_MACHINE"-unknown-stop
1147
+ exit ;;
1148
+ i*86:atheos:*:*)
1149
+ echo "$UNAME_MACHINE"-unknown-atheos
1150
+ exit ;;
1151
+ i*86:syllable:*:*)
1152
+ echo "$UNAME_MACHINE"-pc-syllable
1153
+ exit ;;
1154
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1155
+ echo i386-unknown-lynxos"$UNAME_RELEASE"
1156
+ exit ;;
1157
+ i*86:*DOS:*:*)
1158
+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
1159
+ exit ;;
1160
+ i*86:*:4.*:*)
1161
+ UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//')
1162
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1163
+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
1164
+ else
1165
+ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
1166
+ fi
1167
+ exit ;;
1168
+ i*86:*:5:[678]*)
1169
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
1170
+ case $(/bin/uname -X | grep "^Machine") in
1171
+ *486*) UNAME_MACHINE=i486 ;;
1172
+ *Pentium) UNAME_MACHINE=i586 ;;
1173
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1174
+ esac
1175
+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
1176
+ exit ;;
1177
+ i*86:*:3.2:*)
1178
+ if test -f /usr/options/cb.name; then
1179
+ UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name)
1180
+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
1181
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
1182
+ UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //'))
1183
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1184
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1185
+ && UNAME_MACHINE=i586
1186
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1187
+ && UNAME_MACHINE=i686
1188
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1189
+ && UNAME_MACHINE=i686
1190
+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
1191
+ else
1192
+ echo "$UNAME_MACHINE"-pc-sysv32
1193
+ fi
1194
+ exit ;;
1195
+ pc:*:*:*)
1196
+ # Left here for compatibility:
1197
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
1198
+ # the processor, so we play safe by assuming i586.
1199
+ # Note: whatever this is, it MUST be the same as what config.sub
1200
+ # prints for the "djgpp" host, or else GDB configure will decide that
1201
+ # this is a cross-build.
1202
+ echo i586-pc-msdosdjgpp
1203
+ exit ;;
1204
+ Intel:Mach:3*:*)
1205
+ echo i386-pc-mach3
1206
+ exit ;;
1207
+ paragon:*:*:*)
1208
+ echo i860-intel-osf1
1209
+ exit ;;
1210
+ i860:*:4.*:*) # i860-SVR4
1211
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1212
+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
1213
+ else # Add other i860-SVR4 vendors below as they are discovered.
1214
+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
1215
+ fi
1216
+ exit ;;
1217
+ mini*:CTIX:SYS*5:*)
1218
+ # "miniframe"
1219
+ echo m68010-convergent-sysv
1220
+ exit ;;
1221
+ mc68k:UNIX:SYSTEM5:3.51m)
1222
+ echo m68k-convergent-sysv
1223
+ exit ;;
1224
+ M680?0:D-NIX:5.3:*)
1225
+ echo m68k-diab-dnix
1226
+ exit ;;
1227
+ M68*:*:R3V[5678]*:*)
1228
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1229
+ 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)
1230
+ OS_REL=''
1231
+ test -r /etc/.relid \
1232
+ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
1233
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1234
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1235
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1236
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1237
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1238
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1239
+ && { echo i486-ncr-sysv4; exit; } ;;
1240
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1241
+ OS_REL='.3'
1242
+ test -r /etc/.relid \
1243
+ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
1244
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1245
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1246
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1247
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1248
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1249
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1250
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1251
+ echo m68k-unknown-lynxos"$UNAME_RELEASE"
1252
+ exit ;;
1253
+ mc68030:UNIX_System_V:4.*:*)
1254
+ echo m68k-atari-sysv4
1255
+ exit ;;
1256
+ TSUNAMI:LynxOS:2.*:*)
1257
+ echo sparc-unknown-lynxos"$UNAME_RELEASE"
1258
+ exit ;;
1259
+ rs6000:LynxOS:2.*:*)
1260
+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"
1261
+ exit ;;
1262
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1263
+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"
1264
+ exit ;;
1265
+ SM[BE]S:UNIX_SV:*:*)
1266
+ echo mips-dde-sysv"$UNAME_RELEASE"
1267
+ exit ;;
1268
+ RM*:ReliantUNIX-*:*:*)
1269
+ echo mips-sni-sysv4
1270
+ exit ;;
1271
+ RM*:SINIX-*:*:*)
1272
+ echo mips-sni-sysv4
1273
+ exit ;;
1274
+ *:SINIX-*:*:*)
1275
+ if uname -p 2>/dev/null >/dev/null ; then
1276
+ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
1277
+ echo "$UNAME_MACHINE"-sni-sysv4
1278
+ else
1279
+ echo ns32k-sni-sysv
1280
+ fi
1281
+ exit ;;
1282
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1283
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
1284
+ echo i586-unisys-sysv4
1285
+ exit ;;
1286
+ *:UNIX_System_V:4*:FTX*)
1287
+ # From Gerald Hewes <hewes@openmarket.com>.
1288
+ # How about differentiating between stratus architectures? -djm
1289
+ echo hppa1.1-stratus-sysv4
1290
+ exit ;;
1291
+ *:*:*:FTX*)
1292
+ # From seanf@swdc.stratus.com.
1293
+ echo i860-stratus-sysv4
1294
+ exit ;;
1295
+ i*86:VOS:*:*)
1296
+ # From Paul.Green@stratus.com.
1297
+ echo "$UNAME_MACHINE"-stratus-vos
1298
+ exit ;;
1299
+ *:VOS:*:*)
1300
+ # From Paul.Green@stratus.com.
1301
+ echo hppa1.1-stratus-vos
1302
+ exit ;;
1303
+ mc68*:A/UX:*:*)
1304
+ echo m68k-apple-aux"$UNAME_RELEASE"
1305
+ exit ;;
1306
+ news*:NEWS-OS:6*:*)
1307
+ echo mips-sony-newsos6
1308
+ exit ;;
1309
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1310
+ if test -d /usr/nec; then
1311
+ echo mips-nec-sysv"$UNAME_RELEASE"
1312
+ else
1313
+ echo mips-unknown-sysv"$UNAME_RELEASE"
1314
+ fi
1315
+ exit ;;
1316
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1317
+ echo powerpc-be-beos
1318
+ exit ;;
1319
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1320
+ echo powerpc-apple-beos
1321
+ exit ;;
1322
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1323
+ echo i586-pc-beos
1324
+ exit ;;
1325
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1326
+ echo i586-pc-haiku
1327
+ exit ;;
1328
+ x86_64:Haiku:*:*)
1329
+ echo x86_64-unknown-haiku
1330
+ exit ;;
1331
+ SX-4:SUPER-UX:*:*)
1332
+ echo sx4-nec-superux"$UNAME_RELEASE"
1333
+ exit ;;
1334
+ SX-5:SUPER-UX:*:*)
1335
+ echo sx5-nec-superux"$UNAME_RELEASE"
1336
+ exit ;;
1337
+ SX-6:SUPER-UX:*:*)
1338
+ echo sx6-nec-superux"$UNAME_RELEASE"
1339
+ exit ;;
1340
+ SX-7:SUPER-UX:*:*)
1341
+ echo sx7-nec-superux"$UNAME_RELEASE"
1342
+ exit ;;
1343
+ SX-8:SUPER-UX:*:*)
1344
+ echo sx8-nec-superux"$UNAME_RELEASE"
1345
+ exit ;;
1346
+ SX-8R:SUPER-UX:*:*)
1347
+ echo sx8r-nec-superux"$UNAME_RELEASE"
1348
+ exit ;;
1349
+ SX-ACE:SUPER-UX:*:*)
1350
+ echo sxace-nec-superux"$UNAME_RELEASE"
1351
+ exit ;;
1352
+ Power*:Rhapsody:*:*)
1353
+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"
1354
+ exit ;;
1355
+ *:Rhapsody:*:*)
1356
+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
1357
+ exit ;;
1358
+ arm64:Darwin:*:*)
1359
+ echo aarch64-apple-darwin"$UNAME_RELEASE"
1360
+ exit ;;
1361
+ *:Darwin:*:*)
1362
+ UNAME_PROCESSOR=$(uname -p)
1363
+ case $UNAME_PROCESSOR in
1364
+ unknown) UNAME_PROCESSOR=powerpc ;;
1365
+ esac
1366
+ if command -v xcode-select > /dev/null 2> /dev/null && \
1367
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
1368
+ # Avoid executing cc if there is no toolchain installed as
1369
+ # cc will be a stub that puts up a graphical alert
1370
+ # prompting the user to install developer tools.
1371
+ CC_FOR_BUILD=no_compiler_found
1372
+ else
1373
+ set_cc_for_build
1374
+ fi
1375
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
1376
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1377
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1378
+ grep IS_64BIT_ARCH >/dev/null
1379
+ then
1380
+ case $UNAME_PROCESSOR in
1381
+ i386) UNAME_PROCESSOR=x86_64 ;;
1382
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
1383
+ esac
1384
+ fi
1385
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1386
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1387
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1388
+ grep IS_PPC >/dev/null
1389
+ then
1390
+ UNAME_PROCESSOR=powerpc
1391
+ fi
1392
+ elif test "$UNAME_PROCESSOR" = i386 ; then
1393
+ # uname -m returns i386 or x86_64
1394
+ UNAME_PROCESSOR=$UNAME_MACHINE
1395
+ fi
1396
+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
1397
+ exit ;;
1398
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
1399
+ UNAME_PROCESSOR=$(uname -p)
1400
+ if test "$UNAME_PROCESSOR" = x86; then
1401
+ UNAME_PROCESSOR=i386
1402
+ UNAME_MACHINE=pc
1403
+ fi
1404
+ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
1405
+ exit ;;
1406
+ *:QNX:*:4*)
1407
+ echo i386-pc-qnx
1408
+ exit ;;
1409
+ NEO-*:NONSTOP_KERNEL:*:*)
1410
+ echo neo-tandem-nsk"$UNAME_RELEASE"
1411
+ exit ;;
1412
+ NSE-*:NONSTOP_KERNEL:*:*)
1413
+ echo nse-tandem-nsk"$UNAME_RELEASE"
1414
+ exit ;;
1415
+ NSR-*:NONSTOP_KERNEL:*:*)
1416
+ echo nsr-tandem-nsk"$UNAME_RELEASE"
1417
+ exit ;;
1418
+ NSV-*:NONSTOP_KERNEL:*:*)
1419
+ echo nsv-tandem-nsk"$UNAME_RELEASE"
1420
+ exit ;;
1421
+ NSX-*:NONSTOP_KERNEL:*:*)
1422
+ echo nsx-tandem-nsk"$UNAME_RELEASE"
1423
+ exit ;;
1424
+ *:NonStop-UX:*:*)
1425
+ echo mips-compaq-nonstopux
1426
+ exit ;;
1427
+ BS2000:POSIX*:*:*)
1428
+ echo bs2000-siemens-sysv
1429
+ exit ;;
1430
+ DS/*:UNIX_System_V:*:*)
1431
+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
1432
+ exit ;;
1433
+ *:Plan9:*:*)
1434
+ # "uname -m" is not consistent, so use $cputype instead. 386
1435
+ # is converted to i386 for consistency with other x86
1436
+ # operating systems.
1437
+ # shellcheck disable=SC2154
1438
+ if test "$cputype" = 386; then
1439
+ UNAME_MACHINE=i386
1440
+ else
1441
+ UNAME_MACHINE="$cputype"
1442
+ fi
1443
+ echo "$UNAME_MACHINE"-unknown-plan9
1444
+ exit ;;
1445
+ *:TOPS-10:*:*)
1446
+ echo pdp10-unknown-tops10
1447
+ exit ;;
1448
+ *:TENEX:*:*)
1449
+ echo pdp10-unknown-tenex
1450
+ exit ;;
1451
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1452
+ echo pdp10-dec-tops20
1453
+ exit ;;
1454
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1455
+ echo pdp10-xkl-tops20
1456
+ exit ;;
1457
+ *:TOPS-20:*:*)
1458
+ echo pdp10-unknown-tops20
1459
+ exit ;;
1460
+ *:ITS:*:*)
1461
+ echo pdp10-unknown-its
1462
+ exit ;;
1463
+ SEI:*:*:SEIUX)
1464
+ echo mips-sei-seiux"$UNAME_RELEASE"
1465
+ exit ;;
1466
+ *:DragonFly:*:*)
1467
+ echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
1468
+ exit ;;
1469
+ *:*VMS:*:*)
1470
+ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
1471
+ case "$UNAME_MACHINE" in
1472
+ A*) echo alpha-dec-vms ; exit ;;
1473
+ I*) echo ia64-dec-vms ; exit ;;
1474
+ V*) echo vax-dec-vms ; exit ;;
1475
+ esac ;;
1476
+ *:XENIX:*:SysV)
1477
+ echo i386-pc-xenix
1478
+ exit ;;
1479
+ i*86:skyos:*:*)
1480
+ echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')"
1481
+ exit ;;
1482
+ i*86:rdos:*:*)
1483
+ echo "$UNAME_MACHINE"-pc-rdos
1484
+ exit ;;
1485
+ *:AROS:*:*)
1486
+ echo "$UNAME_MACHINE"-unknown-aros
1487
+ exit ;;
1488
+ x86_64:VMkernel:*:*)
1489
+ echo "$UNAME_MACHINE"-unknown-esx
1490
+ exit ;;
1491
+ amd64:Isilon\ OneFS:*:*)
1492
+ echo x86_64-unknown-onefs
1493
+ exit ;;
1494
+ *:Unleashed:*:*)
1495
+ echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
1496
+ exit ;;
1497
+ esac
1498
+
1499
+ # No uname command or uname output not recognized.
1500
+ set_cc_for_build
1501
+ cat > "$dummy.c" <<EOF
1502
+ #ifdef _SEQUENT_
1503
+ #include <sys/types.h>
1504
+ #include <sys/utsname.h>
1505
+ #endif
1506
+ #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1507
+ #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1508
+ #include <signal.h>
1509
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1510
+ #include <sys/utsname.h>
1511
+ #endif
1512
+ #endif
1513
+ #endif
1514
+ main ()
1515
+ {
1516
+ #if defined (sony)
1517
+ #if defined (MIPSEB)
1518
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1519
+ I don't know.... */
1520
+ printf ("mips-sony-bsd\n"); exit (0);
1521
+ #else
1522
+ #include <sys/param.h>
1523
+ printf ("m68k-sony-newsos%s\n",
1524
+ #ifdef NEWSOS4
1525
+ "4"
1526
+ #else
1527
+ ""
1528
+ #endif
1529
+ ); exit (0);
1530
+ #endif
1531
+ #endif
1532
+
1533
+ #if defined (NeXT)
1534
+ #if !defined (__ARCHITECTURE__)
1535
+ #define __ARCHITECTURE__ "m68k"
1536
+ #endif
1537
+ int version;
1538
+ version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null);
1539
+ if (version < 4)
1540
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1541
+ else
1542
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1543
+ exit (0);
1544
+ #endif
1545
+
1546
+ #if defined (MULTIMAX) || defined (n16)
1547
+ #if defined (UMAXV)
1548
+ printf ("ns32k-encore-sysv\n"); exit (0);
1549
+ #else
1550
+ #if defined (CMU)
1551
+ printf ("ns32k-encore-mach\n"); exit (0);
1552
+ #else
1553
+ printf ("ns32k-encore-bsd\n"); exit (0);
1554
+ #endif
1555
+ #endif
1556
+ #endif
1557
+
1558
+ #if defined (__386BSD__)
1559
+ printf ("i386-pc-bsd\n"); exit (0);
1560
+ #endif
1561
+
1562
+ #if defined (sequent)
1563
+ #if defined (i386)
1564
+ printf ("i386-sequent-dynix\n"); exit (0);
1565
+ #endif
1566
+ #if defined (ns32000)
1567
+ printf ("ns32k-sequent-dynix\n"); exit (0);
1568
+ #endif
1569
+ #endif
1570
+
1571
+ #if defined (_SEQUENT_)
1572
+ struct utsname un;
1573
+
1574
+ uname(&un);
1575
+ if (strncmp(un.version, "V2", 2) == 0) {
1576
+ printf ("i386-sequent-ptx2\n"); exit (0);
1577
+ }
1578
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1579
+ printf ("i386-sequent-ptx1\n"); exit (0);
1580
+ }
1581
+ printf ("i386-sequent-ptx\n"); exit (0);
1582
+ #endif
1583
+
1584
+ #if defined (vax)
1585
+ #if !defined (ultrix)
1586
+ #include <sys/param.h>
1587
+ #if defined (BSD)
1588
+ #if BSD == 43
1589
+ printf ("vax-dec-bsd4.3\n"); exit (0);
1590
+ #else
1591
+ #if BSD == 199006
1592
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
1593
+ #else
1594
+ printf ("vax-dec-bsd\n"); exit (0);
1595
+ #endif
1596
+ #endif
1597
+ #else
1598
+ printf ("vax-dec-bsd\n"); exit (0);
1599
+ #endif
1600
+ #else
1601
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1602
+ struct utsname un;
1603
+ uname (&un);
1604
+ printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1605
+ #else
1606
+ printf ("vax-dec-ultrix\n"); exit (0);
1607
+ #endif
1608
+ #endif
1609
+ #endif
1610
+ #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1611
+ #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1612
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1613
+ struct utsname *un;
1614
+ uname (&un);
1615
+ printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1616
+ #else
1617
+ printf ("mips-dec-ultrix\n"); exit (0);
1618
+ #endif
1619
+ #endif
1620
+ #endif
1621
+
1622
+ #if defined (alliant) && defined (i860)
1623
+ printf ("i860-alliant-bsd\n"); exit (0);
1624
+ #endif
1625
+
1626
+ exit (1);
1627
+ }
1628
+ EOF
1629
+
1630
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) &&
1631
+ { echo "$SYSTEM_NAME"; exit; }
1632
+
1633
+ # Apollos put the system type in the environment.
1634
+ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1635
+
1636
+ echo "$0: unable to guess system type" >&2
1637
+
1638
+ case "$UNAME_MACHINE:$UNAME_SYSTEM" in
1639
+ mips:Linux | mips64:Linux)
1640
+ # If we got here on MIPS GNU/Linux, output extra information.
1641
+ cat >&2 <<EOF
1642
+
1643
+ NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1644
+ the system type. Please install a C compiler and try again.
1645
+ EOF
1646
+ ;;
1647
+ esac
1648
+
1649
+ cat >&2 <<EOF
1650
+
1651
+ This script (version $timestamp), has failed to recognize the
1652
+ operating system you are using. If your script is old, overwrite *all*
1653
+ copies of config.guess and config.sub with the latest versions from:
1654
+
1655
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
1656
+ and
1657
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1658
+ EOF
1659
+
1660
+ year=$(echo $timestamp | sed 's,-.*,,')
1661
+ # shellcheck disable=SC2003
1662
+ if test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then
1663
+ cat >&2 <<EOF
1664
+
1665
+ If $0 has already been updated, send the following data and any
1666
+ information you think might be pertinent to config-patches@gnu.org to
1667
+ provide the necessary information to handle your system.
1668
+
1669
+ config.guess timestamp = $timestamp
1670
+
1671
+ uname -m = $( (uname -m) 2>/dev/null || echo unknown)
1672
+ uname -r = $( (uname -r) 2>/dev/null || echo unknown)
1673
+ uname -s = $( (uname -s) 2>/dev/null || echo unknown)
1674
+ uname -v = $( (uname -v) 2>/dev/null || echo unknown)
1675
+
1676
+ /usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null)
1677
+ /bin/uname -X = $( (/bin/uname -X) 2>/dev/null)
1678
+
1679
+ hostinfo = $( (hostinfo) 2>/dev/null)
1680
+ /bin/universe = $( (/bin/universe) 2>/dev/null)
1681
+ /usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null)
1682
+ /bin/arch = $( (/bin/arch) 2>/dev/null)
1683
+ /usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null)
1684
+ /usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null)
1685
+
1686
+ UNAME_MACHINE = "$UNAME_MACHINE"
1687
+ UNAME_RELEASE = "$UNAME_RELEASE"
1688
+ UNAME_SYSTEM = "$UNAME_SYSTEM"
1689
+ UNAME_VERSION = "$UNAME_VERSION"
1690
+ EOF
1691
+ fi
1692
+
1693
+ exit 1
1694
+
1695
+ # Local variables:
1696
+ # eval: (add-hook 'before-save-hook 'time-stamp)
1697
+ # time-stamp-start: "timestamp='"
1698
+ # time-stamp-format: "%:y-%02m-%02d"
1699
+ # time-stamp-end: "'"
1700
+ # End: