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