Merge 4.6 (includes aclocal/autoheader/autoconf/automake run

for local AM_MAINTAINER_MODE change).
This commit is contained in:
wiz 2003-07-03 15:09:13 +00:00
parent 501ee3dffd
commit 5852c21fa6
23 changed files with 844 additions and 2208 deletions

View File

@ -1,397 +0,0 @@
GNU Free Documentation License
Version 1.2, November 2002
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warrany Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -15,7 +15,7 @@
@SET_MAKE@ @SET_MAKE@
# Makefile.am for texinfo. # Makefile.am for texinfo.
# Id: Makefile.am,v 1.6 2002/10/25 00:32:50 karl Exp # Id: Makefile.am,v 1.8 2003/06/10 13:42:12 karl Exp
# Process this file with automake to produce Makefile.in in all directories. # Process this file with automake to produce Makefile.in in all directories.
# #
# This file is free software; as a special exception the author gives # This file is free software; as a special exception the author gives
@ -157,10 +157,10 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
# Be sure we're using the right version of Automake. # Be sure we're using the right version of Automake.
AUTOMAKE_OPTIONS = 1.4 readme-alpha AUTOMAKE_OPTIONS = 1.7.5 readme-alpha
# Additional files to distribute. # Additional files to distribute.
EXTRA_DIST = COPYING.DOC INSTALL.generic INTRODUCTION config.rpath djgpp EXTRA_DIST = INSTALL.generic INTRODUCTION config.rpath djgpp
# This is to prevent texinfo.tex from being included in the top-level # This is to prevent texinfo.tex from being included in the top-level
# distribution directory. # distribution directory.
@ -192,10 +192,10 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
all-recursive install-data-recursive install-exec-recursive \ all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \ installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive check-recursive installcheck-recursive
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING COPYING.DOC ChangeLog \ DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
INSTALL Makefile.am Makefile.in NEWS TODO acinclude.m4 \ Makefile.am Makefile.in NEWS TODO acinclude.m4 aclocal.m4 \
aclocal.m4 config.guess config.in config.rpath config.sub \ config.guess config.in config.rpath config.sub configure \
configure configure.ac depcomp install-sh missing mkinstalldirs configure.ac depcomp install-sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(SUBDIRS)
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -215,7 +215,7 @@ $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) $(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF) cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac acinclude.m4 m4/check-decl.m4 m4/codeset.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/mkstemp.m4 m4/onceonly_2_57.m4 m4/prereq.m4 m4/progtest.m4 m4/stdint_h.m4 m4/uintmax_t.m4 m4/ulonglong.m4 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac acinclude.m4 m4/check-decl.m4 m4/codeset.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/mkstemp.m4 m4/nls.m4 m4/onceonly.m4 m4/onceonly_2_57.m4 m4/po.m4 m4/prereq.m4 m4/progtest.m4 m4/stdint_h.m4 m4/uintmax_t.m4 m4/ulonglong.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1 config.h: stamp-h1
@ -318,9 +318,15 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
else \
include_option=--include; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ test -f $$subdir/TAGS && \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
@ -469,7 +475,7 @@ distcheck: dist
@echo "$(distdir).tar.gz is ready for distribution" | \ @echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x' sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck: distuninstallcheck:
cd $(distuninstallcheck_dir) \ @cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \ || { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \ if test -n "$(DESTDIR)"; then \
@ -478,11 +484,11 @@ distuninstallcheck:
$(distuninstallcheck_listfiles) ; \ $(distuninstallcheck_listfiles) ; \
exit 1; } >&2 exit 1; } >&2
distcleancheck: distclean distcleancheck: distclean
if test '$(srcdir)' = . ; then \ @if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \ exit 1 ; \
fi fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \ || { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \ $(distcleancheck_listfiles) ; \
exit 1; } >&2 exit 1; } >&2

View File

@ -1,4 +1,4 @@
# generated automatically by aclocal 1.7.3 -*- Autoconf -*- # generated automatically by aclocal 1.7.5 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@ -132,7 +132,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# This macro actually does too much some checks are only needed if # This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal. # your package does certain things. But this isn't really a big deal.
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -150,14 +150,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA. # 02111-1307, USA.
# serial 9 # serial 10
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
AC_PREREQ([2.54]) AC_PREREQ([2.54])
@ -286,7 +279,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
# Call AM_AUTOMAKE_VERSION so it can be traced. # Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.7.3])]) [AM_AUTOMAKE_VERSION([1.7.5])])
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
@ -836,7 +829,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Check to see how 'make' treats includes. -*- Autoconf -*- # Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002 Free Software Foundation, Inc. # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -861,8 +854,9 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
AC_DEFUN([AM_MAKE_INCLUDE], AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make} [am_make=${MAKE-make}
cat > confinc << 'END' cat > confinc << 'END'
doit: am__doit:
@echo done @echo done
.PHONY: am__doit
END END
# If we don't find an include directive, just comment out the code. # If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make]) AC_MSG_CHECKING([for style of include used by $am_make])
@ -890,9 +884,9 @@ if test "$am__include" = "#"; then
_am_result=BSD _am_result=BSD
fi fi
fi fi
AC_SUBST(am__include) AC_SUBST([am__include])
AC_SUBST(am__quote) AC_SUBST([am__quote])
AC_MSG_RESULT($_am_result) AC_MSG_RESULT([$_am_result])
rm -f confinc confmf rm -f confinc confmf
]) ])
@ -1006,271 +1000,6 @@ AC_DEFUN([AC_ISC_POSIX],
] ]
) )
#serial 2
# On some systems (e.g., HPUX-10.20, SunOS4.1.4, solaris2.5.1), mkstemp has the
# silly limit that it can create no more than 26 files from a given template.
# Other systems lack mkstemp altogether. On either type of system, arrange
# to use the replacement function.
AC_DEFUN([UTILS_FUNC_MKSTEMP],
[dnl
AC_REPLACE_FUNCS(mkstemp)
if test $ac_cv_func_mkstemp = no; then
utils_cv_func_mkstemp_limitations=yes
else
AC_CACHE_CHECK([for mkstemp limitations],
utils_cv_func_mkstemp_limitations,
[
AC_TRY_RUN([
# include <stdlib.h>
int main ()
{
int i;
for (i = 0; i < 30; i++)
{
char template[] = "conftestXXXXXX";
int fd = mkstemp (template);
if (fd == -1)
exit (1);
close (fd);
}
exit (0);
}
],
utils_cv_func_mkstemp_limitations=no,
utils_cv_func_mkstemp_limitations=yes,
utils_cv_func_mkstemp_limitations=yes
)
]
)
fi
if test $utils_cv_func_mkstemp_limitations = yes; then
AC_LIBOBJ(mkstemp)
AC_LIBOBJ(tempname)
AC_DEFINE(mkstemp, rpl_mkstemp,
[Define to rpl_mkstemp if the replacement function should be used.])
gl_PREREQ_MKSTEMP
jm_PREREQ_TEMPNAME
fi
])
# Prerequisites of lib/mkstemp.c.
AC_DEFUN([gl_PREREQ_MKSTEMP],
[
])
# Prerequisites of lib/tempname.c.
AC_DEFUN([jm_PREREQ_TEMPNAME],
[
AC_REQUIRE([AC_HEADER_STDC])
AC_REQUIRE([AC_HEADER_STAT])
AC_CHECK_HEADERS_ONCE(fcntl.h sys/time.h unistd.h)
AC_CHECK_HEADERS(stdint.h)
AC_CHECK_FUNCS(__secure_getenv gettimeofday)
AC_CHECK_DECLS_ONCE(getenv)
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
])
# onceonly_2_57.m4 serial 1
dnl Copyright (C) 2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl This file defines some "once only" variants of standard autoconf macros.
dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
dnl The advantage is that the check for each of the headers/functions/decls
dnl will be put only once into the 'configure' file. It keeps the size of
dnl the 'configure' file down, and avoids redundant output when 'configure'
dnl is run.
dnl The drawback is that the checks cannot be conditionalized. If you write
dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
dnl empty, and the check will be inserted before the body of the AC_DEFUNed
dnl function.
dnl This is like onceonly.m4, except that it uses diversions to named sections
dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at once,
dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The
dnl size reduction is ca. 9%.
# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
:
AC_FOREACH([gl_HEADER_NAME], [$1], [
AC_DEFUN([gl_CHECK_HEADER_]translit(gl_HEADER_NAME,[./-], [___]), [
m4_divert_text([INIT_PREPARE],
[gl_header_list="$gl_header_list gl_HEADER_NAME"])
gl_HEADERS_EXPANSION
AH_TEMPLATE(AS_TR_CPP(HAVE_[]gl_HEADER_NAME),
[Define to 1 if you have the <]gl_HEADER_NAME[> header file.])
])
AC_REQUIRE([gl_CHECK_HEADER_]translit(gl_HEADER_NAME,[./-], [___]))
])
])
m4_define([gl_HEADERS_EXPANSION], [
m4_divert_text([DEFAULTS], [gl_header_list=])
AC_CHECK_HEADERS([$gl_header_list])
m4_define([gl_HEADERS_EXPANSION], [])
])
# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
:
AC_FOREACH([gl_FUNC_NAME], [$1], [
AC_DEFUN([gl_CHECK_FUNC_]gl_FUNC_NAME, [
m4_divert_text([INIT_PREPARE],
[gl_func_list="$gl_func_list gl_FUNC_NAME"])
gl_FUNCS_EXPANSION
AH_TEMPLATE(AS_TR_CPP(HAVE_[]gl_FUNC_NAME),
[Define to 1 if you have the `]gl_FUNC_NAME[' function.])
])
AC_REQUIRE([gl_CHECK_FUNC_]gl_FUNC_NAME)
])
])
m4_define([gl_FUNCS_EXPANSION], [
m4_divert_text([DEFAULTS], [gl_func_list=])
AC_CHECK_FUNCS([$gl_func_list])
m4_define([gl_FUNCS_EXPANSION], [])
])
# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
# AC_CHECK_DECLS(DECL1, DECL2, ...).
AC_DEFUN([AC_CHECK_DECLS_ONCE], [
:
AC_FOREACH([gl_DECL_NAME], [$1], [
AC_DEFUN([gl_CHECK_DECL_]gl_DECL_NAME, [
AC_CHECK_DECLS(gl_DECL_NAME)
])
AC_REQUIRE([gl_CHECK_DECL_]gl_DECL_NAME)
])
])
# uintmax_t.m4 serial 7 (gettext-0.11.6)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
AC_PREREQ(2.13)
# Define uintmax_t to 'unsigned long' or 'unsigned long long'
# if it is not already defined in <stdint.h> or <inttypes.h>.
AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
[
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
test $ac_cv_type_unsigned_long_long = yes \
&& ac_type='unsigned long long' \
|| ac_type='unsigned long'
AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
[Define to unsigned long or unsigned long long
if <stdint.h> and <inttypes.h> don't define.])
else
AC_DEFINE(HAVE_UINTMAX_T, 1,
[Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
fi
])
# inttypes_h.m4 serial 5 (gettext-0.11.6)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
[
AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <inttypes.h>],
[uintmax_t i = (uintmax_t) -1;],
jm_ac_cv_header_inttypes_h=yes,
jm_ac_cv_header_inttypes_h=no)])
if test $jm_ac_cv_header_inttypes_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
])
# stdint_h.m4 serial 3 (gettext-0.11.6)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
AC_DEFUN([jm_AC_HEADER_STDINT_H],
[
AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <stdint.h>],
[uintmax_t i = (uintmax_t) -1;],
jm_ac_cv_header_stdint_h=yes,
jm_ac_cv_header_stdint_h=no)])
if test $jm_ac_cv_header_stdint_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
])
# ulonglong.m4 serial 3
dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
[
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
[AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
[unsigned long long ullmax = (unsigned long long) -1;
return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
ac_cv_type_unsigned_long_long=yes,
ac_cv_type_unsigned_long_long=no)])
if test $ac_cv_type_unsigned_long_long = yes; then
AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
[Define if you have the 'unsigned long long' type.])
fi
])
# gettext.m4 serial 17 (gettext-0.11.5) # gettext.m4 serial 17 (gettext-0.11.5)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU dnl This file is free software, distributed under the terms of the GNU
@ -2931,6 +2660,118 @@ int main ()
[Define if integer division by zero raises signal SIGFPE.]) [Define if integer division by zero raises signal SIGFPE.])
]) ])
# uintmax_t.m4 serial 6 (gettext-0.11)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
AC_PREREQ(2.13)
# Define uintmax_t to `unsigned long' or `unsigned long long'
# if <inttypes.h> does not exist.
AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
[
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
test $ac_cv_type_unsigned_long_long = yes \
&& ac_type='unsigned long long' \
|| ac_type='unsigned long'
AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
[Define to unsigned long or unsigned long long
if <inttypes.h> and <stdint.h> don't define.])
fi
])
# inttypes_h.m4 serial 4 (gettext-0.11.4)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
[
AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <inttypes.h>],
[uintmax_t i = (uintmax_t) -1;],
jm_ac_cv_header_inttypes_h=yes,
jm_ac_cv_header_inttypes_h=no)])
if test $jm_ac_cv_header_inttypes_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
])
# stdint_h.m4 serial 2 (gettext-0.11.4)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
AC_DEFUN([jm_AC_HEADER_STDINT_H],
[
AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <stdint.h>],
[uintmax_t i = (uintmax_t) -1;],
jm_ac_cv_header_stdint_h=yes,
jm_ac_cv_header_stdint_h=no)])
if test $jm_ac_cv_header_stdint_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
])
# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
[
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
[AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
[unsigned long long ullmax = (unsigned long long) -1;
return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
ac_cv_type_unsigned_long_long=yes,
ac_cv_type_unsigned_long_long=no)])
if test $ac_cv_type_unsigned_long_long = yes; then
AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
[Define if you have the unsigned long long type.])
fi
])
# inttypes.m4 serial 1 (gettext-0.11.4) # inttypes.m4 serial 1 (gettext-0.11.4)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU dnl This file is free software, distributed under the terms of the GNU

