1fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#! /bin/sh 20ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Common wrapper for a few potentially missing GNU programs. 3fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 40ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonscriptversion=2013-10-28.13; # UTC 5fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 60ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Copyright (C) 1996-2013 Free Software Foundation, Inc. 70ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. 8fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 9fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# This program is free software; you can redistribute it and/or modify 10fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# it under the terms of the GNU General Public License as published by 11fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# the Free Software Foundation; either version 2, or (at your option) 12fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# any later version. 13fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 14fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# This program is distributed in the hope that it will be useful, 15fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# but WITHOUT ANY WARRANTY; without even the implied warranty of 16fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# GNU General Public License for more details. 18fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 19fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# You should have received a copy of the GNU General Public License 20a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson# along with this program. If not, see <http://www.gnu.org/licenses/>. 21fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 22fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# As a special exception to the GNU General Public License, if you 23fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# distribute this file as part of a program that contains a 24fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# configuration script generated by Autoconf, you may include it under 25fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# the same distribution terms that you use for the rest of that program. 26fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 27fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleif test $# -eq 0; then 280ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo 1>&2 "Try '$0 --help' for more information" 29fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville exit 1 30fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillefi 31fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 320ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsoncase $1 in 33fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 340ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson --is-lightweight) 350ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson # Used by our autoconf macros to check whether the available missing 360ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson # script is modern enough. 370ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson exit 0 380ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 39fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 400ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson --run) 410ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson # Back-compat with the calling convention used by older automake. 420ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson shift 430ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 44fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 45fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville -h|--h|--he|--hel|--help) 46fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville echo "\ 47fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville$0 [OPTION]... PROGRAM [ARGUMENT]... 48fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 490ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff DavidsonRun 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due 500ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonto PROGRAM being missing or too old. 51fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 52fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleOptions: 53fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville -h, --help display this help and exit 54fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville -v, --version output version information and exit 55fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 56fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleSupported PROGRAM values: 570ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson aclocal autoconf autoheader autom4te automake makeinfo 580ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson bison yacc flex lex help2man 59fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 600ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff DavidsonVersion suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 610ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson'g' are ignored when checking the name. 62a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson 63fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleSend bug reports to <bug-automake@gnu.org>." 64fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville exit $? 65fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ;; 66fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 67fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 68fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville echo "missing $scriptversion (GNU Automake)" 69fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville exit $? 70fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ;; 71fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 72fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville -*) 730ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo 1>&2 "$0: unknown '$1' option" 740ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo 1>&2 "Try '$0 --help' for more information" 75fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville exit 1 76fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ;; 77fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 78fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleesac 79fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 800ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Run the given program, remember its exit status. 810ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson"$@"; st=$? 820ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 830ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# If it succeeded, we are done. 840ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsontest $st -eq 0 && exit 0 850ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 860ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Also exit now if we it failed (or wasn't found), and '--version' was 870ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# passed; such an option is passed most likely to detect whether the 880ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# program is present and works. 890ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsoncase $2 in --version|--help) exit $st;; esac 900ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 910ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Exit code 63 means version mismatch. This often happens when the user 920ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# tries to use an ancient version of a tool on a file that requires a 930ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# minimum version. 940ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonif test $st -eq 63; then 950ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson msg="probably too old" 960ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonelif test $st -eq 127; then 970ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson # Program was missing. 980ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson msg="missing on your system" 990ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonelse 1000ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson # Program was found and executed, but failed. Give up. 1010ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson exit $st 1020ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonfi 103fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 1040ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonperl_URL=http://www.perl.org/ 1050ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonflex_URL=http://flex.sourceforge.net/ 1060ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsongnu_software_URL=http://www.gnu.org/software 1070ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 1080ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonprogram_details () 1090ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson{ 1100ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson case $1 in 1110ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson aclocal|automake) 1120ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "The '$1' program is part of the GNU Automake package:" 1130ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/automake>" 1140ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" 1150ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/autoconf>" 1160ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/m4/>" 1170ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$perl_URL>" 1180ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1190ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson autoconf|autom4te|autoheader) 1200ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "The '$1' program is part of the GNU Autoconf package:" 1210ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/autoconf/>" 1220ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "It also requires GNU m4 and Perl in order to run:" 1230ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/m4/>" 1240ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$perl_URL>" 1250ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1260ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson esac 1270ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson} 1280ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 1290ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsongive_advice () 1300ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson{ 1310ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson # Normalize program name to check for. 1320ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson normalized_program=`echo "$1" | sed ' 1330ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson s/^gnu-//; t 1340ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson s/^gnu//; t 1350ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson s/^g//; t'` 1360ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 1370ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson printf '%s\n' "'$1' is $msg." 1380ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 1390ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson configure_deps="'configure.ac' or m4 files included by 'configure.ac'" 1400ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson case $normalized_program in 1410ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson autoconf*) 1420ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified 'configure.ac'," 1430ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "or m4 files included by it." 1440ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson program_details 'autoconf' 1450ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1460ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson autoheader*) 1470ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified 'acconfig.h' or" 1480ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "$configure_deps." 1490ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson program_details 'autoheader' 1500ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1510ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson automake*) 1520ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified 'Makefile.am' or" 1530ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "$configure_deps." 1540ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson program_details 'automake' 1550ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1560ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson aclocal*) 1570ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified 'acinclude.m4' or" 1580ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "$configure_deps." 1590ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson program_details 'aclocal' 1600ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1610ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson autom4te*) 1620ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You might have modified some maintainer files that require" 1630ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "the 'autom4te' program to be rebuilt." 1640ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson program_details 'autom4te' 1650ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1660ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson bison*|yacc*) 1670ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified a '.y' file." 1680ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You may want to install the GNU Bison package:" 1690ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/bison/>" 1700ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1710ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson lex*|flex*) 1720ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified a '.l' file." 1730ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You may want to install the Fast Lexical Analyzer package:" 1740ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$flex_URL>" 1750ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1760ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson help2man*) 1770ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified a dependency" \ 1780ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson "of a man page." 1790ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You may want to install the GNU Help2man package:" 1800ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/help2man/>" 181fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville ;; 1820ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson makeinfo*) 1830ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You should only need it if you modified a '.texi' file, or" 1840ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "any other file indirectly affecting the aspect of the manual." 1850ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You might want to install the Texinfo package:" 1860ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/texinfo/>" 1870ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "The spurious makeinfo call might also be the consequence of" 1880ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" 1890ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "want to install GNU make:" 1900ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "<$gnu_software_URL/make/>" 1910ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1920ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson *) 1930ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "You might have modified some files without having the proper" 1940ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "tools for further handling them. Check the 'README' file, it" 1950ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "often tells you about the needed prerequisites for installing" 1960ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "this package. You may also peek at any GNU archive site, in" 1970ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson echo "case some other package contains this missing '$1' program." 1980ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson ;; 1990ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson esac 2000ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson} 2010ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 2020ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsongive_advice "$1" | sed -e '1s/^/WARNING: /' \ 2030ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson -e '2,$s/^/ /' >&2 2040ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson 2050ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# Propagate the correct exit status (expected to be 127 for a program 2060ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidson# not found, 63 for a program that failed due to version mismatch). 2070ddac1f3791efefb2cffdb425f0c600feb7a47e6Jeff Davidsonexit $st 208fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 209fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# Local variables: 210fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# eval: (add-hook 'write-file-hooks 'time-stamp) 211fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# time-stamp-start: "scriptversion=" 212fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# time-stamp-format: "%:y-%02m-%02d.%02H" 213a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson# time-stamp-time-zone: "UTC" 214a3b2a6da25a76f17c73d31def3952feb0fd2296eJeff Davidson# time-stamp-end: "; # UTC" 215fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# End: 216