Mercurial > hg > early-roguelike
comparison rogue5/config.guess @ 33:f502bf60e6e4
Import Rogue 5.4 from the Roguelike Restoration Project (r1490)
author | elwin |
---|---|
date | Mon, 24 May 2010 20:10:59 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
32:2dcd75e6a736 | 33:f502bf60e6e4 |
---|---|
1 #! /bin/sh | |
2 # Attempt to guess a canonical system name. | |
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | |
4 # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, | |
5 # Inc. | |
6 | |
7 timestamp='2006-07-02' | |
8 | |
9 # This file is free software; you can redistribute it and/or modify it | |
10 # under the terms of the GNU General Public License as published by | |
11 # the Free Software Foundation; either version 2 of the License, or | |
12 # (at your option) any later version. | |
13 # | |
14 # This program is distributed in the hope that it will be useful, but | |
15 # WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 # General Public License for more details. | |
18 # | |
19 # You should have received a copy of the GNU General Public License | |
20 # along with this program; if not, write to the Free Software | |
21 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | |
22 # 02110-1301, USA. | |
23 # | |
24 # As a special exception to the GNU General Public License, if you | |
25 # distribute this file as part of a program that contains a | |
26 # configuration script generated by Autoconf, you may include it under | |
27 # the same distribution terms that you use for the rest of that program. | |
28 | |
29 | |
30 # Originally written by Per Bothner <per@bothner.com>. | |
31 # Please send patches to <config-patches@gnu.org>. Submit a context | |
32 # diff and a properly formatted ChangeLog entry. | |
33 # | |
34 # This script attempts to guess a canonical system name similar to | |
35 # config.sub. If it succeeds, it prints the system name on stdout, and | |
36 # exits with 0. Otherwise, it exits with 1. | |
37 # | |
38 # The plan is that this can be called by configure scripts if you | |
39 # don't specify an explicit build system type. | |
40 | |
41 me=`echo "$0" | sed -e 's,.*/,,'` | |
42 | |
43 usage="\ | |
44 Usage: $0 [OPTION] | |
45 | |
46 Output the configuration name of the system \`$me' is run on. | |
47 | |
48 Operation modes: | |
49 -h, --help print this help, then exit | |
50 -t, --time-stamp print date of last modification, then exit | |
51 -v, --version print version number, then exit | |
52 | |
53 Report bugs and patches to <config-patches@gnu.org>." | |
54 | |
55 version="\ | |
56 GNU config.guess ($timestamp) | |
57 | |
58 Originally written by Per Bothner. | |
59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 | |
60 Free Software Foundation, Inc. | |
61 | |
62 This is free software; see the source for copying conditions. There is NO | |
63 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
64 | |
65 help=" | |
66 Try \`$me --help' for more information." | |
67 | |
68 # Parse command line | |
69 while test $# -gt 0 ; do | |
70 case $1 in | |
71 --time-stamp | --time* | -t ) | |
72 echo "$timestamp" ; exit ;; | |
73 --version | -v ) | |
74 echo "$version" ; exit ;; | |
75 --help | --h* | -h ) | |
76 echo "$usage"; exit ;; | |
77 -- ) # Stop option processing | |
78 shift; break ;; | |
79 - ) # Use stdin as input. | |
80 break ;; | |
81 -* ) | |
82 echo "$me: invalid option $1$help" >&2 | |
83 exit 1 ;; | |
84 * ) | |
85 break ;; | |
86 esac | |
87 done | |
88 | |
89 if test $# != 0; then | |
90 echo "$me: too many arguments$help" >&2 | |
91 exit 1 | |
92 fi | |
93 | |
94 trap 'exit 1' 1 2 15 | |
95 | |
96 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a | |
97 # compiler to aid in system detection is discouraged as it requires | |
98 # temporary files to be created and, as you can see below, it is a | |
99 # headache to deal with in a portable fashion. | |
100 | |
101 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still | |
102 # use `HOST_CC' if defined, but it is deprecated. | |
103 | |
104 # Portable tmp directory creation inspired by the Autoconf team. | |
105 | |
106 set_cc_for_build=' | |
107 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; | |
108 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; | |
109 : ${TMPDIR=/tmp} ; | |
110 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || | |
111 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || | |
112 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || | |
113 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; | |
114 dummy=$tmp/dummy ; | |
115 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; | |
116 case $CC_FOR_BUILD,$HOST_CC,$CC in | |
117 ,,) echo "int x;" > $dummy.c ; | |
118 for c in cc gcc c89 c99 ; do | |
119 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then | |
120 CC_FOR_BUILD="$c"; break ; | |
121 fi ; | |
122 done ; | |
123 if test x"$CC_FOR_BUILD" = x ; then | |
124 CC_FOR_BUILD=no_compiler_found ; | |
125 fi | |
126 ;; | |
127 ,,*) CC_FOR_BUILD=$CC ;; | |
128 ,*,*) CC_FOR_BUILD=$HOST_CC ;; | |
129 esac ; set_cc_for_build= ;' | |
130 | |
131 # This is needed to find uname on a Pyramid OSx when run in the BSD universe. | |
132 # (ghazi@noc.rutgers.edu 1994-08-24) | |
133 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then | |
134 PATH=$PATH:/.attbin ; export PATH | |
135 fi | |
136 | |
137 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown | |
138 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown | |
139 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown | |
140 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown | |
141 | |
142 # Note: order is significant - the case branches are not exclusive. | |
143 | |
144 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |
145 *:NetBSD:*:*) | |
146 # NetBSD (nbsd) targets should (where applicable) match one or | |
147 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, | |
148 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently | |
149 # switched to ELF, *-*-netbsd* would select the old | |
150 # object file format. This provides both forward | |
151 # compatibility and a consistent mechanism for selecting the | |
152 # object file format. | |
153 # | |
154 # Note: NetBSD doesn't particularly care about the vendor | |
155 # portion of the name. We always set it to "unknown". | |
156 sysctl="sysctl -n hw.machine_arch" | |
157 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ | |
158 /usr/sbin/$sysctl 2>/dev/null || echo unknown)` | |
159 case "${UNAME_MACHINE_ARCH}" in | |
160 armeb) machine=armeb-unknown ;; | |
161 arm*) machine=arm-unknown ;; | |
162 sh3el) machine=shl-unknown ;; | |
163 sh3eb) machine=sh-unknown ;; | |
164 *) machine=${UNAME_MACHINE_ARCH}-unknown ;; | |
165 esac | |
166 # The Operating System including object format, if it has switched | |
167 # to ELF recently, or will in the future. | |
168 case "${UNAME_MACHINE_ARCH}" in | |
169 arm*|i386|m68k|ns32k|sh3*|sparc|vax) | |
170 eval $set_cc_for_build | |
171 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | |
172 | grep __ELF__ >/dev/null | |
173 then | |
174 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). | |
175 # Return netbsd for either. FIX? | |
176 os=netbsd | |
177 else | |
178 os=netbsdelf | |
179 fi | |
180 ;; | |
181 *) | |
182 os=netbsd | |
183 ;; | |
184 esac | |
185 # The OS release | |
186 # Debian GNU/NetBSD machines have a different userland, and | |
187 # thus, need a distinct triplet. However, they do not need | |
188 # kernel version information, so it can be replaced with a | |
189 # suitable tag, in the style of linux-gnu. | |
190 case "${UNAME_VERSION}" in | |
191 Debian*) | |
192 release='-gnu' | |
193 ;; | |
194 *) | |
195 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` | |
196 ;; | |
197 esac | |
198 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: | |
199 # contains redundant information, the shorter form: | |
200 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. | |
201 echo "${machine}-${os}${release}" | |
202 exit ;; | |
203 *:OpenBSD:*:*) | |
204 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` | |
205 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | |
206 exit ;; | |
207 *:ekkoBSD:*:*) | |
208 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} | |
209 exit ;; | |
210 *:SolidBSD:*:*) | |
211 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} | |
212 exit ;; | |
213 macppc:MirBSD:*:*) | |
214 echo powerpc-unknown-mirbsd${UNAME_RELEASE} | |
215 exit ;; | |
216 *:MirBSD:*:*) | |
217 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} | |
218 exit ;; | |
219 alpha:OSF1:*:*) | |
220 case $UNAME_RELEASE in | |
221 *4.0) | |
222 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` | |
223 ;; | |
224 *5.*) | |
225 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` | |
226 ;; | |
227 esac | |
228 # According to Compaq, /usr/sbin/psrinfo has been available on | |
229 # OSF/1 and Tru64 systems produced since 1995. I hope that | |
230 # covers most systems running today. This code pipes the CPU | |
231 # types through head -n 1, so we only detect the type of CPU 0. | |
232 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` | |
233 case "$ALPHA_CPU_TYPE" in | |
234 "EV4 (21064)") | |
235 UNAME_MACHINE="alpha" ;; | |
236 "EV4.5 (21064)") | |
237 UNAME_MACHINE="alpha" ;; | |
238 "LCA4 (21066/21068)") | |
239 UNAME_MACHINE="alpha" ;; | |
240 "EV5 (21164)") | |
241 UNAME_MACHINE="alphaev5" ;; | |
242 "EV5.6 (21164A)") | |
243 UNAME_MACHINE="alphaev56" ;; | |
244 "EV5.6 (21164PC)") | |
245 UNAME_MACHINE="alphapca56" ;; | |
246 "EV5.7 (21164PC)") | |
247 UNAME_MACHINE="alphapca57" ;; | |
248 "EV6 (21264)") | |
249 UNAME_MACHINE="alphaev6" ;; | |
250 "EV6.7 (21264A)") | |
251 UNAME_MACHINE="alphaev67" ;; | |
252 "EV6.8CB (21264C)") | |
253 UNAME_MACHINE="alphaev68" ;; | |
254 "EV6.8AL (21264B)") | |
255 UNAME_MACHINE="alphaev68" ;; | |
256 "EV6.8CX (21264D)") | |
257 UNAME_MACHINE="alphaev68" ;; | |
258 "EV6.9A (21264/EV69A)") | |
259 UNAME_MACHINE="alphaev69" ;; | |
260 "EV7 (21364)") | |
261 UNAME_MACHINE="alphaev7" ;; | |
262 "EV7.9 (21364A)") | |
263 UNAME_MACHINE="alphaev79" ;; | |
264 esac | |
265 # A Pn.n version is a patched version. | |
266 # A Vn.n version is a released version. | |
267 # A Tn.n version is a released field test version. | |
268 # A Xn.n version is an unreleased experimental baselevel. | |
269 # 1.2 uses "1.2" for uname -r. | |
270 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | |
271 exit ;; | |
272 Alpha\ *:Windows_NT*:*) | |
273 # How do we know it's Interix rather than the generic POSIX subsystem? | |
274 # Should we change UNAME_MACHINE based on the output of uname instead | |
275 # of the specific Alpha model? | |
276 echo alpha-pc-interix | |
277 exit ;; | |
278 21064:Windows_NT:50:3) | |
279 echo alpha-dec-winnt3.5 | |
280 exit ;; | |
281 Amiga*:UNIX_System_V:4.0:*) | |
282 echo m68k-unknown-sysv4 | |
283 exit ;; | |
284 *:[Aa]miga[Oo][Ss]:*:*) | |
285 echo ${UNAME_MACHINE}-unknown-amigaos | |
286 exit ;; | |
287 *:[Mm]orph[Oo][Ss]:*:*) | |
288 echo ${UNAME_MACHINE}-unknown-morphos | |
289 exit ;; | |
290 *:OS/390:*:*) | |
291 echo i370-ibm-openedition | |
292 exit ;; | |
293 *:z/VM:*:*) | |
294 echo s390-ibm-zvmoe | |
295 exit ;; | |
296 *:OS400:*:*) | |
297 echo powerpc-ibm-os400 | |
298 exit ;; | |
299 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) | |
300 echo arm-acorn-riscix${UNAME_RELEASE} | |
301 exit ;; | |
302 arm:riscos:*:*|arm:RISCOS:*:*) | |
303 echo arm-unknown-riscos | |
304 exit ;; | |
305 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) | |
306 echo hppa1.1-hitachi-hiuxmpp | |
307 exit ;; | |
308 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) | |
309 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. | |
310 if test "`(/bin/universe) 2>/dev/null`" = att ; then | |
311 echo pyramid-pyramid-sysv3 | |
312 else | |
313 echo pyramid-pyramid-bsd | |
314 fi | |
315 exit ;; | |
316 NILE*:*:*:dcosx) | |
317 echo pyramid-pyramid-svr4 | |
318 exit ;; | |
319 DRS?6000:unix:4.0:6*) | |
320 echo sparc-icl-nx6 | |
321 exit ;; | |
322 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) | |
323 case `/usr/bin/uname -p` in | |
324 sparc) echo sparc-icl-nx7; exit ;; | |
325 esac ;; | |
326 sun4H:SunOS:5.*:*) | |
327 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
328 exit ;; | |
329 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) | |
330 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
331 exit ;; | |
332 i86pc:SunOS:5.*:*) | |
333 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
334 exit ;; | |
335 sun4*:SunOS:6*:*) | |
336 # According to config.sub, this is the proper way to canonicalize | |
337 # SunOS6. Hard to guess exactly what SunOS6 will be like, but | |
338 # it's likely to be more like Solaris than SunOS4. | |
339 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
340 exit ;; | |
341 sun4*:SunOS:*:*) | |
342 case "`/usr/bin/arch -k`" in | |
343 Series*|S4*) | |
344 UNAME_RELEASE=`uname -v` | |
345 ;; | |
346 esac | |
347 # Japanese Language versions have a version number like `4.1.3-JL'. | |
348 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` | |
349 exit ;; | |
350 sun3*:SunOS:*:*) | |
351 echo m68k-sun-sunos${UNAME_RELEASE} | |
352 exit ;; | |
353 sun*:*:4.2BSD:*) | |
354 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` | |
355 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 | |