View File

@ -32,10 +32,6 @@
*/ */
#undef HAVE_DCGETTEXT #undef HAVE_DCGETTEXT
/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
*/
#undef HAVE_DECL_GETENV
/* Define if this function is declared. */ /* Define if this function is declared. */
#undef HAVE_DECL_STRCASECMP #undef HAVE_DECL_STRCASECMP
@ -81,9 +77,6 @@
/* Define if the GNU gettext() function is already present or preinstalled. */ /* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT #undef HAVE_GETTEXT
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `getuid' function. */ /* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID #undef HAVE_GETUID
@ -133,9 +126,6 @@
/* Define to 1 if you have the `memset' function. */ /* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET #undef HAVE_MEMSET
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
/* Define to 1 if you have a working `mmap' system call. */ /* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP #undef HAVE_MMAP
@ -258,13 +248,10 @@
/* Define to 1 if you have the `tsearch' function. */ /* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH #undef HAVE_TSEARCH
/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
#undef HAVE_UINTMAX_T
/* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H #undef HAVE_UNISTD_H
/* Define if you have the 'unsigned long long' type. */ /* Define if you have the unsigned long long type. */
#undef HAVE_UNSIGNED_LONG_LONG #undef HAVE_UNSIGNED_LONG_LONG
/* Define to 1 if you have the `vprintf' function. */ /* Define to 1 if you have the `vprintf' function. */
@ -279,12 +266,6 @@
/* Define to 1 if you have the `__argz_stringify' function. */ /* Define to 1 if you have the `__argz_stringify' function. */
#undef HAVE___ARGZ_STRINGIFY #undef HAVE___ARGZ_STRINGIFY
/* Define to 1 if you have the `__fsetlocking' function. */
#undef HAVE___FSETLOCKING
/* Define to 1 if you have the `__secure_getenv' function. */
#undef HAVE___SECURE_GETENV
/* Define as const if the declaration of iconv() needs const. */ /* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST #undef ICONV_CONST
@ -352,15 +333,12 @@
if it is not supported. */ if it is not supported. */
#undef inline #undef inline
/* Define to rpl_mkstemp if the replacement function should be used. */
#undef mkstemp
/* Define to `long' if <sys/types.h> does not define. */ /* Define to `long' if <sys/types.h> does not define. */
#undef off_t #undef off_t
/* Define to `unsigned' if <sys/types.h> does not define. */ /* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t #undef size_t
/* Define to unsigned long or unsigned long long if <stdint.h> and /* Define to unsigned long or unsigned long long if <inttypes.h> and
<inttypes.h> don't define. */ <stdint.h> don't define. */
#undef uintmax_t #undef uintmax_t

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl Id: configure.ac,v 1.22 2003/02/05 00:40:19 karl Exp dnl Id: configure.ac,v 1.30 2003/06/10 20:50:03 karl Exp
dnl dnl
dnl This file is free software; as a special exception the author gives dnl This file is free software; as a special exception the author gives
dnl unlimited permission to copy and/or distribute it, with or without dnl unlimited permission to copy and/or distribute it, with or without
@ -11,7 +11,7 @@ dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dnl dnl
AC_PREREQ(2.57)dnl Minimum Autoconf version required. AC_PREREQ(2.57)dnl Minimum Autoconf version required.
dnl dnl
AC_INIT([GNU Texinfo], [4.5]) AC_INIT([GNU Texinfo], [4.6])
AC_CONFIG_SRCDIR([makeinfo/makeinfo.c]) AC_CONFIG_SRCDIR([makeinfo/makeinfo.c])
AM_CONFIG_HEADER(config.h:config.in)dnl Keep filename to 8.3 for MS-DOS. AM_CONFIG_HEADER(config.h:config.in)dnl Keep filename to 8.3 for MS-DOS.
AM_INIT_AUTOMAKE([dist-bzip2]) AM_INIT_AUTOMAKE([dist-bzip2])
@ -33,11 +33,6 @@ AC_MINIX
AC_CHECK_FUNC(sigblock, , AC_CHECK_LIB(bsd, sigblock)) AC_CHECK_FUNC(sigblock, , AC_CHECK_LIB(bsd, sigblock))
dnl Checks for header files. dnl Checks for header files.
dnl Do not use <ncurses/termcap.h> unless we're linking with ncurses.
if test "x$termlib" = xncurses; then
dnl Use AC_CHECK_HEADERS so the HAVE_*_H symbol gets defined.
AC_CHECK_HEADERS(ncurses/termcap.h)
fi
AC_HEADER_STAT AC_HEADER_STAT
AC_HEADER_STDC AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h io.h limits.h pwd.h string.h strings.h \ AC_CHECK_HEADERS(fcntl.h io.h limits.h pwd.h string.h strings.h \
@ -98,15 +93,15 @@ dnl Checks for variables.
# HP-UX 9 (at least) needs -lncurses which defines termcap variables PC etc. # HP-UX 9 (at least) needs -lncurses which defines termcap variables PC etc.
AC_MSG_CHECKING(for library with termcap variables) AC_MSG_CHECKING(for library with termcap variables)
AC_CACHE_VAL(ac_cv_var_ospeed, AC_CACHE_VAL(ac_cv_var_ospeed,
oldLIBS=$LIBS oldLIBS=$LIBS
for trylib in $termlib ${TERMLIB_VARIANTS}; do for trylib in $termlib ${TERMLIB_VARIANTS}; do
if test "x$trylib" != "x$termlib"; then if test "x$trylib" != "x$termlib"; then
LIBS="$oldLIBS -l$termlib -l$trylib" LIBS="$oldLIBS -l$termlib -l$trylib"
else else
LIBS="$oldLIBS -l$termlib" LIBS="$oldLIBS -l$termlib"
fi fi
AC_TRY_LINK(, AC_TRY_LINK(,
#ifdef HAVE_NCURSES_TERMCAP_H [#ifdef HAVE_NCURSES_TERMCAP_H
#include <ncurses/termcap.h> #include <ncurses/termcap.h>
#else #else
#ifdef HAVE_TERMCAP_H #ifdef HAVE_TERMCAP_H
@ -115,17 +110,17 @@ for trylib in $termlib ${TERMLIB_VARIANTS}; do
#undef PC #undef PC
char *BC; char *BC;
char **UP; char **UP;
char PC; char PC;
short ospeed; short ospeed;
#endif #endif
#endif #endif
/* Make sure all variables actually exist. AIX 4.3 has ospeed but no BC. /* Make sure all variables actually exist. AIX 4.3 has ospeed but no BC.
--Andreas Ley <andy@rz.uni-karlsruhe.de>, 24 Aug 2000. */ --Andreas Ley <andy@rz.uni-karlsruhe.de> 24 Aug 2000. */
BC++; BC++;
UP++ UP++;
PC++; PC++;
return ospeed != 0; return ospeed != 0;
, ac_cv_var_ospeed=$trylib; break) ], ac_cv_var_ospeed=$trylib; break)
done done
LIBS=$oldLIBS LIBS=$oldLIBS
) )
@ -136,6 +131,13 @@ if test -n "$ac_cv_var_ospeed" \
fi fi
AC_SUBST(TERMLIBS)dnl AC_SUBST(TERMLIBS)dnl
dnl Do not use <ncurses/termcap.h> unless we're linking with ncurses.
dnl Must come after the termlib tests.
if test "x$termlib" = xncurses; then
dnl Use AC_CHECK_HEADERS so the HAVE_*_H symbol gets defined.
AC_CHECK_HEADERS(ncurses/termcap.h)
fi
dnl gnulib. dnl gnulib.
UTILS_FUNC_MKSTEMP UTILS_FUNC_MKSTEMP
@ -149,7 +151,7 @@ test "x$enable_multiplatform" = xyes \
dnl i18n support. To update to a new version of gettext, run: dnl i18n support. To update to a new version of gettext, run:
dnl gettextize -f -c --intl dnl gettextize -f -c --intl
AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT_VERSION(0.12.1)
AM_GNU_GETTEXT() AM_GNU_GETTEXT()
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -14,7 +14,7 @@
@SET_MAKE@ @SET_MAKE@
# Id: Makefile.am,v 1.8 2003/01/06 01:01:05 karl Exp # Id: Makefile.am,v 1.9 2003/04/02 13:26:02 karl Exp
# Makefile.am for texinfo/doc. # Makefile.am for texinfo/doc.
# Run automake in .. to produce Makefile.in from this. # Run automake in .. to produce Makefile.in from this.
# #
@ -170,7 +170,7 @@ noinst_SCRIPTS = $(HELP2MAN)
INSTALL_INFO = ../util/install-info INSTALL_INFO = ../util/install-info
TXI_XLATE = txi-cs.tex txi-de.tex txi-en.tex txi-es.tex txi-fr.tex \ TXI_XLATE = txi-cs.tex txi-de.tex txi-en.tex txi-es.tex txi-fr.tex \
txi-it.tex txi-nl.tex txi-no.tex txi-pt.tex txi-tr.tex txi-it.tex txi-nl.tex txi-no.tex txi-pl.tex txi-pt.tex txi-tr.tex
# Include our texinfo.tex, not Automake's. # Include our texinfo.tex, not Automake's.
@ -186,6 +186,7 @@ texmf_pdftex_misc = $(TEXMF)/pdftex/plain/misc
# The man pages depend on the --help strings and the version number. # The man pages depend on the --help strings and the version number.
@TEXINFO_MAINT_TRUE@common_mandeps = $(top_srcdir)/configure.ac $(HELP2MAN) @TEXINFO_MAINT_TRUE@common_mandeps = $(top_srcdir)/configure.ac $(HELP2MAN)
subdir = doc subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -471,7 +472,6 @@ all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(MANS)
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir)
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -14,7 +14,7 @@
@SET_MAKE@ @SET_MAKE@
# Id: Makefile.am,v 1.2 2002/09/29 19:08:10 karl Exp # Id: Makefile.am,v 1.3 2003/04/05 23:09:26 karl Exp
# Makefile.am for texinfo/info. # Makefile.am for texinfo/info.
# Run automake in .. to produce Makefile.in from this. # Run automake in .. to produce Makefile.in from this.
# #
@ -47,7 +47,7 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_triplet = @host@ host_triplet = @host@
transform = s/ginfo/info/; @program_transform_name@ transform = s/ginfo/info/; $(program_transform_name)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
@ -66,7 +66,7 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DEFS = -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@ DEFS = @DEFS@ -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\"
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
@ -169,7 +169,7 @@ localedir = $(datadir)/locale
# Automake puts -I.. and -I$(srcdir) into DEFS by default, but # Automake puts -I.. and -I$(srcdir) into DEFS by default, but
# we need to override it, so include them ourselves. # we need to override it, so include them ourselves.
INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -I.. -I$(srcdir) INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -I.. -I$(srcdir)
LDADD = ../lib/libtxi.a @TERMLIBS@ @LIBINTL@ LDADD = ../lib/libtxi.a $(TERMLIBS) $(LIBINTL)
# The files `doc.c' and `funs.h' are created by ./makedoc run over the source # The files `doc.c' and `funs.h' are created by ./makedoc run over the source
# files which contain DECLARE_INFO_COMMAND. `funs.h' is a header file # files which contain DECLARE_INFO_COMMAND. `funs.h' is a header file
@ -198,6 +198,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
$(srcdir)/footnotes.c $(srcdir)/variables.c $(srcdir)/footnotes.c $(srcdir)/variables.c
subdir = info subdir = info
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -341,7 +342,7 @@ distclean-depend:
.c.o: .c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -352,7 +353,7 @@ distclean-depend:
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -453,8 +454,8 @@ all-am: Makefile $(PROGRAMS)
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(bindir)
install: $(BUILT_SOURCES)
install: install-am $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am
uninstall: uninstall-am uninstall: uninstall-am

View File

