[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo Makefile.am configure.ac util/Makefile....
From: |
karl |
Subject: |
texinfo Makefile.am configure.ac util/Makefile.... |
Date: |
Wed, 02 Jan 2013 01:22:19 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: karl <karl> 13/01/02 01:22:19
Modified files:
. : Makefile.am configure.ac
util : Makefile.am README
Added files:
util/tests : README bibtex.test defs.in dvipdf.test
latex2html.test local.test texi2dvi.test
txitextest
Removed files:
util : bibtex.test defs.in dvipdf.test latex2html.test
local.test texi2dvi.test texinfo.xsl txitextest
Log message:
move unused TeX tests from util to util/tests
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/Makefile.am?cvsroot=texinfo&r1=1.40&r2=1.41
http://cvs.savannah.gnu.org/viewcvs/texinfo/configure.ac?cvsroot=texinfo&r1=1.134&r2=1.135
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/Makefile.am?cvsroot=texinfo&r1=1.55&r2=1.56
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/README?cvsroot=texinfo&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/bibtex.test?cvsroot=texinfo&r1=1.4&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/defs.in?cvsroot=texinfo&r1=1.14&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/dvipdf.test?cvsroot=texinfo&r1=1.5&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/latex2html.test?cvsroot=texinfo&r1=1.6&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/local.test?cvsroot=texinfo&r1=1.12&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/texi2dvi.test?cvsroot=texinfo&r1=1.17&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/texinfo.xsl?cvsroot=texinfo&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/txitextest?cvsroot=texinfo&r1=1.10&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/bibtex.test?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/defs.in?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/dvipdf.test?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/latex2html.test?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/local.test?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/texi2dvi.test?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/util/tests/txitextest?cvsroot=texinfo&rev=1.1
Patches:
Index: Makefile.am
===================================================================
RCS file: /sources/texinfo/texinfo/Makefile.am,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- Makefile.am 2 Jan 2013 01:00:12 -0000 1.40
+++ Makefile.am 2 Jan 2013 01:22:16 -0000 1.41
@@ -1,9 +1,9 @@
-# $Id: Makefile.am,v 1.40 2013/01/02 01:00:12 karl Exp $
+# $Id: Makefile.am,v 1.41 2013/01/02 01:22:16 karl Exp $
# Makefile.am for texinfo.
# Process this file with automake to produce Makefile.in in all directories.
#
-# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+# 2012, 2013 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Index: configure.ac
===================================================================
RCS file: /sources/texinfo/texinfo/configure.ac,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -b -r1.134 -r1.135
--- configure.ac 31 Dec 2012 19:03:12 -0000 1.134
+++ configure.ac 2 Jan 2013 01:22:17 -0000 1.135
@@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script.
-# $Id: configure.ac,v 1.134 2012/12/31 19:03:12 karl Exp $
+# $Id: configure.ac,v 1.135 2013/01/02 01:22:17 karl Exp $
#
# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
@@ -308,12 +308,14 @@
AC_SUBST([USE_EXTERNAL_LIBINTL])
-# The test suite.
+# Tests.
AC_CONFIG_FILES([install-info/tests/defs])
-AC_CONFIG_FILES([util/defs])
-AC_CHECK_PROGS([HEVEA], [hevea], [])
-AC_CHECK_PROGS([TEX], [tex], [])
-AC_CHECK_PROGS([PROVE], [prove], [])
+dnl Except we cannot enable the TeX-related tests,
+dnl so don't waste time configuring them. See util/tests/README.
+dnl AC_CONFIG_FILES([util/tests/defs])
+dnl AC_CHECK_PROGS([HEVEA], [hevea], [])
+dnl AC_CHECK_PROGS([TEX], [tex], [])
+dnl AC_CHECK_PROGS([PROVE], [prove], [])
tp_tests='no'
AC_ARG_ENABLE([tp-tests],
Index: util/Makefile.am
===================================================================
RCS file: /sources/texinfo/texinfo/util/Makefile.am,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -b -r1.55 -r1.56
--- util/Makefile.am 2 Jan 2013 01:00:34 -0000 1.55
+++ util/Makefile.am 2 Jan 2013 01:22:17 -0000 1.56
@@ -1,8 +1,8 @@
-# $Id: Makefile.am,v 1.55 2013/01/02 01:00:34 karl Exp $
+# $Id: Makefile.am,v 1.56 2013/01/02 01:22:17 karl Exp $
# Makefile.am for texinfo/util.
# Run automake in .. to produce Makefile.in from this.
#
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
# Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
@@ -44,7 +44,7 @@
-DLOCALEDIR=\"$(localedir)\"
LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL)
-dist_pkgdata_DATA = htmlxref.cnf texinfo.dtd texinfo.xsl texinfo.cat
+dist_pkgdata_DATA = htmlxref.cnf texinfo.dtd texinfo.cat
texinfo.cat: texinfo-cat.in Makefile
sed 's/__VERSION__/$(TEXINFO_DTD_VERSION)/g' $(srcdir)/texinfo-cat.in
>$@
@@ -55,28 +55,9 @@
EXTRA_DIST = README detexinfo dir-example \
gendocs.sh gendocs_template \
pdftexi2dvi \
- texi2dvi texi2pdf txitextest \
+ texi2dvi texi2pdf \
$(dist_pkgdata_DATA) texinfo-cat.in texi-elements-by-size \
- texi2html txixml2texi.pl $(w32_bat)
+ texi2html txixml2texi.pl $(w32_bat) \
+tests
DISTCLEANFILES = txixml2texi
-
-# We must not stress people's TeX installations.
-# In Automake 1.11, we'll have a switchable maintainer mode.
-# Until then, just comment these out.
-## if MAINTAINER_MODE
-## TESTS = \
-## bibtex.test \
-## dvipdf.test \
-## latex2html.test \
-## local.test \
-## texi2dvi.test
-##
-## EXTRA_DIST += $(TESTS)
-##
-## # Each test case depends on defs.
-## check_SCRIPTS = defs
-## distclean-local:
-## -rm -rf testSubDir
-## endif
-
Index: util/README
===================================================================
RCS file: /sources/texinfo/texinfo/util/README,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- util/README 2 Jan 2013 01:00:35 -0000 1.8
+++ util/README 2 Jan 2013 01:22:17 -0000 1.9
@@ -1,7 +1,7 @@
-$Id: README,v 1.8 2013/01/02 01:00:35 karl Exp $
+$Id: README,v 1.9 2013/01/02 01:22:17 karl Exp $
texinfo/util/README
- Copyright 2002, 2008, 2011, 2012 Free Software Foundation, Inc.
+ Copyright 2002, 2008, 2011, 2012, 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -17,10 +17,13 @@
These are examples of wrapping makeinfo invocation to achieve their
various jobs:
- detexinfo texi-elements-by-size texi2html
- txicmdlist txicustomvars txixml2texi
+ detexinfo texi2html
+ txicmdlist txicustomvars txieltsbysize txixml2texi
+The srclist.txt file specifies common source files to keep in sync; see
+the srclist-update script in gnulib.
-For more information about using the gendocs script and templates (which
-are not installed), see the GNU Maintainers Information:
+Finally, the gendocs script and templates (which are not installed) are
+about creating all the usual output formats to be put on web pages.
+For more, see the GNU Maintainers Information:
http://www.gnu.org/prep/maintain/html_node/Invoking-gendocs_002esh.html
Index: util/tests/README
===================================================================
RCS file: util/tests/README
diff -N util/tests/README
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/README 2 Jan 2013 01:22:18 -0000 1.1
@@ -0,0 +1,17 @@
+$Id: README,v 1.1 2013/01/02 01:22:18 karl Exp $
+texinfo/util/tests/README
+
+ Copyright 2013 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved.
+
+Perhaps some day we will actually make these work. We can't just invoke
+them unconditionally, since people may or may not have working TeX
+installations. And even checking whether it is working or not is not
+simple.
+
+The txitextest script compares old and new results of running manuals
+through texinfo.tex. The texinfo.tex developer(s) run this from cron
+nightly as an imperfect check against errors and/or reversions creeping in.
Index: util/tests/bibtex.test
===================================================================
RCS file: util/tests/bibtex.test
diff -N util/tests/bibtex.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/bibtex.test 2 Jan 2013 01:22:18 -0000 1.1
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+#
+# This file is part of GNU Texinfo.
+#
+# GNU Texinfo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# GNU Texinfo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+required='hevea'
+
+. ./defs || exit 1
+
+set -e
+
+create_input_tex <<EOF
+\cite{texinfo.doc}
+\bibliographystyle{plain}
+\bibliography{sample}
+EOF
+
+cat >sample.bib <<EOF
address@hidden,
+ title = "{GNU Texinfo}: The {GNU} documentation format",
+ author = "Robert J. Chassell and Richard M. Stallman",
+ year = "1988"
+}
+EOF
+
+
+# check HTML|INFO|TEXT|DVI|PDF
+# ----------------------------
+check ()
+{
+ out=$1
+ # Testing the local build mode.
+ TEXI2DVI_pass --$out --batch --tidy input.tex
+ # There should only be the DVI and the TEXI file.
+ assert_files input.$out input.tex sample.bib input.t2d
+ cp input.$out /tmp/foo
+ rm input.$out
+}
+
+# Currently we don't use bibtex with hevea. This is to be fixed.
+for out in dvi pdf # html info text
+do
+ check $out
+done
Index: util/tests/defs.in
===================================================================
RCS file: util/tests/defs.in
diff -N util/tests/defs.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/defs.in 2 Jan 2013 01:22:19 -0000 1.1
@@ -0,0 +1,364 @@
+# -*- shell-script -*-
+# @configure_input@
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# (This file was originally part of GNU Automake.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Defines for Automake testing environment.
+# Tom Tromey <address@hidden>
+
+# Be Bourne compatible.
+# (Snippet copied from configure's initialization in Autoconf 2.57.)
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Ensure we are running from the right directory.
+test -f ./defs || {
+ echo "defs: not found in current directory" 1>&2
+ exit 1
+}
+
+# If srcdir is not set, then we are not running from `make check', be verbose.
+if test -z "$srcdir"; then
+ VERBOSE=x
+ # compute $srcdir.
+ srcdir=`echo "$0" | sed -e 's,/[^\\/]*$,,'`
+ test $srcdir = $0 && srcdir=.
+fi
+
+# Ensure $srcdir is set correctly.
+test -f $srcdir/defs.in || {
+ echo "$srcdir/defs.in not found, check \$srcdir" 1>&2
+ exit 1
+}
+
+me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
+
+# See how redirections should work. User can set VERBOSE to see all
+# output.
+test -z "$VERBOSE" && {
+ exec > /dev/null 2>&1
+}
+
+# Make sure we override the user shell.
+SHELL='@SHELL@'
+export SHELL
+
+srcdir_abs=`cd $srcdir && pwd`
+test -z "$TEXI2DVI" && TEXI2DVI=$srcdir_abs/texi2dvi
+
+# be sure we use texi2dvi and texindex from our own directory, not
+# whatever happens to be in the path.
+echo "defs: prepending $srcdir_abs to PATH for testing."
+PATH="@abs_builddir@:@abs_srcdir@:$PATH"
+
+# Some shells forget to export modified environment variables.
+# (See note about `export' in the Autoconf manual.)
+export PATH
+
+# User can override various tools used.
+test -z "$PERL" && PERL='@PERL@'
+
+if test -n "$required"
+then
+ for tool in $required
+ do
+ # Check that each required tool is present.
+ case $tool in
+ hevea)
+ # HeVeA supports -version only. Use configure to find it.
+ test -n "@HEVEA@" || exit 77
+ ;;
+ tex)
+ # No all versions of Tex support `--version', so we use
+ # a configure check.
+ test -n "@TEX@" || exit 77
+ ;;
+ # Generic case: the tool must support --version.
+ *)
+ echo "$me: running $tool --version"
+ ( $tool --version ) || exit 77
+ ;;
+ esac
+ done
+fi
+
+
+# Always use an absolute srcdir. Otherwise symlinks made in subdirs
+# of the test dir just won't work.
+case "$srcdir" in
+ [\\/]* | ?:[\\/]*)
+ ;;
+
+ *)
+ srcdir=`CDPATH=: && cd "$srcdir" && pwd`
+ ;;
+esac
+
+chmod -R a+rwx testSubDir > /dev/null 2>&1
+rm -rf testSubDir > /dev/null 2>&1
+mkdir testSubDir
+
+# Copy in some files we need.
+cp $srcdir/../doc/texinfo.tex testSubDir || exit 1
+
+cd ./testSubDir
+
+
+# Unset the user's envvars that might change the behavior.
+unset TEXI2DVI_BUILD_MODE
+unset TEXI2DVI_BUILD_DIRECTORY
+
+echo "=== Running test $0"
+
+# POSIX no longer requires 'egrep' and 'fgrep',
+# but some hosts lack 'grep -E' and 'grep -F'.
+EGREP='@EGREP@'
+FGREP='@FGREP@'
+
+# The amount we should wait after modifying files depends on the platform.
+# For instance, Windows '95, '98 and ME have 2-second granularity
+# and can be up to 3 seconds in the future w.r.t. the system clock.
+sleep='sleep @MODIFICATION_DELAY@'
+
+# The tests call `make -e' but we do not want $srcdir from the environment
+# to override the definition from the Makefile.
+testsrcdir=$srcdir
+unset srcdir
+
+
+# create_input_texi < INPUT
+# -------------------------
+# Create input.texi adding stdin inside a default prologue/epilogue
+create_input_texi ()
+{
+ {
+ cat << END
+\input texinfo @c -*-texinfo-*-
address@hidden input
address@hidden input
+
address@hidden
address@hidden Top
address@hidden input
address@hidden ifnottex
+
+END
+ cat
+ cat << END
address@hidden
+END
+ } >input.texi
+}
+
+
+# create_input_tex < INPUT
+# ------------------------
+# Create input.tex adding stdin inside a default prologue/epilogue
+create_input_tex ()
+{
+ {
+ cat << END
+\documentclass{article}
+
+\begin{document}
+END
+ cat
+ cat << END
+\end{document}
+END
+ } >input.tex
+}
+
+
+# TEXI2DVI_run status [options...]
+# --------------------------------
+# Run texi2dvi with OPTIONS, and fail if does not exit with STATUS.
+TEXI2DVI_run ()
+{
+ expected_exitcode=$1
+ shift
+ exitcode=0
+ if test -n "$VERBOSE"; then
+ set x --debug --verbose ${1+"$@"}
+ shift
+ fi
+ texi2dvi ${1+"$@"} 2>stderr >stdout || exitcode=$?
+ cat stderr
+ cat stdout
+ test $exitcode = $expected_exitcode || exit 1
+}
+
+
+# TEXI2DVI_fail [options...]
+# ---------------------------
+# Run texi2dvi with OPTIONS, and fail if does not exit with failure.
+TEXI2DVI_fail ()
+{
+ TEXI2DVI_run 1 ${1+"$@"}
+}
+
+
+# TEXI2DVI_pass [options...]
+# ---------------------------
+# Run texi2dvi with OPTIONS, and fail if does not exit with failure.
+TEXI2DVI_pass ()
+{
+ TEXI2DVI_run 0 ${1+"$@"}
+}
+
+
+# optionset_get N OPTIONSET<1> -- OPTIONSET<2> -- ...
+# ---------------------------------------------------
+# Return OPTIONSET<N>
+optionset_get ()
+{
+ n=$1
+ shift
+ # Find the optionset.
+ while test $n != 1; do
+ case $1 in
+ --) n=`expr $n - 1`;;
+ esac
+ shift
+ done
+ # Return the optionset.
+ while true; do
+ case $#:$1 in
+ 0:) break;;
+ *:--) shift; break;;
+ *) echo "$1"; shift;;
+ esac
+ done
+}
+
+# list_files ()
+# -------------
+# Return the sorted list of files in this directory, except the "invisible"
ones.
+list_files ()
+{
+ for f in *
+ do
+ case $f in
+ texinfo.tex | stdout | stderr | ls.expected | ls.value );;
+ *) echo $f;;
+ esac
+ done | sort
+}
+
+
+# assert_files (EXPECTED-FILES)
+# -----------------------------
+# Only those files are valid in the current directory.
+assert_files ()
+{
+ if test -n "$VERBOSE"; then
+ ls
+ fi
+ list_files > ls.value
+ echo "$*" | tr ' ' '\n' | sort > ls.expected
+ diff -u ls.expected ls.value
+}
+
+
+# assert_and_remove_files (EXPECTED-FILES)
+# ----------------------------------------
+# Only those files are valid in the current directory. Remove them
+# afterwards.
+assert_and_remove_files ()
+{
+ assert_files "$@"
+ rm -rf "$@"
+}
+
+
+# title TITLE...
+# --------------
+# Make a huge title to ease the reading of the output.
+title ()
+{
+ (
+ set +x
+ echo " $@ " | sed -e 's/./=/g'
+ echo " $@ "
+ echo " $@ " | sed -e 's/./=/g'
+ )
+}
+
+# $latex_paragraph
+# ----------------
+# Some lengthy LaTeX.
+# grep -E '^[a-zA-Z]+$' /usr/share/dict/words | sed 200q | pr --page-width=76
--column=5 --omit-header
+latex_paragraph='
+A Acrux Aegean Ahmad Albany
+AOL Actaeon Aelfric Ahmadabad Albee
+Aachen Acton Aeneas Ahmed Alberio
+Aaliyah Acts Aeneid Ahriman Albert
+Aaron Acuff Aeolus Aida Alberta
+Abbas Ada Aeroflot Aiken Alberto
+Abbasid Adam Aeschylus Aileen Albigensian
+Abbott Adams Aesculapius Aimee Albion
+Abby Adan Aesop Ainu Albireo
+Abdul Adana Afghan Airedale Albuquerque
+Abe Adar Afghanistan Airedales Alcatraz
+Abel Addams Afghans Aisha Alcestis
+Abelard Adderley Africa Ajax Alcibiades
+Abelson Addie African Akbar Alcmena
+Aberdeen Addison Africans Akhmatova Alcoa
+Abernathy Adela Afrikaans Akihito Alcott
+Abidjan Adelaide Afrikaner Akita Alcuin
+Abigail Adele Afrikaners Akkad Alcyone
+Abilene Adeline Afro Akron Aldan
+Abner Aden Afrocentrism Al Aldebaran
+Abraham Adenauer Afros Ala Alden
+Abram Adhara Ag Alabama Alderamin
+Abrams Adidas Agamemnon Alabaman Aldo
+Absalom Adirondack Agassi Alabamans Aldrin
+Abuja Adirondacks Agassiz Alabamian Alec
+Abyssinia Adkins Agatha Alabamians Aleichem
+Abyssinian Adler Aggie Aladdin Alejandra
+Ac Adolf Aglaia Alamo Alejandro
+Acadia Adolfo Agnes Alamogordo Alembert
+Acapulco Adolph Agnew Alan Aleppo
+Accra Adonis Agni Alana Aleut
+Acevedo Adonises Agra Alar Aleutian
+Achaean Adrian Agricola Alaric Alex
+Achebe Adriana Agrippa Alaska Alexander
+Achernar Adriatic Agrippina Alaskan Alexandra
+Acheson Adrienne Aguilar Alaskans Alexandria
+Achilles Advent Aguinaldo Alba Alexei
+Aconcagua Adventist Aguirre Albania Alexis
+Acosta Advents Agustin Albanian Alfonso
+Acropolis Advil Ahab Albanians Alfonzo
+'
+
+
+# Turn on shell traces when VERBOSE is set.
+if test -n "$VERBOSE"; then
+ set -x
+else
+ :
+fi
+pwd
Index: util/tests/dvipdf.test
===================================================================
RCS file: util/tests/dvipdf.test
diff -N util/tests/dvipdf.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/dvipdf.test 2 Jan 2013 01:22:19 -0000 1.1
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+#
+# This file is part of GNU Texinfo.
+#
+# GNU Texinfo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# GNU Texinfo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+required='tex'
+
+. ./defs || exit 1
+
+set -e
+
+# one_run ARGS -- FILES
+# ---------------------
+# Run texi2dvi with ARGS, expect the FILES to be left. Remove them.
+one_run ()
+{
+ # Use pstricks.
+ cat >input.tex <<EOF
+\documentclass[a4paper]{article}
+\usepackage{pst-node}
+\pagestyle{empty}
+\begin{document}
+\begin{psmatrix}
+ A & B & C & D & E & F
+\end{psmatrix}
+\psset{arrows=->}
+\nccircle{1,1}{0.5}
+\nccircle[angleA=30]{1,2}{0.4}
+\nccircle[arrows=-,nodesep=0.05]{1,3}{0.2}
+\ncloop[angleB=180]{1,4}{1,4}
+\ncloop[angleB=180,linearc=0.35,nodesep=0.1]{1,5}{1,5}
+\ncloop[angleB=180,linearc=0.15,loopsize=0.4]{1,6}{1,6}
+
+\vspace{1cm}
+\begin{psmatrix}
+ A & B & C & D
+\end{psmatrix}
+\psset{arrows=->,nodesep=0.05}
+\ncangles[armA=0.8,armB=0,angleA=70,angleB=110,linearc=0.22]{1,1}{1,1}
+\ncdiag[arm=0.9,angleA=70,angleB=110,linearc=0.3]{1,2}{1,2}
+\ncdiag[arm=0.8,angleA=50,angleB=130,linearc=0.25]{1,3}{1,3}
+\ncdiag[arm=0.8,angleA=50,angleB=130,linearc=0.28]{1,4}{1,4}
+\end{document}
+EOF
+
+ TEXI2DVI_pass $(optionset_get 1 "$@") input.tex
+ # There should only be the expected and input files.
+ assert_and_remove_files $(optionset_get 2 "$@") input.tex
+}
+
+one_run --dvipdf --batch --clean \
+ -- \
+ input.pdf
Index: util/tests/latex2html.test
===================================================================
RCS file: util/tests/latex2html.test
diff -N util/tests/latex2html.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/latex2html.test 2 Jan 2013 01:22:19 -0000 1.1
@@ -0,0 +1,79 @@
+#! /bin/sh
+# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+#
+# This file is part of GNU Texinfo.
+#
+# GNU Texinfo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# GNU Texinfo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+required='hevea'
+
+. ./defs || exit 1
+
+set -e
+
+# Force the creation of auxiliary files.
+# Force it to be big enough to trigger the info file splitting.
+{
+ echo "\tableofcontents"
+ for section in 1 2 3 4 5 6
+ do
+ echo "\section{$i}"
+ for subsection in 1 2 3 4 5 6
+ do
+ echo "\subsection{$i}"
+ echo "$latex_paragraph"
+ done
+ done
+} |
+create_input_tex
+
+
+# run_hevea_check FORMAT OPTIONS
+# ------------------------------
+run_hevea_check ()
+{
+ title "$@"
+
+ format="$1"
+ shift
+
+ # Testing the local build mode.
+ TEXI2DVI_pass --batch --$format "$@" input.tex
+
+ # Compute the expected output.
+ outfiles=input.$out
+ case $format in
+ info) outfiles="$outfiles input.info-1 input.info-2";;
+ esac
+
+ # Compute the aux files.
+ case $format:$@ in
+ *clean* ) auxfiles='';;
+ *tidy* ) auxfiles='input.t2d';;
+ html:*|text:* ) auxfiles='input.haux input.htoc';;
+ dvi:* ) auxfiles='input.aux input.log input.toc';;
+ * ) auxfiles='';;
+ esac
+ # There should only be the expected output and the source file.
+ assert_files input.tex $outfiles $auxfiles
+ rm -fr $outfiles $auxfiles
+}
+
+for opt in "" "--clean" "--tidy"
+do
+ for out in html info text
+ do
+ run_hevea_check $out $opt
+ done
+done
Index: util/tests/local.test
===================================================================
RCS file: util/tests/local.test
diff -N util/tests/local.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/local.test 2 Jan 2013 01:22:19 -0000 1.1
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is part of GNU Texinfo.
+#
+# GNU Texinfo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# GNU Texinfo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Make sure no "local" variable identifier is used twice, since
+# local is not actually portable.
+
+. ./defs || exit 1
+
+set -e
+
+# Make sure quotes are used to protect the value. See the comment in
+# texi2dvi itself about local.
+if sed -e 's/^[ ]*#.*//' $TEXI2DVI |
+ $EGREP "\blocal [a-zA-Z_0-9]*=[^\"']" |
+ $EGREP -v "\blocal [a-zA-Z_0-9]*=[a-zA-Z0-9]*$" |
+ grep .
+then
+ false
+else
+ true
+fi
+
+
+# Make sure each name is used only once.
+if sed -n -e 's/^#.*//' \
+ -e 's/local \([a-zA-Z_0-9]*\)/\1/gp' $TEXI2DVI |
+ sort |
+ uniq -c |
+ grep -v '^.*1 ' |
+ grep .
+then
+ false
+else
+ true
+fi
+
+
+# Make sure we don't use $().
+if $FGREP '$(' $TEXI2DVI
+then
+ false
+else
+ true
+fi
Index: util/tests/texi2dvi.test
===================================================================
RCS file: util/tests/texi2dvi.test
diff -N util/tests/texi2dvi.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/texi2dvi.test 2 Jan 2013 01:22:19 -0000 1.1
@@ -0,0 +1,84 @@
+#! /bin/sh
+# Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is part of GNU Texinfo.
+#
+# GNU Texinfo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# GNU Texinfo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+required='tex'
+
+. ./defs || exit 1
+
+set -e
+
+# one_run ARGS -- FILES
+# ---------------------
+# Run texi2dvi with ARGS, expect the FILES to be left. Remove them.
+one_run ()
+{
+ # Testing the local build mode.
+ # Use @foo to check that -t works properly.
+ echo "@foo" | create_input_texi
+ TEXI2DVI_pass $(optionset_get 1 "$@") \
+ -t '@macro foo' \
+ -t 'Foo' \
+ -t '@end macro' \
+ input.texi
+ # There should only be the expected FILES and the input file.
+ assert_and_remove_files $(optionset_get 2 "$@") input.texi
+}
+
+one_run --batch \
+ -- \
+ input.aux input.cp input.dvi input.fn input.ky input.log \
+ input.pg input.tp input.vr
+
+
+one_run --batch -o output.dvi \
+ -- \
+ input.aux input.cp input.fn input.ky input.log \
+ input.pg input.tp input.vr output.dvi
+
+
+# Testing the clean build mode.
+for mode in --clean --build=clean
+do
+ # There should only be the DVI and the TEXI file.
+ one_run $mode --batch -- input.dvi
+
+ # There should only be the DVI and the TEXI file.
+ one_run $mode --batch -o output.dvi -- output.dvi
+done
+
+
+# Testing the tidy build mode.
+one_run --build=tidy --batch -o output.dvi \
+ -- \
+ output.dvi output.t2d
+
+
+# mostly-clean should remove auxiliary files, but not the expected
+# output.
+touch output.dvi
+one_run --build=tidy --batch -o output.dvi --mostly-clean \
+ -- \
+ output.dvi
+
+
+# There should only be the DVI and the TEXI file.
+create_input_texi </dev/null
+cp input.texi input2.texi
+one_run --clean --batch input.texi input2.texi \
+ -- \
+ input2.dvi input2.texi input.dvi
Index: util/tests/txitextest
===================================================================
RCS file: util/tests/txitextest
diff -N util/tests/txitextest
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ util/tests/txitextest 2 Jan 2013 01:22:19 -0000 1.1
@@ -0,0 +1,94 @@
+#!/bin/sh
+# $Id: txitextest,v 1.1 2013/01/02 01:22:19 karl Exp $
+# Copyright 2006, 2011, 2012, 2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Original author: Karl Berry.
+#
+# Test texinfo.tex changes by running various manuals through with an
+# old version, saving the .ps result from dvips, doing the same with a
+# new version, and comparing. Idea from Stepan Kasal.
+#
+# Another option is to run the manuals all the way through using
+# texi2dvi, which tests in another way.
+
+tsrc=`cd \`dirname $0\` && pwd`/../..
+PATH=$tsrc/util:$PATH
+
+tdoc=$tsrc/doc
+default_manuals="$tdoc/texinfo.txi $tdoc/info.texi $tdoc/info-stnd.texi"
+
+olddir=$tsrc/../gnulib/config
+newdir=$tdoc
+tempdir=$tsrc/@tests/test
+full=false
+manuals=
+
+while test $# -gt 0; do
+ case $1 in
+ --f*) full=true;;
+ --o*) shift; olddir="$1";;
+ --n*) shift; newdir="$1";;
+ --t*) shift; tempdir="$1";;
+ -*) echo "$0: unknown option \`$1'." >&2; exit 1;;
+ *) manuals="$manuals $1";;
+ esac
+ shift
+done
+
+test -z "$manuals" && manuals=$default_manuals
+initial_dir=`pwd`
+
+cd $tempdir || exit 1
+rm -f *
+
+run_tex() \
+{
+ TEXINPUTS=.:$mandir: tex $manual \
+ || { echo "$0: tex $manual failed." >&2; exit 1; }
+}
+
+for manual in $manuals; do
+ mandir=`dirname $manual`
+ test $mandir = . && mandir=$initial_dir
+ manual_base=`basename "$manual" | sed 's/\.[^.]*$//'`
+
+ rm -rf $manual_base.* texinfo.tex
+ ln -s $newdir/texinfo.tex texinfo.tex
+
+ if $full; then
+ # instead of comparing, do full test of just the new texinfo.tex.
+ echo "$0: testing $manual_base... (tex)"
+ texi2dvi $manual || { echo "texi2dvi $manual failed." >&2; exit 1; }
+ echo "$0: testing $manual_base... (pdf)"
+ texi2dvi --pdf $manual \
+ || { echo "texi2dvi --pdf $manual failed." >&2; exit 1; }
+
+ else
+ echo "$0: testing $manual_base... (new)"
+ run_tex
+ dvips $manual_base -o || exit 1
+ mv $manual_base.ps new.$manual_base.ps
+
+ echo "$0: testing $manual_base... (old)"
+ rm -rf $manual_base.* texinfo.tex
+ ln -s $olddir/texinfo.tex texinfo.tex
+ run_tex
+ dvips $manual_base -o || exit 1
+ mv $manual_base.ps old.$manual_base.ps
+
+ diff -U0 old.$manual_base.ps new.$manual_base.ps
+ fi
+done
Index: util/bibtex.test
===================================================================
RCS file: util/bibtex.test
diff -N util/bibtex.test
--- util/bibtex.test 1 Jul 2007 22:32:12 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,57 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-#
-# This file is part of GNU Texinfo.
-#
-# GNU Texinfo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GNU Texinfo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-required='hevea'
-
-. ./defs || exit 1
-
-set -e
-
-create_input_tex <<EOF
-\cite{texinfo.doc}
-\bibliographystyle{plain}
-\bibliography{sample}
-EOF
-
-cat >sample.bib <<EOF
address@hidden,
- title = "{GNU Texinfo}: The {GNU} documentation format",
- author = "Robert J. Chassell and Richard M. Stallman",
- year = "1988"
-}
-EOF
-
-
-# check HTML|INFO|TEXT|DVI|PDF
-# ----------------------------
-check ()
-{
- out=$1
- # Testing the local build mode.
- TEXI2DVI_pass --$out --batch --tidy input.tex
- # There should only be the DVI and the TEXI file.
- assert_files input.$out input.tex sample.bib input.t2d
- cp input.$out /tmp/foo
- rm input.$out
-}
-
-# Currently we don't use bibtex with hevea. This is to be fixed.
-for out in dvi pdf # html info text
-do
- check $out
-done
Index: util/defs.in
===================================================================
RCS file: util/defs.in
diff -N util/defs.in
--- util/defs.in 22 Feb 2008 23:35:06 -0000 1.14
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,364 +0,0 @@
-# -*- shell-script -*-
-# @configure_input@
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# (This file was originally part of GNU Automake.)
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or (at
-# your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Defines for Automake testing environment.
-# Tom Tromey <address@hidden>
-
-# Be Bourne compatible.
-# (Snippet copied from configure's initialization in Autoconf 2.57.)
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# Ensure we are running from the right directory.
-test -f ./defs || {
- echo "defs: not found in current directory" 1>&2
- exit 1
-}
-
-# If srcdir is not set, then we are not running from `make check', be verbose.
-if test -z "$srcdir"; then
- VERBOSE=x
- # compute $srcdir.
- srcdir=`echo "$0" | sed -e 's,/[^\\/]*$,,'`
- test $srcdir = $0 && srcdir=.
-fi
-
-# Ensure $srcdir is set correctly.
-test -f $srcdir/defs.in || {
- echo "$srcdir/defs.in not found, check \$srcdir" 1>&2
- exit 1
-}
-
-me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
-
-# See how redirections should work. User can set VERBOSE to see all
-# output.
-test -z "$VERBOSE" && {
- exec > /dev/null 2>&1
-}
-
-# Make sure we override the user shell.
-SHELL='@SHELL@'
-export SHELL
-
-srcdir_abs=`cd $srcdir && pwd`
-test -z "$TEXI2DVI" && TEXI2DVI=$srcdir_abs/texi2dvi
-
-# be sure we use texi2dvi and texindex from our own directory, not
-# whatever happens to be in the path.
-echo "defs: prepending $srcdir_abs to PATH for testing."
-PATH="@abs_builddir@:@abs_srcdir@:$PATH"
-
-# Some shells forget to export modified environment variables.
-# (See note about `export' in the Autoconf manual.)
-export PATH
-
-# User can override various tools used.
-test -z "$PERL" && PERL='@PERL@'
-
-if test -n "$required"
-then
- for tool in $required
- do
- # Check that each required tool is present.
- case $tool in
- hevea)
- # HeVeA supports -version only. Use configure to find it.
- test -n "@HEVEA@" || exit 77
- ;;
- tex)
- # No all versions of Tex support `--version', so we use
- # a configure check.
- test -n "@TEX@" || exit 77
- ;;
- # Generic case: the tool must support --version.
- *)
- echo "$me: running $tool --version"
- ( $tool --version ) || exit 77
- ;;
- esac
- done
-fi
-
-
-# Always use an absolute srcdir. Otherwise symlinks made in subdirs
-# of the test dir just won't work.
-case "$srcdir" in
- [\\/]* | ?:[\\/]*)
- ;;
-
- *)
- srcdir=`CDPATH=: && cd "$srcdir" && pwd`
- ;;
-esac
-
-chmod -R a+rwx testSubDir > /dev/null 2>&1
-rm -rf testSubDir > /dev/null 2>&1
-mkdir testSubDir
-
-# Copy in some files we need.
-cp $srcdir/../doc/texinfo.tex testSubDir || exit 1
-
-cd ./testSubDir
-
-
-# Unset the user's envvars that might change the behavior.
-unset TEXI2DVI_BUILD_MODE
-unset TEXI2DVI_BUILD_DIRECTORY
-
-echo "=== Running test $0"
-
-# POSIX no longer requires 'egrep' and 'fgrep',
-# but some hosts lack 'grep -E' and 'grep -F'.
-EGREP='@EGREP@'
-FGREP='@FGREP@'
-
-# The amount we should wait after modifying files depends on the platform.
-# For instance, Windows '95, '98 and ME have 2-second granularity
-# and can be up to 3 seconds in the future w.r.t. the system clock.
-sleep='sleep @MODIFICATION_DELAY@'
-
-# The tests call `make -e' but we do not want $srcdir from the environment
-# to override the definition from the Makefile.
-testsrcdir=$srcdir
-unset srcdir
-
-
-# create_input_texi < INPUT
-# -------------------------
-# Create input.texi adding stdin inside a default prologue/epilogue
-create_input_texi ()
-{
- {
- cat << END
-\input texinfo @c -*-texinfo-*-
address@hidden input
address@hidden input
-
address@hidden
address@hidden Top
address@hidden input
address@hidden ifnottex
-
-END
- cat
- cat << END
address@hidden
-END
- } >input.texi
-}
-
-
-# create_input_tex < INPUT
-# ------------------------
-# Create input.tex adding stdin inside a default prologue/epilogue
-create_input_tex ()
-{
- {
- cat << END
-\documentclass{article}
-
-\begin{document}
-END
- cat
- cat << END
-\end{document}
-END
- } >input.tex
-}
-
-
-# TEXI2DVI_run status [options...]
-# --------------------------------
-# Run texi2dvi with OPTIONS, and fail if does not exit with STATUS.
-TEXI2DVI_run ()
-{
- expected_exitcode=$1
- shift
- exitcode=0
- if test -n "$VERBOSE"; then
- set x --debug --verbose ${1+"$@"}
- shift
- fi
- texi2dvi ${1+"$@"} 2>stderr >stdout || exitcode=$?
- cat stderr
- cat stdout
- test $exitcode = $expected_exitcode || exit 1
-}
-
-
-# TEXI2DVI_fail [options...]
-# ---------------------------
-# Run texi2dvi with OPTIONS, and fail if does not exit with failure.
-TEXI2DVI_fail ()
-{
- TEXI2DVI_run 1 ${1+"$@"}
-}
-
-
-# TEXI2DVI_pass [options...]
-# ---------------------------
-# Run texi2dvi with OPTIONS, and fail if does not exit with failure.
-TEXI2DVI_pass ()
-{
- TEXI2DVI_run 0 ${1+"$@"}
-}
-
-
-# optionset_get N OPTIONSET<1> -- OPTIONSET<2> -- ...
-# ---------------------------------------------------
-# Return OPTIONSET<N>
-optionset_get ()
-{
- n=$1
- shift
- # Find the optionset.
- while test $n != 1; do
- case $1 in
- --) n=`expr $n - 1`;;
- esac
- shift
- done
- # Return the optionset.
- while true; do
- case $#:$1 in
- 0:) break;;
- *:--) shift; break;;
- *) echo "$1"; shift;;
- esac
- done
-}
-
-# list_files ()
-# -------------
-# Return the sorted list of files in this directory, except the "invisible"
ones.
-list_files ()
-{
- for f in *
- do
- case $f in
- texinfo.tex | stdout | stderr | ls.expected | ls.value );;
- *) echo $f;;
- esac
- done | sort
-}
-
-
-# assert_files (EXPECTED-FILES)
-# -----------------------------
-# Only those files are valid in the current directory.
-assert_files ()
-{
- if test -n "$VERBOSE"; then
- ls
- fi
- list_files > ls.value
- echo "$*" | tr ' ' '\n' | sort > ls.expected
- diff -u ls.expected ls.value
-}
-
-
-# assert_and_remove_files (EXPECTED-FILES)
-# ----------------------------------------
-# Only those files are valid in the current directory. Remove them
-# afterwards.
-assert_and_remove_files ()
-{
- assert_files "$@"
- rm -rf "$@"
-}
-
-
-# title TITLE...
-# --------------
-# Make a huge title to ease the reading of the output.
-title ()
-{
- (
- set +x
- echo " $@ " | sed -e 's/./=/g'
- echo " $@ "
- echo " $@ " | sed -e 's/./=/g'
- )
-}
-
-# $latex_paragraph
-# ----------------
-# Some lengthy LaTeX.
-# grep -E '^[a-zA-Z]+$' /usr/share/dict/words | sed 200q | pr --page-width=76
--column=5 --omit-header
-latex_paragraph='
-A Acrux Aegean Ahmad Albany
-AOL Actaeon Aelfric Ahmadabad Albee
-Aachen Acton Aeneas Ahmed Alberio
-Aaliyah Acts Aeneid Ahriman Albert
-Aaron Acuff Aeolus Aida Alberta
-Abbas Ada Aeroflot Aiken Alberto
-Abbasid Adam Aeschylus Aileen Albigensian
-Abbott Adams Aesculapius Aimee Albion
-Abby Adan Aesop Ainu Albireo
-Abdul Adana Afghan Airedale Albuquerque
-Abe Adar Afghanistan Airedales Alcatraz
-Abel Addams Afghans Aisha Alcestis
-Abelard Adderley Africa Ajax Alcibiades
-Abelson Addie African Akbar Alcmena
-Aberdeen Addison Africans Akhmatova Alcoa
-Abernathy Adela Afrikaans Akihito Alcott
-Abidjan Adelaide Afrikaner Akita Alcuin
-Abigail Adele Afrikaners Akkad Alcyone
-Abilene Adeline Afro Akron Aldan
-Abner Aden Afrocentrism Al Aldebaran
-Abraham Adenauer Afros Ala Alden
-Abram Adhara Ag Alabama Alderamin
-Abrams Adidas Agamemnon Alabaman Aldo
-Absalom Adirondack Agassi Alabamans Aldrin
-Abuja Adirondacks Agassiz Alabamian Alec
-Abyssinia Adkins Agatha Alabamians Aleichem
-Abyssinian Adler Aggie Aladdin Alejandra
-Ac Adolf Aglaia Alamo Alejandro
-Acadia Adolfo Agnes Alamogordo Alembert
-Acapulco Adolph Agnew Alan Aleppo
-Accra Adonis Agni Alana Aleut
-Acevedo Adonises Agra Alar Aleutian
-Achaean Adrian Agricola Alaric Alex
-Achebe Adriana Agrippa Alaska Alexander
-Achernar Adriatic Agrippina Alaskan Alexandra
-Acheson Adrienne Aguilar Alaskans Alexandria
-Achilles Advent Aguinaldo Alba Alexei
-Aconcagua Adventist Aguirre Albania Alexis
-Acosta Advents Agustin Albanian Alfonso
-Acropolis Advil Ahab Albanians Alfonzo
-'
-
-
-# Turn on shell traces when VERBOSE is set.
-if test -n "$VERBOSE"; then
- set -x
-else
- :
-fi
-pwd
Index: util/dvipdf.test
===================================================================
RCS file: util/dvipdf.test
diff -N util/dvipdf.test
--- util/dvipdf.test 20 Sep 2007 17:21:59 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,66 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-#
-# This file is part of GNU Texinfo.
-#
-# GNU Texinfo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GNU Texinfo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-required='tex'
-
-. ./defs || exit 1
-
-set -e
-
-# one_run ARGS -- FILES
-# ---------------------
-# Run texi2dvi with ARGS, expect the FILES to be left. Remove them.
-one_run ()
-{
- # Use pstricks.
- cat >input.tex <<EOF
-\documentclass[a4paper]{article}
-\usepackage{pst-node}
-\pagestyle{empty}
-\begin{document}
-\begin{psmatrix}
- A & B & C & D & E & F
-\end{psmatrix}
-\psset{arrows=->}
-\nccircle{1,1}{0.5}
-\nccircle[angleA=30]{1,2}{0.4}
-\nccircle[arrows=-,nodesep=0.05]{1,3}{0.2}
-\ncloop[angleB=180]{1,4}{1,4}
-\ncloop[angleB=180,linearc=0.35,nodesep=0.1]{1,5}{1,5}
-\ncloop[angleB=180,linearc=0.15,loopsize=0.4]{1,6}{1,6}
-
-\vspace{1cm}
-\begin{psmatrix}
- A & B & C & D
-\end{psmatrix}
-\psset{arrows=->,nodesep=0.05}
-\ncangles[armA=0.8,armB=0,angleA=70,angleB=110,linearc=0.22]{1,1}{1,1}
-\ncdiag[arm=0.9,angleA=70,angleB=110,linearc=0.3]{1,2}{1,2}
-\ncdiag[arm=0.8,angleA=50,angleB=130,linearc=0.25]{1,3}{1,3}
-\ncdiag[arm=0.8,angleA=50,angleB=130,linearc=0.28]{1,4}{1,4}
-\end{document}
-EOF
-
- TEXI2DVI_pass $(optionset_get 1 "$@") input.tex
- # There should only be the expected and input files.
- assert_and_remove_files $(optionset_get 2 "$@") input.tex
-}
-
-one_run --dvipdf --batch --clean \
- -- \
- input.pdf
Index: util/latex2html.test
===================================================================
RCS file: util/latex2html.test
diff -N util/latex2html.test
--- util/latex2html.test 1 Jul 2007 22:32:13 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-#
-# This file is part of GNU Texinfo.
-#
-# GNU Texinfo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GNU Texinfo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-required='hevea'
-
-. ./defs || exit 1
-
-set -e
-
-# Force the creation of auxiliary files.
-# Force it to be big enough to trigger the info file splitting.
-{
- echo "\tableofcontents"
- for section in 1 2 3 4 5 6
- do
- echo "\section{$i}"
- for subsection in 1 2 3 4 5 6
- do
- echo "\subsection{$i}"
- echo "$latex_paragraph"
- done
- done
-} |
-create_input_tex
-
-
-# run_hevea_check FORMAT OPTIONS
-# ------------------------------
-run_hevea_check ()
-{
- title "$@"
-
- format="$1"
- shift
-
- # Testing the local build mode.
- TEXI2DVI_pass --batch --$format "$@" input.tex
-
- # Compute the expected output.
- outfiles=input.$out
- case $format in
- info) outfiles="$outfiles input.info-1 input.info-2";;
- esac
-
- # Compute the aux files.
- case $format:$@ in
- *clean* ) auxfiles='';;
- *tidy* ) auxfiles='input.t2d';;
- html:*|text:* ) auxfiles='input.haux input.htoc';;
- dvi:* ) auxfiles='input.aux input.log input.toc';;
- * ) auxfiles='';;
- esac
- # There should only be the expected output and the source file.
- assert_files input.tex $outfiles $auxfiles
- rm -fr $outfiles $auxfiles
-}
-
-for opt in "" "--clean" "--tidy"
-do
- for out in html info text
- do
- run_hevea_check $out $opt
- done
-done
Index: util/local.test
===================================================================
RCS file: util/local.test
diff -N util/local.test
--- util/local.test 25 Mar 2008 10:51:20 -0000 1.12
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,59 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Texinfo.
-#
-# GNU Texinfo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GNU Texinfo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Make sure no "local" variable identifier is used twice, since
-# local is not actually portable.
-
-. ./defs || exit 1
-
-set -e
-
-# Make sure quotes are used to protect the value. See the comment in
-# texi2dvi itself about local.
-if sed -e 's/^[ ]*#.*//' $TEXI2DVI |
- $EGREP "\blocal [a-zA-Z_0-9]*=[^\"']" |
- $EGREP -v "\blocal [a-zA-Z_0-9]*=[a-zA-Z0-9]*$" |
- grep .
-then
- false
-else
- true
-fi
-
-
-# Make sure each name is used only once.
-if sed -n -e 's/^#.*//' \
- -e 's/local \([a-zA-Z_0-9]*\)/\1/gp' $TEXI2DVI |
- sort |
- uniq -c |
- grep -v '^.*1 ' |
- grep .
-then
- false
-else
- true
-fi
-
-
-# Make sure we don't use $().
-if $FGREP '$(' $TEXI2DVI
-then
- false
-else
- true
-fi
Index: util/texi2dvi.test
===================================================================
RCS file: util/texi2dvi.test
diff -N util/texi2dvi.test
--- util/texi2dvi.test 4 Jul 2008 08:14:01 -0000 1.17
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,84 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Texinfo.
-#
-# GNU Texinfo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GNU Texinfo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-required='tex'
-
-. ./defs || exit 1
-
-set -e
-
-# one_run ARGS -- FILES
-# ---------------------
-# Run texi2dvi with ARGS, expect the FILES to be left. Remove them.
-one_run ()
-{
- # Testing the local build mode.
- # Use @foo to check that -t works properly.
- echo "@foo" | create_input_texi
- TEXI2DVI_pass $(optionset_get 1 "$@") \
- -t '@macro foo' \
- -t 'Foo' \
- -t '@end macro' \
- input.texi
- # There should only be the expected FILES and the input file.
- assert_and_remove_files $(optionset_get 2 "$@") input.texi
-}
-
-one_run --batch \
- -- \
- input.aux input.cp input.dvi input.fn input.ky input.log \
- input.pg input.tp input.vr
-
-
-one_run --batch -o output.dvi \
- -- \
- input.aux input.cp input.fn input.ky input.log \
- input.pg input.tp input.vr output.dvi
-
-
-# Testing the clean build mode.
-for mode in --clean --build=clean
-do
- # There should only be the DVI and the TEXI file.
- one_run $mode --batch -- input.dvi
-
- # There should only be the DVI and the TEXI file.
- one_run $mode --batch -o output.dvi -- output.dvi
-done
-
-
-# Testing the tidy build mode.
-one_run --build=tidy --batch -o output.dvi \
- -- \
- output.dvi output.t2d
-
-
-# mostly-clean should remove auxiliary files, but not the expected
-# output.
-touch output.dvi
-one_run --build=tidy --batch -o output.dvi --mostly-clean \
- -- \
- output.dvi
-
-
-# There should only be the DVI and the TEXI file.
-create_input_texi </dev/null
-cp input.texi input2.texi
-one_run --clean --batch input.texi input2.texi \
- -- \
- input2.dvi input2.texi input.dvi
Index: util/texinfo.xsl
===================================================================
RCS file: util/texinfo.xsl
diff -N util/texinfo.xsl
--- util/texinfo.xsl 11 Apr 2004 17:56:47 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,242 +0,0 @@
-<?xml version='1.0'?>
-<!-- $Id: texinfo.xsl,v 1.1 2004/04/11 17:56:47 karl Exp $ -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
-
-<xsl:output method="html" indent="yes"/>
-
-<!-- root rule -->
-<xsl:template match="/">
- <html>
- <head><title>
- <xsl:apply-templates select="TEXINFO/SETTITLE" mode="head"/>
- </title></head>
- <body bgcolor="#FFFFFF"><xsl:apply-templates/>
-</body></html>
-</xsl:template>
-
-
-<xsl:template match="TEXINFO">
- <xsl:apply-templates/>
-</xsl:template>
-
-
-<xsl:template match="TEXINFO/SETFILENAME">
-</xsl:template>
-
-<xsl:template match="TEXINFO/SETTITLE" mode="head">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="TEXINFO/SETTITLE">
- <h1><xsl:apply-templates/></h1>
-</xsl:template>
-
-
-<xsl:template match="TEXINFO/DIRCATEGORY">
-</xsl:template>
-
-<xsl:template match="//PARA">
- <p><xsl:apply-templates/></p>
-</xsl:template>
-
-<xsl:template match="//EMPH">
- <i><xsl:apply-templates/></i>
-</xsl:template>
-
-<!-- The node -->
-<xsl:template match="TEXINFO/NODE">
- <hr/>
- <p>
- <xsl:apply-templates select="NODENAME" mode="select"/>
- <xsl:apply-templates select="NODEPREV" mode="select"/>
- <xsl:apply-templates select="NODEUP" mode="select"/>
- <xsl:apply-templates select="NODENEXT" mode="select"/>
- <xsl:apply-templates/>
- <h2>Footnotes</h2>
- <ol>
- <xsl:apply-templates select=".//FOOTNOTE" mode="footnote"/>
- </ol>
- </p>
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODENAME" mode="select">
-<h2>
- <a>
- <xsl:attribute name="name">
- <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a>
-</h2>
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODENAME"/>
-
-
-<xsl:template match="TEXINFO/NODE/NODEPREV" mode="select">
- [ <b>Previous: </b>
- <a>
- <xsl:attribute name="href">
- <xsl:text>#</xsl:text>
- <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a> ]
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODEPREV"/>
-
-<xsl:template match="TEXINFO/NODE/NODEUP" mode="select">
- [ <b>Up: </b>
- <a>
- <xsl:attribute name="href">
- <xsl:text>#</xsl:text>
- <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a> ]
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODEUP"/>
-
-<xsl:template match="TEXINFO/NODE/NODENEXT" mode="select">
- [ <b>Next: </b>
- <a>
- <xsl:attribute name="href">
- <xsl:text>#</xsl:text>
- <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a> ]
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODENEXT"/>
-
-<!-- Menu -->
-<xsl:template match="//MENU">
- <h3>Menu</h3>
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY">
- <a>
- <xsl:attribute name="href">
- <xsl:text>#</xsl:text>
- <xsl:apply-templates select="MENUNODE"/>
- </xsl:attribute>
- <xsl:apply-templates select="MENUTITLE"/>
- </a>:
- <xsl:apply-templates select="MENUCOMMENT"/>
- <br/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY/MENUNODE">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY/MENUTITLE">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY/MENUCOMMENT">
- <xsl:apply-templates mode="menucomment"/>
-</xsl:template>
-
-<xsl:template match="PARA" mode="menucomment">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//PARA">
- <p><xsl:apply-templates/></p>
-</xsl:template>
-
-<!-- LISTS -->
-<xsl:template match="//ITEMIZE">
- <ul>
- <xsl:apply-templates/>
- </ul>
-</xsl:template>
-
-<xsl:template match="//ITEMIZE/ITEM">
- <li>
- <xsl:apply-templates/>
- </li>
-</xsl:template>
-
-<xsl:template match="//ENUMERATE">
- <ol>
- <xsl:apply-templates/>
- </ol>
-</xsl:template>
-
-<xsl:template match="//ENUMERATE/ITEM">
- <li>
- <xsl:apply-templates/>
- </li>
-</xsl:template>
-
-<!-- INLINE -->
-<xsl:template match="//CODE">
- <tt>
- <xsl:apply-templates/>
- </tt>
-</xsl:template>
-
-<xsl:template match="//DFN">
- <i><b>
- <xsl:apply-templates/>
- </b></i>
-</xsl:template>
-
-<xsl:template match="//STRONG">
- <b>
- <xsl:apply-templates/>
- </b>
-</xsl:template>
-
-<xsl:template match="//CENTER">
- <center>
- <xsl:apply-templates/>
- </center>
-</xsl:template>
-
-<xsl:template match="//VAR">
- <i>
- <xsl:apply-templates/>
- </i>
-</xsl:template>
-
-<xsl:template match="//KBD">
- <tt>
- <xsl:apply-templates/>
- </tt>
-</xsl:template>
-
-<xsl:template match="//KEY">
- <b>
- <xsl:apply-templates/>
- </b>
-</xsl:template>
-
-<!-- BLOCKS -->
-<xsl:template match="//DISPLAY">
- <pre>
- <xsl:apply-templates/>
- </pre>
-</xsl:template>
-
-
-<!-- INDEX -->
-<xsl:template match="//INDEXTERM">
-</xsl:template>
-
-<!-- FOOTNOTE -->
-<xsl:template match="//FOOTNOTE">
-</xsl:template>
-
-<xsl:template match="//FOOTNOTE" mode="footnote">
- <li><xsl:apply-templates/></li>
-</xsl:template>
-
-</xsl:stylesheet>
Index: util/txitextest
===================================================================
RCS file: util/txitextest
diff -N util/txitextest
--- util/txitextest 11 Sep 2012 17:33:26 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,94 +0,0 @@
-#!/bin/sh
-# $Id: txitextest,v 1.10 2012/09/11 17:33:26 karl Exp $
-# Copyright 2006, 2011 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Original author: Karl Berry.
-#
-# Test texinfo.tex changes by running various manuals through with an
-# old version, saving the .ps result from dvips, doing the same with a
-# new version, and comparing. Idea from Stepan Kasal.
-#
-# Another option is to run the manuals all the way through using
-# texi2dvi, which tests in another way.
-
-tsrc=`cd \`dirname $0\` && pwd`/..
-PATH=$tsrc/util:$PATH
-
-tdoc=$tsrc/doc
-default_manuals="$tdoc/texinfo.txi $tdoc/info.texi $tdoc/info-stnd.texi"
-
-olddir=$tsrc/../gnulib/config
-newdir=$tdoc
-tempdir=$tsrc/@tests/test
-full=false
-manuals=
-
-while test $# -gt 0; do
- case $1 in
- --f*) full=true;;
- --o*) shift; olddir="$1";;
- --n*) shift; newdir="$1";;
- --t*) shift; tempdir="$1";;
- -*) echo "$0: unknown option \`$1'." >&2; exit 1;;
- *) manuals="$manuals $1";;
- esac
- shift
-done
-
-test -z "$manuals" && manuals=$default_manuals
-initial_dir=`pwd`
-
-cd $tempdir || exit 1
-rm -f *
-
-run_tex() \
-{
- TEXINPUTS=.:$mandir: tex $manual \
- || { echo "$0: tex $manual failed." >&2; exit 1; }
-}
-
-for manual in $manuals; do
- mandir=`dirname $manual`
- test $mandir = . && mandir=$initial_dir
- manual_base=`basename "$manual" | sed 's/\.[^.]*$//'`
-
- rm -rf $manual_base.* texinfo.tex
- ln -s $newdir/texinfo.tex texinfo.tex
-
- if $full; then
- # instead of comparing, do full test of just the new texinfo.tex.
- echo "$0: testing $manual_base... (tex)"
- texi2dvi $manual || { echo "texi2dvi $manual failed." >&2; exit 1; }
- echo "$0: testing $manual_base... (pdf)"
- texi2dvi --pdf $manual \
- || { echo "texi2dvi --pdf $manual failed." >&2; exit 1; }
-
- else
- echo "$0: testing $manual_base... (new)"
- run_tex
- dvips $manual_base -o || exit 1
- mv $manual_base.ps new.$manual_base.ps
-
- echo "$0: testing $manual_base... (old)"
- rm -rf $manual_base.* texinfo.tex
- ln -s $olddir/texinfo.tex texinfo.tex
- run_tex
- dvips $manual_base -o || exit 1
- mv $manual_base.ps old.$manual_base.ps
-
- diff -U0 old.$manual_base.ps new.$manual_base.ps
- fi
-done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo Makefile.am configure.ac util/Makefile....,
karl <=