2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
8 # This file is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
27 # Originally written by Per Bothner <per@bothner.com>.
28 # Please send patches to <config-patches@gnu.org>. Submit a context
29 # diff and a properly formatted ChangeLog entry.
31 # This script attempts to guess a canonical system name similar to
32 # config.sub. If it succeeds, it prints the system name on stdout, and
33 # exits with 0. Otherwise, it exits with 1.
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
38 me=`echo "$0" | sed -e 's,.*/,,'`
43 Output the configuration name of the system \`$me' is run on.
46 -h, --help print this help, then exit
47 -t, --time-stamp print date of last modification, then exit
48 -v, --version print version number, then exit
50 Report bugs and patches to <config-patches@gnu.org>."
53 GNU config.guess ($timestamp)
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63 Try \`$me --help' for more information."
66 while test $# -gt 0 ; do
68 --time-stamp | --time* | -t )
69 echo "$timestamp" ; exit 0 ;;
71 echo "$version" ; exit 0 ;;
73 echo "$usage"; exit 0 ;;
74 -- ) # Stop option processing
76 - ) # Use stdin as input.
79 echo "$me: invalid option $1$help" >&2
87 echo "$me: too many arguments$help" >&2
93 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94 # compiler to aid in system detection is discouraged as it requires
95 # temporary files to be created and, as you can see below, it is a
96 # headache to deal with in a portable fashion.
98 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99 # use `HOST_CC' if defined, but it is deprecated.
101 # Portable tmp directory creation inspired by the Autoconf team.
104 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
105 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
107 { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
108 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
109 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
110 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
112 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
113 case $CC_FOR_BUILD,$HOST_CC,$CC in
114 ,,) echo "int x;" > $dummy.c ;
115 for c in cc gcc c89 c99 ; do
116 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
117 CC_FOR_BUILD="$c"; break ;
120 if test x"$CC_FOR_BUILD" = x ; then
121 CC_FOR_BUILD=no_compiler_found ;
124 ,,*) CC_FOR_BUILD=$CC ;;
125 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
128 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
129 # (ghazi@noc.rutgers.edu 1994-08-24)
130 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
131 PATH=$PATH:/.attbin ; export PATH
134 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
135 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
136 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
137 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
139 # Note: order is significant - the case branches are not exclusive.
141 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
143 # NetBSD (nbsd) targets should (where applicable) match one or
144 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
145 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
146 # switched to ELF, *-*-netbsd* would select the old
147 # object file format. This provides both forward
148 # compatibility and a consistent mechanism for selecting the
149 # object file format.
151 # Note: NetBSD doesn't particularly care about the vendor
152 # portion of the name. We always set it to "unknown".
153 sysctl="sysctl -n hw.machine_arch"
154 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
155 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
156 case "${UNAME_MACHINE_ARCH}" in
157 armeb) machine=armeb-unknown ;;
158 arm*) machine=arm-unknown ;;
159 sh3el) machine=shl-unknown ;;
160 sh3eb) machine=sh-unknown ;;
161 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
163 # The Operating System including object format, if it has switched
164 # to ELF recently, or will in the future.
165 case "${UNAME_MACHINE_ARCH}" in
166 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
167 eval $set_cc_for_build
168 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
169 | grep __ELF__ >/dev/null
171 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
172 # Return netbsd for either. FIX?
183 # Debian GNU/NetBSD machines have a different userland, and
184 # thus, need a distinct triplet. However, they do not need
185 # kernel version information, so it can be replaced with a
186 # suitable tag, in the style of linux-gnu.
187 case "${UNAME_VERSION}" in
192 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
195 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
196 # contains redundant information, the shorter form:
197 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
198 echo "${machine}-${os}${release}"
201 echo m68k-unknown-openbsd${UNAME_RELEASE}
204 echo mipsel-unknown-openbsd${UNAME_RELEASE}
207 echo m68k-unknown-openbsd${UNAME_RELEASE}
210 echo m68k-unknown-openbsd${UNAME_RELEASE}
213 echo powerpc-unknown-openbsd${UNAME_RELEASE}
216 echo m68k-unknown-openbsd${UNAME_RELEASE}
219 echo m88k-unknown-openbsd${UNAME_RELEASE}
222 echo powerpc-unknown-openbsd${UNAME_RELEASE}
225 echo mipsel-unknown-openbsd${UNAME_RELEASE}
228 echo mipseb-unknown-openbsd${UNAME_RELEASE}
231 echo m68k-unknown-openbsd${UNAME_RELEASE}
234 echo mipsel-unknown-openbsd${UNAME_RELEASE}
237 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
240 if test $UNAME_RELEASE = "V4.0"; then
241 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
243 # According to Compaq, /usr/sbin/psrinfo has been available on
244 # OSF/1 and Tru64 systems produced since 1995. I hope that
245 # covers most systems running today. This code pipes the CPU
246 # types through head -n 1, so we only detect the type of CPU 0.
247 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
248 case "$ALPHA_CPU_TYPE" in
250 UNAME_MACHINE="alpha" ;;
252 UNAME_MACHINE="alpha" ;;
253 "LCA4 (21066/21068)")
254 UNAME_MACHINE="alpha" ;;
256 UNAME_MACHINE="alphaev5" ;;
258 UNAME_MACHINE="alphaev56" ;;
260 UNAME_MACHINE="alphapca56" ;;
262 UNAME_MACHINE="alphapca57" ;;
264 UNAME_MACHINE="alphaev6" ;;
266 UNAME_MACHINE="alphaev67" ;;
268 UNAME_MACHINE="alphaev68" ;;
270 UNAME_MACHINE="alphaev68" ;;
272 UNAME_MACHINE="alphaev68" ;;
273 "EV6.9A (21264/EV69A)")
274 UNAME_MACHINE="alphaev69" ;;
276 UNAME_MACHINE="alphaev7" ;;
278 UNAME_MACHINE="alphaev79" ;;
280 # A Vn.n version is a released version.
281 # A Tn.n version is a released field test version.
282 # A Xn.n version is an unreleased experimental baselevel.
283 # 1.2 uses "1.2" for uname -r.
284 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
289 Alpha\ *:Windows_NT*:*)
290 # How do we know it's Interix rather than the generic POSIX subsystem?
291 # Should we change UNAME_MACHINE based on the output of uname instead
292 # of the specific Alpha model?
293 echo alpha-pc-interix
295 21064:Windows_NT:50:3)
296 echo alpha-dec-winnt3.5
298 Amiga*:UNIX_System_V:4.0:*)
299 echo m68k-unknown-sysv4
301 *:[Aa]miga[Oo][Ss]:*:*)
302 echo ${UNAME_MACHINE}-unknown-amigaos
304 *:[Mm]orph[Oo][Ss]:*:*)
305 echo ${UNAME_MACHINE}-unknown-morphos
308 echo i370-ibm-openedition
311 echo powerpc-ibm-os400
313 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
314 echo arm-acorn-riscix${UNAME_RELEASE}
316 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
317 echo hppa1.1-hitachi-hiuxmpp
319 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
320 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321 if test "`(/bin/universe) 2>/dev/null`" = att ; then
322 echo pyramid-pyramid-sysv3
324 echo pyramid-pyramid-bsd
328 echo pyramid-pyramid-svr4
330 DRS?6000:unix:4.0:6*)
333 DRS?6000:UNIX_SV:4.2*:7*)
334 case `/usr/bin/uname -p` in
335 sparc) echo sparc-icl-nx7 && exit 0 ;;
338 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
340 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
341 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
347 # According to config.sub, this is the proper way to canonicalize
348 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
349 # it's likely to be more like Solaris than SunOS4.
350 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
353 case "`/usr/bin/arch -k`" in
355 UNAME_RELEASE=`uname -v`
358 # Japanese Language versions have a version number like `4.1.3-JL'.
359 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
362 echo m68k-sun-sunos${UNAME_RELEASE}
365 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
366 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
367 case "`/bin/arch`" in
369 echo m68k-sun-sunos${UNAME_RELEASE}
372 echo sparc-sun-sunos${UNAME_RELEASE}
377 echo sparc-auspex-sunos${UNAME_RELEASE}
379 # The situation for MiNT is a little confusing. The machine name
380 # can be virtually everything (everything which is not
381 # "atarist" or "atariste" at least should have a processor
382 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
383 # to the lowercase version "mint" (or "freemint"). Finally
384 # the system name "TOS" denotes a system which is actually not
385 # MiNT. But MiNT is downward compatible to TOS, so this should
387 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
388 echo m68k-atari-mint${UNAME_RELEASE}
390 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
391 echo m68k-atari-mint${UNAME_RELEASE}
393 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
394 echo m68k-atari-mint${UNAME_RELEASE}
396 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
397 echo m68k-milan-mint${UNAME_RELEASE}
399 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
400 echo m68k-hades-mint${UNAME_RELEASE}
402 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
403 echo m68k-unknown-mint${UNAME_RELEASE}
406 echo powerpc-apple-machten${UNAME_RELEASE}
409 echo mips-dec-mach_bsd4.3
412 echo mips-dec-ultrix${UNAME_RELEASE}
415 echo vax-dec-ultrix${UNAME_RELEASE}
417 2020:CLIX:*:* | 2430:CLIX:*:*)
418 echo clipper-intergraph-clix${UNAME_RELEASE}
420 mips:*:*:UMIPS | mips:*:*:RISCos)
421 eval $set_cc_for_build
422 sed 's/^ //' << EOF >$dummy.c
424 #include <stdio.h> /* for printf() prototype */
425 int main (int argc, char *argv[]) {
427 int main (argc, argv) int argc; char *argv[]; {
429 #if defined (host_mips) && defined (MIPSEB)
430 #if defined (SYSTYPE_SYSV)
431 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
433 #if defined (SYSTYPE_SVR4)
434 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
436 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
437 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
443 $CC_FOR_BUILD -o $dummy $dummy.c \
444 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
446 echo mips-mips-riscos${UNAME_RELEASE}
448 Motorola:PowerMAX_OS:*:*)
449 echo powerpc-motorola-powermax
451 Motorola:*:4.3:PL8-*)
452 echo powerpc-harris-powermax
454 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
455 echo powerpc-harris-powermax
457 Night_Hawk:Power_UNIX:*:*)
458 echo powerpc-harris-powerunix
461 echo m88k-harris-cxux7
464 echo m88k-motorola-sysv4
467 echo m88k-motorola-sysv3
470 # DG/UX returns AViiON for all architectures
471 UNAME_PROCESSOR=`/usr/bin/uname -p`
472 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
474 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
475 [ ${TARGET_BINARY_INTERFACE}x = x ]
477 echo m88k-dg-dgux${UNAME_RELEASE}
479 echo m88k-dg-dguxbcs${UNAME_RELEASE}
482 echo i586-dg-dgux${UNAME_RELEASE}
485 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
486 echo m88k-dolphin-sysv3
489 # Delta 88k system running SVR3
490 echo m88k-motorola-sysv3
492 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
493 echo m88k-tektronix-sysv3
495 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
496 echo m68k-tektronix-bsd
499 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
501 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
502 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
503 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
508 if [ -x /usr/bin/oslevel ] ; then
509 IBM_REV=`/usr/bin/oslevel`
511 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
513 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
516 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
517 eval $set_cc_for_build
518 sed 's/^ //' << EOF >$dummy.c
519 #include <sys/systemcfg.h>
525 puts("powerpc-ibm-aix3.2.5");
529 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
530 echo rs6000-ibm-aix3.2.5
531 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
532 echo rs6000-ibm-aix3.2.4
534 echo rs6000-ibm-aix3.2
538 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
539 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
544 if [ -x /usr/bin/oslevel ] ; then
545 IBM_REV=`/usr/bin/oslevel`
547 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
549 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
554 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
557 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
558 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
559 exit 0 ;; # report: romp-ibm BSD 4.3
561 echo rs6000-bull-bosx
566 9000/[34]??:4.3bsd:1.*:*)
569 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
572 9000/[34678]??:HP-UX:*:*)
573 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
574 case "${UNAME_MACHINE}" in
575 9000/31? ) HP_ARCH=m68000 ;;
576 9000/[34]?? ) HP_ARCH=m68k ;;
577 9000/[678][0-9][0-9])
578 if [ -x /usr/bin/getconf ]; then
579 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
580 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
581 case "${sc_cpu_version}" in
582 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
583 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
584 532) # CPU_PA_RISC2_0
585 case "${sc_kernel_bits}" in
586 32) HP_ARCH="hppa2.0n" ;;
587 64) HP_ARCH="hppa2.0w" ;;
588 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
592 if [ "${HP_ARCH}" = "" ]; then
593 eval $set_cc_for_build
594 sed 's/^ //' << EOF >$dummy.c
602 #if defined(_SC_KERNEL_BITS)
603 long bits = sysconf(_SC_KERNEL_BITS);
605 long cpu = sysconf (_SC_CPU_VERSION);
609 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
610 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
612 #if defined(_SC_KERNEL_BITS)
615 case 64: puts ("hppa2.0w"); break;
616 case 32: puts ("hppa2.0n"); break;
617 default: puts ("hppa2.0"); break;
619 #else /* !defined(_SC_KERNEL_BITS) */
620 puts ("hppa2.0"); break;
622 default: puts ("hppa1.0"); break;
627 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
628 test -z "$HP_ARCH" && HP_ARCH=hppa
631 if [ ${HP_ARCH} = "hppa2.0w" ]
633 # avoid double evaluation of $set_cc_for_build
634 test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
635 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
642 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
645 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
646 echo ia64-hp-hpux${HPUX_REV}
649 eval $set_cc_for_build
650 sed 's/^ //' << EOF >$dummy.c
655 long cpu = sysconf (_SC_CPU_VERSION);
656 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
657 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
659 if (CPU_IS_PA_RISC (cpu))
663 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
664 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
665 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
666 default: puts ("hppa-hitachi-hiuxwe2"); break;
669 else if (CPU_IS_HP_MC68K (cpu))
670 puts ("m68k-hitachi-hiuxwe2");
671 else puts ("unknown-hitachi-hiuxwe2");
675 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
676 echo unknown-hitachi-hiuxwe2
678 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
684 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
685 echo hppa1.0-hp-mpeix
687 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
694 if [ -x /usr/sbin/sysversion ] ; then
695 echo ${UNAME_MACHINE}-unknown-osf1mk
697 echo ${UNAME_MACHINE}-unknown-osf1
701 echo hppa1.1-hp-lites
703 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
706 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
707 if getsysinfo -f scalar_acc
708 then echo c32-convex-bsd
709 else echo c2-convex-bsd
712 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
715 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
718 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
722 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
725 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
726 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
727 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
731 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
734 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
737 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
740 echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
742 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
743 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
744 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
745 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
746 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
748 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
749 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
752 echo sparc-unknown-bsdi${UNAME_RELEASE}
755 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
758 # Determine whether the default compiler uses glibc.
759 eval $set_cc_for_build
760 sed 's/^ //' << EOF >$dummy.c
761 #include <features.h>
768 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
769 # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
770 # FreeBSD's kernel, but not the complete OS.
771 case ${LIBC} in gnu) kernel_only='k' ;; esac
772 echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
775 echo ${UNAME_MACHINE}-pc-cygwin
778 echo ${UNAME_MACHINE}-pc-mingw32
781 echo ${UNAME_MACHINE}-pc-pw32
784 echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
786 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
787 echo i${UNAME_MACHINE}-pc-mks
789 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
790 # How do we know it's Interix rather than the generic POSIX subsystem?
791 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
792 # UNAME_MACHINE based on the output of uname instead of i386?
796 echo ${UNAME_MACHINE}-pc-uwin
799 echo powerpcle-unknown-cygwin
802 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
806 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
809 # other systems with GNU libc and userland
810 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
813 echo ${UNAME_MACHINE}-pc-minix
816 echo ${UNAME_MACHINE}-unknown-linux-gnu
819 echo cris-axis-linux-gnu
822 echo ${UNAME_MACHINE}-unknown-linux-gnu
825 echo ${UNAME_MACHINE}-unknown-linux-gnu
828 eval $set_cc_for_build
829 sed 's/^ //' << EOF >$dummy.c
833 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
836 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
843 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
844 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
847 eval $set_cc_for_build
848 sed 's/^ //' << EOF >$dummy.c
852 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
855 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
862 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
863 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
866 echo powerpc-unknown-linux-gnu
869 echo powerpc64-unknown-linux-gnu
872 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
873 EV5) UNAME_MACHINE=alphaev5 ;;
874 EV56) UNAME_MACHINE=alphaev56 ;;
875 PCA56) UNAME_MACHINE=alphapca56 ;;
876 PCA57) UNAME_MACHINE=alphapca56 ;;
877 EV6) UNAME_MACHINE=alphaev6 ;;
878 EV67) UNAME_MACHINE=alphaev67 ;;
879 EV68*) UNAME_MACHINE=alphaev68 ;;
881 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
882 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
883 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
885 parisc:Linux:*:* | hppa:Linux:*:*)
887 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
888 PA7*) echo hppa1.1-unknown-linux-gnu ;;
889 PA8*) echo hppa2.0-unknown-linux-gnu ;;
890 *) echo hppa-unknown-linux-gnu ;;
893 parisc64:Linux:*:* | hppa64:Linux:*:*)
894 echo hppa64-unknown-linux-gnu
896 s390:Linux:*:* | s390x:Linux:*:*)
897 echo ${UNAME_MACHINE}-ibm-linux
900 echo ${UNAME_MACHINE}-unknown-linux-gnu
903 echo ${UNAME_MACHINE}-unknown-linux-gnu
905 sparc:Linux:*:* | sparc64:Linux:*:*)
906 echo ${UNAME_MACHINE}-unknown-linux-gnu
909 echo x86_64-unknown-linux-gnu
912 # The BFD linker knows what the default object file format is, so
913 # first see if it will tell us. cd to the root directory to prevent
914 # problems with other programs or directories called `ld' in the path.
915 # Set LC_ALL=C to ensure ld outputs messages in English.
916 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
917 | sed -ne '/supported targets:/!d
919 s/.*supported targets: *//
922 case "$ld_supported_targets" in
924 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
927 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
930 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
933 # Either a pre-BFD a.out linker (linux-gnuoldld) or
934 # one that does not give us useful --help.
935 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
938 # Determine whether the default compiler is a.out or elf
939 eval $set_cc_for_build
940 sed 's/^ //' << EOF >$dummy.c
941 #include <features.h>
953 #ifdef __INTEL_COMPILER
963 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
964 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
965 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
968 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
969 # earlier versions are messed up and put the nodename in both
970 # sysname and nodename.
971 echo i386-sequent-sysv4
973 i*86:UNIX_SV:4.2MP:2.*)
974 # Unixware is an offshoot of SVR4, but it has its own version
975 # number series starting with 2...
976 # I am not positive that other SVR4 systems won't match this,
977 # I just have to hope. -- rms.
978 # Use sysv4.2uw... so that sysv4* matches it.
979 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
982 # If we were able to find `uname', then EMX Unix compatibility
983 # is probably installed.
984 echo ${UNAME_MACHINE}-pc-os2-emx
987 echo ${UNAME_MACHINE}-unknown-stop
990 echo ${UNAME_MACHINE}-unknown-atheos
992 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
993 echo i386-unknown-lynxos${UNAME_RELEASE}
996 echo ${UNAME_MACHINE}-pc-msdosdjgpp
998 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
999 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1000 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1001 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1003 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1007 case `/bin/uname -X | grep "^Machine"` in
1008 *486*) UNAME_MACHINE=i486 ;;
1009 *Pentium) UNAME_MACHINE=i586 ;;
1010 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1012 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1015 if test -f /usr/options/cb.name; then
1016 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1017 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1018 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1019 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1020 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1021 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1022 && UNAME_MACHINE=i586
1023 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1024 && UNAME_MACHINE=i686
1025 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1026 && UNAME_MACHINE=i686
1027 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1029 echo ${UNAME_MACHINE}-pc-sysv32
1033 # Left here for compatibility:
1034 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1035 # the processor, so we play safe by assuming i386.
1036 echo i386-pc-msdosdjgpp
1042 echo i860-intel-osf1
1044 i860:*:4.*:*) # i860-SVR4
1045 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1046 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1047 else # Add other i860-SVR4 vendors below as they are discovered.
1048 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1053 echo m68010-convergent-sysv
1055 mc68k:UNIX:SYSTEM5:3.51m)
1056 echo m68k-convergent-sysv
1062 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1063 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)
1065 test -r /etc/.relid \
1066 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1067 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1068 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1069 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1070 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1071 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1072 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1073 && echo i486-ncr-sysv4 && exit 0 ;;
1074 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1075 echo m68k-unknown-lynxos${UNAME_RELEASE}
1077 mc68030:UNIX_System_V:4.*:*)
1078 echo m68k-atari-sysv4
1080 TSUNAMI:LynxOS:2.*:*)
1081 echo sparc-unknown-lynxos${UNAME_RELEASE}
1083 rs6000:LynxOS:2.*:*)
1084 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1086 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1087 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1089 SM[BE]S:UNIX_SV:*:*)
1090 echo mips-dde-sysv${UNAME_RELEASE}
1092 RM*:ReliantUNIX-*:*:*)
1099 if uname -p 2>/dev/null >/dev/null ; then
1100 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1101 echo ${UNAME_MACHINE}-sni-sysv4
1106 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1107 # says <Richard.M.Bartel@ccMail.Census.GOV>
1108 echo i586-unisys-sysv4
1110 *:UNIX_System_V:4*:FTX*)
1111 # From Gerald Hewes <hewes@openmarket.com>.
1112 # How about differentiating between stratus architectures? -djm
1113 echo hppa1.1-stratus-sysv4
1116 # From seanf@swdc.stratus.com.
1117 echo i860-stratus-sysv4
1120 # From Paul.Green@stratus.com.
1121 echo hppa1.1-stratus-vos
1124 echo m68k-apple-aux${UNAME_RELEASE}
1127 echo mips-sony-newsos6
1129 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1130 if [ -d /usr/nec ]; then
1131 echo mips-nec-sysv${UNAME_RELEASE}
1133 echo mips-unknown-sysv${UNAME_RELEASE}
1136 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1137 echo powerpc-be-beos
1139 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1140 echo powerpc-apple-beos
1142 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1146 echo sx4-nec-superux${UNAME_RELEASE}
1149 echo sx5-nec-superux${UNAME_RELEASE}
1152 echo sx6-nec-superux${UNAME_RELEASE}
1154 Power*:Rhapsody:*:*)
1155 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1158 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1162 *86) UNAME_PROCESSOR=i686 ;;
1163 powerpc) UNAME_PROCESSOR=powerpc ;;
1165 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1167 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1168 UNAME_PROCESSOR=`uname -p`
1169 if test "$UNAME_PROCESSOR" = "x86"; then
1170 UNAME_PROCESSOR=i386
1173 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1178 NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*)
1179 echo nsr-tandem-nsk${UNAME_RELEASE}
1182 echo mips-compaq-nonstopux
1185 echo bs2000-siemens-sysv
1187 DS/*:UNIX_System_V:*:*)
1188 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1191 # "uname -m" is not consistent, so use $cputype instead. 386
1192 # is converted to i386 for consistency with other x86
1193 # operating systems.
1194 if test "$cputype" = "386"; then
1197 UNAME_MACHINE="$cputype"
1199 echo ${UNAME_MACHINE}-unknown-plan9
1202 echo pdp10-unknown-tops10
1205 echo pdp10-unknown-tenex
1207 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1208 echo pdp10-dec-tops20
1210 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1211 echo pdp10-xkl-tops20
1214 echo pdp10-unknown-tops20
1217 echo pdp10-unknown-its
1220 echo mips-sei-seiux${UNAME_RELEASE}
1224 #echo '(No uname command or uname output not recognized.)' 1>&2
1225 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1227 eval $set_cc_for_build
1230 # include <sys/types.h>
1231 # include <sys/utsname.h>
1236 #if defined (MIPSEB)
1237 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1239 printf ("mips-sony-bsd\n"); exit (0);
1241 #include <sys/param.h>
1242 printf ("m68k-sony-newsos%s\n",
1252 #if defined (__arm) && defined (__acorn) && defined (__unix)
1253 printf ("arm-acorn-riscix"); exit (0);
1256 #if defined (hp300) && !defined (hpux)
1257 printf ("m68k-hp-bsd\n"); exit (0);
1261 #if !defined (__ARCHITECTURE__)
1262 #define __ARCHITECTURE__ "m68k"
1265 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1267 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1269 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1273 #if defined (MULTIMAX) || defined (n16)
1275 printf ("ns32k-encore-sysv\n"); exit (0);
1278 printf ("ns32k-encore-mach\n"); exit (0);
1280 printf ("ns32k-encore-bsd\n"); exit (0);
1285 #if defined (__386BSD__)
1286 printf ("i386-pc-bsd\n"); exit (0);
1289 #if defined (sequent)
1291 printf ("i386-sequent-dynix\n"); exit (0);
1293 #if defined (ns32000)
1294 printf ("ns32k-sequent-dynix\n"); exit (0);
1298 #if defined (_SEQUENT_)
1303 if (strncmp(un.version, "V2", 2) == 0) {
1304 printf ("i386-sequent-ptx2\n"); exit (0);
1306 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1307 printf ("i386-sequent-ptx1\n"); exit (0);
1309 printf ("i386-sequent-ptx\n"); exit (0);
1314 # if !defined (ultrix)
1315 # include <sys/param.h>
1318 printf ("vax-dec-bsd4.3\n"); exit (0);
1321 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1323 printf ("vax-dec-bsd\n"); exit (0);
1327 printf ("vax-dec-bsd\n"); exit (0);
1330 printf ("vax-dec-ultrix\n"); exit (0);
1334 #if defined (alliant) && defined (i860)
1335 printf ("i860-alliant-bsd\n"); exit (0);
1342 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1344 # Apollos put the system type in the environment.
1346 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1348 # Convex versions that predate uname can use getsysinfo(1)
1350 if [ -x /usr/convex/getsysinfo ]
1352 case `getsysinfo -f cpu_type` in
1357 if getsysinfo -f scalar_acc
1358 then echo c32-convex-bsd
1359 else echo c2-convex-bsd
1375 $0: unable to guess system type
1377 This script, last modified $timestamp, has failed to recognize
1378 the operating system you are using. It is advised that you
1379 download the most up to date version of the config scripts from
1381 ftp://ftp.gnu.org/pub/gnu/config/
1383 If the version you run ($0) is already up to date, please
1384 send the following data and any information you think might be
1385 pertinent to <config-patches@gnu.org> in order to provide the needed
1386 information to handle your system.
1388 config.guess timestamp = $timestamp
1390 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1391 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1392 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1393 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1395 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1396 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1398 hostinfo = `(hostinfo) 2>/dev/null`
1399 /bin/universe = `(/bin/universe) 2>/dev/null`
1400 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1401 /bin/arch = `(/bin/arch) 2>/dev/null`
1402 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1403 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1405 UNAME_MACHINE = ${UNAME_MACHINE}
1406 UNAME_RELEASE = ${UNAME_RELEASE}
1407 UNAME_SYSTEM = ${UNAME_SYSTEM}
1408 UNAME_VERSION = ${UNAME_VERSION}
1414 # eval: (add-hook 'write-file-hooks 'time-stamp)
1415 # time-stamp-start: "timestamp='"
1416 # time-stamp-format: "%:y-%02m-%02d"
1417 # time-stamp-end: "'"