@ -1,7 +1,7 @@
/* $NetBSD: info.c,v 1.7 2003/02/13 08:57:27 wiz Exp $ */ /* $NetBSD: info.c,v 1.8 2003/07/03 15:09:16 wiz Exp $ */
/* info.c -- Display nodes of Info files in multiple windows. /* info.c -- Display nodes of Info files in multiple windows.
Id: info.c,v 1.2 2003/01/19 18:45:59 karl Exp Id: info.c,v 1.7 2003/05/19 13:10:59 karl Exp
Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc. Free Software Foundation, Inc.
@ -122,16 +122,16 @@ static struct option long_options[] = {
/* String describing the shorthand versions of the long options found above. */ /* String describing the shorthand versions of the long options found above. */
#ifdef __MSDOS__ #ifdef __MSDOS__
static char *short_options = "d:n:f:o:ORsb"; static char *short_options = "d:n:f:ho:ORsb";
#else #else
static char *short_options = "d:n:f:o:ORs"; static char *short_options = "d:n:f:ho:ORs";
#endif #endif
/* When non-zero, the Info window system has been initialized. */ /* When non-zero, the Info window system has been initialized. */
int info_windows_initialized_p = 0; int info_windows_initialized_p = 0;
/* Some "forward" declarations. */ /* Some "forward" declarations. */
static void info_short_help (), remember_info_program_name (); static void info_short_help ();
static void init_messages (); static void init_messages ();
extern void add_file_directory_to_path (); extern void add_file_directory_to_path ();
@ -162,7 +162,7 @@ main (argc, argv)
#endif #endif
init_messages (); init_messages ();
while (1) while (1)
{ {
int option_character; int option_character;
@ -170,7 +170,7 @@ main (argc, argv)
option_character = getopt_long option_character = getopt_long
(argc, argv, short_options, long_options, &getopt_long_index); (argc, argv, short_options, long_options, &getopt_long_index);
/* getopt_long () returns EOF when there are no more long options. */ /* getopt_long returns EOF when there are no more long options. */
if (option_character == EOF) if (option_character == EOF)
break; break;
@ -203,6 +203,11 @@ main (argc, argv)
user_filename = xstrdup (optarg); user_filename = xstrdup (optarg);
break; break;
/* Treat -h like --help. */
case 'h':
print_help_p = 1;
break;
/* User is specifying the name of a file to output to. */ /* User is specifying the name of a file to output to. */
case 'o': case 'o':
if (user_output_filename) if (user_output_filename)
@ -477,6 +482,8 @@ For more information about these matters, see the files named COPYING.\n"),
xexit (0); xexit (0);
} }
return 0; /* Avoid bogus warnings. */
} }
void void
@ -562,7 +569,7 @@ info_short_help ()
static const char speech_friendly_string[] = ""; static const char speech_friendly_string[] = "";
#endif #endif
printf (_("\ printf (_("\
Usage: %s [OPTION]... [MENU-ITEM...]\n\ Usage: %s [OPTION]... [MENU-ITEM...]\n\
\n\ \n\
@ -613,22 +620,22 @@ Texinfo home page: http://www.gnu.org/software/texinfo/"));
use them that way. This also has the advantage that there's only one use them that way. This also has the advantage that there's only one
copy of the strings. */ copy of the strings. */
char *msg_cant_find_node; const char *msg_cant_find_node;
char *msg_cant_file_node; const char *msg_cant_file_node;
char *msg_cant_find_window; const char *msg_cant_find_window;
char *msg_cant_find_point; const char *msg_cant_find_point;
char *msg_cant_kill_last; const char *msg_cant_kill_last;
char *msg_no_menu_node; const char *msg_no_menu_node;
char *msg_no_foot_node; const char *msg_no_foot_node;
char *msg_no_xref_node; const char *msg_no_xref_node;
char *msg_no_pointer; const char *msg_no_pointer;
char *msg_unknown_command; const char *msg_unknown_command;
char *msg_term_too_dumb; const char *msg_term_too_dumb;
char *msg_at_node_bottom; const char *msg_at_node_bottom;
char *msg_at_node_top; const char *msg_at_node_top;
char *msg_one_window; const char *msg_one_window;
char *msg_win_too_small; const char *msg_win_too_small;
char *msg_cant_make_help; const char *msg_cant_make_help;
static void static void
init_messages () init_messages ()

View File

@ -1,9 +1,10 @@
/* $NetBSD: nodes.c,v 1.4 2003/07/03 12:59:54 wiz Exp $ */ /* $NetBSD: nodes.c,v 1.5 2003/07/03 15:09:17 wiz Exp $ */
/* nodes.c -- how to get an Info file and node. /* nodes.c -- how to get an Info file and node.
Id: nodes.c,v 1.1 2002/08/25 23:38:38 karl Exp Id: nodes.c,v 1.2 2003/05/13 16:37:54 karl Exp
Copyright (C) 1993, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. Copyright (C) 1993, 1998, 1999, 2000, 2002, 2003 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -871,19 +872,19 @@ find_node_of_anchor (file_buffer, tag)
int anchor_pos, node_pos; int anchor_pos, node_pos;
TAG *node_tag; TAG *node_tag;
NODE *node; NODE *node;
/* Look through the tag list for the anchor. */ /* Look through the tag list for the anchor. */
for (anchor_pos = 0; file_buffer->tags[anchor_pos]; anchor_pos++) for (anchor_pos = 0; file_buffer->tags[anchor_pos]; anchor_pos++)
{ {
TAG *t = file_buffer->tags[anchor_pos]; TAG *t = file_buffer->tags[anchor_pos];
if (t->nodestart == tag->nodestart) if (t->nodestart == tag->nodestart)
break; break;
} }
/* Should not happen, because we should always find the anchor. */ /* Should not happen, because we should always find the anchor. */
if (!file_buffer->tags[anchor_pos]) if (!file_buffer->tags[anchor_pos])
return NULL; return NULL;
/* We've found the anchor. Look backwards in the tag table for the /* We've found the anchor. Look backwards in the tag table for the
preceding node (we're assuming the tags are given in order), preceding node (we're assuming the tags are given in order),
skipping over any preceding anchors. */ skipping over any preceding anchors. */
@ -891,20 +892,20 @@ find_node_of_anchor (file_buffer, tag)
node_pos >= 0 && file_buffer->tags[node_pos]->nodelen == 0; node_pos >= 0 && file_buffer->tags[node_pos]->nodelen == 0;
node_pos--) node_pos--)
; ;
/* An info file with an anchor before any nodes is pathological, but /* An info file with an anchor before any nodes is pathological, but
it's possible, so don't crash. */ it's possible, so don't crash. */
if (node_pos < 0) if (node_pos < 0)
return NULL; return NULL;
/* We have the tag for the node that contained the anchor tag. */ /* We have the tag for the node that contained the anchor tag. */
node_tag = file_buffer->tags[node_pos]; node_tag = file_buffer->tags[node_pos];
/* Look up the node name in the tag table to get the actual node. /* Look up the node name in the tag table to get the actual node.
This is a recursive call, but it can't recurse again, because we This is a recursive call, but it can't recurse again, because we
call it with a real node. */ call it with a real node. */
node = info_node_of_file_buffer_tags (file_buffer, node_tag->nodename); node = info_node_of_file_buffer_tags (file_buffer, node_tag->nodename);
/* Start displaying the node at the anchor position. */ /* Start displaying the node at the anchor position. */
if (node) if (node)
{ /* The nodestart for real nodes is three characters before the `F' { /* The nodestart for real nodes is three characters before the `F'
@ -923,11 +924,11 @@ find_node_of_anchor (file_buffer, tag)
the screen), which looks wrong. */ the screen), which looks wrong. */
if (node->display_pos >= node->nodelen) if (node->display_pos >= node->nodelen)
node->display_pos = node->nodelen - 1; node->display_pos = node->nodelen - 1;
/* Don't search in the node for the xref text, it's not there. */ /* Don't search in the node for the xref text, it's not there. */
node->flags |= N_FromAnchor; node->flags |= N_FromAnchor;
} }
return node; return node;
} }
@ -946,8 +947,8 @@ info_node_of_file_buffer_tags (file_buffer, nodename)
if (!file_buffer->tags) { if (!file_buffer->tags) {
return NULL; return NULL;
} }
for (i = 0; (tag = file_buffer->tags[i]); i++) for (i = 0; (tag = file_buffer->tags[i]); i++)
if (strcmp (nodename, tag->nodename) == 0) if (strcmp (nodename, tag->nodename) == 0)
{ {
FILE_BUFFER *subfile = info_find_file_internal (tag->filename, FILE_BUFFER *subfile = info_find_file_internal (tag->filename,
@ -1038,7 +1039,7 @@ info_node_of_file_buffer_tags (file_buffer, nodename)
free (node); free (node);
node = find_node_of_anchor (file_buffer, tag); node = find_node_of_anchor (file_buffer, tag);
} }
else else
{ {
/* Since we know the length of this node, we have already /* Since we know the length of this node, we have already
@ -1100,7 +1101,7 @@ forget_info_file (filename)
if (!info_loaded_files) if (!info_loaded_files)
return; return;
for (i = 0; file_buffer = info_loaded_files[i]; i++) for (i = 0; (file_buffer = info_loaded_files[i]); i++)
if (FILENAME_CMP (filename, file_buffer->filename) == 0 if (FILENAME_CMP (filename, file_buffer->filename) == 0
|| FILENAME_CMP (filename, file_buffer->fullpath) == 0) || FILENAME_CMP (filename, file_buffer->fullpath) == 0)
{ {
@ -1109,7 +1110,7 @@ forget_info_file (filename)
if (file_buffer->contents) if (file_buffer->contents)
free (file_buffer->contents); free (file_buffer->contents);
/* free_file_buffer_tags () also kills the subfiles list, since /* free_file_buffer_tags () also kills the subfiles list, since
the subfiles list is only of use in conjunction with tags. */ the subfiles list is only of use in conjunction with tags. */
free_file_buffer_tags (file_buffer); free_file_buffer_tags (file_buffer);

View File

@ -1,299 +0,0 @@
/* $NetBSD: libgnuintl.h,v 1.2 2003/03/12 22:46:25 thorpej Exp $ */
/* Message catalogs for internationalization.
Copyright (C) 1995-1997, 2000-2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _LIBINTL_H
#define _LIBINTL_H 1
#include <locale.h>
/* The LC_MESSAGES locale category is the category used by the functions
gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
On systems that don't define it, use an arbitrary value instead.
On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
then includes <libintl.h> (i.e. this file!) and then only defines
LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
in this case. */
#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
# define LC_MESSAGES 1729
#endif
/* We define an additional symbol to signal that we use the GNU
implementation of gettext. */
#define __USE_GNU_GETTEXT 1
/* Provide information about the supported file formats. Returns the
maximum minor revision number supported for a given major revision. */
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
((major) == 0 ? 1 : -1)
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
precedence over _conio_gettext. */
#ifdef __DJGPP__
# undef gettext
#endif
/* Use _INTL_PARAMS, not PARAMS, in order to avoid clashes with identifiers
used by programs. Similarly, test __PROTOTYPES, not PROTOTYPES. */
#ifndef _INTL_PARAMS
# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
# define _INTL_PARAMS(args) args
# else
# define _INTL_PARAMS(args) ()
# endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* We redirect the functions to those prefixed with "libintl_". This is
necessary, because some systems define gettext/textdomain/... in the C
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
If we used the unprefixed names, there would be cases where the
definition in the C library would override the one in the libintl.so
shared library. Recall that on ELF systems, the symbols are looked
up in the following order:
1. in the executable,
2. in the shared libraries specified on the link command line, in order,
3. in the dependencies of the shared libraries specified on the link
command line,
4. in the dlopen()ed shared libraries, in the order in which they were
dlopen()ed.
The definition in the C library would override the one in libintl.so if
either
* -lc is given on the link command line and -lintl isn't, or
* -lc is given on the link command line before -lintl, or
* libintl.so is a dependency of a dlopen()ed shared library but not
linked to the executable at link time.
Since Solaris gettext() behaves differently than GNU gettext(), this
would be unacceptable.
The redirection happens by default through macros in C, so that &gettext
is independent of the compilation unit, but through inline functions in
C++, in order not to interfere with the name mangling of class fields or
class methods called 'gettext'. */
/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
If he doesn't, we choose the method. A third possible method is
_INTL_REDIRECT_ASM, supported only by GCC. */
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
# if __GNUC__ >= 2 && (defined __STDC__ || defined __cplusplus) && \
!defined(__APPLE__)
# define _INTL_REDIRECT_ASM
# else
# ifdef __cplusplus
# define _INTL_REDIRECT_INLINE
# else
# define _INTL_REDIRECT_MACROS
# endif
# endif
#endif
/* Auxiliary macros. */
#ifdef _INTL_REDIRECT_ASM
# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
# define _INTL_STRINGIFY(prefix) #prefix
#else
# define _INTL_ASM(cname)
#endif
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_gettext (const char *__msgid);
static inline char *gettext (const char *__msgid)
{
return libintl_gettext (__msgid);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define gettext libintl_gettext
#endif
extern char *gettext _INTL_PARAMS ((const char *__msgid))
_INTL_ASM (libintl_gettext);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
static inline char *dgettext (const char *__domainname, const char *__msgid)
{
return libintl_dgettext (__domainname, __msgid);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dgettext libintl_dgettext
#endif
extern char *dgettext _INTL_PARAMS ((const char *__domainname,
const char *__msgid))
_INTL_ASM (libintl_dgettext);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
int __category);
static inline char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
{
return libintl_dcgettext (__domainname, __msgid, __category);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dcgettext libintl_dcgettext
#endif
extern char *dcgettext _INTL_PARAMS ((const char *__domainname,
const char *__msgid,
int __category))
_INTL_ASM (libintl_dcgettext);
#endif
/* Similar to `gettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n);
static inline char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
{
return libintl_ngettext (__msgid1, __msgid2, __n);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define ngettext libintl_ngettext
#endif
extern char *ngettext _INTL_PARAMS ((const char *__msgid1,
const char *__msgid2,
unsigned long int __n))
_INTL_ASM (libintl_ngettext);
#endif
/* Similar to `dgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n);
static inline char *dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n)
{
return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dngettext libintl_dngettext
#endif
extern char *dngettext _INTL_PARAMS ((const char *__domainname,
const char *__msgid1,
const char *__msgid2,
unsigned long int __n))
_INTL_ASM (libintl_dngettext);
#endif
/* Similar to `dcgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category);
static inline char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
{
return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dcngettext libintl_dcngettext
#endif
extern char *dcngettext _INTL_PARAMS ((const char *__domainname,
const char *__msgid1,
const char *__msgid2,
unsigned long int __n,
int __category))
_INTL_ASM (libintl_dcngettext);
#endif
/* Set the current default message catalog to DOMAINNAME.
If DOMAINNAME is null, return the current default.
If DOMAINNAME is "", reset to the default of "messages". */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_textdomain (const char *__domainname);
static inline char *textdomain (const char *__domainname)
{
return libintl_textdomain (__domainname);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define textdomain libintl_textdomain
#endif
extern char *textdomain _INTL_PARAMS ((const char *__domainname))
_INTL_ASM (libintl_textdomain);
#endif
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_bindtextdomain (const char *__domainname,
const char *__dirname);
static inline char *bindtextdomain (const char *__domainname,
const char *__dirname)
{
return libintl_bindtextdomain (__domainname, __dirname);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define bindtextdomain libintl_bindtextdomain
#endif
extern char *bindtextdomain _INTL_PARAMS ((const char *__domainname,
const char *__dirname))
_INTL_ASM (libintl_bindtextdomain);
#endif
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_bind_textdomain_codeset (const char *__domainname,
const char *__codeset);
static inline char *bind_textdomain_codeset (const char *__domainname,
const char *__codeset)
{
return libintl_bind_textdomain_codeset (__domainname, __codeset);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define bind_textdomain_codeset libintl_bind_textdomain_codeset
#endif
extern char *bind_textdomain_codeset _INTL_PARAMS ((const char *__domainname,
const char *__codeset))
_INTL_ASM (libintl_bind_textdomain_codeset);
#endif
#ifdef __cplusplus
}
#endif
#endif /* libintl.h */

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -14,7 +14,7 @@
@SET_MAKE@ @SET_MAKE@
# Id: Makefile.am,v 1.2 2002/09/26 21:59:16 karl Exp # Id: Makefile.am,v 1.3 2003/04/05 23:09:26 karl Exp
# Makefile.am for texinfo/lib. # Makefile.am for texinfo/lib.
# Run automake in .. to produce Makefile.in from this. # Run automake in .. to produce Makefile.in from this.
# #
@ -163,11 +163,12 @@ INCLUDES = -I../intl
libtxi_a_SOURCES = getopt.c getopt.h getopt1.c gettext.h substring.c system.h \ libtxi_a_SOURCES = getopt.c getopt.h getopt1.c gettext.h substring.c system.h \
xalloc.h xexit.c xmalloc.c xstrdup.c xalloc.h xexit.c xmalloc.c xstrdup.c
libtxi_a_LIBADD = @LIBOBJS@ @ALLOCA@ libtxi_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libtxi_a_DEPENDENCIES = $(libtxi_a_LIBADD) libtxi_a_DEPENDENCIES = $(libtxi_a_LIBADD)
EXTRA_DIST = README EXTRA_DIST = README
subdir = lib subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -183,10 +184,9 @@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/memcpy.Po \ @AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/memcpy.Po \
@AMDEP_TRUE@ $(DEPDIR)/memmove.Po $(DEPDIR)/mkstemp.Po \ @AMDEP_TRUE@ $(DEPDIR)/memmove.Po $(DEPDIR)/strcasecmp.Po \
@AMDEP_TRUE@ $(DEPDIR)/strcasecmp.Po $(DEPDIR)/strdup.Po \ @AMDEP_TRUE@ $(DEPDIR)/strdup.Po $(DEPDIR)/strerror.Po \
@AMDEP_TRUE@ $(DEPDIR)/strerror.Po $(DEPDIR)/strncasecmp.Po \ @AMDEP_TRUE@ $(DEPDIR)/strncasecmp.Po ./$(DEPDIR)/getopt.Po \
@AMDEP_TRUE@ $(DEPDIR)/tempname.Po ./$(DEPDIR)/getopt.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/substring.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/substring.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xexit.Po ./$(DEPDIR)/xmalloc.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/xexit.Po ./$(DEPDIR)/xmalloc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xstrdup.Po @AMDEP_TRUE@ ./$(DEPDIR)/xstrdup.Po
@ -196,8 +196,7 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libtxi_a_SOURCES) DIST_SOURCES = $(libtxi_a_SOURCES)
DIST_COMMON = README Makefile.am Makefile.in alloca.c memcpy.c \ DIST_COMMON = README Makefile.am Makefile.in alloca.c memcpy.c \
memmove.c mkstemp.c strcasecmp.c strdup.c strerror.c \ memmove.c strcasecmp.c strdup.c strerror.c strncasecmp.c
strncasecmp.c tempname.c
SOURCES = $(libtxi_a_SOURCES) SOURCES = $(libtxi_a_SOURCES)
all: all-am all: all-am
@ -228,12 +227,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memcpy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmove.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmove.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkstemp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strncasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strncasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tempname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/substring.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/substring.Po@am__quote@
@ -247,7 +244,7 @@ distclean-depend:
.c.o: .c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -258,7 +255,7 @@ distclean-depend:
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -357,7 +354,6 @@ check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am

View File

@ -1,9 +1,9 @@
/* $NetBSD: system.h,v 1.5 2003/01/17 15:25:53 wiz Exp $ */ /* $NetBSD: system.h,v 1.6 2003/07/03 15:09:18 wiz Exp $ */
/* system.h: system-dependent declarations; include this first. /* system.h: system-dependent declarations; include this first.
Id: system.h,v 1.4 2002/10/31 13:44:06 karl Exp Id: system.h,v 1.5 2003/03/22 17:40:39 karl Exp
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
Foundation, Inc. Foundation, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -265,4 +265,15 @@ extern void xexit ();
/* For convenience. */ /* For convenience. */
#define STREQ(s1,s2) (strcmp (s1, s2) == 0) #define STREQ(s1,s2) (strcmp (s1, s2) == 0)
/* We don't need anything fancy. If we did need something fancy, gnulib
has it. */
#ifdef MIN
#undef MIN
#endif
#define MIN(a,b) ((a) < (b) ? (a) : (b))
#ifdef MAX
#undef MAX
#endif
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif /* TEXINFO_SYSTEM_H */ #endif /* TEXINFO_SYSTEM_H */

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -143,7 +143,7 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
EXTRA_DIST = \ EXTRA_DIST = nls.m4 po.m4 \
check-decl.m4 \ check-decl.m4 \
codeset.m4 \ codeset.m4 \
gettext.m4 \ gettext.m4 \
@ -159,6 +159,7 @@ EXTRA_DIST = \
lib-link.m4 \ lib-link.m4 \
lib-prefix.m4 \ lib-prefix.m4 \
mkstemp.m4 \ mkstemp.m4 \
onceonly.m4 \
onceonly_2_57.m4 \ onceonly_2_57.m4 \
prereq.m4 \ prereq.m4 \
progtest.m4 \ progtest.m4 \
@ -167,6 +168,7 @@ EXTRA_DIST = \
ulonglong.m4 ulonglong.m4
subdir = m4 subdir = m4
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -224,7 +226,6 @@ check: check-am
all-am: Makefile all-am: Makefile
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -14,7 +14,7 @@
@SET_MAKE@ @SET_MAKE@
# Id: Makefile.am,v 1.2 2002/11/12 23:42:14 karl Exp # Id: Makefile.am,v 1.3 2003/04/05 23:09:26 karl Exp
# Makefile.am for texinfo/makeinfo. # Makefile.am for texinfo/makeinfo.
# Run automake in .. to produce Makefile.in from this. # Run automake in .. to produce Makefile.in from this.
# #
@ -160,7 +160,7 @@ bin_PROGRAMS = makeinfo
localedir = $(datadir)/locale localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\"
LDADD = ../lib/libtxi.a @LIBINTL@ LDADD = ../lib/libtxi.a $(LIBINTL)
makeinfo_SOURCES = \ makeinfo_SOURCES = \
cmds.c cmds.h defun.c defun.h \ cmds.c cmds.h defun.c defun.h \
@ -176,6 +176,7 @@ EXTRA_DIST = README $(pkgdata_DATA)
SUBDIRS = tests SUBDIRS = tests
subdir = makeinfo subdir = makeinfo
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -285,7 +286,7 @@ distclean-depend:
.c.o: .c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -296,7 +297,7 @@ distclean-depend:
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -403,9 +404,15 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
else \
include_option=--include; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ test -f $$subdir/TAGS && \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \

View File

@ -1,9 +1,10 @@
/* $NetBSD: files.c,v 1.4 2003/07/03 12:47:32 wiz Exp $ */ /* $NetBSD: files.c,v 1.5 2003/07/03 15:09:19 wiz Exp $ */
/* files.c -- file-related functions for makeinfo. /* files.c -- file-related functions for makeinfo.
Id: files.c,v 1.1 2002/08/25 23:38:38 karl Exp Id: files.c,v 1.3 2003/03/06 14:05:30 karl Exp
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -84,7 +85,7 @@ extract_colon_unit (string, index)
When found, return the stat () info for FILENAME in FINFO. When found, return the stat () info for FILENAME in FINFO.
If PATH is NULL, only the current directory is searched. If PATH is NULL, only the current directory is searched.
If the file could not be found, return a NULL pointer. */ If the file could not be found, return a NULL pointer. */
static char * char *
get_file_info_in_path (filename, path, finfo) get_file_info_in_path (filename, path, finfo)
char *filename, *path; char *filename, *path;
struct stat *finfo; struct stat *finfo;
@ -324,9 +325,7 @@ filename_part (filename)
#ifdef REMOVE_OUTPUT_EXTENSIONS #ifdef REMOVE_OUTPUT_EXTENSIONS
/* See if there is an extension to remove. If so, remove it. */ /* See if there is an extension to remove. If so, remove it. */
{ {
char *temp; char *temp = strrchr (basename, '.');
temp = strrchr (basename, '.');
if (temp) if (temp)
*temp = 0; *temp = 0;
} }

View File

@ -1,9 +1,9 @@
/* $NetBSD: makeinfo.c,v 1.8 2003/02/13 08:57:28 wiz Exp $ */ /* $NetBSD: makeinfo.c,v 1.9 2003/07/03 15:09:19 wiz Exp $ */
/* makeinfo -- convert Texinfo source into other formats. /* makeinfo -- convert Texinfo source into other formats.
Id: makeinfo.c,v 1.17 2003/01/19 18:44:28 karl Exp Id: makeinfo.c,v 1.34 2003/06/02 12:32:29 karl Exp
Copyright (C) 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, Copyright (C) 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003 Free Software Foundation, Inc. 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -33,6 +33,7 @@
#include "html.h" #include "html.h"
#include "index.h" #include "index.h"
#include "insertion.h" #include "insertion.h"
#include "lang.h"
#include "macro.h" #include "macro.h"
#include "node.h" #include "node.h"
#include "toc.h" #include "toc.h"
@ -169,7 +170,6 @@ char **get_brace_args ();
int array_len (); int array_len ();
void free_array (); void free_array ();
static int end_of_sentence_p (); static int end_of_sentence_p ();
static void isolate_nodename ();
void reader_loop (); void reader_loop ();
void remember_brace (), remember_brace_1 (); void remember_brace (), remember_brace_1 ();
void pop_and_call_brace (), discard_braces (); void pop_and_call_brace (), discard_braces ();
@ -183,7 +183,6 @@ void inhibit_output_flushing (), uninhibit_output_flushing ();
int set_paragraph_indent (); int set_paragraph_indent ();
int self_delimiting (), search_forward (); int self_delimiting (), search_forward ();
int multitable_item (), number_of_node (); int multitable_item (), number_of_node ();
extern void add_link (), add_escaped_anchor_name ();
void me_execute_string_keep_state (); void me_execute_string_keep_state ();
void maybe_update_execution_strings (); void maybe_update_execution_strings ();
@ -191,11 +190,10 @@ void maybe_update_execution_strings ();
extern char *escape_string (); extern char *escape_string ();
extern void insert_html_tag (); extern void insert_html_tag ();
extern void sectioning_html (); extern void sectioning_html ();
extern void add_link ();
#if defined (VA_FPRINTF) && __STDC__ #if defined (VA_FPRINTF) && __STDC__
/* Unfortunately we must use prototypes if we are to use <stdarg.h>. */ /* Unfortunately we must use prototypes if we are to use <stdarg.h>. */
void add_word_args (char *, ...); void add_word_args (const char *, ...);
void execute_string (char *, ...); void execute_string (char *, ...);
#else #else
void add_word_args (); void add_word_args ();
@ -220,10 +218,10 @@ fs_error (filename)
/* Print an error message, and return false. */ /* Print an error message, and return false. */
void void
#if defined (VA_FPRINTF) && __STDC__ #if defined (VA_FPRINTF) && __STDC__
error (char *format, ...) error (const char *format, ...)
#else #else
error (format, va_alist) error (format, va_alist)
char *format; const char *format;
va_dcl va_dcl
#endif #endif
{ {
@ -247,12 +245,12 @@ error (format, va_alist)
/* Just like error (), but print the input file and line number as well. */ /* Just like error (), but print the input file and line number as well. */
void void
#if defined (VA_FPRINTF) && __STDC__ #if defined (VA_FPRINTF) && __STDC__
file_line_error (char *infile, int lno, char *format, ...) file_line_error (char *infile, int lno, const char *format, ...)
#else #else
file_line_error (infile, lno, format, va_alist) file_line_error (infile, lno, format, va_alist)
char *infile; char *infile;
int lno; int lno;
char *format; const char *format;
va_dcl va_dcl
#endif #endif
{ {
@ -278,10 +276,10 @@ file_line_error (infile, lno, format, va_alist)
number from global variables. */ number from global variables. */
void void
#if defined (VA_FPRINTF) && __STDC__ #if defined (VA_FPRINTF) && __STDC__
line_error (char *format, ...) line_error (const char *format, ...)
#else #else
line_error (format, va_alist) line_error (format, va_alist)
char *format; const char *format;
va_dcl va_dcl
#endif #endif
{ {
@ -305,10 +303,10 @@ line_error (format, va_alist)
void void
#if defined (VA_FPRINTF) && __STDC__ #if defined (VA_FPRINTF) && __STDC__
warning (char *format, ...) warning (const char *format, ...)
#else #else
warning (format, va_alist) warning (format, va_alist)
char *format; const char *format;
va_dcl va_dcl
#endif #endif
{ {
@ -376,7 +374,7 @@ usage (exit_value)
else else
{ {
printf (_("Usage: %s [OPTION]... TEXINFO-FILE...\n"), progname); printf (_("Usage: %s [OPTION]... TEXINFO-FILE...\n"), progname);
puts ("\n"); puts ("");
puts (_("\ puts (_("\
Translate Texinfo source documentation to various other formats, by default\n\ Translate Texinfo source documentation to various other formats, by default\n\
@ -432,16 +430,21 @@ Options for Info and plain text:\n\
--split-size=NUM split Info files at size NUM (default %d).\n"), --split-size=NUM split Info files at size NUM (default %d).\n"),
fill_column, paragraph_start_indent, fill_column, paragraph_start_indent,
DEFAULT_SPLIT_SIZE); DEFAULT_SPLIT_SIZE);
puts ("\n"); puts ("\n");
puts (_("\
Options for HTML:\n\
--css-include=FILE include FILE in HTML <style> output;\n\
read stdin if FILE is -.\n\
"));
puts (_("\ puts (_("\
Input file options:\n\ Input file options:\n\
--commands-in-node-names allow @ commands in node names.\n\ --commands-in-node-names allow @ commands in node names.\n\
-D VAR define the variable VAR, as with @set.\n\ -D VAR define the variable VAR, as with @set.\n\
-I DIR append DIR to the @include search path.\n\ -I DIR append DIR to the @include search path.\n\
-P DIR prepend DIR to the @include search path.\n\ -P DIR prepend DIR to the @include search path.\n\
-U VAR undefine the variable VAR, as with @clear.\n\ -U VAR undefine the variable VAR, as with @clear.\n\
")); "));
puts (_("\ puts (_("\
@ -463,6 +466,7 @@ Conditional processing in input:\n\
if generating HTML, --ifhtml is on and the others are off;\n\ if generating HTML, --ifhtml is on and the others are off;\n\
if generating Info, --ifinfo is on and the others are off;\n\ if generating Info, --ifinfo is on and the others are off;\n\
if generating plain text, --ifplaintext is on and the others are off;\n\ if generating plain text, --ifplaintext is on and the others are off;\n\
if generating XML, --ifxml is on and the others are off.\n\
")); "));
fputs (_("\ fputs (_("\
@ -491,6 +495,7 @@ Texinfo home page: http://www.gnu.org/software/texinfo/"));
struct option long_options[] = struct option long_options[] =
{ {
{ "commands-in-node-names", 0, &expensive_validation, 1 }, { "commands-in-node-names", 0, &expensive_validation, 1 },
{ "css-include", 1, 0, 'C' },
{ "docbook", 0, 0, 'd' }, { "docbook", 0, 0, 'd' },
{ "enable-encoding", 0, &enable_encoding, 1 }, { "enable-encoding", 0, &enable_encoding, 1 },
{ "error-limit", 1, 0, 'e' }, { "error-limit", 1, 0, 'e' },
@ -564,6 +569,10 @@ main (argc, argv)
switch (c) switch (c)
{ {
case 'C': /* --css-include */
css_include = xstrdup (optarg);
break;
case 'D': case 'D':
case 'U': case 'U':
/* User specified variable to set or clear. */ /* User specified variable to set or clear. */
@ -717,7 +726,7 @@ For more information about these matters, see the files named COPYING.\n"),
xml = 1; xml = 1;
process_xml = 1; process_xml = 1;
break; break;
case '?': case '?':
usage (1); usage (1);
break; break;
@ -741,11 +750,11 @@ For more information about these matters, see the files named COPYING.\n"),
if (no_headers) if (no_headers)
{ {
if (html && splitting) if (html && splitting && !STREQ (command_output_filename, "-"))
{ /* --no-headers --no-split --html indicates confusion. */ { /* --no-headers --no-split --html indicates confusion. */
fprintf (stderr, fprintf (stderr,
"%s: --no-headers conflicts with --no-split for --html.\n", "%s: can't split --html output to `%s' with --no-headers.\n",
progname); progname, command_output_filename);
usage (1); usage (1);
} }
@ -756,7 +765,7 @@ For more information about these matters, see the files named COPYING.\n"),
if (!command_output_filename) if (!command_output_filename)
command_output_filename = xstrdup ("-"); command_output_filename = xstrdup ("-");
} }
if (process_info == -1) if (process_info == -1)
{ /* no explicit --[no-]ifinfo option, so we'll do @ifinfo { /* no explicit --[no-]ifinfo option, so we'll do @ifinfo
if we're generating info or (for compatibility) plain text. */ if we're generating info or (for compatibility) plain text. */
@ -768,7 +777,7 @@ For more information about these matters, see the files named COPYING.\n"),
if we're generating plain text. */ if we're generating plain text. */
process_plaintext = no_headers && !html && !xml; process_plaintext = no_headers && !html && !xml;
} }
if (verbose_mode) if (verbose_mode)
print_version_info (); print_version_info ();
@ -782,7 +791,8 @@ For more information about these matters, see the files named COPYING.\n"),
else else
convert_from_stream (stdin, "stdin"); convert_from_stream (stdin, "stdin");
return errors_printed ? 2 : 0; xexit (errors_printed ? 2 : 0);
return 0; /* Avoid bogus warnings. */
} }
@ -840,7 +850,7 @@ self_delimiting (character)
{ {
/* @; and @\ are not Texinfo commands, but they are listed here /* @; and @\ are not Texinfo commands, but they are listed here
anyway. I don't know why. --karl, 10aug96. */ anyway. I don't know why. --karl, 10aug96. */
return strchr ("~{|}`^\\@?=;:.-,*\'\" !\n\t", character) != NULL; return strchr ("~{|}`^\\@?=;:./-,*\'\" !\n\t", character) != NULL;
} }
/* Clear whitespace from the front and end of string. */ /* Clear whitespace from the front and end of string. */
@ -1167,6 +1177,8 @@ get_until_in_braces (match, string)
input_text_offset = i; input_text_offset = i;
*string = temp; *string = temp;
} }
/* Converting a file. */ /* Converting a file. */
@ -1321,12 +1333,12 @@ convert_from_file (name)
/* Given OUTPUT_FILENAME == ``/foo/bar/baz.html'', return /* Given OUTPUT_FILENAME == ``/foo/bar/baz.html'', return
"/foo/bar/baz/baz.html". This routine is called only if html && splitting. "/foo/bar/baz/baz.html". This routine is called only if html && splitting.
Split html output goes into the subdirectory of the toplevel Split html output goes into the subdirectory of the toplevel
filename, without extension. For example: filename, without extension. For example:
@setfilename foo.info @setfilename foo.info
produces output in files foo/index.html, foo/second-node.html, ... produces output in files foo/index.html, foo/second-node.html, ...
But if the user said -o foo.whatever on the cmd line, then use But if the user said -o foo.whatever on the cmd line, then use
foo.whatever unchanged. */ foo.whatever unchanged. */
@ -1334,16 +1346,16 @@ static char *
insert_toplevel_subdirectory (output_filename) insert_toplevel_subdirectory (output_filename)
char *output_filename; char *output_filename;
{ {
static const char index_name[] = "index.html";
char *dir, *subdir, *base, *basename, *p; char *dir, *subdir, *base, *basename, *p;
char buf[PATH_MAX]; char buf[PATH_MAX];
struct stat st; struct stat st;
static const char index_name[] = "index.html";
const int index_len = sizeof (index_name) - 1; const int index_len = sizeof (index_name) - 1;
strcpy (buf, output_filename); strcpy (buf, output_filename);
dir = pathname_part (buf); dir = pathname_part (buf); /* directory of output_filename */
base = filename_part (buf); base = filename_part (buf); /* strips suffix, too */
basename = xstrdup (base); /* remember real @setfilename name */ basename = xstrdup (base); /* remember real @setfilename name */
p = dir + strlen (dir) - 1; p = dir + strlen (dir) - 1;
if (p > dir && IS_SLASH (*p)) if (p > dir && IS_SLASH (*p))
*p = 0; *p = 0;
@ -1352,15 +1364,11 @@ insert_toplevel_subdirectory (output_filename)
*p = 0; *p = 0;
/* Split html output goes into subdirectory of toplevel name. */ /* Split html output goes into subdirectory of toplevel name. */
subdir = ""; if (save_command_output_filename
if (FILENAME_CMP (base, filename_part (dir)) != 0) && STREQ (output_filename, save_command_output_filename))
{ subdir = basename; /* from user, use unchanged */
if (save_command_output_filename else
&& STREQ (output_filename, save_command_output_filename)) subdir = base; /* implicit, omit suffix */
subdir = basename; /* from user, use unchanged */
else
subdir = base; /* implicit, omit suffix */
}
free (output_filename); free (output_filename);
output_filename = xmalloc (strlen (dir) + 1 output_filename = xmalloc (strlen (dir) + 1
@ -1371,7 +1379,7 @@ insert_toplevel_subdirectory (output_filename)
if (strlen (dir)) if (strlen (dir))
strcat (output_filename, "/"); strcat (output_filename, "/");
strcat (output_filename, subdir); strcat (output_filename, subdir);
if (mkdir (output_filename, 0777) == -1 && errno != EEXIST if ((mkdir (output_filename, 0777) == -1 && errno != EEXIST)
/* output_filename might exist, but be a non-directory. */ /* output_filename might exist, but be a non-directory. */
|| (stat (output_filename, &st) == 0 && !S_ISDIR (st.st_mode))) || (stat (output_filename, &st) == 0 && !S_ISDIR (st.st_mode)))
{ /* that failed, try subdir name with .html */ { /* that failed, try subdir name with .html */
@ -1381,7 +1389,7 @@ insert_toplevel_subdirectory (output_filename)
strcat (output_filename, basename); strcat (output_filename, basename);
if (mkdir (output_filename, 0777) == -1) if (mkdir (output_filename, 0777) == -1)
{ {
char *errmsg = strerror (errno); const char *errmsg = strerror (errno);
if ((errno == EEXIST if ((errno == EEXIST
#ifdef __MSDOS__ #ifdef __MSDOS__
@ -1444,7 +1452,7 @@ convert_from_loaded_file (name)
command_output_filename = output_name_from_input_name (name); command_output_filename = output_name_from_input_name (name);
#endif /* !REQUIRE_SETFILENAME */ #endif /* !REQUIRE_SETFILENAME */
} }
{ {
int i, end_of_first_line; int i, end_of_first_line;
@ -1592,7 +1600,7 @@ convert_from_loaded_file (name)
reader_loop (); reader_loop ();
if (xml) if (xml)
xml_end_document (); xml_end_document ();
finished: finished:
discard_insertions (0); discard_insertions (0);
@ -1631,7 +1639,18 @@ finished:
close_paragraph (); close_paragraph ();
} }
/* maybe we want local variables in info output. */
{
char *trailer = info_trailer ();
if (trailer)
{
insert_string (trailer);
free (trailer);
}
}
flush_output (); /* in case there was no @bye */ flush_output (); /* in case there was no @bye */
if (output_stream != stdout) if (output_stream != stdout)
fclose (output_stream); fclose (output_stream);
@ -1660,6 +1679,29 @@ finished:
free (real_output_filename); free (real_output_filename);
} }
/* If enable_encoding and document_encoding are both set, return a Local
Variables section (as a malloc-ed string) so that Emacs' locale
features can work. Else return NULL. */
char *
info_trailer ()
{
if (!enable_encoding || document_encoding_code <= US_ASCII)
return NULL;
{
#define LV_FMT "\n\037\nLocal Variables:\ncoding: %s\nEnd:\n"
char *enc_name = encoding_table[document_encoding_code].encname;
char *lv = xmalloc (sizeof (LV_FMT) + strlen (enc_name));
sprintf (lv, LV_FMT, enc_name);
return lv;
}
}
void void
free_and_clear (pointer) free_and_clear (pointer)
char **pointer; char **pointer;
@ -1712,10 +1754,10 @@ static void
handle_menu_entry () handle_menu_entry ()
{ {
char *tem; char *tem;
/* Ugh, glean_node_from_menu wants to read the * itself. */ /* Ugh, glean_node_from_menu wants to read the * itself. */
input_text_offset--; input_text_offset--;
/* Find node name in menu entry and save it in references list for /* Find node name in menu entry and save it in references list for
later validation. Use followed_reference type for detailmenu later validation. Use followed_reference type for detailmenu
references since we don't want to use them for default node pointers. */ references since we don't want to use them for default node pointers. */
@ -1744,7 +1786,7 @@ handle_menu_entry ()
add_word ("<p>\n"); add_word ("<p>\n");
in_paragraph = 1; in_paragraph = 1;
} }
if (in_paragraph) if (in_paragraph)
{ {
add_word ("</p>"); add_word ("</p>");
@ -1784,7 +1826,7 @@ handle_menu_entry ()
add_word (": "); add_word (": ");
} }
else if (xml && tem) else if (xml && tem)
{ {
xml_start_menu_entry (tem); xml_start_menu_entry (tem);
} }
else if (tem) else if (tem)
@ -2006,7 +2048,7 @@ reader_loop ()
input_text_offset++; input_text_offset++;
} }
break; break;
/* Escapes for HTML unless we're outputting raw HTML. Do /* Escapes for HTML unless we're outputting raw HTML. Do
this always, even if SGML rules don't require it since this always, even if SGML rules don't require it since
that's easier and safer for non-conforming browsers. */ that's easier and safer for non-conforming browsers. */
@ -2094,7 +2136,7 @@ remember_brace (proc)
COMMAND_FUNCTION *proc; COMMAND_FUNCTION *proc;
{ {
if (curchar () != '{') if (curchar () != '{')
line_error (_("%c%s expected `{...}'"), COMMAND_PREFIX, command); line_error (_("%c%s expected braces"), COMMAND_PREFIX, command);
else else
input_text_offset++; input_text_offset++;
remember_brace_1 (proc, output_paragraph_offset); remember_brace_1 (proc, output_paragraph_offset);
@ -2165,7 +2207,7 @@ adjust_braces_following (here, amount)
/* Return the string which invokes PROC; a pointer to a function. /* Return the string which invokes PROC; a pointer to a function.
Always returns the first function in the command table if more than Always returns the first function in the command table if more than
one matches PROC. */ one matches PROC. */
static char * static const char *
find_proc_name (proc) find_proc_name (proc)
COMMAND_FUNCTION *proc; COMMAND_FUNCTION *proc;
{ {
@ -2191,7 +2233,7 @@ discard_braces ()
{ {
if (brace_stack->proc != misplaced_brace) if (brace_stack->proc != misplaced_brace)
{ {
char *proc_name; const char *proc_name;
proc_name = find_proc_name (brace_stack->proc); proc_name = find_proc_name (brace_stack->proc);
file_line_error (input_filename, brace_stack->line, file_line_error (input_filename, brace_stack->line,
@ -2245,10 +2287,10 @@ get_char_len (character)
void void
#if defined (VA_FPRINTF) && __STDC__ #if defined (VA_FPRINTF) && __STDC__
add_word_args (char *format, ...) add_word_args (const char *format, ...)
#else #else
add_word_args (format, va_alist) add_word_args (format, va_alist)
char *format; const char *format;
va_dcl va_dcl
#endif #endif
{ {
@ -2288,6 +2330,27 @@ add_html_elt (string)
in_html_elt--; in_html_elt--;
} }
/* Here is another awful kludge, used in add_char. Ordinarily, macro
expansions take place in the body of the document, and therefore we
should html_output_head when we see one. But there's an exception: a
macro call might take place within @copying, and that does not start
the real output, even though we fully expand the copying text.
So we need to be able to check if we are defining the @copying text.
We do this by looking back through the insertion stack. */
static int
defining_copying ()
{
INSERTION_ELT *i;
for (i = insertion_stack; i; i = i->next)
{
if (i->insertion == copying)
return 1;
}
return 0;
}
/* Add the character to the current paragraph. If filling_enabled is /* Add the character to the current paragraph. If filling_enabled is
nonzero, then do filling as well. */ nonzero, then do filling as well. */
void void
@ -2326,10 +2389,10 @@ add_char (character)
{ {
if (html || docbook) if (html || docbook)
{ /* Seems cleaner to use &nbsp; than an 8-bit char. */ { /* Seems cleaner to use &nbsp; than an 8-bit char. */
int saved_escape_html = escape_html; int saved_escape_html = escape_html;
escape_html = 0; escape_html = 0;
add_word ("&nbsp"); add_word ("&nbsp");
escape_html = saved_escape_html; escape_html = saved_escape_html;
character = ';'; character = ';';
} }
else else
@ -2404,7 +2467,7 @@ add_char (character)
any order and with any omissions, and we'll still output any order and with any omissions, and we'll still output
the html <head> `just in time'. */ the html <head> `just in time'. */
if ((executing_macro || !executing_string) if ((executing_macro || !executing_string)
&& html && !html_output_head_p) && html && !html_output_head_p && !defining_copying ())
html_output_head (); html_output_head ();
if (!paragraph_is_open) if (!paragraph_is_open)
@ -3001,16 +3064,16 @@ cm_xref (arg)
char *arg1_id = xml_id (arg1); char *arg1_id = xml_id (arg1);
if (*arg2) if (*arg2)
{ {
xml_insert_element_with_attribute (XREFNODENAME, START, xml_insert_element_with_attribute (XREFNODENAME, START,
"linkend=\"%s\"", arg1_id); "linkend=\"%s\"", arg1_id);
free (arg1_id); free (arg1_id);
if (*arg2) if (*arg2)
execute_string (arg2); execute_string (arg2);
xml_insert_element (XREFNODENAME, END); xml_insert_element (XREFNODENAME, END);
} }
else else
{ {
xml_insert_element_with_attribute (XREF, START, xml_insert_element_with_attribute (XREF, START,
"linkend=\"%s\"", arg1_id); "linkend=\"%s\"", arg1_id);
free (arg1_id); free (arg1_id);
xml_pop_current_element (); xml_pop_current_element ();
@ -3328,7 +3391,7 @@ cm_uref (arg)
execute_string (replacement); execute_string (replacement);
xml_insert_element (UREFREPLACEMENT, END); xml_insert_element (UREFREPLACEMENT, END);
} }
xml_insert_element (UREF, END); xml_insert_element (UREF, END);
} }
else if (html) else if (html)
{ /* never need to show the url */ { /* never need to show the url */
@ -3384,7 +3447,7 @@ cm_email (arg)
xml_insert_element_with_attribute (EMAIL, START, "url=\"mailto:%s\"", addr); xml_insert_element_with_attribute (EMAIL, START, "url=\"mailto:%s\"", addr);
if (*name) if (*name)
execute_string (name); execute_string (name);
xml_insert_element (EMAIL, END); xml_insert_element (EMAIL, END);
} }
else if (xml) else if (xml)
{ {
@ -3398,7 +3461,7 @@ cm_email (arg)
execute_string (name); execute_string (name);
xml_insert_element (EMAILNAME, END); xml_insert_element (EMAILNAME, END);
} }
xml_insert_element (EMAIL, END); xml_insert_element (EMAIL, END);
} }
else if (html) else if (html)
{ {
@ -3445,34 +3508,48 @@ cm_image (arg)
if (*name_arg) if (*name_arg)
{ {
struct stat file_info;
char *pathname = NULL;
char *fullname = xmalloc (strlen (name_arg) char *fullname = xmalloc (strlen (name_arg)
+ (ext_arg && *ext_arg ? strlen (ext_arg) + 1 : 4) + 1); + (ext_arg && *ext_arg ? strlen (ext_arg) + 1 : 4) + 1);
if (html) if (ext_arg && *ext_arg)
{
sprintf (fullname, "%s.%s", name_arg, ext_arg);
if (access (fullname, R_OK) != 0)
pathname = get_file_info_in_path (fullname, include_files_path,
&file_info);
}
else
{ {
if (ext_arg && *ext_arg)
{
sprintf (fullname, "%s.%s", name_arg, ext_arg);
if (access (fullname, R_OK) != 0)
{
line_error(_("@image file `%s' (for HTML) not readable: %s"),
fullname, strerror (errno));
return;
}
}
else
{
sprintf (fullname, "%s.png", name_arg); sprintf (fullname, "%s.png", name_arg);
if (access (fullname, R_OK) != 0) if (access (fullname, R_OK) != 0)
{ {
sprintf (fullname, "%s.jpg", name_arg); pathname = get_file_info_in_path (fullname,
if (access (fullname, R_OK) != 0) include_files_path, &file_info);
if (pathname == NULL)
{ {
line_error (_("No `%s.png' or `.jpg', and no extension supplied"), sprintf (fullname, "%s.jpg", name_arg);
name_arg); if (access (fullname, R_OK) != 0)
return; pathname = get_file_info_in_path (fullname,
include_files_path, &file_info);
} }
} }
}
if (html)
{
if (pathname == NULL && access (fullname, R_OK) != 0)
{
line_error(_("@image file `%s' (for HTML) not readable: %s"),
fullname, strerror (errno));
return;
}
if (pathname != NULL && access (pathname, R_OK) != 0)
{
line_error (_("No such file `%s'"),
fullname);
return;
} }
add_html_elt ("<img src="); add_html_elt ("<img src=");
@ -3484,17 +3561,32 @@ cm_image (arg)
xml_insert_docbook_image (name_arg); xml_insert_docbook_image (name_arg);
else if (xml) else if (xml)
{ {
xml_insert_element_with_attribute (IMAGE, START, "width=\"%s\" height=\"%s\" alttext=\"%s\" extension=\"%s\"", w_arg, h_arg, alt_arg, ext_arg); xml_insert_element_with_attribute (IMAGE, START, "width=\"%s\" height=\"%s\" alttext=\"%s\" extension=\"%s\"",
w_arg, h_arg, alt_arg, ext_arg);
add_word (name_arg); add_word (name_arg);
xml_insert_element (IMAGE, END); xml_insert_element (IMAGE, END);
} }
else else
{ /* Try to open foo.txt. */ { /* Try to open foo.EXT or foo.txt. */
FILE *image_file; FILE *image_file;
strcpy (fullname, name_arg); char *txtpath = NULL;
strcat (fullname, ".txt"); char *txtname = xmalloc (strlen (name_arg)
image_file = fopen (fullname, "r"); + (ext_arg && *ext_arg
if (image_file) ? strlen (ext_arg) + 1 : 4) + 1);
strcpy (txtname, name_arg);
strcat (txtname, ".txt");
image_file = fopen (txtname, "r");
if (image_file == NULL)
{
txtpath = get_file_info_in_path (txtname,
include_files_path, &file_info);
if (txtpath != NULL)
image_file = fopen (txtpath, "r");
}
if (image_file != NULL
|| access (fullname, R_OK) == 0
|| (pathname != NULL && access (pathname, R_OK) == 0))
{ {
int ch; int ch;
int save_inhibit_indentation = inhibit_paragraph_indentation; int save_inhibit_indentation = inhibit_paragraph_indentation;
@ -3504,25 +3596,50 @@ cm_image (arg)
filling_enabled = 0; filling_enabled = 0;
last_char_was_newline = 0; last_char_was_newline = 0;
/* Maybe we need to remove the final newline if the image /* Write magic ^@^H[image ...^@^H] cookie in the info file. */
file is only one line to allow in-line images. On the add_char ('\0');
other hand, they could just make the file without a add_word ("\010[image");
final newline. */
while ((ch = getc (image_file)) != EOF) if (access (fullname, R_OK) == 0
add_char (ch); || (pathname != NULL && access (pathname, R_OK) == 0))
add_word_args (" src=%s", fullname);
if (*alt_arg)
add_word_args (" alt=\"%s\"", alt_arg);
if (image_file != NULL)
{
add_word (" text=\"");
/* Maybe we need to remove the final newline if the image
file is only one line to allow in-line images. On the
other hand, they could just make the file without a
final newline. */
while ((ch = getc (image_file)) != EOF)
{
if (ch == '"' || ch == '\\')
add_char ('\\');
add_char (ch);
}
add_char ('"');
if (fclose (image_file) != 0)
perror (txtname);
}
inhibit_paragraph_indentation = save_inhibit_indentation; inhibit_paragraph_indentation = save_inhibit_indentation;
filling_enabled = save_filling_enabled; filling_enabled = save_filling_enabled;
if (fclose (image_file) != 0) add_char ('\0');
perror (fullname); add_word ("\010]");
} }
else else
line_error (_("@image file `%s' (for text) unreadable: %s"), line_error (_("@image file `%s' (for text) unreadable: %s"),
fullname, strerror (errno)); txtname, strerror (errno));
} }
free (fullname); free (fullname);
if (pathname)
free (pathname);
} }
else else
line_error (_("@image missing filename argument")); line_error (_("@image missing filename argument"));
@ -3722,7 +3839,10 @@ cm_value (arg, start_pos, end_pos)
if (value) if (value)
execute_string ("%s", value); execute_string ("%s", value);
else else
{
warning (_("undefined flag: %s"), name);
add_word_args (_("{No value for `%s'}"), name); add_word_args (_("{No value for `%s'}"), name);
}
free (name); free (name);
} }
@ -4055,7 +4175,7 @@ expansion (str, implicit_code)
int implicit_code; int implicit_code;
{ {
char *result; char *result;
/* Inhibit indentation and filling, so that extra newlines /* Inhibit indentation and filling, so that extra newlines
are not added to the expansion. (This is undesirable if are not added to the expansion. (This is undesirable if
we write the expanded text to macro_expansion_output_stream.) */ we write the expanded text to macro_expansion_output_stream.) */
@ -4068,14 +4188,14 @@ expansion (str, implicit_code)
indented_fill = 0; indented_fill = 0;
no_indent = 1; no_indent = 1;
escape_html = 0; escape_html = 0;
result = full_expansion (str, implicit_code); result = full_expansion (str, implicit_code);
filling_enabled = saved_filling_enabled; filling_enabled = saved_filling_enabled;
indented_fill = saved_indented_fill; indented_fill = saved_indented_fill;
no_indent = saved_no_indent; no_indent = saved_no_indent;
escape_html = saved_escape_html; escape_html = saved_escape_html;
return result; return result;
} }
@ -4150,13 +4270,13 @@ text_expansion (str)
char *ret; char *ret;
int save_html = html; int save_html = html;
int save_xml = xml; int save_xml = xml;
html = 0; html = 0;
xml = 0; xml = 0;
ret = expansion (str, 0); ret = expansion (str, 0);
html = save_html; html = save_html;
xml = save_xml; xml = save_xml;
return ret; return ret;
} }

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -14,7 +14,7 @@
@SET_MAKE@ @SET_MAKE@
# Id: Makefile.am,v 1.2 2003/01/12 15:19:01 karl Exp # Id: Makefile.am,v 1.3 2003/02/16 17:31:08 karl Exp
# Makefile.am for texinfo/tests/makeinfo. # Makefile.am for texinfo/tests/makeinfo.
# #
# This file is free software; as a special exception the author gives # This file is free software; as a special exception the author gives
@ -162,7 +162,8 @@ TESTS = accent accentenc \
macro-at menu-whitespace \ macro-at menu-whitespace \
no-headers \ no-headers \
node-expand node-value node-whitespace \ node-expand node-value node-whitespace \
top top2 top top2 \
twofiles
noinst_SCRIPTS = $(TESTS) noinst_SCRIPTS = $(TESTS)
@ -177,6 +178,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
top.txi top2.txi top.txi top2.txi
subdir = makeinfo/tests subdir = makeinfo/tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -310,7 +312,6 @@ check: check-am
all-am: Makefile $(SCRIPTS) all-am: Makefile $(SCRIPTS)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am

View File

@ -1,5 +1,5 @@
# Makefile for PO directory in any package using GNU gettext. # Makefile for PO directory in any package using GNU gettext.
# Copyright (C) 1995-1997, 2000-2002 by Ulrich Drepper <drepper@gnu.ai.mit.edu> # Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
# #
# This file can be copied and used freely without restrictions. It can # This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public # be used in projects which are not available under the GNU General Public
@ -27,7 +27,7 @@ gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
@ -42,9 +42,9 @@ POFILES = @POFILES@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
UPDATEPOFILES = @UPDATEPOFILES@ UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@
DISTFILES.common = Makefile.in.in Makevars remove-potcdate.sin \ DISTFILES.common = Makefile.in.in remove-potcdate.sin \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
DISTFILES = $(DISTFILES.common) POTFILES.in $(DOMAIN).pot \ DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
$(POFILES) $(GMOFILES) \ $(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
@ -74,18 +74,35 @@ CATALOGS = @CATALOGS@
all: all-@USE_NLS@ all: all-@USE_NLS@
all-yes: $(CATALOGS) all-yes: stamp-po
all-no: all-no:
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
# been loosely updated. Its purpose is that when a developer or translator
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
# invocations of "make" will do nothing. This timestamp would not be necessary
# if updating the $(CATALOGS) would always touch them; however, the rule for
# $(POFILES) has been designed to not touch files that don't need to be
# changed.
stamp-po: $(srcdir)/$(DOMAIN).pot
test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
@echo "touch stamp-po"
@echo timestamp > stamp-poT
@mv stamp-poT stamp-po
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
# otherwise packages like GCC can not be built if only parts of the source # otherwise packages like GCC can not be built if only parts of the source
# have been downloaded. # have been downloaded.
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
--files-from=$(srcdir)/POTFILES.in \ --files-from=$(srcdir)/POTFILES.in \
--copyright-holder='$(COPYRIGHT_HOLDER)' --copyright-holder='$(COPYRIGHT_HOLDER)' \
--msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
test ! -f $(DOMAIN).po || { \ test ! -f $(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \ if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@ -101,9 +118,14 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
fi; \ fi; \
} }
# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
# every "make" invocation, only create it when it is missing.
# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
$(srcdir)/$(DOMAIN).pot: $(srcdir)/$(DOMAIN).pot:
$(MAKE) $(DOMAIN).pot-update $(MAKE) $(DOMAIN).pot-update
# This target rebuilds a PO file if $(DOMAIN).pot has changed.
# Note that a PO file is not touched if it doesn't need to be changed.
$(POFILES): $(srcdir)/$(DOMAIN).pot $(POFILES): $(srcdir)/$(DOMAIN).pot
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
@ -114,12 +136,15 @@ $(POFILES): $(srcdir)/$(DOMAIN).pot
install: install-exec install-data install: install-exec install-data
install-exec: install-exec:
install-data: install-data-@USE_NLS@ install-data: install-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext"; then \ if test "$(PACKAGE)" = "gettext-tools"; then \
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
for file in $(DISTFILES.common); do \ for file in $(DISTFILES.common) Makevars.template; do \
$(INSTALL_DATA) $(srcdir)/$$file \ $(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \ $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \ done; \
for file in Makevars; do \
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
else \ else \
: ; \ : ; \
fi fi
@ -170,7 +195,7 @@ install-strip: install
installdirs: installdirs-exec installdirs-data installdirs: installdirs-exec installdirs-data
installdirs-exec: installdirs-exec:
installdirs-data: installdirs-data-@USE_NLS@ installdirs-data: installdirs-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext"; then \ if test "$(PACKAGE)" = "gettext-tools"; then \
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
else \ else \
: ; \ : ; \
@ -215,8 +240,8 @@ installcheck:
uninstall: uninstall-exec uninstall-data uninstall: uninstall-exec uninstall-data
uninstall-exec: uninstall-exec:
uninstall-data: uninstall-data-@USE_NLS@ uninstall-data: uninstall-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext"; then \ if test "$(PACKAGE)" = "gettext-tools"; then \
for file in $(DISTFILES.common); do \ for file in $(DISTFILES.common) Makevars.template; do \
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \ done; \
else \ else \
@ -235,10 +260,11 @@ uninstall-data-yes:
check: all check: all
dvi info tags TAGS ID: info dvi ps pdf html tags TAGS ctags CTAGS ID:
mostlyclean: mostlyclean:
rm -f remove-potcdate.sed rm -f remove-potcdate.sed
rm -f stamp-poT
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
rm -fr *.o rm -fr *.o
@ -250,7 +276,7 @@ distclean: clean
maintainer-clean: distclean maintainer-clean: distclean
@echo "This command is intended for maintainers to use;" @echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
rm -f $(GMOFILES) rm -f stamp-po $(GMOFILES)
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir: dist distdir:
@ -259,7 +285,17 @@ dist distdir:
# This is a separate target because 'update-po' must be executed before. # This is a separate target because 'update-po' must be executed before.
dist2: $(DISTFILES) dist2: $(DISTFILES)
dists="$(DISTFILES)"; \ dists="$(DISTFILES)"; \
if test -f $(srcdir)/ChangeLog; then dists="$$dists ChangeLog"; fi; \ if test "$(PACKAGE)" = "gettext-tools"; then \
dists="$$dists Makevars.template"; \
fi; \
if test -f $(srcdir)/ChangeLog; then \
dists="$$dists ChangeLog"; \
fi; \
for i in 0 1 2 3 4 5 6 7 8 9; do \
if test -f $(srcdir)/ChangeLog.$$i; then \
dists="$$dists ChangeLog.$$i"; \
fi; \
done; \
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
for file in $$dists; do \ for file in $$dists; do \
if test -f $$file; then \ if test -f $$file; then \
@ -271,14 +307,14 @@ dist2: $(DISTFILES)
update-po: Makefile update-po: Makefile
$(MAKE) $(DOMAIN).pot-update $(MAKE) $(DOMAIN).pot-update
$(MAKE) $(UPDATEPOFILES) test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
$(MAKE) update-gmo $(MAKE) update-gmo
# General rule for updating PO files. # General rule for updating PO files.
.nop.po-update: .nop.po-update:
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
tmpdir=`pwd`; \ tmpdir=`pwd`; \
echo "$$lang:"; \ echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
@ -305,7 +341,7 @@ $(DUMMYPOFILES):
update-gmo: Makefile $(GMOFILES) update-gmo: Makefile $(GMOFILES)
@: @:
Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
cd $(top_builddir) \ cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
$(SHELL) ./config.status $(SHELL) ./config.status

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.7.3 from Makefile.am. # Makefile.in generated by automake 1.7.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@ -14,7 +14,7 @@
@SET_MAKE@ @SET_MAKE@
# Id: Makefile.am,v 1.6 2003/01/31 16:26:23 karl Exp # Id: Makefile.am,v 1.7 2003/04/05 23:09:26 karl Exp
# Makefile.am for texinfo/util. # Makefile.am for texinfo/util.
# Run automake in .. to produce Makefile.in from this. # Run automake in .. to produce Makefile.in from this.
# #
@ -50,7 +50,7 @@ host_triplet = @host@
# Transform `ginstall-info' to `install-info' before applying any # Transform `ginstall-info' to `install-info' before applying any
# user-specified name transformations. # user-specified name transformations.
transform = s/ginstall-info/install-info/; @program_transform_name@ transform = s/ginstall-info/install-info/; $(program_transform_name)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
@ -169,7 +169,7 @@ ginstall_info_SOURCES = install-info.c
localedir = $(datadir)/locale localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\"
LDADD = ../lib/libtxi.a @LIBINTL@ LDADD = ../lib/libtxi.a $(LIBINTL)
# Most of these are for fun. The only one that's really supported is texi2dvi. # Most of these are for fun. The only one that's really supported is texi2dvi.
# #
@ -183,6 +183,7 @@ EXTRA_DIST = README deref.c dir-example fix-info-dir fixfonts \
prepinfo.awk tex3patch texi-docstring-magic.el texi2dvi txitextest prepinfo.awk tex3patch texi-docstring-magic.el texi2dvi txitextest
subdir = util subdir = util
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -290,7 +291,7 @@ distclean-depend:
.c.o: .c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -301,7 +302,7 @@ distclean-depend:
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi @am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -401,7 +402,6 @@ all-am: Makefile $(PROGRAMS) $(SCRIPTS)
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir)
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am

View File

@ -1,7 +1,7 @@
/* $NetBSD: install-info.c,v 1.5 2003/02/13 08:57:28 wiz Exp $ */ /* $NetBSD: install-info.c,v 1.6 2003/07/03 15:09:21 wiz Exp $ */
/* install-info -- create Info directory entry(ies) for an Info file. /* install-info -- create Info directory entry(ies) for an Info file.
Id: install-info.c,v 1.7 2003/01/19 18:46:51 karl Exp Id: install-info.c,v 1.9 2003/05/19 13:10:59 karl Exp
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
Foundation, Inc. Foundation, Inc.
@ -167,33 +167,6 @@ fatal (s1, s2, s3)
xexit (1); xexit (1);
} }
/* Memory allocation and string operations. */
/* Like malloc but get fatal error if memory is exhausted. */
void *
xmalloc (size)
unsigned int size;
{
extern void *malloc ();
void *result = malloc (size);
if (result == NULL)
fatal (_("virtual memory exhausted"), 0, 0);
return result;
}
/* Like realloc but get fatal error if memory is exhausted. */
void *
xrealloc (obj, size)
void *obj;
unsigned int size;
{
extern void *realloc ();
void *result = realloc (obj, size);
if (result == NULL)
fatal (_("virtual memory exhausted"), 0, 0);
return result;
}
/* Return a newly-allocated string /* Return a newly-allocated string
whose contents concatenate those of S1, S2, S3. */ whose contents concatenate those of S1, S2, S3. */
char * char *
@ -1401,7 +1374,7 @@ For more information about these matters, see the files named COPYING.\n"),
} }
if (!spec || spec == entry->entry_sections_tail) if (!spec || spec == entry->entry_sections_tail)
continue; continue;
/* Subtract one because dir_lines is zero-based, /* Subtract one because dir_lines is zero-based,
but the `end_line' and `start_line' members are but the `end_line' and `start_line' members are
one-based. */ one-based. */
@ -1446,6 +1419,7 @@ For more information about these matters, see the files named COPYING.\n"),
entries_to_add, input_sections, compression_program); entries_to_add, input_sections, compression_program);
xexit (0); xexit (0);
return 0; /* Avoid bogus warnings. */
} }
/* Divide the text at DATA (of SIZE bytes) into lines. /* Divide the text at DATA (of SIZE bytes) into lines.

View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# texi2dvi --- produce DVI (or PDF) files from Texinfo (or LaTeX) sources. # texi2dvi --- produce DVI (or PDF) files from Texinfo (or LaTeX) sources.
# Id: texi2dvi,v 1.14 2003/02/05 00:42:33 karl Exp # Id: texi2dvi,v 1.23 2003/06/10 20:50:03 karl Exp
# #
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
# 2002, 2003 Free Software Foundation, Inc. # 2002, 2003 Free Software Foundation, Inc.
@ -27,10 +27,10 @@
# the `--debug' option when making a bug report. # the `--debug' option when making a bug report.
# This string is expanded by rcs automatically when this file is checked out. # This string is expanded by rcs automatically when this file is checked out.
rcs_revision='Revision: 1.14' rcs_revision='Revision: 1.23'
rcs_version=`set - $rcs_revision; echo $2` rcs_version=`set - $rcs_revision; echo $2`
program=`echo $0 | sed -e 's!.*/!!'` program=`echo $0 | sed -e 's!.*/!!'`
version="texi2dvi (GNU Texinfo 4.5) $rcs_version version="texi2dvi (GNU Texinfo 4.6) $rcs_version
Copyright (C) 2003 Free Software Foundation, Inc. Copyright (C) 2003 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software There is NO warranty. You may redistribute this software
@ -65,12 +65,13 @@ TeX tuning:
-I DIR search DIR for Texinfo files -I DIR search DIR for Texinfo files
-l, --language=LANG specify the LANG of FILE (LaTeX or Texinfo) -l, --language=LANG specify the LANG of FILE (LaTeX or Texinfo)
-p, --pdf use pdftex or pdflatex for processing -p, --pdf use pdftex or pdflatex for processing
-t, --texinfo=CMD insert CMD after @setfilename in copy of input file -t, --command=CMD insert CMD in copy of input file;
multiple values accumulate or --texinfo=CMD multiple values accumulate
The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO, The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO, TEX
TEX (or PDFTEX), and TEXINDEX environment variables are used to run (or PDFTEX), and TEXINDEX environment variables are used to run those
those commands, if they are set. commands, if they are set. Any CMD strings are added after @setfilename
for Texinfo input, in the first line for LaTeX input.
Email bug reports to <bug-texinfo@gnu.org>, Email bug reports to <bug-texinfo@gnu.org>,
general questions and discussion to <help-texinfo@gnu.org>. general questions and discussion to <help-texinfo@gnu.org>.
@ -89,7 +90,8 @@ oformat=dvi
oname= # --output oname= # --output
quiet= # by default let the tools' message be displayed quiet= # by default let the tools' message be displayed
set_language= set_language=
textra= textra= # Extra TeX commands to insert in the input file.
textra_cmd= # sed command to insert TEXTRA where appropriate
tmpdir=${TMPDIR:-/tmp}/t2d$$ # avoid collisions on 8.3 filesystems. tmpdir=${TMPDIR:-/tmp}/t2d$$ # avoid collisions on 8.3 filesystems.
txincludes= # TEXINPUTS extensions, with trailing colon txincludes= # TEXINPUTS extensions, with trailing colon
txiprereq=19990129 # minimum texinfo.tex version to have macro expansion txiprereq=19990129 # minimum texinfo.tex version to have macro expansion
@ -111,11 +113,13 @@ CDPATH=${ZSH_VERSION+.}$path_sep
# In case someone crazy insists on using grep -E. # In case someone crazy insists on using grep -E.
: ${EGREP=egrep} : ${EGREP=egrep}
# Save this so we can construct a new TEXINPUTS path for each file. # Save TEXINPUTS so we can construct a new TEXINPUTS path for each file.
TEXINPUTS_orig="$TEXINPUTS" # Unfortunately bibtex and makeindex do not read TEXINPUTS.
# Unfortunately makeindex does not read TEXINPUTS. tex_envvars="BIBINPUTS BSTINPUTS INDEXSTYLE TEXINPUTS"
INDEXSTYLE_orig="$INDEXSTYLE" for var in $tex_envvars; do
export TEXINPUTS INDEXSTYLE eval ${var}_orig=\$$var
export $var
done
# Push a token among the arguments that will be used to notice when we # Push a token among the arguments that will be used to notice when we
# ended options/arguments parsing. # ended options/arguments parsing.
@ -145,8 +149,8 @@ while test x"$1" != x"$arg_sep"; do
case "$1" in case "$1" in
-@ ) escape=@;; -@ ) escape=@;;
# Silently and without documentation accept -b and --b[atch] as synonyms. # Silently and without documentation accept -b and --b[atch] as synonyms.
-b | --b*) batch=eval;; -b | --b*) batch=true;;
-q | -s | --q* | --s*) quiet=t; batch=eval;; -q | -s | --q* | --s*) quiet=t; batch=true;;
-c | --c*) clean=t;; -c | --c*) clean=t;;
-D | --d*) debug=t;; -D | --d*) debug=t;;
-e | -E | --e*) expand=t;; -e | -E | --e*) expand=t;;
@ -165,8 +169,8 @@ while test x"$1" != x"$arg_sep"; do
*) oname="$orig_pwd/$1";; *) oname="$orig_pwd/$1";;
esac;; esac;;
-p | --p*) oformat=pdf;; -p | --p*) oformat=pdf;;
-t | --t*) shift; textra="$textra\\ -t | --tex* | --com* ) shift; textra="$textra\\
$1";; "`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;;
-v | --vers*) echo "$version"; exit 0;; -v | --vers*) echo "$version"; exit 0;;
-V | --verb*) verbose=echo;; -V | --verb*) verbose=echo;;
--) # What remains are not options. --) # What remains are not options.
@ -273,10 +277,12 @@ for this_file in "$1".?o? "$1".aux "$1".?? "$1".idx; do
# If file is empty, skip it. # If file is empty, skip it.
test -s "$this_file" || continue test -s "$this_file" || continue
# If the file is not suitable to be an index or xref file, don't # If the file is not suitable to be an index or xref file, don't
# process it. The file can't be if its first character is not a # process it. It's suitable if the first character is a
# backslash or single quote. # backslash or right quote, as long as the first line isn't
# \input texinfo.
first_character=`sed -n '1s/^\(.\).*$/\1/p;q' $this_file` first_character=`sed -n '1s/^\(.\).*$/\1/p;q' $this_file`
if test "x$first_character" = "x\\" \ if (test "x$first_character" = "x\\" \
&& sed 1q $this_file | grep -v '^\\input *texinfo' >/dev/null) \
|| test "x$first_character" = "x'"; then || test "x$first_character" = "x'"; then
xref_files="$xref_files ./$this_file" xref_files="$xref_files ./$this_file"
fi fi
@ -360,17 +366,22 @@ for command_line_filename in ${1+"$@"}; do
# files in `.'. Include orig_pwd in case we are in clean mode, where # files in `.'. Include orig_pwd in case we are in clean mode, where
# we've cd'd to a temp directory. # we've cd'd to a temp directory.
common="$orig_pwd$path_sep$filename_dir$path_sep$txincludes" common="$orig_pwd$path_sep$filename_dir$path_sep$txincludes"
TEXINPUTS="$common$TEXINPUTS_orig" for var in $tex_envvars; do
INDEXSTYLE="$common$INDEXSTYLE_orig" eval ${var}="\$common\$${var}_orig"
export $var
done
# Convert relative paths to absolute paths, so we can run in another # Convert relative paths to absolute paths, so we can run in another
# directory (e.g., in --clean mode, or during the macro-support # directory (e.g., in --clean mode, or during the macro-support detection.)
# detection.)
# #
# Empty path components are meaningful to tex. We rewrite them # Empty path components are meaningful to tex. We rewrite them
# as `EMPTY' so they don't get lost when we split on $path_sep. # as `EMPTY' so they don't get lost when we split on $path_sep.
TEXINPUTS=`echo $TEXINPUTS |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'` # Hopefully no one will have an actual directory named EMPTY.
INDEXSTYLE=`echo $INDEXSTYLE |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'` replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \
-e 's/$path_sep\$/${path_sep}EMPTY/g' \
-e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
TEXINPUTS=`echo $TEXINPUTS | eval sed $replace_empty`
INDEXSTYLE=`echo $INDEXSTYLE | eval sed $replace_empty`
save_IFS=$IFS save_IFS=$IFS
IFS=$path_sep IFS=$path_sep
set x $TEXINPUTS; shift set x $TEXINPUTS; shift
@ -381,7 +392,7 @@ for command_line_filename in ${1+"$@"}; do
EMPTY) EMPTY)
TEXINPUTS=$TEXINPUTS$path_sep TEXINPUTS=$TEXINPUTS$path_sep
;; ;;
[\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed. [\\/]* | ?:[\\/]*) # Absolute paths don't need to be expanded.
TEXINPUTS=$TEXINPUTS$path_sep$dir TEXINPUTS=$TEXINPUTS$path_sep$dir
;; ;;
*) *)
@ -427,6 +438,7 @@ for command_line_filename in ${1+"$@"}; do
bibtex=${BIBTEX:-bibtex} bibtex=${BIBTEX:-bibtex}
makeinfo= # no point in running makeinfo on latex source. makeinfo= # no point in running makeinfo on latex source.
texindex=${MAKEINDEX:-makeindex} texindex=${MAKEINDEX:-makeindex}
textra_cmd=1i
if test $oformat = dvi; then if test $oformat = dvi; then
tex=${LATEX:-latex} tex=${LATEX:-latex}
else else
@ -438,6 +450,7 @@ for command_line_filename in ${1+"$@"}; do
# Assume a Texinfo file. Texinfo files need makeinfo, texindex and tex. # Assume a Texinfo file. Texinfo files need makeinfo, texindex and tex.
bibtex= bibtex=
texindex=${TEXINDEX:-texindex} texindex=${TEXINDEX:-texindex}
textra_cmd='/^@setfilename/a'
if test $oformat = dvi; then if test $oformat = dvi; then
tex=${TEX:-tex} tex=${TEX:-tex}
else else
@ -465,14 +478,22 @@ for command_line_filename in ${1+"$@"}; do
else else
makeinfo=${MAKEINFO:-makeinfo} makeinfo=${MAKEINFO:-makeinfo}
fi fi
# As long as we had to run TeX, offer the user this convenience # As long as we had to run TeX, offer the user this convenience:
if test "$txiformat" = Texinfo; then test "$txiformat" = Texinfo && escape=@
escape=@
fi
fi fi
;; ;;
esac esac
# If possible, make TeX report error locations in GNU format.
tex_args=
case `$tex --help </dev/null 2>&1` in
*file-line-error-style*) tex_args='--file-line-error-style';;
esac
# Tell TeX to be batch if requested. (\batchmode does not show
# terminal output at all, so we don't want that.)
$batch && tex_args="$tex_args ${escape}nonstopmode ${escape}input"
# Expand macro commands in the original source file using Makeinfo. # Expand macro commands in the original source file using Makeinfo.
# Always use `end' footnote style, since the `separate' style # Always use `end' footnote style, since the `separate' style
# generates different output (arguably this is a bug in -E). # generates different output (arguably this is a bug in -E).
@ -496,8 +517,8 @@ for command_line_filename in ${1+"$@"}; do
# Used most commonly for @finalout, @smallbook, etc. # Used most commonly for @finalout, @smallbook, etc.
if test -n "$textra"; then if test -n "$textra"; then
$verbose "Inserting extra commands: $textra" $verbose "Inserting extra commands: $textra"
sed '/^@setfilename/a\ sed "$textra_cmd\\
'"$textra" "$filename_input" >$filename_xtr $textra" "$filename_input" >$filename_xtr
filename_input=$filename_xtr filename_input=$filename_xtr
fi fi
@ -573,9 +594,6 @@ for command_line_filename in ${1+"$@"}; do
fi fi
# Finally, run TeX. # Finally, run TeX.
# Prevent $ESCAPE from being interpreted by the shell if it happens
# to be `/'.
$batch tex_args="\\${escape}nonstopmode\ \\${escape}input"
cmd="$tex $tex_args $filename_input" cmd="$tex $tex_args $filename_input"
$verbose "Running $cmd ..." $verbose "Running $cmd ..."
if $cmd >&5; then :; else if $cmd >&5; then :; else

View File

@ -1,7 +1,7 @@
/* $NetBSD: texindex.c,v 1.5 2003/02/13 08:57:28 wiz Exp $ */ /* $NetBSD: texindex.c,v 1.6 2003/07/03 15:09:22 wiz Exp $ */
/* texindex -- sort TeX index dribble output into an actual index. /* texindex -- sort TeX index dribble output into an actual index.
Id: texindex.c,v 1.7 2003/01/19 18:47:15 karl Exp Id: texindex.c,v 1.9 2003/05/19 13:10:59 karl Exp
Copyright (C) 1987, 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2001, Copyright (C) 1987, 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003 Free Software Foundation, Inc. 2002, 2003 Free Software Foundation, Inc.
@ -170,7 +170,7 @@ main (argc, argv)
/* In case we write to a redirected stdout that fails. */ /* In case we write to a redirected stdout that fails. */
/* not ready atexit (close_stdout); */ /* not ready atexit (close_stdout); */
/* Describe the kind of sorting to do. */ /* Describe the kind of sorting to do. */
/* The first keyfield uses the first braced field and folds case. */ /* The first keyfield uses the first braced field and folds case. */
keyfields[0].braced = 1; keyfields[0].braced = 1;
@ -222,9 +222,7 @@ main (argc, argv)
outfile = outfiles[i]; outfile = outfiles[i];
if (!outfile) if (!outfile)
{ outfile = concat (infiles[i], "s");
outfile = concat (infiles[i], "s", "");
}
need_initials = 0; need_initials = 0;
first_initial = '\0'; first_initial = '\0';
@ -238,7 +236,6 @@ main (argc, argv)
flush_tempfiles (tempcount); flush_tempfiles (tempcount);
xexit (0); xexit (0);
return 0; /* Avoid bogus warnings. */ return 0; /* Avoid bogus warnings. */
} }
@ -326,7 +323,7 @@ decode_command (argc, argv)
if (tempdir == NULL) if (tempdir == NULL)
tempdir = DEFAULT_TMPDIR; tempdir = DEFAULT_TMPDIR;
else else
tempdir = concat (tempdir, "/", ""); tempdir = concat (tempdir, "/");
keep_tempfiles = 0; keep_tempfiles = 0;
@ -405,18 +402,15 @@ maketempname (count)
if (!tempbase) if (!tempbase)
{ {
int fd; int fd;
char *tmpdir = getenv ("TEMPDIR"); tempbase = concat (tempdir, "txidxXXXXXX");
if (!tmpdir)
tmpdir = "/tmp";
tempbase = concat (tmpdir, "/txidxXXXXXX");
fd = mkstemp (tempbase); fd = mkstemp (tempbase);
if (fd == -1) if (fd == -1)
pfatal_with_name (tempbase); pfatal_with_name (tempbase);
} }
sprintf (tempsuffix, ".%d", count); sprintf (tempsuffix, ".%d", count);
return concat (tempdir, tempbase, tempsuffix); return concat (tempbase, tempsuffix);
} }
@ -1144,7 +1138,7 @@ parsefile (filename, nextline, data, size)
} }
else else
first_initial = toupper (*p); first_initial = toupper (*p);
while (*p && *p != '\n') while (*p && *p != '\n')
p++; p++;
if (p != end) if (p != end)
@ -1657,39 +1651,31 @@ void
perror_with_name (name) perror_with_name (name)
char *name; char *name;
{ {
char *s; fprintf (stderr, "%s: ", program_name);
perror (name);
s = strerror (errno);
printf ("%s: ", program_name);
printf ("%s; for file `%s'.\n", s, name);
} }
void void
pfatal_with_name (name) pfatal_with_name (name)
char *name; char *name;
{ {
char *s; perror_with_name (name);
s = strerror (errno);
printf ("%s: ", program_name);
printf (_("%s; for file `%s'.\n"), s, name);
xexit (1); xexit (1);
} }
/* Return a newly-allocated string whose contents concatenate those of
S1, S2, S3. */ /* Return a newly-allocated string concatenating S1 and S2. */
char * char *
concat (s1, s2, s3) concat (s1, s2)
char *s1, *s2, *s3; char *s1, *s2;
{ {
int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); int len1 = strlen (s1), len2 = strlen (s2);
char *result = (char *) xmalloc (len1 + len2 + len3 + 1); char *result = (char *) xmalloc (len1 + len2 + 1);
strcpy (result, s1); strcpy (result, s1);
strcpy (result + len1, s2); strcpy (result + len1, s2);
strcpy (result + len1 + len2, s3); *(result + len1 + len2) = 0;
*(result + len1 + len2 + len3) = 0;
return result; return result;
} }