1#! /bin/sh
2# Configuration validation subroutine script.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5
6timestamp='2005-02-10'
7
8# This file is (in principle) common to ALL GNU software.
9# The presence of a machine in this file suggests that SOME GNU software
10# can handle that machine.  It does not imply ALL GNU software can.
11#
12# This file is free software; you can redistribute it and/or modify
13# it under the terms of the GNU General Public License as published by
14# the Free Software Foundation; either version 2 of the License, or
15# (at your option) any later version.
16#
17# This program is distributed in the hope that it will be useful,
18# but WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20# GNU General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, write to the Free Software
24# Foundation, Inc., 59 Temple Place - Suite 330,
25# Boston, MA 02111-1307, USA.
26
27# As a special exception to the GNU General Public License, if you
28# distribute this file as part of a program that contains a
29# configuration script generated by Autoconf, you may include it under
30# the same distribution terms that you use for the rest of that program.
31
32# Please send patches to <config-patches@gnu.org>.  Submit a context
33# diff and a properly formatted ChangeLog entry.
34#
35# Configuration subroutine to validate and canonicalize a configuration type.
36# Supply the specified configuration type as an argument.
37# If it is invalid, we print an error message on stderr and exit with code 1.
38# Otherwise, we print the canonical config type on stdout and succeed.
39
40# This file is supposed to be the same for all GNU packages
41# and recognize all the CPU types, system types and aliases
42# that are meaningful with *any* GNU software.
43# Each package is responsible for reporting which valid configurations
44# it does not support.  The user should be able to distinguish
45# a failure to support a valid configuration from a meaningless
46# configuration.
47
48# The goal of this file is to map all the various variations of a given
49# machine specification into a single specification in the form:
50#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51# or in some cases, the newer four-part form:
52#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53# It is wrong to echo any other type of specification.
54
55me=`echo "$0" | sed -e 's,.*/,,'`
56
57usage="\
58Usage: $0 [OPTION] CPU-MFR-OPSYS
59       $0 [OPTION] ALIAS
60
61Canonicalize a configuration name.
62
63Operation modes:
64  -h, --help         print this help, then exit
65  -t, --time-stamp   print date of last modification, then exit
66  -v, --version      print version number, then exit
67
68Report bugs and patches to <config-patches@gnu.org>."
69
70version="\
71GNU config.sub ($timestamp)
72
73Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
74Free Software Foundation, Inc.
75
76This is free software; see the source for copying conditions.  There is NO
77warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
78
79help="
80Try \`$me --help' for more information."
81
82# Parse command line
83while test $# -gt 0 ; do
84  case $1 in
85    --time-stamp | --time* | -t )
86       echo "$timestamp" ; exit 0 ;;
87    --version | -v )
88       echo "$version" ; exit 0 ;;
89    --help | --h* | -h )
90       echo "$usage"; exit 0 ;;
91    -- )     # Stop option processing
92       shift; break ;;
93    - )	# Use stdin as input.
94       break ;;
95    -* )
96       echo "$me: invalid option $1$help"
97       exit 1 ;;
98
99    *local*)
100       # First pass through any local machine types.
101       echo $1
102       exit 0;;
103
104    * )
105       break ;;
106  esac
107done
108
109case $# in
110 0) echo "$me: missing argument$help" >&2
111    exit 1;;
112 1) ;;
113 *) echo "$me: too many arguments$help" >&2
114    exit 1;;
115esac
116
117# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
118# Here we must recognize all the valid KERNEL-OS combinations.
119maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
120case $maybe_os in
121  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
122  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
123    os=-$maybe_os
124    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
125    ;;
126  *)
127    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
128    if [ $basic_machine != $1 ]
129    then os=`echo $1 | sed 's/.*-/-/'`
130    else os=; fi
131    ;;
132esac
133
134### Let's recognize common machines as not being operating systems so
135### that things like config.sub decstation-3100 work.  We also
136### recognize some manufacturers as not being operating systems, so we
137### can provide default operating systems below.
138case $os in
139	-sun*os*)
140		# Prevent following clause from handling this invalid input.
141		;;
142	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
143	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
144	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
145	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
146	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
147	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
148	-apple | -axis | -knuth | -cray)
149		os=
150		basic_machine=$1
151		;;
152	-sim | -cisco | -oki | -wec | -winbond)
153		os=
154		basic_machine=$1
155		;;
156	-scout)
157		;;
158	-wrs)
159		os=-vxworks
160		basic_machine=$1
161		;;
162	-chorusos*)
163		os=-chorusos
164		basic_machine=$1
165		;;
166 	-chorusrdb)
167 		os=-chorusrdb
168		basic_machine=$1
169 		;;
170	-hiux*)
171		os=-hiuxwe2
172		;;
173	-sco5)
174		os=-sco3.2v5
175		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
176		;;
177	-sco4)
178		os=-sco3.2v4
179		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
180		;;
181	-sco3.2.[4-9]*)
182		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
183		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
184		;;
185	-sco3.2v[4-9]*)
186		# Don't forget version if it is 3.2v4 or newer.
187		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188		;;
189	-sco*)
190		os=-sco3.2v2
191		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192		;;
193	-udk*)
194		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195		;;
196	-isc)
197		os=-isc2.2
198		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199		;;
200	-clix*)
201		basic_machine=clipper-intergraph
202		;;
203	-isc*)
204		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
205		;;
206	-lynx*)
207		os=-lynxos
208		;;
209	-ptx*)
210		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
211		;;
212	-windowsnt*)
213		os=`echo $os | sed -e 's/windowsnt/winnt/'`
214		;;
215	-psos*)
216		os=-psos
217		;;
218	-mint | -mint[0-9]*)
219		basic_machine=m68k-atari
220		os=-mint
221		;;
222esac
223
224# Decode aliases for certain CPU-COMPANY combinations.
225case $basic_machine in
226	# Recognize the basic CPU types without company name.
227	# Some are omitted here because they have special meanings below.
228	1750a | 580 \
229	| a29k \
230	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
231	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
232	| am33_2.0 \
233	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
234	| c4x | clipper \
235	| d10v | d30v | dlx | dsp16xx \
236	| fr30 | frv \
237	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
238	| i370 | i860 | i960 | ia64 \
239	| ip2k | iq2000 \
240	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
241	| mips | mipsbe | mipseb | mipsel | mipsle \
242	| mips16 \
243	| mips64 | mips64el \
244	| mips64vr | mips64vrel \
245	| mips64orion | mips64orionel \
246	| mips64vr4100 | mips64vr4100el \
247	| mips64vr4300 | mips64vr4300el \
248	| mips64vr5000 | mips64vr5000el \
249	| mipsisa32 | mipsisa32el \
250	| mipsisa32r2 | mipsisa32r2el \
251	| mipsisa64 | mipsisa64el \
252	| mipsisa64r2 | mipsisa64r2el \
253	| mipsisa64sb1 | mipsisa64sb1el \
254	| mipsisa64sr71k | mipsisa64sr71kel \
255	| mipstx39 | mipstx39el \
256	| mips64r5900 | mips64r5900el \
257	| mn10200 | mn10300 \
258	| msp430 \
259	| ns16k | ns32k \
260	| openrisc | or32 \
261	| pdp10 | pdp11 | pj | pjl \
262	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
263	| pyramid \
264	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
265	| sh64 | sh64le \
266	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
267	| strongarm \
268	| tahoe | dvp | thumb | tic4x | tic80 | tron \
269	| v850 | v850e \
270	| we32k \
271	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
272	| z8k)
273		basic_machine=$basic_machine-unknown
274		;;
275	m6811 | m68hc11 | m6812 | m68hc12)
276		# Motorola 68HC11/12.
277		basic_machine=$basic_machine-unknown
278		os=-none
279		;;
280	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
281		;;
282
283	# We use `pc' rather than `unknown'
284	# because (1) that's what they normally are, and
285	# (2) the word "unknown" tends to confuse beginning users.
286	i*86 | x86_64)
287	  basic_machine=$basic_machine-pc
288	  ;;
289	# Object if more than one company name word.
290	*-*-*)
291		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
292		exit 1
293		;;
294	# Recognize the basic CPU types with company name.
295	580-* \
296	| a29k-* \
297	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
298	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
299	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
300	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
301	| avr-* \
302	| bs2000-* \
303	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
304	| clipper-* | craynv-* | cydra-* \
305	| d10v-* | d30v-* | dlx-* \
306	| elxsi-* \
307	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
308	| h8300-* | h8500-* \
309	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
310	| i*86-* | i860-* | i960-* | ia64-* \
311	| ip2k-* | iq2000-* \
312	| m32r-* | m32rle-* \
313	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
314	| m88110-* | m88k-* | maxq-* | mcore-* \
315	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
316	| mips16-* \
317	| mips64-* | mips64el-* \
318	| mips64vr-* | mips64vrel-* \
319	| mips64orion-* | mips64orionel-* \
320	| mips64vr4100-* | mips64vr4100el-* \
321	| mips64vr4300-* | mips64vr4300el-* \
322	| mips64vr5000-* | mips64vr5000el-* \
323	| mipsisa32-* | mipsisa32el-* \
324	| mipsisa32r2-* | mipsisa32r2el-* \
325	| mipsisa64-* | mipsisa64el-* \
326	| mipsisa64r2-* | mipsisa64r2el-* \
327	| mipsisa64sb1-* | mipsisa64sb1el-* \
328	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
329	| mipstx39-* | mipstx39el-* \
330	| mips64r5900-* | mips64r5900el-* \
331	| mmix-* \
332	| msp430-* \
333	| none-* | np1-* | ns16k-* | ns32k-* \
334	| orion-* \
335	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
336	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
337	| pyramid-* \
338	| romp-* | rs6000-* \
339	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
340	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
341	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
342	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
343	| tahoe-* | thumb-* \
344	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
345	| tron-* \
346	| v850-* | v850e-* | vax-* \
347	| we32k-* \
348	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
349	| xstormy16-* | xtensa-* \
350	| ymp-* \
351	| z8k-*)
352		;;
353	# Recognize the various machine names and aliases which stand
354	# for a CPU type and a company and sometimes even an OS.
355	386bsd)
356		basic_machine=i386-unknown
357		os=-bsd
358		;;
359	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
360		basic_machine=m68000-att
361		;;
362	3b*)
363		basic_machine=we32k-att
364		;;
365	a29khif)
366		basic_machine=a29k-amd
367		os=-udi
368		;;
369    	abacus)
370		basic_machine=abacus-unknown
371		;;
372	adobe68k)
373		basic_machine=m68010-adobe
374		os=-scout
375		;;
376	alliant | fx80)
377		basic_machine=fx80-alliant
378		;;
379	altos | altos3068)
380		basic_machine=m68k-altos
381		;;
382	am29k)
383		basic_machine=a29k-none
384		os=-bsd
385		;;
386	amd64)
387		basic_machine=x86_64-pc
388		;;
389	amd64-*)
390		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
391		;;
392	amdahl)
393		basic_machine=580-amdahl
394		os=-sysv
395		;;
396	amiga | amiga-*)
397		basic_machine=m68k-unknown
398		;;
399	amigaos | amigados)
400		basic_machine=m68k-unknown
401		os=-amigaos
402		;;
403	amigaunix | amix)
404		basic_machine=m68k-unknown
405		os=-sysv4
406		;;
407	apollo68)
408		basic_machine=m68k-apollo
409		os=-sysv
410		;;
411	apollo68bsd)
412		basic_machine=m68k-apollo
413		os=-bsd
414		;;
415	aux)
416		basic_machine=m68k-apple
417		os=-aux
418		;;
419	balance)
420		basic_machine=ns32k-sequent
421		os=-dynix
422		;;
423	c90)
424		basic_machine=c90-cray
425		os=-unicos
426		;;
427	convex-c1)
428		basic_machine=c1-convex
429		os=-bsd
430		;;
431	convex-c2)
432		basic_machine=c2-convex
433		os=-bsd
434		;;
435	convex-c32)
436		basic_machine=c32-convex
437		os=-bsd
438		;;
439	convex-c34)
440		basic_machine=c34-convex
441		os=-bsd
442		;;
443	convex-c38)
444		basic_machine=c38-convex
445		os=-bsd
446		;;
447	cray | j90)
448		basic_machine=j90-cray
449		os=-unicos
450		;;
451	craynv)
452		basic_machine=craynv-cray
453		os=-unicosmp
454		;;
455	cr16c)
456		basic_machine=cr16c-unknown
457		os=-elf
458		;;
459	crds | unos)
460		basic_machine=m68k-crds
461		;;
462	crisv32 | crisv32-* | etraxfs*)
463		basic_machine=crisv32-axis
464		;;
465	cris | cris-* | etrax*)
466		basic_machine=cris-axis
467		;;
468	crx)
469		basic_machine=crx-unknown
470		os=-elf
471		;;
472	da30 | da30-*)
473		basic_machine=m68k-da30
474		;;
475	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
476		basic_machine=mips-dec
477		;;
478	decsystem10* | dec10*)
479		basic_machine=pdp10-dec
480		os=-tops10
481		;;
482	decsystem20* | dec20*)
483		basic_machine=pdp10-dec
484		os=-tops20
485		;;
486	delta | 3300 | motorola-3300 | motorola-delta \
487	      | 3300-motorola | delta-motorola)
488		basic_machine=m68k-motorola
489		;;
490	delta88)
491		basic_machine=m88k-motorola
492		os=-sysv3
493		;;
494	djgpp)
495		basic_machine=i586-pc
496		os=-msdosdjgpp
497		;;
498	dpx20 | dpx20-*)
499		basic_machine=rs6000-bull
500		os=-bosx
501		;;
502	dpx2* | dpx2*-bull)
503		basic_machine=m68k-bull
504		os=-sysv3
505		;;
506	ebmon29k)
507		basic_machine=a29k-amd
508		os=-ebmon
509		;;
510	elxsi)
511		basic_machine=elxsi-elxsi
512		os=-bsd
513		;;
514	encore | umax | mmax)
515		basic_machine=ns32k-encore
516		;;
517	es1800 | OSE68k | ose68k | ose | OSE)
518		basic_machine=m68k-ericsson
519		os=-ose
520		;;
521	fx2800)
522		basic_machine=i860-alliant
523		;;
524	genix)
525		basic_machine=ns32k-ns
526		;;
527	gmicro)
528		basic_machine=tron-gmicro
529		os=-sysv
530		;;
531	go32)
532		basic_machine=i386-pc
533		os=-go32
534		;;
535	h3050r* | hiux*)
536		basic_machine=hppa1.1-hitachi
537		os=-hiuxwe2
538		;;
539	h8300hms)
540		basic_machine=h8300-hitachi
541		os=-hms
542		;;
543	h8300xray)
544		basic_machine=h8300-hitachi
545		os=-xray
546		;;
547	h8500hms)
548		basic_machine=h8500-hitachi
549		os=-hms
550		;;
551	harris)
552		basic_machine=m88k-harris
553		os=-sysv3
554		;;
555	hp300-*)
556		basic_machine=m68k-hp
557		;;
558	hp300bsd)
559		basic_machine=m68k-hp
560		os=-bsd
561		;;
562	hp300hpux)
563		basic_machine=m68k-hp
564		os=-hpux
565		;;
566	hp3k9[0-9][0-9] | hp9[0-9][0-9])
567		basic_machine=hppa1.0-hp
568		;;
569	hp9k2[0-9][0-9] | hp9k31[0-9])
570		basic_machine=m68000-hp
571		;;
572	hp9k3[2-9][0-9])
573		basic_machine=m68k-hp
574		;;
575	hp9k6[0-9][0-9] | hp6[0-9][0-9])
576		basic_machine=hppa1.0-hp
577		;;
578	hp9k7[0-79][0-9] | hp7[0-79][0-9])
579		basic_machine=hppa1.1-hp
580		;;
581	hp9k78[0-9] | hp78[0-9])
582		# FIXME: really hppa2.0-hp
583		basic_machine=hppa1.1-hp
584		;;
585	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
586		# FIXME: really hppa2.0-hp
587		basic_machine=hppa1.1-hp
588		;;
589	hp9k8[0-9][13679] | hp8[0-9][13679])
590		basic_machine=hppa1.1-hp
591		;;
592	hp9k8[0-9][0-9] | hp8[0-9][0-9])
593		basic_machine=hppa1.0-hp
594		;;
595	hppa-next)
596		os=-nextstep3
597		;;
598	hppaosf)
599		basic_machine=hppa1.1-hp
600		os=-osf
601		;;
602	hppro)
603		basic_machine=hppa1.1-hp
604		os=-proelf
605		;;
606	i370-ibm* | ibm*)
607		basic_machine=i370-ibm
608		;;
609# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
610	i*86v32)
611		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
612		os=-sysv32
613		;;
614	i*86v4*)
615		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
616		os=-sysv4
617		;;
618	i*86v)
619		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
620		os=-sysv
621		;;
622	i*86sol2)
623		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
624		os=-solaris2
625		;;
626	i386mach)
627		basic_machine=i386-mach
628		os=-mach
629		;;
630	i386-vsta | vsta)
631		basic_machine=i386-unknown
632		os=-vsta
633		;;
634	iris | iris4d)
635		basic_machine=mips-sgi
636		case $os in
637		    -irix*)
638			;;
639		    *)
640			os=-irix4
641			;;
642		esac
643		;;
644	isi68 | isi)
645		basic_machine=m68k-isi
646		os=-sysv
647		;;
648	m88k-omron*)
649		basic_machine=m88k-omron
650		;;
651	magnum | m3230)
652		basic_machine=mips-mips
653		os=-sysv
654		;;
655	merlin)
656		basic_machine=ns32k-utek
657		os=-sysv
658		;;
659	mingw32)
660		basic_machine=i386-pc
661		os=-mingw32
662		;;
663	miniframe)
664		basic_machine=m68000-convergent
665		;;
666	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
667		basic_machine=m68k-atari
668		os=-mint
669		;;
670	mipsEE* | ee | ps2)
671		basic_machine=mips64r5900el-scei
672		case $os in
673		    -linux*)
674			;;
675		    *)
676			os=-elf
677			;;
678		esac
679		;;
680	iop)
681		basic_machine=mipsel-scei
682		os=-irx
683		;;
684	dvp)
685		basic_machine=dvp-scei
686		os=-elf
687		;;
688	mips3*-*)
689		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
690		;;
691	mips3*)
692		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
693		;;
694	monitor)
695		basic_machine=m68k-rom68k
696		os=-coff
697		;;
698	morphos)
699		basic_machine=powerpc-unknown
700		os=-morphos
701		;;
702	msdos)
703		basic_machine=i386-pc
704		os=-msdos
705		;;
706	mvs)
707		basic_machine=i370-ibm
708		os=-mvs
709		;;
710	ncr3000)
711		basic_machine=i486-ncr
712		os=-sysv4
713		;;
714	netbsd386)
715		basic_machine=i386-unknown
716		os=-netbsd
717		;;
718	netwinder)
719		basic_machine=armv4l-rebel
720		os=-linux
721		;;
722	news | news700 | news800 | news900)
723		basic_machine=m68k-sony
724		os=-newsos
725		;;
726	news1000)
727		basic_machine=m68030-sony
728		os=-newsos
729		;;
730	news-3600 | risc-news)
731		basic_machine=mips-sony
732		os=-newsos
733		;;
734	necv70)
735		basic_machine=v70-nec
736		os=-sysv
737		;;
738	next | m*-next )
739		basic_machine=m68k-next
740		case $os in
741		    -nextstep* )
742			;;
743		    -ns2*)
744		      os=-nextstep2
745			;;
746		    *)
747		      os=-nextstep3
748			;;
749		esac
750		;;
751	nh3000)
752		basic_machine=m68k-harris
753		os=-cxux
754		;;
755	nh[45]000)
756		basic_machine=m88k-harris
757		os=-cxux
758		;;
759	nindy960)
760		basic_machine=i960-intel
761		os=-nindy
762		;;
763	mon960)
764		basic_machine=i960-intel
765		os=-mon960
766		;;
767	nonstopux)
768		basic_machine=mips-compaq
769		os=-nonstopux
770		;;
771	np1)
772		basic_machine=np1-gould
773		;;
774	nsr-tandem)
775		basic_machine=nsr-tandem
776		;;
777	op50n-* | op60c-*)
778		basic_machine=hppa1.1-oki
779		os=-proelf
780		;;
781	or32 | or32-*)
782		basic_machine=or32-unknown
783		os=-coff
784		;;
785	os400)
786		basic_machine=powerpc-ibm
787		os=-os400
788		;;
789	OSE68000 | ose68000)
790		basic_machine=m68000-ericsson
791		os=-ose
792		;;
793	os68k)
794		basic_machine=m68k-none
795		os=-os68k
796		;;
797	pa-hitachi)
798		basic_machine=hppa1.1-hitachi
799		os=-hiuxwe2
800		;;
801	paragon)
802		basic_machine=i860-intel
803		os=-osf
804		;;
805	pbd)
806		basic_machine=sparc-tti
807		;;
808	pbb)
809		basic_machine=m68k-tti
810		;;
811	pc532 | pc532-*)
812		basic_machine=ns32k-pc532
813		;;
814	pentium | p5 | k5 | k6 | nexgen | viac3)
815		basic_machine=i586-pc
816		;;
817	pentiumpro | p6 | 6x86 | athlon | athlon_*)
818		basic_machine=i686-pc
819		;;
820	pentiumii | pentium2 | pentiumiii | pentium3)
821		basic_machine=i686-pc
822		;;
823	pentium4)
824		basic_machine=i786-pc
825		;;
826	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
827		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
828		;;
829	pentiumpro-* | p6-* | 6x86-* | athlon-*)
830		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
831		;;
832	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
833		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
834		;;
835	pentium4-*)
836		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
837		;;
838	pn)
839		basic_machine=pn-gould
840		;;
841	power)	basic_machine=power-ibm
842		;;
843	ppc)	basic_machine=powerpc-unknown
844		;;
845	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
846		;;
847	ppcle | powerpclittle | ppc-le | powerpc-little)
848		basic_machine=powerpcle-unknown
849		;;
850	ppcle-* | powerpclittle-*)
851		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
852		;;
853	ppc64)	basic_machine=powerpc64-unknown
854		;;
855	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
856		;;
857	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
858		basic_machine=powerpc64le-unknown
859		;;
860	ppc64le-* | powerpc64little-*)
861		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
862		;;
863	ps2)
864		basic_machine=i386-ibm
865		;;
866	pw32)
867		basic_machine=i586-unknown
868		os=-pw32
869		;;
870	rom68k)
871		basic_machine=m68k-rom68k
872		os=-coff
873		;;
874	rm[46]00)
875		basic_machine=mips-siemens
876		;;
877	rtpc | rtpc-*)
878		basic_machine=romp-ibm
879		;;
880	s390 | s390-*)
881		basic_machine=s390-ibm
882		;;
883	s390x | s390x-*)
884		basic_machine=s390x-ibm
885		;;
886	sa29200)
887		basic_machine=a29k-amd
888		os=-udi
889		;;
890	sb1)
891		basic_machine=mipsisa64sb1-unknown
892		;;
893	sb1el)
894		basic_machine=mipsisa64sb1el-unknown
895		;;
896	sei)
897		basic_machine=mips-sei
898		os=-seiux
899		;;
900	sequent)
901		basic_machine=i386-sequent
902		;;
903	sh)
904		basic_machine=sh-hitachi
905		os=-hms
906		;;
907	sh64)
908		basic_machine=sh64-unknown
909		;;
910	sparclite-wrs | simso-wrs)
911		basic_machine=sparclite-wrs
912		os=-vxworks
913		;;
914	sps7)
915		basic_machine=m68k-bull
916		os=-sysv2
917		;;
918	spur)
919		basic_machine=spur-unknown
920		;;
921	st2000)
922		basic_machine=m68k-tandem
923		;;
924	stratus)
925		basic_machine=i860-stratus
926		os=-sysv4
927		;;
928	sun2)
929		basic_machine=m68000-sun
930		;;
931	sun2os3)
932		basic_machine=m68000-sun
933		os=-sunos3
934		;;
935	sun2os4)
936		basic_machine=m68000-sun
937		os=-sunos4
938		;;
939	sun3os3)
940		basic_machine=m68k-sun
941		os=-sunos3
942		;;
943	sun3os4)
944		basic_machine=m68k-sun
945		os=-sunos4
946		;;
947	sun4os3)
948		basic_machine=sparc-sun
949		os=-sunos3
950		;;
951	sun4os4)
952		basic_machine=sparc-sun
953		os=-sunos4
954		;;
955	sun4sol2)
956		basic_machine=sparc-sun
957		os=-solaris2
958		;;
959	sun3 | sun3-*)
960		basic_machine=m68k-sun
961		;;
962	sun4)
963		basic_machine=sparc-sun
964		;;
965	sun386 | sun386i | roadrunner)
966		basic_machine=i386-sun
967		;;
968	sv1)
969		basic_machine=sv1-cray
970		os=-unicos
971		;;
972	symmetry)
973		basic_machine=i386-sequent
974		os=-dynix
975		;;
976	t3e)
977		basic_machine=alphaev5-cray
978		os=-unicos
979		;;
980	t90)
981		basic_machine=t90-cray
982		os=-unicos
983		;;
984	tic54x | c54x*)
985		basic_machine=tic54x-unknown
986		os=-coff
987		;;
988	tic55x | c55x*)
989		basic_machine=tic55x-unknown
990		os=-coff
991		;;
992	tic6x | c6x*)
993		basic_machine=tic6x-unknown
994		os=-coff
995		;;
996	tx39)
997		basic_machine=mipstx39-unknown
998		;;
999	tx39el)
1000		basic_machine=mipstx39el-unknown
1001		;;
1002	toad1)
1003		basic_machine=pdp10-xkl
1004		os=-tops20
1005		;;
1006	tower | tower-32)
1007		basic_machine=m68k-ncr
1008		;;
1009	tpf)
1010		basic_machine=s390x-ibm
1011		os=-tpf
1012		;;
1013	udi29k)
1014		basic_machine=a29k-amd
1015		os=-udi
1016		;;
1017	ultra3)
1018		basic_machine=a29k-nyu
1019		os=-sym1
1020		;;
1021	v810 | necv810)
1022		basic_machine=v810-nec
1023		os=-none
1024		;;
1025	vaxv)
1026		basic_machine=vax-dec
1027		os=-sysv
1028		;;
1029	vms)
1030		basic_machine=vax-dec
1031		os=-vms
1032		;;
1033	vpp*|vx|vx-*)
1034		basic_machine=f301-fujitsu
1035		;;
1036	vxworks960)
1037		basic_machine=i960-wrs
1038		os=-vxworks
1039		;;
1040	vxworks68)
1041		basic_machine=m68k-wrs
1042		os=-vxworks
1043		;;
1044	vxworks29k)
1045		basic_machine=a29k-wrs
1046		os=-vxworks
1047		;;
1048	w65*)
1049		basic_machine=w65-wdc
1050		os=-none
1051		;;
1052	w89k-*)
1053		basic_machine=hppa1.1-winbond
1054		os=-proelf
1055		;;
1056	xbox)
1057		basic_machine=i686-pc
1058		os=-mingw32
1059		;;
1060	xps | xps100)
1061		basic_machine=xps100-honeywell
1062		;;
1063	ymp)
1064		basic_machine=ymp-cray
1065		os=-unicos
1066		;;
1067	z8k-*-coff)
1068		basic_machine=z8k-unknown
1069		os=-sim
1070		;;
1071	none)
1072		basic_machine=none-none
1073		os=-none
1074		;;
1075
1076# Here we handle the default manufacturer of certain CPU types.  It is in
1077# some cases the only manufacturer, in others, it is the most popular.
1078	w89k)
1079		basic_machine=hppa1.1-winbond
1080		;;
1081	op50n)
1082		basic_machine=hppa1.1-oki
1083		;;
1084	op60c)
1085		basic_machine=hppa1.1-oki
1086		;;
1087	romp)
1088		basic_machine=romp-ibm
1089		;;
1090	mmix)
1091		basic_machine=mmix-knuth
1092		;;
1093	rs6000)
1094		basic_machine=rs6000-ibm
1095		;;
1096	vax)
1097		basic_machine=vax-dec
1098		;;
1099	pdp10)
1100		# there are many clones, so DEC is not a safe bet
1101		basic_machine=pdp10-unknown
1102		;;
1103	pdp11)
1104		basic_machine=pdp11-dec
1105		;;
1106	we32k)
1107		basic_machine=we32k-att
1108		;;
1109	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
1110		basic_machine=sh-unknown
1111		;;
1112	sh64)
1113		basic_machine=sh64-unknown
1114		;;
1115	sparc | sparcv8 | sparcv9 | sparcv9b)
1116		basic_machine=sparc-sun
1117		;;
1118	cydra)
1119		basic_machine=cydra-cydrome
1120		;;
1121	orion)
1122		basic_machine=orion-highlevel
1123		;;
1124	orion105)
1125		basic_machine=clipper-highlevel
1126		;;
1127	mac | mpw | mac-mpw)
1128		basic_machine=m68k-apple
1129		;;
1130	pmac | pmac-mpw)
1131		basic_machine=powerpc-apple
1132		;;
1133	*-unknown)
1134		# Make sure to match an already-canonicalized machine name.
1135		;;
1136	*)
1137		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1138		exit 1
1139		;;
1140esac
1141
1142# Here we canonicalize certain aliases for manufacturers.
1143case $basic_machine in
1144	*-digital*)
1145		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1146		;;
1147	*-commodore*)
1148		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1149		;;
1150	*)
1151		;;
1152esac
1153
1154# Decode manufacturer-specific aliases for certain operating systems.
1155
1156if [ x"$os" != x"" ]
1157then
1158case $os in
1159        # First match some system type aliases
1160        # that might get confused with valid system types.
1161	# -solaris* is a basic system type, with this one exception.
1162	-solaris1 | -solaris1.*)
1163		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1164		;;
1165	-solaris)
1166		os=-solaris2
1167		;;
1168	-svr4*)
1169		os=-sysv4
1170		;;
1171	-unixware*)
1172		os=-sysv4.2uw
1173		;;
1174	-gnu/linux*)
1175		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1176		;;
1177	# First accept the basic system types.
1178	# The portable systems comes first.
1179	# Each alternative MUST END IN A *, to match a version number.
1180	# -sysv* is not here because it comes later, after sysvr4.
1181	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1182	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1183	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1184	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1185	      | -aos* \
1186	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1187	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1188	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
1189	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1190	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1191	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1192	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1193	      | -chorusos* | -chorusrdb* \
1194	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1195	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
1196	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1197	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1198	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1199	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1200	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1201	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -irx*)
1202	# Remember, each alternative MUST END IN *, to match a version number.
1203		;;
1204	-qnx*)
1205		case $basic_machine in
1206		    x86-* | i*86-*)
1207			;;
1208		    *)
1209			os=-nto$os
1210			;;
1211		esac
1212		;;
1213	-nto-qnx*)
1214		;;
1215	-nto*)
1216		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1217		;;
1218	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1219	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
1220	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1221		;;
1222	-mac*)
1223		os=`echo $os | sed -e 's|mac|macos|'`
1224		;;
1225	-linux-dietlibc)
1226		os=-linux-dietlibc
1227		;;
1228	-linux*)
1229		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1230		;;
1231	-sunos5*)
1232		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1233		;;
1234	-sunos6*)
1235		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1236		;;
1237	-opened*)
1238		os=-openedition
1239		;;
1240        -os400*)
1241		os=-os400
1242		;;
1243	-wince*)
1244		os=-wince
1245		;;
1246	-osfrose*)
1247		os=-osfrose
1248		;;
1249	-osf*)
1250		os=-osf
1251		;;
1252	-utek*)
1253		os=-bsd
1254		;;
1255	-dynix*)
1256		os=-bsd
1257		;;
1258	-acis*)
1259		os=-aos
1260		;;
1261	-atheos*)
1262		os=-atheos
1263		;;
1264	-syllable*)
1265		os=-syllable
1266		;;
1267	-386bsd)
1268		os=-bsd
1269		;;
1270	-ctix* | -uts*)
1271		os=-sysv
1272		;;
1273	-nova*)
1274		os=-rtmk-nova
1275		;;
1276	-ns2 )
1277		os=-nextstep2
1278		;;
1279	-nsk*)
1280		os=-nsk
1281		;;
1282	# Preserve the version number of sinix5.
1283	-sinix5.*)
1284		os=`echo $os | sed -e 's|sinix|sysv|'`
1285		;;
1286	-sinix*)
1287		os=-sysv4
1288		;;
1289        -tpf*)
1290		os=-tpf
1291		;;
1292	-triton*)
1293		os=-sysv3
1294		;;
1295	-oss*)
1296		os=-sysv3
1297		;;
1298	-svr4)
1299		os=-sysv4
1300		;;
1301	-svr3)
1302		os=-sysv3
1303		;;
1304	-sysvr4)
1305		os=-sysv4
1306		;;
1307	# This must come after -sysvr4.
1308	-sysv*)
1309		;;
1310	-ose*)
1311		os=-ose
1312		;;
1313	-es1800*)
1314		os=-ose
1315		;;
1316	-xenix)
1317		os=-xenix
1318		;;
1319	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1320		os=-mint
1321		;;
1322	-aros*)
1323		os=-aros
1324		;;
1325	-kaos*)
1326		os=-kaos
1327		;;
1328	-zvmoe)
1329		os=-zvmoe
1330		;;
1331	-none)
1332		;;
1333	*)
1334		# Get rid of the `-' at the beginning of $os.
1335		os=`echo $os | sed 's/[^-]*-//'`
1336		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1337		exit 1
1338		;;
1339esac
1340else
1341
1342# Here we handle the default operating systems that come with various machines.
1343# The value should be what the vendor currently ships out the door with their
1344# machine or put another way, the most popular os provided with the machine.
1345
1346# Note that if you're going to try to match "-MANUFACTURER" here (say,
1347# "-sun"), then you have to tell the case statement up towards the top
1348# that MANUFACTURER isn't an operating system.  Otherwise, code above
1349# will signal an error saying that MANUFACTURER isn't an operating
1350# system, and we'll never get to this point.
1351
1352case $basic_machine in
1353	*-acorn)
1354		os=-riscix1.2
1355		;;
1356	arm*-rebel)
1357		os=-linux
1358		;;
1359	arm*-semi)
1360		os=-aout
1361		;;
1362    c4x-* | tic4x-*)
1363        os=-coff
1364        ;;
1365	# This must come before the *-dec entry.
1366	pdp10-*)
1367		os=-tops20
1368		;;
1369	pdp11-*)
1370		os=-none
1371		;;
1372	*-dec | vax-*)
1373		os=-ultrix4.2
1374		;;
1375	m68*-apollo)
1376		os=-domain
1377		;;
1378	i386-sun)
1379		os=-sunos4.0.2
1380		;;
1381	m68000-sun)
1382		os=-sunos3
1383		# This also exists in the configure program, but was not the
1384		# default.
1385		# os=-sunos4
1386		;;
1387	m68*-cisco)
1388		os=-aout
1389		;;
1390	mips*-cisco)
1391		os=-elf
1392		;;
1393	mips*-*)
1394		os=-elf
1395		;;
1396	or32-*)
1397		os=-coff
1398		;;
1399	*-tti)	# must be before sparc entry or we get the wrong os.
1400		os=-sysv3
1401		;;
1402	sparc-* | *-sun)
1403		os=-sunos4.1.1
1404		;;
1405	*-be)
1406		os=-beos
1407		;;
1408	*-ibm)
1409		os=-aix
1410		;;
1411    	*-knuth)
1412		os=-mmixware
1413		;;
1414	*-wec)
1415		os=-proelf
1416		;;
1417	*-winbond)
1418		os=-proelf
1419		;;
1420	*-oki)
1421		os=-proelf
1422		;;
1423	*-hp)
1424		os=-hpux
1425		;;
1426	*-hitachi)
1427		os=-hiux
1428		;;
1429	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1430		os=-sysv
1431		;;
1432	*-cbm)
1433		os=-amigaos
1434		;;
1435	*-dg)
1436		os=-dgux
1437		;;
1438	*-dolphin)
1439		os=-sysv3
1440		;;
1441	m68k-ccur)
1442		os=-rtu
1443		;;
1444	m88k-omron*)
1445		os=-luna
1446		;;
1447	*-next )
1448		os=-nextstep
1449		;;
1450	*-sequent)
1451		os=-ptx
1452		;;
1453	*-crds)
1454		os=-unos
1455		;;
1456	*-ns)
1457		os=-genix
1458		;;
1459	i370-*)
1460		os=-mvs
1461		;;
1462	*-next)
1463		os=-nextstep3
1464		;;
1465	*-gould)
1466		os=-sysv
1467		;;
1468	*-highlevel)
1469		os=-bsd
1470		;;
1471	*-encore)
1472		os=-bsd
1473		;;
1474	*-sgi)
1475		os=-irix
1476		;;
1477	*-siemens)
1478		os=-sysv4
1479		;;
1480	*-masscomp)
1481		os=-rtu
1482		;;
1483	f30[01]-fujitsu | f700-fujitsu)
1484		os=-uxpv
1485		;;
1486	*-rom68k)
1487		os=-coff
1488		;;
1489	*-*bug)
1490		os=-coff
1491		;;
1492	*-apple)
1493		os=-macos
1494		;;
1495	*-atari*)
1496		os=-mint
1497		;;
1498	*)
1499		os=-none
1500		;;
1501esac
1502fi
1503
1504# Here we handle the case where we know the os, and the CPU type, but not the
1505# manufacturer.  We pick the logical manufacturer.
1506vendor=unknown
1507case $basic_machine in
1508	*-unknown)
1509		case $os in
1510			-riscix*)
1511				vendor=acorn
1512				;;
1513			-sunos*)
1514				vendor=sun
1515				;;
1516			-aix*)
1517				vendor=ibm
1518				;;
1519			-beos*)
1520				vendor=be
1521				;;
1522			-hpux*)
1523				vendor=hp
1524				;;
1525			-mpeix*)
1526				vendor=hp
1527				;;
1528			-hiux*)
1529				vendor=hitachi
1530				;;
1531			-unos*)
1532				vendor=crds
1533				;;
1534			-dgux*)
1535				vendor=dg
1536				;;
1537			-luna*)
1538				vendor=omron
1539				;;
1540			-genix*)
1541				vendor=ns
1542				;;
1543			-mvs* | -opened*)
1544				vendor=ibm
1545				;;
1546			-os400*)
1547				vendor=ibm
1548				;;
1549			-ptx*)
1550				vendor=sequent
1551				;;
1552			-tpf*)
1553				vendor=ibm
1554				;;
1555			-vxsim* | -vxworks* | -windiss*)
1556				vendor=wrs
1557				;;
1558			-aux*)
1559				vendor=apple
1560				;;
1561			-hms*)
1562				vendor=hitachi
1563				;;
1564			-mpw* | -macos*)
1565				vendor=apple
1566				;;
1567			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1568				vendor=atari
1569				;;
1570			-vos*)
1571				vendor=stratus
1572				;;
1573		esac
1574		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1575		;;
1576esac
1577
1578echo $basic_machine$os
1579exit 0
1580
1581# Local variables:
1582# eval: (add-hook 'write-file-hooks 'time-stamp)
1583# time-stamp-start: "timestamp='"
1584# time-stamp-format: "%:y-%02m-%02d"
1585# time-stamp-end: "'"
1586# End:
1587