Handle conflicts after 4.3 import.

This commit is contained in:
wiz 2003-01-17 15:25:44 +00:00
parent 546d89be5d
commit f4370a0607
33 changed files with 3022 additions and 5566 deletions

View File

@ -1,50 +0,0 @@
/* acconfig.h
This file is in the public domain.
$Id: acconfig.h,v 1.1.1.2 2001/07/25 16:20:35 assar Exp $
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
@TOP@
/* Define to 1 if including sys/ioctl.h is needed to get TIOCGWINSZ. */
#undef GWINSZ_IN_SYS_IOCTL
/* Define to 1 if NLS is requested. */
#undef ENABLE_NLS
/* Define as 1 if you have catgets and don't want to use GNU gettext. */
#undef HAVE_CATGETS
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
#undef HAVE_GETTEXT
/* Define if your locale.h file contains LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define as 1 if you have the stpcpy function. */
#undef HAVE_STPCPY
/* Define to the name of the distribution. */
#undef PACKAGE
/* Define to the version of the distribution. */
#undef VERSION
@BOTTOM@
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */

View File

@ -1,115 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
dnl $Id: configure.in,v 1.1.1.2 2001/07/25 16:20:39 assar Exp $
dnl
AC_INIT(makeinfo/makeinfo.c)
AC_PREREQ(2.13)dnl Minimum Autoconf version required.
AM_CONFIG_HEADER(config.h:config.in)dnl Keep filename to 8.3 for MS-DOS.
AM_INIT_AUTOMAKE([texinfo], [4.0])
AM_CONDITIONAL(TEXINFO_MAINT, test -n "$TEXINFO_MAINT")
dnl Checks for programs.
AC_PROG_CC
AC_PROG_GCC_TRADITIONAL
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_ISC_POSIX
AC_MINIX
# Needed on sysV68 for sigblock, sigsetmask. But check for it in libc first.
AC_CHECK_FUNC(sigblock, , AC_CHECK_LIB(bsd, sigblock))
# Some GNU/Linux systems (e.g., SuSE 4.3, 1996) don't have curses, but
# rather ncurses. So we check for it.
TERMLIBS=
# Check for termlib before termcap because Solaris termcap needs libucb.
for termlib in ncurses curses termlib termcap terminfo; do
AC_CHECK_LIB(${termlib}, tgetent,
[TERMLIBS="${TERMLIBS} -l${termlib}"; break])
done
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_STDC
AC_CHECK_HEADERS(fcntl.h pwd.h string.h strings.h termcap.h termio.h \
termios.h unistd.h \
sys/fcntl.h sys/file.h sys/ptem.h sys/time.h sys/ttold.h sys/wait.h)
AM_SYS_POSIX_TERMIOS
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_OFF_T
AC_TYPE_SIGNAL
AC_C_CONST
AC_STRUCT_TM
dnl Checks for function declarations.
txi_CHECK_DECLS
dnl Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_STRCOLL
AC_FUNC_VPRINTF
AC_FUNC_SETVBUF_REVERSED
AC_CHECK_FUNCS(setvbuf getcwd memset bzero strchr sigprocmask sigsetmask)
dnl strerror, xmalloc, xrealloc, probably others should be added.
AC_REPLACE_FUNCS(memcpy memmove strdup strcasecmp strerror strncasecmp)
dnl Checks for variables.
# HP-UX 9 (at least) needs -lncurses which defines termcap variables PC etc.
AC_MSG_CHECKING(for library with termcap variables)
AC_CACHE_VAL(ac_cv_var_ospeed,
oldLIBS=$LIBS
for trylib in $termlib ncurses curses termlib termcap terminfo; do
if test "x$trylib" != "x$termlib"; then
LIBS="$oldLIBS -l$termlib -l$trylib"
else
LIBS="$oldLIBS -l$termlib"
fi
AC_TRY_LINK(,
#ifdef HAVE_NCURSES_TERMCAP_H
#include <ncurses/termcap.h>
#else
#ifdef HAVE_TERMCAP_H
#include <termcap.h>
#else
#undef PC
char *BC;
char* *UP;
char PC;
short ospeed;
#endif
#endif
return ospeed != 0;
, ac_cv_var_ospeed=$trylib; break)
done
LIBS=$oldLIBS
)
AC_MSG_RESULT($ac_cv_var_ospeed)
if test -n "$ac_cv_var_ospeed" \
&& test "x$termlib" != "x$ac_cv_var_ospeed"; then
TERMLIBS="${TERMLIBS} -l${ac_cv_var_ospeed}"
fi
AC_SUBST(TERMLIBS)
dnl Set of available languages and i18n macros.
ALL_LINGUAS="cs de de_AT eo fr nl no ru"
AM_GNU_GETTEXT
AC_OUTPUT([Makefile \
doc/Makefile \
info/Makefile \
intl/Makefile \
lib/Makefile \
makeinfo/Makefile \
makeinfo/tests/Makefile \
po/Makefile.in \
util/Makefile \
])

View File

@ -1,367 +0,0 @@
This is the directory file `dir' a.k.a. `DIR', which contains the
topmost node of the Info hierarchy.
This particular dir file is merely made available for your hacking
pleasure, not official or standard in any way. If it doesn't make sense
to you, or you don't like it, ignore it.
If you have dir entries for Texinfo manuals you'd like to be added here,
please send them to karl@gnu.org.
$Id: dir-example,v 1.1.1.2 2001/07/25 16:20:40 assar Exp $

File: dir, Node: Top, This is the top of the INFO tree.
This is the Info main menu (aka directory node).
A few useful Info commands:
`q' quits;
`?' lists all Info commands;
`h' starts the Info tutorial;
`mTexinfo RET' visits the Texinfo manual, etc.
Not all of the topics shown below may be available on this system.
* Menu:
GNU Packages
* accounting: (psacct). GNU process accounting suite.
* Bash: (bash). Bourne-Again SHell.
* Cpio: (cpio). Copy-in-copy-out archiver.
* DC: (dc). Postfix desk calculator.
* Diff: (diff). Comparing and merging programs.
* Ed: (ed). Line editor.
* Emacs: (emacs). Extensible self-documenting text editor.
* File utilities: (fileutils). GNU file utilities.
* Finding files: (find). Operating on files matching certain criteria.
* Font utilities: (fontu). Programs for font manipulation.
* Gawk: (gawk.info). A text scanning and processing language.
* Gcal: (gcal). GNU calendar program.
* Gzip: (gzip). General (de)compression.
* Identifier DB: (id-utils). Identifier database utilities.
* Ispell: (ispell). Interactive spelling corrector.
* M4: (m4). Macro processor.
* Make: (make). Remake files automatically.
* Ptx: (ptx). Permuted index generator.
* Shar utilities: (sharutils). Shell archiver, uudecode/uuencode.
* Shell utilities: (sh-utils). GNU shell utilities.
* tar: (tar). Making tape (or disk) archives.
* Text utilities: (textutils). GNU text utilities.
* Time: (time). Measuring program resource usage.
* UUCP: (uucp). Copying between machines, offline.
* Wdiff: (wdiff). Word-by-word comparison.
* Wget: (wget). URL download.
GNU programming tools
* As: (as). Assembler.
* Binutils: (binutils). ar/copy/objdump/nm/size/strip/ranlib.
* Bison: (bison). LALR(1) parser generator.
* CPP: (cpp). C preprocessor.
* CVS: (cvs). Concurrent versions system for source control.
* DejaGnu: (dejagnu). Testing framework.
* egcs: (egcs). Experimental GNU C compiler.
* g77: (g77). GNU Fortran 77 compiler.
* Flex: (flex). A fast scanner generator.
* Gasp: (gasp). GNU Assembler preprocessor.
* Libtool: (libtool). Generic library support script.
* GCC: (gcc). C compiler.
* GDB: (gdb). Source-level debugger for C and C++.
* Gettext Utilities: (gettext). GNU gettext utilities.
* Gperf: (gperf). Perfect hash function generator.
* Gprof: (gprof). Profiler.
* Indent: (indent). Prettyprinter for programs.
* Ld: (ld). Linker.
* R FAQ: (R-FAQ). The R statistical language FAQ.
Texinfo documentation system
* Info: (info). Documentation browsing system.
* Texinfo: (texinfo). The GNU documentation format.
* info program: (info-stnd). Standalone Info-reading program.
* install-info: (texinfo)Invoking install-info. Updating info/dir entries.
* texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
* texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
* makeinfo: (texinfo)makeinfo options. Translate Texinfo source.
Printing Tools
* a2ps: (a2ps). PostScript Generating Utility
* PreScript: (a2ps) PreScript. Input language for a2ps
* card: (a2ps) card. Print Reference Cards
* fixps: (a2ps) fixps. Fixing Some Ill Designed PostScript Files
* fixnt: (a2ps) fixnt. Fixing Microsoft NT PostScript Files
* pdiff: (a2ps) pdiff. Produce Pretty Comparison of Files
* psmandup: (a2ps) psmandup. Printing Duplex on Simplex Printers
* psset: (a2ps) psset. Inserting calls to setpagedevice
GNU Emacs Lisp
* Elisp: (elisp). GNU Emacs Lisp reference manual.
* Intro Elisp: (emacs-lisp-intro). Introduction to Elisp programming.
* AUC TeX: (auctex). Editing (La)TeX files.
* Calc: (calc). Calculator and more.
* CC mode: (ccmode). Editing C, C++, Objective C, and Java.
* Common Lisp: (cl). Partial Common Lisp support for Emacs Lisp.
* Dired-x: (dired-x). Extra directory editor features.
* Edebug: (edebug). Source-level debugger for Emacs Lisp.
* Ediff: (ediff). Comprehensive visual interface to diff & patch.
* EDB: (edb). Database for Emacs.
* Forms: (forms). Fill-in-the-form data entry.
* Gmhist: (gmhist). Generic minibuffer history.
* GNUS: (gnus). Netnews reading and posting.
* Mailcrypt: (mailcrypt). Use PGP in Emacs.
* MH-E: (mh-e). Emacs interface to the MH mail system.
* PCL-CVS: (pcl-cvs). Emacs front end to CVS.
* Supercite: (sc). Supercite for including other people's words.
* VIP: (vip). vi emulation.
* VIPER: (viper). The new VI-emulation mode in Emacs-19.29.
* VM: (vm). Mail reader.
* W3: (w3). WWW browser.
GNU programming support
* Autoconf: (autoconf). Automatic generation of package configuration.
* Configure: (configure). Cygnus configure.
* Gnats: (gnats). Cygnus bug tracking system.
* Remsync: (remsync). Remote synchronization of directory trees.
* Send PR: (send-pr). Cygnus bug reporting for Gnats.
GNU libraries
* Annotate: (annotate). High-level GDB to GUI's.
* BFD: (bfd). Binary file descriptors for object file IO.
* CVS protocol: (cvsclient). CVS client/server protocol specification.
* GDB library: (libgdb). Application programming interface to GDB.
* GDBM: (gdbm). Hashed databases.
* GDK: (gdk). General drawing kit.
* GTK: (gtk). GIMP toolkit.
* History: (history). Recall previous lines of input.
* Iostream: (iostream). C++ input/output.
* Libc: (libc). C library.
* Libg++: (libg++). C++ classes.
* Mmalloc: (mmalloc). Memory-mapped malloc.
* Readline: (readline). General command-line interface.
* Regex: (regex). Regular expressions.
* Termcap: (termcap). All about /etc/termcap.
GNU programming documentation
* GDB internals: (gdbint). Debugger internals.
* Ld internals: (ldint). GNU linker internals.
* Maintaining: (maintain). Maintaining GNU software.
* Source config: (cfg-paper). Some theory on configuring source packages.
* Stabs: (stabs). Symbol table debugging information format.
* Standards: (standards). GNU coding standards.
Linux
* dosemu: (dosemu). Linux DOS emulator.
* gpm: (gpm). Linux general purpose mouse interface.
* linux-faq: (linux-faq). The Linux FAQ List.
Utilities
* bzip2: (bzip2). (de)compression.
TeX
* Afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX.
* Dvips: (dvips). DVI-to-PostScript translator.
* Eplain: (eplain). Expanding on plain TeX.
* Kpathsearch: (kpathsea). File lookup along search paths.
* LaTeX: (latex). LaTeX.
* MakeIndex: (makeindex). Index creation for TeX.
* Naming fonts: (fontname). Filenames for TeX fonts.
* TDS: (tds). Standard TeX directory structure.
* TeXDraw: (texdraw). Drawing PostScript diagrams within TeX.
* Web2c: (web2c). TeX, Metafont, and their companion programs.
DOS
* GNUish: (gnuish). GNU utilities for DOS.
* Mtools: (mtools). Access DOS disks from Unix.
Other things
* Amd: (am-utils). Filesystem automounter.
* CMUCL: (cmu-user). CMU Common Lisp.
* File headers: (filehdr). Bibliographic information for computer files.
* GCP: (gcp). Game club protocol.
* GIMP: (pdb). The GIMP procedural database.
* HTML: (snafu). Hypertext Markup Language 2.0 specification.
* Jargon: (jargon). The jargon file.
* JED: (jed). JED editor documentation.
* octave: (octave). Octave - A language for numerical computation.
* Perl: (perl). Practical extraction and report language.
* PRCS: (prcs). Project revision control system.
* Screen: (screen). Terminal multiplexer.
* UMB C.S. Dept.: (csinfo). UMass/Boston Computer Science Dept. info.
Individual utilities
* aclocal: (automake)Invoking aclocal. Generating aclocal.m4.
* aid: (id-utils)aid invocation. Matching strings.
* ar: (binutils)ar. Create/modify/extract archives.
* at-pr: (gnats)at-pr. Bug report timely reminders.
* automake: (automake). Making Makefile.in's.
* autoreconf: (autoconf)Invoking autoreconf. Remake multiple configure's.
* autoscan: (autoconf)Invoking autoscan. Automate initial configure.in.
* awk: (gawk)Invoking gawk. Text processing and scanning.
* basename: (sh-utils)basename invocation. Strip directory and suffix.
* bibtex: (web2c)BibTeX invocation. Maintaining bibliographies.
* c++filt: (binutils)c++filt. Demangle C++ symbols.
* cat: (textutils)cat invocation. Concatenate and write files.
* chgrp: (fileutils)chgrp invocation. Change file groups.
* chmod: (fileutils)chmod invocation. Change file permissions.
* chown: (fileutils)chown invocation. Change file owners/groups.
* chroot: (sh-utils)chroot invocation. Specify the root directory.
* cksum: (textutils)cksum invocation. Print POSIX CRC checksum.
* cmp: (diff)Invoking cmp. Character-by-character diff.
* comm: (textutils)comm invocation. Compare sorted files by line.
* cp: (fileutils)cp invocation. Copy files.
* csplit: (textutils)csplit invocation. Split by context.
* cut: (textutils)cut invocation. Print selected parts of lines.
* date: (sh-utils)date invocation. Print/set system date and time.
* dd: (fileutils)dd invocation. Copy and convert a file.
* df: (fileutils)df invocation. Report filesystem disk usage.
* diff3: (diff)Invoking diff3. Three-way diff.
* dir: (fileutils)dir invocation. List directories briefly.
* dircolors: (fileutils)dircolors invocation. Color setup for ls.
* dirname: (sh-utils)dirname invocation. Strip non-directory suffix.
* dmp: (web2c)Dmp invocation. Troff->MPX (MetaPost pictures).
* du: (fileutils)du invocation. Report on disk usage.
* dvicopy: (web2c)DVIcopy invocation. Virtual font expansion
* dvitomp: (web2c)DVItoMP invocation. DVI to MPX (MetaPost pictures).
* dvitype: (web2c)DVItype invocation. DVI to human-readable text.
* echo: (sh-utils)echo invocation. Print a line of text.
* edit-pr: (gnats)Invoking edit-pr. Changing bugs.
* eid: (id-utils)eid invocation. Invoking an editor on matches.
* emacsclient: (emacs)Emacs Server. Connecting to a running Emacs.
* emacsserver: (emacs)Emacs Server. Connecting to a running Emacs.
* env: (sh-utils)env invocation. Modify the environment.
* etags: (emacs)Create Tags Table. Creating a TAGS table.
* expand: (textutils)expand invocation. Convert tabs to spaces.
* expr: (sh-utils)expr invocation. Evaluate expressions.
* factor: (sh-utils)factor invocation. Print prime factors
* false: (sh-utils)false invocation. Do nothing, unsuccessfully.
* fid: (id-utils)fid invocation. Listing a file's identifiers.
* file-pr: (gnats)file-pr. Processing incoming traffic.
* find: (find)Invoking find. Finding and acting on files.
* fmt: (textutils)fmt invocation. Reformat paragraph text.
* fold: (textutils)fold invocation. Wrap long input lines.
* g++: (gcc)Invoking G++. The GNU C++ compiler.
* gcal2txt: (gcal)Invoking gcal2txt. Calendar resource to text file.
* gettextize: (gettext)gettextize Invocation. Prepare a package for gettext.
* gftodvi: (web2c)GFtoDVI invocation. Generic font proofsheets.
* gftopk: (web2c)GFtoPK invocation. Generic to packed fonts.
* gftype: (web2c)GFtype invocation. GF to human-readable text.
* gid: (id-utils)gid invocation. Listing all matching lines.
* git: (git). GNU interactive tools.
* groups: (sh-utils)groups invocation. Print group names a user is in.
* gunzip: (gzip)Overview. Decompression.
* head: (textutils)head invocation. Output the first part of files.
* hostname: (sh-utils)hostname invocation. Print or set system name.
* id: (sh-utils)id invocation. Print real/effective uid/gid.
* idx: (id-utils)idx invocation. Testing mkid scanners.
* ifnames: (autoconf)Invoking ifnames. List conditionals in source.
* iid: (id-utils)iid invocation. Interactive complex queries.
* inimf: (web2c)inimf invocation. Initial Metafont.
* inimp: (web2c)inimp invocation. Initial MetaPost.
* initex: (web2c)initex invocation. Initial TeX.
* install: (fileutils)install invocation. Copy and change attributes.
* join: (textutils)join invocation. Join lines on a common field.
* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
* libtoolize: (libtool)Invoking libtoolize. Adding libtool support.
* lid: (id-utils)lid invocation. Matching identifier patterns.
* ln: (fileutils)ln invocation. Make links between files.
* locate: (find)Invoking locate. Finding files in a database.
* logname: (sh-utils)logname invocation. Print current login name.
* ls: (fileutils)ls invocation. List directory contents.
* mail-files: (sharutils)mail-files invocation. Send files to remote site.
* mailshar: (sharutils)mailshar invocation. Make and send a shell archive.
* makempx: (web2c)MakeMPX invocation. MetaPost label typesetting.
* maketexmf: (kpathsea)MakeTeX scripts. MF source generation.
* maketexpk: (kpathsea)MakeTeX scripts. PK bitmap generation.
* maketextex: (kpathsea)MakeTeX scripts. TeX source generation.
* maketextfm: (kpathsea)MakeTeX scripts. TeX font metric generation.
* md5sum: (textutils)md5sum invocation. Print or check message-digests.
* mf: (web2c)mf invocation. Creating typeface families.
* mft: (web2c)MFT invocation. Prettyprinting Metafont source.
* mgetty: (mgetty). Faxes, voicemail and more.
* mkdir: (fileutils)mkdir invocation. Create directories.
* mkfifo: (fileutils)mkfifo invocation. Create FIFOs: (named pipes).
* mkid: (id-utils)mkid invocation. Creating an ID database.
* mknod: (fileutils)mknod invocation. Create special files.
* mp: (web2c)mp invocation. Creating technical diagrams.
* mpto: (web2c)MPto invocation. MetaPost label extraction.
* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files.
* msgmerge: (gettext)msgmerge Invocation. Update two PO files into one.
* mv: (fileutils)mv invocation. Rename files.
* newer: (web2c)Newer invocation. Compare modification times.
* nice: (sh-utils)nice invocation. Modify scheduling priority.
* nl: (textutils)nl invocation. Number lines and write files.
* nlmconv: (binutils)nlmconv. Convert object to NetWare LM.
* nm: (binutils)nm. List symbols in object files.
* nohup: (sh-utils)nohup invocation. Immunize to hangups.
* objcopy: (binutils)objcopy. Copy/translate object files.
* objdump: (binutils)objdump. Display info from object files.
* od: (textutils)od invocation. Dump files in octal, etc.
* paste: (textutils)paste invocation. Merge lines of files.
* patch: (diff)Invoking patch. Automatically applying diffs.
* patgen: (web2c)Patgen invocation. Creating hyphenation patterns.
* pathchk: (sh-utils)pathchk invocation. Check file name portability.
* pid: (id-utils)pid invocation. Looking up filenames.
* pktogf: (web2c)PKtoGF invocation. Packed to generic fonts.
* pktype: (web2c)PKtype invocation. PK to human-readable text.
* pltotf: (web2c)PLtoTF invocation. Property list to TFM.
* pooltype: (web2c)Pooltype invocation. Display WEB pool files.
* pr-addr: (gnats)pr-addr. Bug report address retrieval.
* pr-edit: (gnats)pr-edit. The edit-pr driver.
* pr: (textutils)pr invocation. Paginate or columnate files.
* printenv: (sh-utils)printenv invocation. Print environment variables.
* printf: (sh-utils)printf invocation. Format and print data.
* pwd: (sh-utils)pwd invocation. Print working directory.
* query-pr: (gnats)Invoking query-pr. Bug searching/reporting.
* queue-pr: (gnats)queue-pr. Handling incoming traffic.
* ranlib: (binutils)ranlib. Index archive file contents.
* rm: (fileutils)rm invocation. Remove files.
* rmdir: (fileutils)rmdir invocation. Remove empty directories.
* sdiff: (diff)Invoking sdiff. Interactively merge files.
* send-pr: (gnats)Invoking send-pr. Submitting bugs.
* seq: (sh-utils)seq invocation. Print numeric sequences
* shar: (sharutils)shar invocation. Create shell archive.
* size: (binutils)size. List object file section sizes.
* sleep: (sh-utils)sleep invocation. Delay for a specified time.
* sort: (textutils)sort invocation. Sort text files.
* split: (textutils)split invocation. Split into fixed-size pieces.
* strings: (binutils)strings. List printable strings.
* strip: (binutils)strip. Discard symbols.
* stty: (sh-utils)stty invocation. Print/change terminal settings.
* su: (sh-utils)su invocation. Modify user and group id.
* sum: (textutils)sum invocation. Print traditional checksum.
* sync: (fileutils)sync invocation. Synchronize memory and disk.
* tabs: (tput)Invoking tabs. Tab settings.
* tac: (textutils)tac invocation. Reverse files.
* tail: (textutils)tail invocation. Output the last part of files.
* tangle: (web2c)Tangle invocation. WEB to Pascal.
* tcal: (gcal)Invoking tcal. Run Gcal with tomorrow's date.
* tee: (sh-utils)tee invocation. Redirect to multiple files.
* test: (sh-utils)test invocation. File/string tests.
* tex: (web2c)tex invocation. Typesetting.
* tftopl: (web2c)TFtoPL invocation. TFM -> property list.
* touch: (fileutils)touch invocation. Change file timestamps.
* tput: (tput)Invoking tput. Termcap in shell scripts.
* tr: (textutils)tr invocation. Translate characters.
* true: (sh-utils)true invocation. Do nothing, successfully.
* tty: (sh-utils)tty invocation. Print terminal name.
* txt2gcal: (gcal)Invoking txt2gcal. Calendar text to resource file.
* umb-scheme: (umb-scheme). UMB Scheme Interpreter.
* uname: (sh-utils)uname invocation. Print system information.
* unexpand: (textutils)unexpand invocation. Convert spaces to tabs.
* uniq: (textutils)uniq invocation. Uniqify files.
* unshar: (sharutils)unshar invocation. Extract from shell archive.
* updatedb: (find)Invoking updatedb. Building the locate database.
* users: (sh-utils)users invocation. Print current user names.
* vdir: (fileutils)vdir invocation. List directories verbosely.
* vftovp: (web2c)VFtoVP invocation. Virtual font -> virtual pl.
* view-pr: (gnats)Invoking view-pr. Showing bug reports.
* virmf: (web2c)virmf invocation. Virgin Metafont.
* virmp: (web2c)virmp invocation. Virgin MetaPost.
* virtex: (web2c)virtex invocation. Virgin TeX.
* vptovf: (web2c)VPtoVF invocation. Virtual pl -> virtual font.
* wc: (textutils)wc invocation. Byte, word, and line counts.
* weave: (web2c)Weave invocation. WEB to TeX.
* who: (sh-utils)who invocation. Print who is logged in.
* whoami: (sh-utils)whoami invocation. Print effective user id.
* xargs: (find)Invoking xargs. Operating on many files.
* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file.
* yes: (sh-utils)yes invocation. Print a string indefinitely.
* zcat: (gzip)Overview. Decompression to stdout.
* zsh: (zsh). An enhanced Bourne shell.

View File

@ -1,422 +0,0 @@
Building and installing GNU Texinfo with DJGPP v2.x
===================================================
This directory holds files required for building Texinfo with DJGPP
tools for MS-DOS and MS-Windows. If you got this file with a binary
distribution, look for the "Installation" section below.
1. Building Texinfo
----------------
a. To compile Texinfo, you will need the following tools:
- basic DJGPP development environment: GCC, Binutils and djdev;
- a DJGPP port of GNU Make version 3.75 or later;
- a DJGPP port of Bash;
- a port of GNU Sed;
- ginstall and rm from the Fileutils package;
- DJGPP ports of Fileutils, Diffutils, and Grep (only if you
need to reconfigure the source distribution);
- etags (from the Emacs distribution) and mkid (from ID-utils)
if you need the TAGS and ID targets of the Makefile's.
All of the above are available from the DJGPP ftp sites on
SimTel.NET mirrors, in the pub/simtelnet/gnu/djgpp/v2gnu
directory.
b. From the root of your DJGPP installation, unzip the source package:
- if you are unpacking the official GNU source distribution:
tar -xvzf texinfo-X.YZ.tar.gz
or
djtar -x texinfo-X.YZ.tar.gz
where X.YZ is the version number. (Users of MS-DOS and
MS-Windows 3.X, which don't support long file names, will need
to rename the archive to something like texi-XYZ.tgz.)
- if you are unpacking a source distribution from a DJGPP ftp
site:
unzip txiXYZs
or
pkunzip -d txiXYZs
If you build Texinfo on Windows 9X, you are advised to use a
version of Unzip which supports long filenames, so that the
original long filenames of the source files will be preserved.
Otherwise, the build procedure will most probably fail.
Note: do NOT use an unzip program which supports long file names
on Windows NT, as DJGPP doesn't support long names there.
c. If the source distribution comes with a ready Makefile (this is
usually the case with archives downloaded from the DJGPP sites),
and all you need is to build Texinfo, you may skip the configure
step below and go directly to step e.
d. To build the official GNU distribution, or to configure Texinfo
for any environment but stock DJGPP v2.x, run djgpp\config.bat
first, like this:
SRCDIR\djgpp\config SRCDIR
Here SRCDIR is the directory where you unpacked the sources. If
you are configuring from the source directory itself, you may
omit the argument to the config.bat file. If you do supply the
argument, you MUST use forward slashes in it, or else the batch
file might fail.
config.bat sets some environment variables, then invokes the
configure script. The script will run for a few minutes and
create Makefile's in all the directories, and the config.h file.
e. Run `Make'. This builds the programs and the Info files.
2. Installation
------------
a. If you are installing the binary distribution, then go to your
main DJGPP directory and unzip the files. For instance, if your
DJGPP installation is rooted on C:\DJGPP, then type this (XYZ is
the version number):
cd c:\djgpp
unzip txiXYZb
or, if you prefer `pkunzip':
pkunzip -d txiXYZb
b. If you downloaded and built Texinfo from sources, install by
invoking Make:
make install
This requires a port of Unix-like program `install.exe'. It is
available from the DJGPP port of GNU Fileutils on SimTel.NET.
c. Info needs a file named DIR with the top-level menu of all the
Info files installed on your system. If you installed the DJGPP
development environment (djdevNN.zip), then you already have
this file in the info/ subdirectory of your DJGPP installation.
Otherwise, you will need to create it. A minimal DIR file is
available in this distribution, as a starting point. Copy it to
the directory where you install the Info files from this
distribution.
Even if you already have a DIR file, you should review it to
make sure it is consistent with the names of the Info file you
are installing. Here's how your Texinfo-related entries in DIR
should look like:
* Info: (info).
Documentation browsing system. This topic teaches you about
how to use the online help information.
* Info-Standalone: (info-stnd).
This topic helps you use the standalone Info-Program (info.exe)
* Texinfo: (texinfo).
With one source file, make either a printed manual
(through TeX) or an Info file (through makeinfo).
Full documentation in this menu item.
* install-info: (texinfo)Invoking install-info.
How to update info/dir entries when installing GNU packages.
* texi2dvi: (texinfo)Format with texi2dvi.
Printing Texinfo documentation with TeX.
* texindex: (texinfo)Format with tex/texindex.
Sorting Texinfo index files automatically.
* makeinfo: (texinfo)makeinfo options.
Translate Texinfo source into Info, plain ASCII, or HTML.
Note that the asterisk `*' should be flushed all the way to the
left, it is indented here just to make reading more convenient.
If your DIR file entries differ from these, I suggest to edit them
so they are as shown above. Otherwise, Info might not be able to
find some of the files. You HAVE been warned!
d. Optionally, set up environment variables for Info. These are:
* INFO_LINES -- screen size for Info.
* INFO_COLORS -- screen colors for Info.
(If you have DJGPP installed on your system, the file djgpp.env
which comes with it already has entries for Info, see the [info]
section there.)
INFO_LINES can be one of 25 (the default), 28, 35, 40, 43, or 50
(that's if you have a VGA; EGAs only support 25, 35 and 43 lines).
I recommend 40 if your monitor is 17" or larger, and at least 28
lines for smaller monitors (I work with 40 lines even on 14"
monitors).
INFO_COLORS should have the following syntax:
set INFO_COLORS=XX.YY
where XX is the text attribute for text displayed in the text
windows and the echo area, and YY is the text attribute for the
modeline (aka the status line). Each attribute is a numeric
value of a byte which describes the desired combination of
foreground and background colors. The individual bits in the
attribute byte are defined as follows:
bBBBFFFF
where `b' is the blink bit, `BBB' are the 3 bits for background
color and `FFFF' are the 4 bits for the foreground color. This is
the usual PC text attribute byte structure, and is further explained
in any standard reference on text-mode programming for the PC.
My favorite setting for INFO_COLORS is `0x1e.0x31'. This makes
Info use yellow foreground on blue background for the text and
blue foreground on cyan background for the modelines.
After you've played with these variables and have chosen the values
you like, it's a good idea to put them on the DJGPP.ENV file, in the
[info] section.
e. Beginning with version 3.6, GNU Info can read Unix man pages. If
you have a `man' clone on your system and would like to be able to
read man pages with Info, read the chapter ``Reading Man Pages''
below. One such clone is available as v2apps/manXYb.zip from
the DJGPP sites (XY is the version number).
f. This port supports compressed Info files, like what Info under Unix
gives you. For this to work, you will need to install a DOS port of
GNU `Gzip' package and to observe certain rules of file naming, so
that Info will find the compressed files working around the DOS 8.3
filename restriction. The chapter ``Compressed Info Files'' below
explains the details of this.
g. If you need to use the `print-node' command, read the chapter
``Printing Nodes'' below.
h. That's it! You are now ready to use Info, Makeinfo, and Texindex.
To learn about them, type `Info' and press [Enter]. You will be
presented with the top-level menu of GNU/DJGPP hypertext
documentation. If you are unfamiliar with Info, press `?' to see
the available commands. Pressing `h' will cause Info to take you on
a guided tour through its features (recommended for first-time
users).
i. If you are used to Info ports of versions before 3.6, you should
know that the command bindings to PC-specific keys has changed: the
numeric keypad keys invoke the same commands as their extended
namesakes. That is, e.g., the key `PgUp' on the numeric keypad
invokes the same command as the grey `PgUp' key on the extended
keypad. This was done at DJ's request, because laptop machines
don't have extended keys. Commands to move between nodes
(previously bound to numeric keypad) are now bound to Ctrl-
varieties of numeric keypad keys (e.g., `next-node' is on
`Ctrl-PgDn', `prev-node' is on `Ctrl-PgUp', etc.). You can use
the `Alt-x describe-key' command to see which command is invoked
by a particular key.
j. There are several MSDOS-specific changes in Texinfo, relative to
previous Texinfo ports (for other changes, see the file NEWS):
* Full support for both forward and backslashes in all file
names. Previously, Info was sensitive to the style of
slashes in directories mentioned in the INFOPATH environment
variable.
* The default operation of the `print-node' command has been
changed so that it will automatically print to the local
printer device connected to the PRN port. (If your printer
is connected to another port, set the INFO_PRINT_COMMAND
environment variable like this:
set INFO_PRINT_COMMAND=>LPT2
In other words, if the value of INFO_PRINT_COMMAND begins
wih a `>' character, Info will write to the file or device
whose name follows the `>' character. (Don't leave any
blanks between `>' and the device name!).
Note that stock DOS shell won't let you use the `>'
character in environment variables set from the DOS prompt
or batch files, but you can set it in the [info] section of
your DJGPP.ENV file.
* The `set-screen-height' command now actually changes the
screen dimensions from within Info if you specify one of the
sizes supported by your video hardware.
* If you don't have a `man' clone installed, and you invoke
Info with a name of a document which Info cannot find, it
will no longer wait for 15 seconds.
* Several bugs in handling of man pages were corrected.
* Info opens the dribble and input files in BINARY mode. This
allows to record keystrokes and restore them in another Info
session, thus using dribble files as a startup or init file
which changes default behavior, binds keys, etc.
* Info recognizes a new DOS-specific command-line option `-b'
or `--speech-friendly'. This option causes Info to use DOS
I/O functions (`printf', `puts', etc.) instead of direct
screen writes, which is required to enable speech
synthesizer software (used by visually-impaired people) to
grab the output. When this option is given, the screen
colors defined by the `INFO_COLORS' environment variable and
the visible-bell feature will be disabled, because stdio
functions don't support neither color text nor inverting
screen colors. This improvement was suggested and
originally implemented by Hans-Bernhard Broeker
<Broeker@physik.rwth-aachen.de>.
* Makeinfo now generates full .info-NN filenames when long
filenames are supported (e.g. on Win9x) and short .iNN
filenames otherwise. When the Texinfo source or the
command-line parameter -o specify an output file with no
extension (like `texinfo'), and long filenames aren't
supported, Makeinfo will make sure the generated names will
be unique (it will create e.g. `texinf-1', `texin-10' etc.).
* The texi2dvi script is now fully compatible with
MS-DOS/MS-Windows and with the DJGPP port of TeX.
3. Reading Man Pages
-----------------
Yes, Info can now read man pages! This port supports that feature,
but for it to work, you will have to make sure your `man' clone is
set up correctly:
a. You should have an executable file named `man.exe', `man.com'
etc. somewhere on your PATH.
b. When invoked with redirected stdout, that executable should
print the contents of the file it gets as its argument to stdout
and exit. If your man command calls some pager, that pager
should have this behavior (various ports of Unix command `more'
and the DJGPP port of GNU Less behave that way).
One `man' clone is available as v2apps/manNNb.zip from the DJGPP
sites on SimTel.NET.
4. Compressed Info Files
---------------------
Info allows you to hold your Info files in compressed form, to save
disk space. When a file Info wants cannot be found, it will
automatically try to find that file in compressed form. Info does
this by trying to find the original file with specific extensions.
Each extension tells Info which program should be called to
decompress the file.
This port supports compression by the GNU Gzip program. When Info
cannot find a file `foo', it will first try to find `foo.z' or
`foo.gz'. If this fails, and the file has an extension, the last
one or two characters of the extension are replaced by `z' and `gz'
respectively, and Info tries again. If it finds any of these, it
will call the `GUnzip' program to decompress the file, catch its
output and display it. (The original compressed file stays
intact.)
So, to use this feature, compress your files with Gzip and call the
compressed files using the following as guidelines:
foo --> foo.gz
foo.inf --> foo.igz
foo.i5 --> foo.i5z
foo.25 --> foo.25z
If you have a package whose Info docs are split into more than 9
sub-files and you need to compress those files, you will have to
rename the sub-files from `foo.iNN' to `foo.NN' so that there will
be place for the trailing `z' in the compressed names. Don't
forget to edit the indirect file table in the main Info file and
change the sub-file filenames there too!
An alternative for those packages which have more than 99 Info
sub-files is to generate them from the Texinfo sources and force
Makeinfo to produce files without the .iNN extensions, like this:
makeinfo -o foo foo.txi
This causes Makeinfo to generate file names like foo-1, foo-2,
etc., which leave more place for the numeric index. If necessary,
Makeinfo will automatically remove characters from the end of the
argument to `-o'. For example, "-o texinfo" produces files
texinf-1, ..., texin-10, ..., texi-100, etc. on platforms which
only support 8+3 file names.
Saying "@setfilename foo" near the beginning of the Texinfo source
file is another way of forcing Makeinfo to produce files without
the .iNN extensions.
Using Makeinfo to produce files whose names are "compression-ready"
is more convenient, since you don't need to edit the the indirect
file table to reflect the changes in file names.
On platforms which support long filenames, the usual Info behavior
of appending `.gz' or `.Z' to the original filename also works;
this is done *before* Info checks the above butchered names.
Special considerations apply if you are installing Info on dual
DOS/Windows 9X system, where you'd like Info to work with the same
files both in plain DOS and from the Windows DOS box. In this
case, you should make sure your compressed Info files follow the
8+3 DOS naming conventions outlined above, even though Info
supports long file names on Windows 9X. Also, you need to turn off
the generation of numeric tails in short 8+3 aliases Windows
creates for long names (if you don't know how, the DJGPP FAQ list
explains it).
Please note: for the automatic decompression to work, Info must be
able to find the file it looks for with an extension which
indicates that the file is compressed. Do NOT call the compressed
files as the original uncompressed files were called, or Info
won't be able to find them! File names like bison-1, gcc.i10 or
make.info-3 have nothing in them to suggest that they are
compressed, so don't expect Info to uncompress them.
5. Printing Nodes
--------------
Info has a `print-node' command. It works by piping the contents of
the current node through a program which is named by the environment
variable INFO_PRINT_COMMAND. That command should read its standard
input and write it to your printer. Find any such program, put its
name into the above environment variable, and you can print nodes from
within Info.
If the value of INFO_PRINT_COMMAND begins with a redirection
character `>', Info will write the contents of the node to the file
whose name follows the `>' character.
If INFO_PRINT_COMMAND is not defined, the DJGPP port will use
">PRN" as the default, which causes it to print to the local printer
device, PRN.
6. Bug Reports
-----------
If you see any bugs which seem specific to this DOS port, please tell
me about them.
Enjoy,
Eli Zaretskii <eliz@is.elta.co.il>

View File

@ -1,88 +0,0 @@
@echo off
echo Configuring GNU Texinfo for DJGPP v2.x...
Rem The SmallEnv tests protect against fixed and too small size
Rem of the environment in stock DOS shell.
Rem Find out where the sources are
set XSRC=.
if not "%XSRC%" == "." goto SmallEnv
if "%1" == "" goto InPlace
set XSRC=%1
if not "%XSRC%" == "%1" goto SmallEnv
redir -e /dev/null update %XSRC%/configure.orig ./configure
if not exist configure update %XSRC%/configure ./configure
:InPlace
Rem Update configuration files
echo Updating configuration scripts...
if not exist configure.orig update configure configure.orig
sed -f %XSRC%/djgpp/config.sed configure.orig > configure
if errorlevel 1 goto SedError
Rem Make sure they have a config.site file
set CONFIG_SITE=%XSRC%/djgpp/config.site
if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv
Rem Make sure crucial file names are not munged by unpacking
test -f %XSRC%/intl/po2tbl.sed.in
if not errorlevel 1 mv -f %XSRC%/intl/po2tbl.sed.in %XSRC%/intl/po2tblsed.in
test -f %XSRC%/intl/po2tblsed.in
if errorlevel 1 mv -f %XSRC%/intl/po2tbl.sed %XSRC%/intl/po2tblsed.in
test -f %XSRC%/po/Makefile.in-in
if errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in
if exist INSTALL ren INSTALL INSTALL.txt
Rem Set HOSTNAME so it shows in config.status
if not "%HOSTNAME%" == "" goto hostdone
if "%windir%" == "" goto msdos
set OS=MS-Windows
if not "%OS%" == "MS-Windows" goto SmallEnv
goto haveos
:msdos
set OS=MS-DOS
if not "%OS%" == "MS-DOS" goto SmallEnv
:haveos
if not "%USERNAME%" == "" goto haveuname
if not "%USER%" == "" goto haveuser
echo No USERNAME and no USER found in the environment, using default values
set HOSTNAME=Unknown PC
if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv
:haveuser
set HOSTNAME=%USER%'s PC
if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv
goto userdone
:haveuname
set HOSTNAME=%USERNAME%'s PC
if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv
:userdone
set HOSTNAME=%HOSTNAME%, %OS%
if not "%HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv
:hostdone
set OS=
Rem install-sh is required by the configure script but clashes with the
Rem various Makefile install-foo targets, so we MUST have it before the
Rem script runs and rename it afterwards
if not exist install-sh if exist install-sh.sh ren install-sh.sh install-sh
echo Running the ./configure script...
sh ./configure --src=%XSRC% --infodir=c:/djgpp/info --disable-nls
if errorlevel 1 goto CfgError
if not exist install-sh.sh if exist install-sh ren install-sh install-sh.sh
echo Done.
goto End
:SedError
echo ./configure script editing failed!
goto End
:CfgError
echo ./configure script exited abnormally!
goto End
:SmallEnv
echo Your environment size is too small. Enlarge it and run me again.
echo Configuration NOT done!
:End
set XSRC=

View File

@ -1,26 +0,0 @@
/for ac_dir in \$PATH; do/,/IFS="\$ac_save_[Ii][Ff][Ss]"/ {
s|test -f \$ac_dir/|test -x $ac_dir/|
}
/IFS="\${IFS=/,/IFS="\$ac_save_ifs"/ {
s|test -f \$ac_dir/|test -x $ac_dir/|
}
s|po2tbl\.sed\.in|po2tblsed.in|g
/ac_given_INSTALL=/,/^CEOF/ {
/^s%@l@%/a\
/TEXINPUTS=/s,:,\\\\\\\\\\\\\\;,g\
/^terminal\\.o:/s,: ,: pcterm.c ,\
s,po2tbl\\.sed\\.in,po2tblsed.in,g\
s,Makefile\\.in\\.in,Makefile.in-in,g
}
/^CONFIG_FILES=/,/^EOF/ {
s|po/Makefile.in|po/Makefile.in:po/Makefile.in-in|
}
/\*) srcdir=/s,/\*,/*|[A-z]:/*,
/\$]\*) INSTALL=/s,\[/\$\]\*,&|[A-z]:/*,
/\$]\*) ac_rel_source=/s,\[/\$\]\*,&|[A-z]:/*,
/ac_file_inputs=/s,\( -e "s%\^%\$ac_given_srcdir/%"\)\( -e "s%:% $ac_given_srcdir/%g"\),\2\1,

View File

@ -1,25 +0,0 @@
#! /bin/sh
# This is the config.site file for configuring GNU packages
# which are to be built with DJGPP tools.
# These two variables are required, otherwise looking for
# programs along the PATH will not work.
PATH_SEPARATOR=:
PATH_EXPAND=y
# The root of the DJGPP tree serves as the default prefix
test "x$prefix" = xNONE && prefix='${DJDIR}'
# This is required for config.status script to be run, since
# ./configure runs it by invoking ${CONFIG_SHELL-/bin/sh}
CONFIG_SHELL=${CONFIG_SHELL='sh'}
# These are set here so the generated Makefile's will be good
# for every DJGPP installation, not only the one where the
# package was configured.
# $INSTALL must be an absolute path name, otherwise config.status
# will try to prepend ./ and ../ to it when it goes into subdirs.
INSTALL=${INSTALL='${DJDIR}/bin/ginstall -c'}
RANLIB=${RANLIB='ranlib'}

View File

@ -1,177 +0,0 @@
@c This file is included in makeinfo.texi.
@c
@ifinfo
@comment Here are some useful examples of the macro facility.
@c Simply insert the right version of the texinfo name.
@macro texinfo{}
TeXinfo
@end macro
@macro dfn{text}
@dfn{\text\}
@cpindex \text\
@end macro
@c Define a macro which expands to a pretty version of the name of the
@c Makeinfo program.
@macro makeinfo{}
@code{Makeinfo}
@end macro
@c Define a macro which is used to define other macros. This one makes
@c a macro which creates a node and gives it a sectioning command. Note
@c that the created macro uses the original definition within the
@c expansion text. This takes advantage of the non-recursion feature of
@c macro execution.
@macro node_define{orig-name}
@macro \orig-name\{title}
@node \title\
@\orig-name\ \title\
@end macro
@end macro
@c Now actually define a new set of sectioning commands.
@node_define {chapter}
@node_define {section}
@node_define {subsection}
@end ifinfo
@chapter The Macro Facility
This chapter describes the new macro facility.
A @dfn{macro} is a command that you define in terms of other commands.
It doesn't exist as a @texinfo{} command until you define it as part of
the input file to @makeinfo{}. Once the command exists, it behaves much
as any other @texinfo{} command. Macros are a useful way to ease the
details and tedium of writing a `correct' info file. The following
sections explain how to write and invoke macros.
@menu
* How to Use Macros in @texinfo{}::
How to use the macro facility.
* Using Macros Recursively::
How to write a macro which does (or doesn't) recurse.
* Using @texinfo{} Macros As Arguments::
Passing a macro as an argument.
@end menu
@section How to Use Macros in @texinfo{}
Using macros in @texinfo{} is easy. First you define the macro. After
that, the macro command is available as a normal @texinfo{} command.
Here is what a definition looks like:
@example
@@macro @var{name}@{@var{arg1}, @var{@dots{}} @var{argn}@}
@var{@texinfo{} commands@dots{}}
@@end macro
@end example
The arguments that you specify that the macro takes are expanded with
the actual parameters used when calling the macro if they are seen
surrounded by backslashes. For example, here is a definition of
@code{@@codeitem}, a macro which can be used wherever @code{@@item} can
be used, but which surrounds its argument with @code{@@code@{@dots{}@}}.
@example
@@macro codeitem@{item@}
@@item @@code@{\item\@}
@@end macro
@end example
When the macro is expanded, all of the text between the @code{@@macro}
and @code{@@end macro} is inserted into the document at the expansion
point, with the actual parameters substituted for the named parameters.
So, a call to the above macro might look like:
@example
@@codeitem@{Foo@}
@end example
and @makeinfo{} would execute the following code:
@example
@@item @@code@{Foo@}
@end example
A special case is made for macros which only take a single argument, and
which are invoked without any brace characters (i.e.,
@samp{@{}@dots{}@samp{@}}) surrounding an argument; the rest of the line
is supplied as is as the sole argument to the macro. This special case
allows one to redefine some standard @texinfo{} commands without
modifying the input file. Along with the non-recursive action of macro
invocation, one can easily redefine the sectioning commands to also
provide index entries:
@example
@@macro chapter@{name@}
@@chapter \name\
@@findex \name\
@@end macro
@end example
Thus, the text:
@example
@@chapter strlen
@end example
will expand to:
@example
@@chapter strlen
@@findex strlen
@end example
@section Using Macros Recursively
Normally, while a particular macro is executing, any call to that macro
will be seen as a call to a builtin @texinfo{} command. This allows one
to redefine a builtin @texinfo{} command as a macro, and then use that
command within the definition of the macro itself. For example, one
might wish to make sure that whereever a term was defined with
@code{@@dfn@{@dots{}@}}, the location of the definition would appear
in the concept index for the manual. Here is a macro which redefines
@code{@@dfn} to do just that:
@example
@@macro dfn@{text@}
@@dfn@{\text\@}
@@cpindex \text\
@@end macro
@end example
Note that we used the builtin @texinfo{} command @code{@@dfn} within our
overriding macro definition.
This behaviour itself can be overridden for macro execution by writing a
special @dfn{macro control command} in the definition of the macro. The
command is considered special because it doesn't affect the output text
directly, rather, it affects the way in which the macro is defined. One
such special command is @code{@@allow-recursion}.
@example
@@macro silly@{arg@}
@@allow-recursion
\arg\
@@end macro
@end example
Now @code{@@silly} is a macro that can be used within a call to itself:
@example
This text @@silly@{@@silly@{some text@}@} is ``some text''.
@end example
@section Using @texinfo{} Macros As Arguments
@printindex cp
How to use @texinfo{} macros as arguments to other @texinfo{} macros.
@bye

View File

@ -1,3 +0,0 @@
@set UPDATED 22 March 1999
@set EDITION 3.12g
@set VERSION 3.12g

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,8 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Makefile.in generated by automake 1.7.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -10,86 +12,151 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
# Id: Makefile.am,v 1.2 2002/09/29 19:08:10 karl Exp
# Makefile.am for texinfo/info.
# Run automake in .. to produce Makefile.in from this.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CATALOGS = @CATALOGS@
host_triplet = @host@
transform = s/ginfo/info/; @program_transform_name@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBS = @LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TERMLIBS = @TERMLIBS@
TEXINFO_MAINT_FALSE = @TEXINFO_MAINT_FALSE@
TEXINFO_MAINT_TRUE = @TEXINFO_MAINT_TRUE@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
l = @l@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
noinst_PROGRAMS = makedoc
# Use `ginfo' for building to avoid confusion with the standard `info'
# target. Removes the `g' in the install rule before applying any
# user-specified name transformations.
bin_PROGRAMS = ginfo
transform = s/ginfo/info/; @program_transform_name@
bin_PROGRAMS = ginfo infokey
localedir = $(datadir)/locale
@ -97,363 +164,378 @@ localedir = $(datadir)/locale
# Automake puts -I.. and -I$(srcdir) into DEFS by default, but
# we need to override it, so include them ourselves.
INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -I.. -I$(srcdir)
DEFS = -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
LDADD = ../lib/libtxi.a @TERMLIBS@ @INTLLIBS@
EXTRA_DIST = README pcterm.c
LDADD = ../lib/libtxi.a @TERMLIBS@ @LIBINTL@
# 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
# listing the functions found. `doc.c' is a structure containing pointers
# to those functions along with completable names and documentation strings.
BUILT_SOURCES = doc.c funs.h
BUILT_SOURCES = doc.c funs.h key.c
EXTRA_DIST = README pcterm.c $(BUILT_SOURCES)
makedoc_SOURCES = makedoc.c
ginfo_SOURCES = dir.c display.c display.h doc.h dribble.c dribble.h echo-area.c echo-area.h filesys.c filesys.h footnotes.c footnotes.h gc.c gc.h indices.c indices.h info-utils.c info-utils.h info.c info.h infodoc.c infomap.c infomap.h m-x.c man.c man.h nodemenu.c nodes.c nodes.h search.c search.h session.c session.h signals.c signals.h termdep.h terminal.c terminal.h tilde.c tilde.h variables.c variables.h window.c window.h $(BUILT_SOURCES)
ginfo_SOURCES = dir.c display.c display.h doc.h dribble.c dribble.h \
echo-area.c echo-area.h \
filesys.c filesys.h footnotes.c footnotes.h gc.c gc.h \
indices.c indices.h info-utils.c info-utils.h info.c info.h infodoc.c \
infomap.c infomap.h m-x.c man.c man.h nodemenu.c nodes.c nodes.h \
search.c search.h session.c session.h signals.c signals.h \
termdep.h terminal.c terminal.h tilde.c tilde.h \
variables.c variables.h window.c window.h \
$(BUILT_SOURCES) $(generated_sources)
infokey_SOURCES = infokey.c infokey.h key.c key.h
# Files with Info commands defined that makedoc should read.
cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c $(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c $(srcdir)/footnotes.c $(srcdir)/variables.c
cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
$(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c \
$(srcdir)/footnotes.c $(srcdir)/variables.c
subdir = info
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = ginfo$(EXEEXT) infokey$(EXEEXT)
noinst_PROGRAMS = makedoc$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
ginfo_OBJECTS = dir.o display.o dribble.o echo-area.o filesys.o \
footnotes.o gc.o indices.o info-utils.o info.o infodoc.o infomap.o \
m-x.o man.o nodemenu.o nodes.o search.o session.o signals.o terminal.o \
tilde.o variables.o window.o doc.o
am__objects_1 = doc.$(OBJEXT) key.$(OBJEXT)
am_ginfo_OBJECTS = dir.$(OBJEXT) display.$(OBJEXT) dribble.$(OBJEXT) \
echo-area.$(OBJEXT) filesys.$(OBJEXT) footnotes.$(OBJEXT) \
gc.$(OBJEXT) indices.$(OBJEXT) info-utils.$(OBJEXT) \
info.$(OBJEXT) infodoc.$(OBJEXT) infomap.$(OBJEXT) \
m-x.$(OBJEXT) man.$(OBJEXT) nodemenu.$(OBJEXT) nodes.$(OBJEXT) \
search.$(OBJEXT) session.$(OBJEXT) signals.$(OBJEXT) \
terminal.$(OBJEXT) tilde.$(OBJEXT) variables.$(OBJEXT) \
window.$(OBJEXT) $(am__objects_1) $(am__objects_2)
ginfo_OBJECTS = $(am_ginfo_OBJECTS)
ginfo_LDADD = $(LDADD)
ginfo_DEPENDENCIES = ../lib/libtxi.a
ginfo_LDFLAGS =
makedoc_OBJECTS = makedoc.o
ginfo_DEPENDENCIES = ../lib/libtxi.a
ginfo_LDFLAGS =
am_infokey_OBJECTS = infokey.$(OBJEXT) key.$(OBJEXT)
infokey_OBJECTS = $(am_infokey_OBJECTS)
infokey_LDADD = $(LDADD)
infokey_DEPENDENCIES = ../lib/libtxi.a
infokey_LDFLAGS =
am_makedoc_OBJECTS = makedoc.$(OBJEXT)
makedoc_OBJECTS = $(am_makedoc_OBJECTS)
makedoc_LDADD = $(LDADD)
makedoc_DEPENDENCIES = ../lib/libtxi.a
makedoc_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
makedoc_DEPENDENCIES = ../lib/libtxi.a
makedoc_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/dir.Po ./$(DEPDIR)/display.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/doc.Po ./$(DEPDIR)/dribble.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/echo-area.Po ./$(DEPDIR)/filesys.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/footnotes.Po ./$(DEPDIR)/gc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/indices.Po ./$(DEPDIR)/info-utils.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/info.Po ./$(DEPDIR)/infodoc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/infokey.Po ./$(DEPDIR)/infomap.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/key.Po ./$(DEPDIR)/m-x.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/makedoc.Po ./$(DEPDIR)/man.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/nodemenu.Po ./$(DEPDIR)/nodes.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/search.Po ./$(DEPDIR)/session.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/signals.Po ./$(DEPDIR)/terminal.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/tilde.Po ./$(DEPDIR)/variables.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/window.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = README Makefile.am Makefile.in
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(ginfo_SOURCES) $(infokey_SOURCES) $(makedoc_SOURCES)
DIST_COMMON = README Makefile.am Makefile.in
SOURCES = $(ginfo_SOURCES) $(infokey_SOURCES) $(makedoc_SOURCES)
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
SOURCES = $(ginfo_SOURCES) $(makedoc_SOURCES)
OBJECTS = $(ginfo_OBJECTS) $(makedoc_OBJECTS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps info/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS:
maintainer-clean-binPROGRAMS:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu info/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
mostlyclean-noinstPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
distclean-noinstPROGRAMS:
maintainer-clean-noinstPROGRAMS:
.c.o:
$(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
ginfo$(EXEEXT): $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES)
@rm -f ginfo$(EXEEXT)
$(LINK) $(ginfo_LDFLAGS) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS)
infokey$(EXEEXT): $(infokey_OBJECTS) $(infokey_DEPENDENCIES)
@rm -f infokey$(EXEEXT)
$(LINK) $(infokey_LDFLAGS) $(infokey_OBJECTS) $(infokey_LDADD) $(LIBS)
makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
@rm -f makedoc$(EXEEXT)
$(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.o core *.core
clean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
maintainer-clean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/display.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/doc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dribble.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo-area.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesys.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/footnotes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indices.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/info-utils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/info.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infodoc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infokey.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infomap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m-x.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makedoc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/man.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nodemenu.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nodes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/search.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signals.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terminal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tilde.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variables.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Po@am__quote@
ginfo: $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES)
@rm -f ginfo
$(LINK) $(ginfo_LDFLAGS) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS)
distclean-depend:
-rm -rf ./$(DEPDIR)
makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
@rm -f makedoc
$(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@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)/$<'`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
mostlyclean-tags:
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
clean-tags:
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
maintainer-clean-tags:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = info
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pr $$d/$$file $(distdir)/$$file; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
dir.o: dir.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h tilde.h
display.o: display.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
doc.o: doc.c doc.h info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h footnotes.h \
gc.h funs.h
dribble.o: dribble.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
echo-area.o: echo-area.c info.h ../lib/system.h ../config.h \
../lib/getopt.h filesys.h display.h info-utils.h nodes.h \
window.h infomap.h search.h terminal.h session.h dribble.h \
echo-area.h doc.h footnotes.h gc.h
filesys.o: filesys.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h tilde.h
footnotes.o: footnotes.c info.h ../lib/system.h ../config.h \
../lib/getopt.h filesys.h display.h info-utils.h nodes.h \
window.h infomap.h search.h terminal.h session.h dribble.h \
echo-area.h doc.h footnotes.h gc.h
gc.o: gc.c info.h ../lib/system.h ../config.h ../lib/getopt.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
indices.o: indices.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h indices.h
info-utils.o: info-utils.c info.h ../lib/system.h ../config.h \
../lib/getopt.h filesys.h display.h info-utils.h nodes.h \
window.h infomap.h search.h terminal.h session.h dribble.h \
echo-area.h doc.h footnotes.h gc.h man.h
info.o: info.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h indices.h man.h
infodoc.o: infodoc.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
infokey.o: infokey.c info.h ../lib/system.h ../config.h filesys.h doc.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h footnotes.h gc.h \
infokey.h key.h ../lib/getopt.h
infomap.o: infomap.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h funs.h
key.o: key.c key.h funs.h
m-x.o: m-x.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
makedoc.o: makedoc.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
man.o: man.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h signals.h tilde.h man.h
nodemenu.o: nodemenu.c info.h ../lib/system.h ../config.h \
../lib/getopt.h filesys.h display.h info-utils.h nodes.h \
window.h infomap.h search.h terminal.h session.h dribble.h \
echo-area.h doc.h footnotes.h gc.h
nodes.o: nodes.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h man.h
search.o: search.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
session.o: session.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h man.h
signals.o: signals.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h signals.h
terminal.o: terminal.c info.h ../lib/system.h ../config.h \
../lib/getopt.h filesys.h display.h info-utils.h nodes.h \
window.h infomap.h search.h terminal.h session.h dribble.h \
echo-area.h doc.h footnotes.h gc.h termdep.h
tilde.o: tilde.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
variables.o: variables.c info.h ../lib/system.h ../config.h \
../lib/getopt.h filesys.h display.h info-utils.h nodes.h \
window.h infomap.h search.h terminal.h session.h dribble.h \
echo-area.h doc.h footnotes.h gc.h variables.h
window.o: window.c info.h ../lib/system.h ../config.h ../lib/getopt.h \
filesys.h display.h info-utils.h nodes.h window.h infomap.h \
search.h terminal.h session.h dribble.h echo-area.h doc.h \
footnotes.h gc.h
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-binPROGRAMS
install-exec: install-exec-am
all-am: Makefile $(PROGRAMS)
install-data-am:
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-binPROGRAMS
uninstall: uninstall-am
all-am: Makefile $(PROGRAMS)
all-redirect: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir)
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
mostlyclean-compile mostlyclean-tags \
mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-binPROGRAMS clean-noinstPROGRAMS clean-compile \
clean-tags clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-noinstPROGRAMS \
distclean-compile distclean-tags distclean-generic \
clean-am
clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean-noinstPROGRAMS \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am: install-binPROGRAMS
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
check-am installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic clean-noinstPROGRAMS ctags distclean \
distclean-compile distclean-depend distclean-generic \
distclean-tags distdir dvi dvi-am info info-am install \
install-am install-binPROGRAMS install-data install-data-am \
install-exec install-exec-am install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-info-am
$(BUILT_SOURCES): makedoc $(cmd_sources)
# This is insufficient. We really need them not to be in the
# distribution in the first place, but it seems Automake does not
# currently allow that.
# The $(EXEEXT) should be added by Automake, but isn't. Fine.
$(BUILT_SOURCES): makedoc$(EXEEXT) $(cmd_sources)
rm -f $(BUILT_SOURCES)
./makedoc $(cmd_sources)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,7 +1,10 @@
/* info.c -- Display nodes of Info files in multiple windows.
$Id: info.c,v 1.5 2001/09/02 21:42:49 wiz Exp $
/* $NetBSD: info.c,v 1.6 2003/01/17 15:25:49 wiz Exp $ */
Copyright (C) 1993, 96, 97, 98, 99 Free Software Foundation, Inc.
/* info.c -- Display nodes of Info files in multiple windows.
Id: info.c,v 1.1 2002/08/25 23:38:38 karl Exp
Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -76,6 +79,9 @@ int dump_subnodes = 0;
/* Non-zero means make default keybindings be loosely modeled on vi(1). */
int vi_keys_p = 0;
/* Non-zero means don't remove ANSI escape sequences from man pages. */
int raw_escapes_p = 0;
#ifdef __MSDOS__
/* Non-zero indicates that screen output should be made 'speech-friendly'.
Since on MSDOS the usual behavior is to write directly to the video
@ -95,29 +101,30 @@ int speech_friendly = 0;
static struct option long_options[] = {
{ "apropos", 1, 0, APROPOS_OPTION },
{ "directory", 1, 0, 'd' },
{ "node", 1, 0, 'n' },
{ "file", 1, 0, 'f' },
{ "subnodes", 0, &dump_subnodes, 1 },
{ "output", 1, 0, 'o' },
{ "show-options", 0, 0, 'O' },
{ "usage", 0, 0, 'O' },
{ "vi-keys", 0, &vi_keys_p, 1 },
{ "help", 0, &print_help_p, 1 },
{ "version", 0, &print_version_p, 1 },
{ "dribble", 1, 0, DRIBBLE_OPTION },
{ "file", 1, 0, 'f' },
{ "help", 0, &print_help_p, 1 },
{ "index-search", 1, 0, IDXSRCH_OPTION },
{ "node", 1, 0, 'n' },
{ "output", 1, 0, 'o' },
{ "raw-escapes", 0, &raw_escapes_p, 1 },
{ "restore", 1, 0, RESTORE_OPTION },
{ "show-options", 0, 0, 'O' },
{ "subnodes", 0, &dump_subnodes, 1 },
{ "usage", 0, 0, 'O' },
{ "version", 0, &print_version_p, 1 },
{ "vi-keys", 0, &vi_keys_p, 1 },
#ifdef __MSDOS__
{ "speech-friendly", 0, &speech_friendly, 1 },
#endif
{ "index-search", 1, 0, IDXSRCH_OPTION },
{NULL, 0, NULL, 0}
};
/* String describing the shorthand versions of the long options found above. */
#ifdef __MSDOS__
static char *short_options = "d:n:f:o:Osb";
static char *short_options = "d:n:f:o:ORsb";
#else
static char *short_options = "d:n:f:o:Os";
static char *short_options = "d:n:f:o:ORs";
#endif
/* When non-zero, the Info window system has been initialized. */
@ -126,6 +133,7 @@ int info_windows_initialized_p = 0;
/* Some "forward" declarations. */
static void info_short_help (), remember_info_program_name ();
static void init_messages ();
extern void add_file_directory_to_path ();
/* **************************************************************** */
@ -208,6 +216,12 @@ main (argc, argv)
goto_invocation_p = 1;
break;
/* User has specified that she wants the escape sequences
in man pages to be passed thru unaltered. */
case 'R':
raw_escapes_p = 1;
break;
/* User is specifying that she wishes to dump the subnodes of
the node that she is dumping. */
case 's':
@ -215,7 +229,7 @@ main (argc, argv)
break;
#ifdef __MSDOS__
/* User specifies that she wants speech-friendly output. */
/* User wants speech-friendly output. */
case 'b':
speech_friendly = 1;
break;
@ -270,7 +284,7 @@ main (argc, argv)
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.\n"),
"1999");
"2002");
xexit (0);
}
@ -315,25 +329,7 @@ For more information about these matters, see the files named COPYING.\n"),
/* If the user specified a particular filename, add the path of that
file to the contents of INFOPATH. */
if (user_filename)
{
char *directory_name = xstrdup (user_filename);
char *temp = filename_non_directory (directory_name);
if (temp != directory_name)
{
if (HAVE_DRIVE (directory_name) && temp == directory_name + 2)
{
/* The directory of "d:foo" is stored as "d:.", to avoid
mixing it with "d:/" when a slash is appended. */
*temp = '.';
temp += 2;
}
temp[-1] = 0;
info_add_path (directory_name, INFOPATH_PREPEND);
}
free (directory_name);
}
add_file_directory_to_path (user_filename);
/* If the user wants to search every known index for a given string,
do that now, and report the results. */
@ -384,13 +380,14 @@ For more information about these matters, see the files named COPYING.\n"),
char *errstr, *errarg1, *errarg2;
NODE *new_initial_node = info_follow_menus (initial_node, argv + optind,
&errstr, &errarg1, &errarg2);
if (new_initial_node && new_initial_node != initial_node)
initial_node = new_initial_node;
/* If the user specified that this node should be output, then do that
now. Otherwise, start the Info session with this node. Or act
accordingly if the initial node was not found. */
if (user_output_filename)
if (user_output_filename && !goto_invocation_p)
{
if (!errstr)
dump_node_to_file (initial_node, user_output_filename,
@ -449,7 +446,13 @@ For more information about these matters, see the files named COPYING.\n"),
free (program);
}
info_read_and_dispatch ();
if (user_output_filename)
{
dump_node_to_file (windows->node, user_output_filename,
dump_subnodes);
}
else
info_read_and_dispatch ();
/* On program exit, leave the cursor at the bottom of the
window, and restore the terminal IO. */
@ -476,6 +479,29 @@ For more information about these matters, see the files named COPYING.\n"),
}
}
void
add_file_directory_to_path (filename)
char *filename;
{
char *directory_name = xstrdup (filename);
char *temp = filename_non_directory (directory_name);
if (temp != directory_name)
{
if (HAVE_DRIVE (directory_name) && temp == directory_name + 2)
{
/* The directory of "d:foo" is stored as "d:.", to avoid
mixing it with "d:/" when a slash is appended. */
*temp = '.';
temp += 2;
}
temp[-1] = 0;
info_add_path (directory_name, INFOPATH_PREPEND);
}
free (directory_name);
}
/* Error handling. */
@ -529,25 +555,34 @@ info_error (format, arg1, arg2)
static void
info_short_help ()
{
#ifdef __MSDOS__
static const char speech_friendly_string[] = N_("\
-b, --speech-friendly be friendly to speech synthesizers.\n");
#else
static const char speech_friendly_string[] = "";
#endif
printf (_("\
Usage: %s [OPTION]... [MENU-ITEM...]\n\
\n\
Read documentation in Info format.\n\
\n\
Options:\n\
--apropos=SUBJECT look up SUBJECT in all indices of all manuals.\n\
--directory=DIR add DIR to INFOPATH.\n\
--dribble=FILENAME remember user keystrokes in FILENAME.\n\
--file=FILENAME specify Info file to visit.\n\
--help display this help and exit.\n\
--index-search=STRING go to node pointed by index entry STRING.\n\
--node=NODENAME specify nodes in first visited Info file.\n\
--output=FILENAME output selected nodes to FILENAME.\n\
--restore=FILENAME read initial keystrokes from FILENAME.\n\
--show-options, --usage go to command-line options node.\n\
--subnodes recursively output menu items.\n%s\
--vi-keys use vi-like and less-like key bindings.\n\
--version display version information and exit.\n\
--apropos=STRING look up STRING in all indices of all manuals.\n\
-d, --directory=DIR add DIR to INFOPATH.\n\
--dribble=FILENAME remember user keystrokes in FILENAME.\n\
-f, --file=FILENAME specify Info file to visit.\n\
-h, --help display this help and exit.\n\
--index-search=STRING go to node pointed by index entry STRING.\n\
-n, --node=NODENAME specify nodes in first visited Info file.\n\
-o, --output=FILENAME output selected nodes to FILENAME.\n\
-R, --raw-escapes don't remove ANSI escapes from man pages.\n\
--restore=FILENAME read initial keystrokes from FILENAME.\n\
-O, --show-options, --usage go to command-line options node.\n%s\
--subnodes recursively output menu items.\n\
--vi-keys use vi-like and less-like key bindings.\n\
--version display version information and exit.\n\
\n\
The first non-option argument, if present, is the menu entry to start from;\n\
it is searched for in all `dir' files along INFOPATH.\n\
@ -561,18 +596,13 @@ Examples:\n\
info emacs buffers start at buffers node within emacs manual\n\
info --show-options emacs start at node with emacs' command line options\n\
info -f ./foo.info show file ./foo.info, not searching dir\n\
\n\
"),
program_name, speech_friendly_string);
puts (_("\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.\n\
"),
program_name,
#ifdef __MSDOS__
"\
--speech-friendly be friendly to speech synthesizers.\n"
#else
""
#endif
);
Texinfo home page: http://www.gnu.org/software/texinfo/"));
xexit (0);
}

View File

@ -1,7 +1,9 @@
/* nodes.c -- how to get an Info file and node.
$Id: nodes.c,v 1.2 2002/01/16 17:22:37 tv Exp $
/* $NetBSD: nodes.c,v 1.3 2003/01/17 15:25:49 wiz Exp $ */
Copyright (C) 1993, 98, 99 Free Software Foundation, Inc.
/* nodes.c -- how to get an Info file and node.
Id: nodes.c,v 1.1 2002/08/25 23:38:38 karl Exp
Copyright (C) 1993, 1998, 1999, 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 General Public License as published by
@ -223,11 +225,12 @@ info_find_file_internal (filename, get_tags)
if (info_loaded_files)
{
for (i = 0; (file_buffer = info_loaded_files[i]); i++)
if ((FILENAME_CMP (filename, file_buffer->filename) == 0) ||
(FILENAME_CMP (filename, file_buffer->fullpath) == 0) ||
(!IS_ABSOLUTE (filename) &&
FILENAME_CMP (filename,
filename_non_directory (file_buffer->fullpath)) == 0))
if ((FILENAME_CMP (filename, file_buffer->filename) == 0)
|| (FILENAME_CMP (filename, file_buffer->fullpath) == 0)
|| (!IS_ABSOLUTE (filename)
&& FILENAME_CMP (filename,
filename_non_directory (file_buffer->fullpath))
== 0))
{
struct stat new_info, *old_info;
@ -242,9 +245,8 @@ info_find_file_internal (filename, get_tags)
return file_buffer;
#endif /* HANDLE_MAN_PAGES */
/* The file appears to be already loaded, and it is not "dir".
Check to see if it has changed since the last time it was
loaded. */
/* The file appears to be already loaded, and is not "dir". Check
to see if it's changed since the last time it was loaded. */
if (stat (file_buffer->fullpath, &new_info) == -1)
{
filesys_error_number = errno;
@ -253,8 +255,8 @@ info_find_file_internal (filename, get_tags)
old_info = &file_buffer->finfo;
if ((new_info.st_size != old_info->st_size) ||
(new_info.st_mtime != old_info->st_mtime))
if (new_info.st_size != old_info->st_size
|| new_info.st_mtime != old_info->st_mtime)
{
/* The file has changed. Forget that we ever had loaded it
in the first place. */
@ -268,13 +270,13 @@ info_find_file_internal (filename, get_tags)
for this file, and there isn't one here, build the nodes
for this file_buffer. In any case, return the file_buffer
object. */
if (!file_buffer->contents)
{
/* The file's contents have been gc'ed. Reload it. */
info_reload_file_buffer_contents (file_buffer);
if (!file_buffer->contents)
return NULL;
}
if (!file_buffer->contents)
{
/* The file's contents have been gc'ed. Reload it. */
info_reload_file_buffer_contents (file_buffer);
if (!file_buffer->contents)
return NULL;
}
if (get_tags && !file_buffer->tags)
build_tags_and_nodes (file_buffer);
@ -771,20 +773,20 @@ get_tags_of_indirect_tags_table (file_buffer, indirect_binding, tags_binding)
/* Build the file buffer's list of subfiles. */
{
char *containing_dir = xstrdup (file_buffer->fullpath);
char *temp = filename_non_directory (containing_dir);
char *temp = filename_non_directory (containing_dir);
int len_containing_dir;
if (temp > containing_dir)
{
if (HAVE_DRIVE (file_buffer->fullpath) &&
temp == containing_dir + 2)
{
/* Avoid converting "d:foo" into "d:/foo" below. */
*temp = '.';
temp += 2;
}
temp[-1] = 0;
}
if (temp > containing_dir)
{
if (HAVE_DRIVE (file_buffer->fullpath) &&
temp == containing_dir + 2)
{
/* Avoid converting "d:foo" into "d:/foo" below. */
*temp = '.';
temp += 2;
}
temp[-1] = 0;
}
len_containing_dir = strlen (containing_dir);
@ -941,20 +943,22 @@ info_node_of_file_buffer_tags (file_buffer, nodename)
TAG *tag;
int i;
/* If no tags at all (possibly a misformatted info file), quit. */
if (!file_buffer->tags) {
return NULL;
}
for (i = 0; (tag = file_buffer->tags[i]); i++)
if (strcmp (nodename, tag->nodename) == 0)
{
FILE_BUFFER *subfile;
subfile = info_find_file_internal (tag->filename, INFO_NO_TAGS);
FILE_BUFFER *subfile = info_find_file_internal (tag->filename,
INFO_NO_TAGS);
if (!subfile)
return NULL;
if (!subfile->contents)
{
info_reload_file_buffer_contents (subfile);
if (!subfile->contents)
return NULL;
}
@ -1188,7 +1192,7 @@ info_reload_file_buffer_contents (fb)
/* Let the filesystem do all the work for us. */
fb->contents =
filesys_read_info_file (fb->fullpath, &(fb->filesize), &(fb->finfo),
&is_compressed);
&is_compressed);
if (is_compressed)
fb->flags |= N_IsCompressed;
}

View File

@ -1,8 +1,10 @@
/* terminal.c -- How to handle the physical terminal for Info.
$Id: terminal.c,v 1.5 2001/09/02 21:50:55 wiz Exp $
/* $NetBSD: terminal.c,v 1.6 2003/01/17 15:25:50 wiz Exp $ */
Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 97, 98, 99
Free Software Foundation, Inc.
/* terminal.c -- how to handle the physical terminal for Info.
Id: terminal.c,v 1.1 2002/08/25 23:38:38 karl Exp
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998,
1999, 2001, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -26,7 +28,6 @@
#include <sys/types.h>
#include <signal.h>
#include <sys/ioctl.h> /* TIOCGWINSZ on LynxOS, at least */
/* The Unix termcap interface code. */
#ifdef HAVE_NCURSES_TERMCAP_H
@ -223,12 +224,17 @@ int terminal_use_visible_bell_p = 0;
int terminal_can_scroll = 0;
/* The key sequences output by the arrow keys, if this terminal has any. */
char *term_ku = (char *)NULL;
char *term_kd = (char *)NULL;
char *term_kr = (char *)NULL;
char *term_kl = (char *)NULL;
char *term_kP = (char *)NULL; /* page-up */
char *term_kN = (char *)NULL; /* page-down */
char *term_ku = NULL;
char *term_kd = NULL;
char *term_kr = NULL;
char *term_kl = NULL;
char *term_kP = NULL; /* page-up */
char *term_kN = NULL; /* page-down */
char *term_kh = NULL; /* home */
char *term_ke = NULL; /* end */
char *term_kD = NULL; /* delete */
char *term_ki = NULL; /* ins */
char *term_kx = NULL; /* del */
/* Move the cursor to the terminal location of X and Y. */
void
@ -561,6 +567,8 @@ terminal_initialize_terminal (terminal_name)
term_up = term_dn = audible_bell = visible_bell = NULL;
term_ku = term_kd = term_kl = term_kr = NULL;
term_kP = term_kN = NULL;
term_kh = term_ke = NULL;
term_kD = NULL;
return;
}
@ -607,7 +615,7 @@ terminal_initialize_terminal (terminal_name)
if (term_invbeg)
term_invend = tgetstr ("me", &buffer);
else
term_invend = (char *)NULL;
term_invend = NULL;
if (!term_cr)
term_cr = "\r";
@ -617,7 +625,7 @@ terminal_initialize_terminal (terminal_name)
term_up = tgetstr ("up", &buffer);
term_dn = tgetstr ("dn", &buffer);
visible_bell = tgetstr ("vb", &buffer);
terminal_has_visible_bell_p = (visible_bell != (char *)NULL);
terminal_has_visible_bell_p = (visible_bell != NULL);
audible_bell = tgetstr ("bl", &buffer);
if (!audible_bell)
audible_bell = "\007";
@ -636,8 +644,8 @@ terminal_initialize_terminal (terminal_name)
}
else
{
term_mm = (char *)NULL;
term_mo = (char *)NULL;
term_mm = NULL;
term_mo = NULL;
}
/* Attempt to find the arrow keys. */
@ -649,6 +657,19 @@ terminal_initialize_terminal (terminal_name)
term_kP = tgetstr ("kP", &buffer);
term_kN = tgetstr ("kN", &buffer);
#if defined(INFOKEY)
term_kh = tgetstr ("kh", &buffer);
term_ke = tgetstr ("@7", &buffer);
term_ki = tgetstr ("kI", &buffer);
term_kx = tgetstr ("kD", &buffer);
#endif /* defined(INFOKEY) */
/* Home and end keys. */
term_kh = tgetstr ("kh", &buffer);
term_ke = tgetstr ("@7", &buffer);
term_kD = tgetstr ("kD", &buffer);
/* If this terminal is not cursor addressable, then it is really dumb. */
if (!term_goto)
terminal_is_dumb_p = 1;
@ -742,11 +763,22 @@ terminal_prep_terminal ()
#endif /* VLNEXT */
#endif /* TERMIOS or TERMIO */
/* cf. emacs/src/sysdep.c for being sure output is on. */
#if defined (HAVE_TERMIOS_H)
/* linux kernel 2.2.x needs a TCOFF followed by a TCOON to turn output
back on if the user presses ^S at the very beginning; just a TCOON
doesn't work. --Kevin Ryde <user42@zip.com.au>, 16jun2000. */
tcsetattr (tty, TCSANOW, &ttybuff);
# ifdef TCOON
tcflow (tty, TCOOFF);
tcflow (tty, TCOON);
# endif
#else
# if defined (HAVE_TERMIO_H)
ioctl (tty, TCSETA, &ttybuff);
# ifdef TCXONC
ioctl (tty, TCXONC, 1);
# endif
# endif
#endif

View File

@ -1,262 +0,0 @@
/* Compatibility code for gettext-using-catgets interface.
Copyright (C) 1995, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 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 General Public License for more details.
You should have received a copy of the GNU 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. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <string.h>
#else
char *getenv ();
# ifdef HAVE_MALLOC_H
# include <malloc.h>
# endif
#endif
#ifdef HAVE_NL_TYPES_H
# include <nl_types.h>
#endif
#include "libgettext.h"
/* @@ end of prolog @@ */
/* XPG3 defines the result of `setlocale (category, NULL)' as:
``Directs `setlocale()' to query `category' and return the current
setting of `local'.''
However it does not specify the exact format. And even worse: POSIX
defines this not at all. So we can use this feature only on selected
system (e.g. those using GNU C Library). */
#ifdef _LIBC
# define HAVE_LOCALE_NULL
#endif
/* The catalog descriptor. */
static nl_catd catalog = (nl_catd) -1;
/* Name of the default catalog. */
static const char default_catalog_name[] = "messages";
/* Name of currently used catalog. */
static const char *catalog_name = default_catalog_name;
/* Get ID for given string. If not found return -1. */
static int msg_to_cat_id PARAMS ((const char *msg));
/* Substitution for systems lacking this function in their C library. */
#if !_LIBC && !HAVE_STPCPY
static char *stpcpy PARAMS ((char *dest, const char *src));
#endif
/* Set currently used domain/catalog. */
char *
textdomain (domainname)
const char *domainname;
{
nl_catd new_catalog;
char *new_name;
size_t new_name_len;
char *lang;
#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \
&& defined HAVE_LOCALE_NULL
lang = setlocale (LC_MESSAGES, NULL);
#else
lang = getenv ("LC_ALL");
if (lang == NULL || lang[0] == '\0')
{
lang = getenv ("LC_MESSAGES");
if (lang == NULL || lang[0] == '\0')
lang = getenv ("LANG");
}
#endif
if (lang == NULL || lang[0] == '\0')
lang = "C";
/* See whether name of currently used domain is asked. */
if (domainname == NULL)
return (char *) catalog_name;
if (domainname[0] == '\0')
domainname = default_catalog_name;
/* Compute length of added path element. */
new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)
+ sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1
+ sizeof (".cat");
new_name = (char *) malloc (new_name_len);
if (new_name == NULL)
return NULL;
strcpy (new_name, PACKAGE);
new_catalog = catopen (new_name, 0);
if (new_catalog == (nl_catd) -1)
{
/* NLSPATH search didn't work, try absolute path */
sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,
PACKAGE);
new_catalog = catopen (new_name, 0);
if (new_catalog == (nl_catd) -1)
{
free (new_name);
return (char *) catalog_name;
}
}
/* Close old catalog. */
if (catalog != (nl_catd) -1)
catclose (catalog);
if (catalog_name != default_catalog_name)
free ((char *) catalog_name);
catalog = new_catalog;
catalog_name = new_name;
return (char *) catalog_name;
}
char *
bindtextdomain (domainname, dirname)
const char *domainname;
const char *dirname;
{
#if HAVE_SETENV || HAVE_PUTENV
char *old_val, *new_val, *cp;
size_t new_val_len;
/* This does not make much sense here but to be compatible do it. */
if (domainname == NULL)
return NULL;
/* Compute length of added path element. If we use setenv we don't need
the first byts for NLSPATH=, but why complicate the code for this
peanuts. */
new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)
+ sizeof ("/%L/LC_MESSAGES/%N.cat");
old_val = getenv ("NLSPATH");
if (old_val == NULL || old_val[0] == '\0')
{
old_val = NULL;
new_val_len += 1 + sizeof (LOCALEDIR) - 1
+ sizeof ("/%L/LC_MESSAGES/%N.cat");
}
else
new_val_len += strlen (old_val);
new_val = (char *) malloc (new_val_len);
if (new_val == NULL)
return NULL;
# if HAVE_SETENV
cp = new_val;
# else
cp = stpcpy (new_val, "NLSPATH=");
# endif
cp = stpcpy (cp, dirname);
cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");
if (old_val == NULL)
{
# if __STDC__
stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");
# else
cp = stpcpy (cp, LOCALEDIR);
stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");
# endif
}
else
stpcpy (cp, old_val);
# if HAVE_SETENV
setenv ("NLSPATH", new_val, 1);
free (new_val);
# else
putenv (new_val);
/* Do *not* free the environment entry we just entered. It is used
from now on. */
# endif
#endif
return (char *) domainname;
}
#undef gettext
char *
gettext (msg)
const char *msg;
{
int msgid;
if (msg == NULL || catalog == (nl_catd) -1)
return (char *) msg;
/* Get the message from the catalog. We always use set number 1.
The message ID is computed by the function `msg_to_cat_id'
which works on the table generated by `po-to-tbl'. */
msgid = msg_to_cat_id (msg);
if (msgid == -1)
return (char *) msg;
return catgets (catalog, 1, msgid, (char *) msg);
}
/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries
for the one equal to msg. If it is found return the ID. In case when
the string is not found return -1. */
static int
msg_to_cat_id (msg)
const char *msg;
{
int cnt;
for (cnt = 0; cnt < _msg_tbl_length; ++cnt)
if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)
return _msg_tbl[cnt]._msg_number;
return -1;
}
/* @@ begin of epilog @@ */
/* We don't want libintl.a to depend on any other library. So we
avoid the non-standard function stpcpy. In GNU C Library this
function is available, though. Also allow the symbol HAVE_STPCPY
to be defined. */
#if !_LIBC && !HAVE_STPCPY
static char *
stpcpy (dest, src)
char *dest;
const char *src;
{
while ((*dest++ = *src++) != '\0')
/* Do nothing. */ ;
return dest - 1;
}
#endif

View File

@ -1,105 +0,0 @@
/* Internal header for GNU gettext internationalization functions.
Copyright (C) 1995, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 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 General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _GETTEXT_H
#define _GETTEXT_H 1
#include <stdio.h>
#if HAVE_LIMITS_H || _LIBC
# include <limits.h>
#endif
/* @@ end of prolog @@ */
/* The magic number of the GNU message catalog format. */
#define _MAGIC 0x950412de
#define _MAGIC_SWAPPED 0xde120495
/* Revision number of the currently used .mo (binary) file format. */
#define MO_REVISION_NUMBER 0
/* The following contortions are an attempt to use the C preprocessor
to determine an unsigned integral type that is 32 bits wide. An
alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
doing that would require that the configure script compile and *run*
the resulting executable. Locally running cross-compiled executables
is usually not possible. */
#if __STDC__
# define UINT_MAX_32_BITS 4294967295U
#else
# define UINT_MAX_32_BITS 0xFFFFFFFF
#endif
/* If UINT_MAX isn't defined, assume it's a 32-bit type.
This should be valid for all systems GNU cares about because
that doesn't include 16-bit systems, and only modern systems
(that certainly have <limits.h>) have 64+-bit integral types. */
#ifndef UINT_MAX
# define UINT_MAX UINT_MAX_32_BITS
#endif
#if UINT_MAX == UINT_MAX_32_BITS
typedef unsigned nls_uint32;
#else
# if USHRT_MAX == UINT_MAX_32_BITS
typedef unsigned short nls_uint32;
# else
# if ULONG_MAX == UINT_MAX_32_BITS
typedef unsigned long nls_uint32;
# else
/* The following line is intended to throw an error. Using #error is
not portable enough. */
"Cannot determine unsigned 32-bit data type."
# endif
# endif
#endif
/* Header for binary .mo file format. */
struct mo_file_header
{
/* The magic number. */
nls_uint32 magic;
/* The revision number of the file format. */
nls_uint32 revision;
/* The number of strings pairs. */
nls_uint32 nstrings;
/* Offset of table with start offsets of original strings. */
nls_uint32 orig_tab_offset;
/* Offset of table with start offsets of translation strings. */
nls_uint32 trans_tab_offset;
/* Size of hashing table. */
nls_uint32 hash_tab_size;
/* Offset of first hashing entry. */
nls_uint32 hash_tab_offset;
};
struct string_desc
{
/* Length of addressed string. */
nls_uint32 length;
/* Offset of string in file. */
nls_uint32 offset;
};
/* @@ begin of epilog @@ */
#endif /* gettext.h */

View File

@ -1,182 +0,0 @@
/* Message catalogs for internationalization.
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 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 General Public License for more details.
You should have received a copy of the GNU 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. */
/* Because on some systems (e.g. Solaris) we sometimes have to include
the systems libintl.h as well as this file we have more complex
include protection above. But the systems header might perhaps also
define _LIBINTL_H and therefore we have to protect the definition here. */
#if !defined _LIBINTL_H || !defined _LIBGETTEXT_H
#ifndef _LIBINTL_H
# define _LIBINTL_H 1
#endif
#define _LIBGETTEXT_H 1
/* We define an additional symbol to signal that we use the GNU
implementation of gettext. */
#define __USE_GNU_GETTEXT 1
#include <sys/types.h>
#if HAVE_LOCALE_H
# include <locale.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* @@ end of prolog @@ */
#ifndef PARAMS
# if __STDC__ || defined __cplusplus
# define PARAMS(args) args
# else
# define PARAMS(args) ()
# endif
#endif
#ifndef NULL
# if !defined __cplusplus || defined __GNUC__
# define NULL ((void *) 0)
# else
# define NULL (0)
# endif
#endif
#if !HAVE_LC_MESSAGES
/* This value determines the behaviour of the gettext() and dgettext()
function. But some system does not have this defined. Define it
to a default value. */
# define LC_MESSAGES (-1)
#endif
/* Declarations for gettext-using-catgets interface. Derived from
Jim Meyering's libintl.h. */
struct _msg_ent
{
const char *_msg;
int _msg_number;
};
#if HAVE_CATGETS
/* These two variables are defined in the automatically by po-to-tbl.sed
generated file `cat-id-tbl.c'. */
extern const struct _msg_ent _msg_tbl[];
extern int _msg_tbl_length;
#endif
/* For automatical extraction of messages sometimes no real
translation is needed. Instead the string itself is the result. */
#define gettext_noop(Str) (Str)
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
extern char *gettext PARAMS ((const char *__msgid));
extern char *gettext__ PARAMS ((const char *__msgid));
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
extern char *dgettext__ PARAMS ((const char *__domainname,
const char *__msgid));
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
int __category));
extern char *dcgettext__ PARAMS ((const char *__domainname,
const char *__msgid, int __category));
/* 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". */
extern char *textdomain PARAMS ((const char *__domainname));
extern char *textdomain__ PARAMS ((const char *__domainname));
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
extern char *bindtextdomain PARAMS ((const char *__domainname,
const char *__dirname));
extern char *bindtextdomain__ PARAMS ((const char *__domainname,
const char *__dirname));
#if ENABLE_NLS
/* Solaris 2.3 has the gettext function but dcgettext is missing.
So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4
has dcgettext. */
# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)
# define gettext(Msgid) \
dgettext (NULL, Msgid)
# define dgettext(Domainname, Msgid) \
dcgettext (Domainname, Msgid, LC_MESSAGES)
# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7
/* This global variable is defined in loadmsgcat.c. We need a sign,
whether a new catalog was loaded, which can be associated with all
translations. */
extern int _nl_msg_cat_cntr;
# define dcgettext(Domainname, Msgid, Category) \
(__extension__ \
({ \
char *__result; \
if (__builtin_constant_p (Msgid)) \
{ \
static char *__translation__; \
static int __catalog_counter__; \
if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
{ \
__translation__ = \
dcgettext__ (Domainname, Msgid, Category); \
__catalog_counter__ = _nl_msg_cat_cntr; \
} \
__result = __translation__; \
} \
else \
__result = dcgettext__ (Domainname, Msgid, Category); \
__result; \
}))
# endif
# endif
#else
# define gettext(Msgid) (Msgid)
# define dgettext(Domainname, Msgid) (Msgid)
# define dcgettext(Domainname, Msgid, Category) (Msgid)
# define textdomain(Domainname) ((char *) Domainname)
# define bindtextdomain(Domainname, Dirname) ((char *) Dirname)
#endif
/* @@ begin of epilog @@ */
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,100 +0,0 @@
# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
# Copyright (C) 1995 Free Software Foundation, Inc.
# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 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 General Public License for more details.
#
# You should have received a copy of the GNU 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.
#
#
# The first directive in the .msg should be the definition of the
# message set number. We use always set number 1.
#
1 {
i\
$set 1 # Automatically created by po2msg.sed
h
s/.*/0/
x
}
#
# Mitch's old catalog format does not allow comments.
#
# We copy the original message as a comment into the .msg file.
#
/^msgid/ {
s/msgid[ ]*"//
#
# This does not work now with the new format.
# /"$/! {
# s/\\$//
# s/$/ ... (more lines following)"/
# }
x
# The following nice solution is by
# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
td
# Increment a decimal number in pattern space.
# First hide trailing `9' digits.
:d
s/9\(_*\)$/_\1/
td
# Assure at least one digit is available.
s/^\(_*\)$/0\1/
# Increment the last digit.
s/8\(_*\)$/9\1/
s/7\(_*\)$/8\1/
s/6\(_*\)$/7\1/
s/5\(_*\)$/6\1/
s/4\(_*\)$/5\1/
s/3\(_*\)$/4\1/
s/2\(_*\)$/3\1/
s/1\(_*\)$/2\1/
s/0\(_*\)$/1\1/
# Convert the hidden `9' digits to `0's.
s/_/0/g
x
G
s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
}
#
# The .msg file contains, other then the .po file, only the translations
# but each given a unique ID. Starting from 1 and incrementing by 1 for
# each message we assign them to the messages.
# It is important that the .po file used to generate the cat-id-tbl.c file
# (with po-to-tbl) is the same as the one used here. (At least the order
# of declarations must not be changed.)
#
/^msgstr/ {
s/msgstr[ ]*"\(.*\)"/# \1/
# Clear substitution flag.
tb
# Append the next line.
:b
N
# Look whether second part is continuation line.
s/\(.*\n\)"\(.*\)"/\1\2/
# Yes, then branch.
ta
P
D
# Note that D includes a jump to the start!!
# We found a continuation line. But before printing insert '\'.
:a
s/\(.*\)\(\n.*\)/\1\\\2/
P
# We cannot use D here.
s/.*\n\(.*\)/\1/
tb
}
d

View File

@ -1,102 +0,0 @@
# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
# Copyright (C) 1995 Free Software Foundation, Inc.
# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 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 General Public License for more details.
#
# You should have received a copy of the GNU 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.
#
1 {
i\
/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
\
#if HAVE_CONFIG_H\
# include <config.h>\
#endif\
\
#include "libgettext.h"\
\
const struct _msg_ent _msg_tbl[] = {
h
s/.*/0/
x
}
#
# Write msgid entries in C array form.
#
/^msgid/ {
s/msgid[ ]*\(".*"\)/ {\1/
tb
# Append the next line
:b
N
# Look whether second part is continuation line.
s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
# Yes, then branch.
ta
# Because we assume that the input file correctly formed the line
# just read cannot be again be a msgid line. So it's safe to ignore
# it.
s/\(.*\)\n.*/\1/
bc
# We found a continuation line. But before printing insert '\'.
:a
s/\(.*\)\(\n.*\)/\1\\\2/
P
# We cannot use D here.
s/.*\n\(.*\)/\1/
# Some buggy seds do not clear the `successful substitution since last ``t'''
# flag on `N', so we do a `t' here to clear it.
tb
# Not reached
:c
x
# The following nice solution is by
# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
td
# Increment a decimal number in pattern space.
# First hide trailing `9' digits.
:d
s/9\(_*\)$/_\1/
td
# Assure at least one digit is available.
s/^\(_*\)$/0\1/
# Increment the last digit.
s/8\(_*\)$/9\1/
s/7\(_*\)$/8\1/
s/6\(_*\)$/7\1/
s/5\(_*\)$/6\1/
s/4\(_*\)$/5\1/
s/3\(_*\)$/4\1/
s/2\(_*\)$/3\1/
s/1\(_*\)$/2\1/
s/0\(_*\)$/1\1/
# Convert the hidden `9' digits to `0's.
s/_/0/g
x
G
s/\(.*\)\n\([0-9]*\)/\1, \2},/
s/\(.*\)"$/\1/
p
}
#
# Last line.
#
$ {
i\
};\
g
s/0*\(.*\)/int _msg_tbl_length = \1;/p
}
d

View File

@ -1,110 +0,0 @@
# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
# Copyright (C) 1995 Free Software Foundation, Inc.
# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 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 General Public License for more details.
#
# You should have received a copy of the GNU 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.
#
#
# The first directive in the .msg should be the definition of the
# message set number. We use always set number 1.
#
1 {
i\
$set 1 # Automatically created by po2msg.sed
h
s/.*/0/
x
}
#
# We copy all comments into the .msg file. Perhaps they can help.
#
/^#/ s/^#[ ]*/$ /p
#
# We copy the original message as a comment into the .msg file.
#
/^msgid/ {
# Does not work now
# /"$/! {
# s/\\$//
# s/$/ ... (more lines following)"/
# }
s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/
p
}
#
# The .msg file contains, other then the .po file, only the translations
# but each given a unique ID. Starting from 1 and incrementing by 1 for
# each message we assign them to the messages.
# It is important that the .po file used to generate the cat-id-tbl.c file
# (with po-to-tbl) is the same as the one used here. (At least the order
# of declarations must not be changed.)
#
/^msgstr/ {
s/msgstr[ ]*"\(.*\)"/\1/
x
# The following nice solution is by
# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
td
# Increment a decimal number in pattern space.
# First hide trailing `9' digits.
:d
s/9\(_*\)$/_\1/
td
# Assure at least one digit is available.
s/^\(_*\)$/0\1/
# Increment the last digit.
s/8\(_*\)$/9\1/
s/7\(_*\)$/8\1/
s/6\(_*\)$/7\1/
s/5\(_*\)$/6\1/
s/4\(_*\)$/5\1/
s/3\(_*\)$/4\1/
s/2\(_*\)$/3\1/
s/1\(_*\)$/2\1/
s/0\(_*\)$/1\1/
# Convert the hidden `9' digits to `0's.
s/_/0/g
x
# Bring the line in the format `<number> <message>'
G
s/^[^\n]*$/& /
s/\(.*\)\n\([0-9]*\)/\2 \1/
# Change escaped quotes into regular quotes.
s/\\"/"/g
# Clear flag from last substitution.
tb
# Append the next line.
:b
N
# Look whether second part is a continuation line.
s/\(.*\n\)"\(.*\)"/\1\2/
# Yes, then branch.
ta
# Comment out if no message exists.
s/^\([0-9]* *\n\)/$ \1/
P
D
# Note that `D' includes a jump to the start!!
# We found a continuation line. But before printing insert '\'.
:a
s/\(.*\)\(\n.*\)/\1\\\2/
# Change escaped quotes into regular quotes.
s/\\"/"/g
P
# We cannot use the sed command `D' here
s/.*\n\(.*\)/\1/
tb
}
d

View File

@ -1,28 +1,27 @@
/* $NetBSD: getopt.c,v 1.4 2003/01/17 15:25:53 wiz Exp $ */
/* Getopt for GNU.
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002
Free Software Foundation, Inc.
This file is part of the GNU C Library.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU 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. */
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
@ -80,14 +79,22 @@
#endif
#ifndef _
/* This is for other GNU distributions with internationalized messages.
When compiling libc, the _ macro is predefined. */
# ifdef HAVE_LIBINTL_H
/* This is for other GNU distributions with internationalized messages. */
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
# include <libintl.h>
# define _(msgid) gettext (msgid)
# ifndef _
# define _(msgid) gettext (msgid)
# endif
# else
# define _(msgid) (msgid)
# endif
# if defined _LIBC && defined USE_IN_LIBIO
# include <wchar.h>
# endif
#endif
#ifndef attribute_hidden
# define attribute_hidden
#endif
/* This version of `getopt' appears to the caller like standard Unix `getopt'
@ -112,7 +119,7 @@
Also, when `ordering' is RETURN_IN_ORDER,
each non-option ARGV-element is returned here. */
char *optarg = NULL;
char *optarg;
/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
@ -133,7 +140,7 @@ int optind = 1;
causes problems with re-calling getopt as programs generally don't
know that. */
int __getopt_initialized = 0;
int __getopt_initialized attribute_hidden;
/* The next char to be scanned in the option-element
in which the last option character we returned was found.
@ -252,41 +259,34 @@ static int first_nonopt;
static int last_nonopt;
#ifdef _LIBC
/* Stored original parameters.
XXX This is no good solution. We should rather copy the args so
that we can compare them later. But we must not use malloc(3). */
extern int __libc_argc;
extern char **__libc_argv;
/* Bash 2.0 gives us an environment variable containing flags
indicating ARGV elements that should not be considered arguments. */
# ifdef USE_NONOPTION_FLAGS
/* Defined in getopt_init.c */
extern char *__getopt_nonoption_flags;
static int nonoption_flags_max_len;
static int nonoption_flags_len;
# endif
static int original_argc;
static char *const *original_argv;
/* Make sure the environment variable bash 2.0 puts in the environment
is valid for the getopt call we must make sure that the ARGV passed
to getopt is that one passed to the process. */
static void
__attribute__ ((unused))
store_args_and_env (int argc, char *const *argv)
{
/* XXX This is no good solution. We should rather copy the args so
that we can compare them later. But we must not use malloc(3). */
original_argc = argc;
original_argv = argv;
}
# ifdef text_set_element
text_set_element (__libc_subinit, store_args_and_env);
# endif /* text_set_element */
# define SWAP_FLAGS(ch1, ch2) \
# ifdef USE_NONOPTION_FLAGS
# define SWAP_FLAGS(ch1, ch2) \
if (nonoption_flags_len > 0) \
{ \
char __tmp = __getopt_nonoption_flags[ch1]; \
__getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
__getopt_nonoption_flags[ch2] = __tmp; \
}
# else
# define SWAP_FLAGS(ch1, ch2)
# endif
#else /* !_LIBC */
# define SWAP_FLAGS(ch1, ch2)
#endif /* _LIBC */
@ -318,7 +318,7 @@ exchange (argv)
It leaves the longer segment in the right place overall,
but it consists of two parts that need to be swapped next. */
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
/* First make sure the handling of the `__getopt_nonoption_flags'
string can work normally. Our top argument must be in the range
of the string. */
@ -422,9 +422,9 @@ _getopt_initialize (argc, argv, optstring)
else
ordering = PERMUTE;
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
if (posixly_correct == NULL
&& argc == original_argc && argv == original_argv)
&& argc == __libc_argc && argv == __libc_argv)
{
if (nonoption_flags_max_len == 0)
{
@ -520,6 +520,13 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
int *longind;
int long_only;
{
int print_errors = opterr;
if (optstring[0] == ':')
print_errors = 0;
if (argc < 1)
return -1;
optarg = NULL;
if (optind == 0 || !__getopt_initialized)
@ -534,7 +541,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
Either it does not have option syntax, or there is an environment flag
from the shell indicating it is not an option. The later information
is only used when the used in the GNU libc. */
#ifdef _LIBC
#if defined _LIBC && defined USE_NONOPTION_FLAGS
# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
|| (optind < nonoption_flags_len \
&& __getopt_nonoption_flags[optind] == '1'))
@ -669,16 +676,37 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
pfound = p;
indfound = option_index;
}
else
else if (long_only
|| pfound->has_arg != p->has_arg
|| pfound->flag != p->flag
|| pfound->val != p->val)
/* Second or later nonexact match found. */
ambig = 1;
}
if (ambig && !exact)
{
if (opterr)
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]);
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
argv[0], argv[optind]);
#endif
}
nextchar += strlen (nextchar);
optind++;
optopt = 0;
@ -697,17 +725,53 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = nameend + 1;
else
{
if (opterr)
if (argv[optind - 1][1] == '-')
/* --option */
fprintf (stderr,
_("%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
else
/* +option or -option */
fprintf (stderr,
_("%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
int n;
#endif
if (argv[optind - 1][1] == '-')
{
/* --option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("\
%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
#else
fprintf (stderr, _("\
%s: option `--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
#endif
}
else
{
/* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("\
%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0],
pfound->name);
#else
fprintf (stderr, _("\
%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
#endif
}
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#endif
}
nextchar += strlen (nextchar);
@ -721,10 +785,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = argv[optind++];
else
{
if (opterr)
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
#endif
}
nextchar += strlen (nextchar);
optopt = pfound->val;
return optstring[0] == ':' ? ':' : '?';
@ -748,16 +830,47 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (!long_only || argv[optind][1] == '-'
|| my_index (optstring, *nextchar) == NULL)
{
if (opterr)
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
int n;
#endif
if (argv[optind][1] == '-')
/* --option */
fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
{
/* --option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
#else
fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
argv[0], nextchar);
#endif
}
else
/* +option or -option */
fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
{
/* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
#else
fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
argv[0], argv[optind][0], nextchar);
#endif
}
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#endif
}
nextchar = (char *) "";
optind++;
@ -778,15 +891,44 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
if (temp == NULL || c == ':')
{
if (opterr)
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
int n;
#endif
if (posixly_correct)
/* 1003.2 specifies the format of this message. */
fprintf (stderr, _("%s: illegal option -- %c\n"),
argv[0], c);
{
/* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
argv[0], c);
#else
fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
#endif
}
else
fprintf (stderr, _("%s: invalid option -- %c\n"),
argv[0], c);
{
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
argv[0], c);
#else
fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
#endif
}
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#endif
}
optopt = c;
return '?';
@ -812,11 +954,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
else if (optind == argc)
{
if (opterr)
if (print_errors)
{
/* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf,
_("%s: option requires an argument -- %c\n"),
argv[0], c) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("%s: option requires an argument -- %c\n"),
argv[0], c);
#endif
}
optopt = c;
if (optstring[0] == ':')
@ -861,9 +1019,26 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
if (ambig && !exact)
{
if (opterr)
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]);
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
argv[0], argv[optind]);
#endif
}
nextchar += strlen (nextchar);
optind++;
return '?';
@ -879,10 +1054,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = nameend + 1;
else
{
if (opterr)
fprintf (stderr, _("\
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option `-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
argv[0], pfound->name) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr, _("\
%s: option `-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
#endif
}
nextchar += strlen (nextchar);
return '?';
@ -894,10 +1087,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
optarg = argv[optind++];
else
{
if (opterr)
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr,
_("%s: option `%s' requires an argument\n"),
argv[0], argv[optind - 1]);
#endif
}
nextchar += strlen (nextchar);
return optstring[0] == ':' ? ':' : '?';
}
@ -941,12 +1152,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
else if (optind == argc)
{
if (opterr)
if (print_errors)
{
/* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
%s: option requires an argument -- %c\n"),
argv[0], c) >= 0)
{
if (_IO_fwide (stderr, 0) > 0)
__fwprintf (stderr, L"%s", buf);
else
fputs (buf, stderr);
free (buf);
}
#else
fprintf (stderr,
_("%s: option requires an argument -- %c\n"),
argv[0], c);
_("%s: option requires an argument -- %c\n"),
argv[0], c);
#endif
}
optopt = c;
if (optstring[0] == ':')

View File

@ -1,7 +1,10 @@
/* system.h: system-dependent declarations; include this first.
$Id: system.h,v 1.4 2002/01/16 17:22:38 tv Exp $
/* $NetBSD: system.h,v 1.5 2003/01/17 15:25:53 wiz Exp $ */
Copyright (C) 1997, 98, 99 Free Software Foundation, Inc.
/* system.h: system-dependent declarations; include this first.
Id: system.h,v 1.4 2002/10/31 13:44:06 karl Exp
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -24,6 +27,16 @@
#include <config.h>
#ifdef MIKTEX
#include <gnu-miktex.h>
#define S_ISDIR(x) ((x)&_S_IFDIR)
#else
/* MiKTeX defines substring() in a separate DLL, where it has its
own __declspec declaration. We don't want to try to duplicate
this Microsoft-ism here. */
extern char *substring ();
#endif
/* <unistd.h> should be included before any preprocessor test
of _POSIX_VERSION. */
#ifdef HAVE_UNISTD_H
@ -34,6 +47,7 @@
#include <sys/types.h>
#include <ctype.h>
/* All systems nowadays probably have these functions, but ... */
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
@ -42,12 +56,17 @@
#endif
/* For gettext (NLS). */
#ifdef HAVE_LIBINTL_H
#include <libintl.h>
#endif
#define const
#include "gettext.h"
#undef const
#define _(String) gettext (String)
#define N_(String) (String)
#ifndef HAVE_LC_MESSAGES
#define LC_MESSAGES (-1)
#endif
#ifdef STDC_HEADERS
#define getopt system_getopt
#include <stdlib.h>
@ -80,6 +99,16 @@ extern int errno;
extern char *strerror ();
#endif
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#ifndef PATH_MAX
#ifndef _POSIX_PATH_MAX
# define _POSIX_PATH_MAX 255
#endif
#define PATH_MAX _POSIX_PATH_MAX
#endif
#ifndef HAVE_DECL_STRCASECMP
extern int strcasecmp ();
#endif
@ -125,7 +154,6 @@ extern int strcoll ();
- directories in environment variables (like INFOPATH) are separated
by `;' rather than `:';
- text files can have their lines ended either with \n or with \r\n pairs;
These are all parameterized here except the last, which is
handled by the source code as appropriate (mostly, in info/). */
#ifndef O_BINARY
@ -136,13 +164,35 @@ extern int strcoll ();
# endif
#endif /* O_BINARY */
/* We'd like to take advantage of _doprnt if it's around, a la error.c,
but then we'd have no VA_SPRINTF. */
#if HAVE_VPRINTF
# if __STDC__
# include <stdarg.h>
# define VA_START(args, lastarg) va_start(args, lastarg)
# else
# include <varargs.h>
# define VA_START(args, lastarg) va_start(args)
# endif
# define VA_FPRINTF(file, fmt, ap) vfprintf (file, fmt, ap)
# define VA_SPRINTF(str, fmt, ap) vsprintf (str, fmt, ap)
#else /* not HAVE_VPRINTF */
# define VA_START(args, lastarg)
# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
# define va_end(args)
#endif
#if O_BINARY
# include <io.h>
# ifdef HAVE_IO_H
# include <io.h>
# endif
# ifdef __MSDOS__
# include <limits.h>
# ifdef __DJGPP__
# define HAVE_LONG_FILENAMES(dir) (pathconf (dir, _PC_NAME_MAX) > 12)
# define NULL_DEVICE "/dev/null"
# define DEFAULT_INFOPATH "c:/djgpp/info;/usr/local/info;/usr/info;."
# else /* !__DJGPP__ */
# define HAVE_LONG_FILENAMES(dir) (0)
# define NULL_DEVICE "NUL"
@ -192,6 +242,15 @@ extern int strcoll ();
# define PIPE_USE_FORK 1
#endif /* not O_BINARY */
/* DJGPP supports /dev/null, which is okay for Unix aficionados,
shell scripts and Makefiles, but interactive DOS die-hards
would probably want to have NUL as well. */
#ifdef __DJGPP__
# define ALSO_NULL_DEVICE "NUL"
#else
# define ALSO_NULL_DEVICE ""
#endif
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
@ -202,7 +261,6 @@ struct passwd *getpwnam ();
extern void *xmalloc (), *xrealloc ();
extern char *xstrdup ();
extern void xexit ();
extern char *substring ();
/* For convenience. */
#define STREQ(s1,s2) (strcmp (s1, s2) == 0)

View File

@ -1,6 +1,8 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Makefile.in generated by automake 1.7.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -10,179 +12,311 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
# Id: Makefile.am,v 1.2 2002/11/12 23:42:14 karl Exp
# Makefile.am for texinfo/makeinfo.
# Run automake in .. to produce Makefile.in from this.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CATALOGS = @CATALOGS@
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBS = @LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TERMLIBS = @TERMLIBS@
TEXINFO_MAINT_FALSE = @TEXINFO_MAINT_FALSE@
TEXINFO_MAINT_TRUE = @TEXINFO_MAINT_TRUE@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
l = @l@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
bin_PROGRAMS = makeinfo
localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\"
LDADD = ../lib/libtxi.a @INTLLIBS@
LDADD = ../lib/libtxi.a @LIBINTL@
makeinfo_SOURCES = cmds.c cmds.h defun.c defun.h files.c files.h footnote.c footnote.h html.c html.h index.c index.h insertion.c insertion.h lang.c lang.h macro.c macro.h makeinfo.c makeinfo.h multi.c node.c node.h sectioning.c sectioning.h toc.c toc.h
makeinfo_SOURCES = \
cmds.c cmds.h defun.c defun.h \
files.c files.h footnote.c footnote.h \
html.c html.h index.c index.h insertion.c insertion.h lang.c lang.h \
macro.c macro.h makeinfo.c makeinfo.h multi.c node.c node.h \
sectioning.c sectioning.h toc.c toc.h xml.c xml.h
EXTRA_DIST = README
pkgdata_DATA = texinfo.dtd texinfo.xsl
EXTRA_DIST = README $(pkgdata_DATA)
SUBDIRS = tests
subdir = makeinfo
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS)
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = makeinfo$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
makeinfo_OBJECTS = cmds.o defun.o files.o footnote.o html.o index.o \
insertion.o lang.o macro.o makeinfo.o multi.o node.o sectioning.o toc.o
am_makeinfo_OBJECTS = cmds.$(OBJEXT) defun.$(OBJEXT) files.$(OBJEXT) \
footnote.$(OBJEXT) html.$(OBJEXT) index.$(OBJEXT) \
insertion.$(OBJEXT) lang.$(OBJEXT) macro.$(OBJEXT) \
makeinfo.$(OBJEXT) multi.$(OBJEXT) node.$(OBJEXT) \
sectioning.$(OBJEXT) toc.$(OBJEXT) xml.$(OBJEXT)
makeinfo_OBJECTS = $(am_makeinfo_OBJECTS)
makeinfo_LDADD = $(LDADD)
makeinfo_DEPENDENCIES = ../lib/libtxi.a
makeinfo_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
makeinfo_DEPENDENCIES = ../lib/libtxi.a
makeinfo_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cmds.Po ./$(DEPDIR)/defun.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/files.Po ./$(DEPDIR)/footnote.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/html.Po ./$(DEPDIR)/index.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/insertion.Po ./$(DEPDIR)/lang.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/macro.Po ./$(DEPDIR)/makeinfo.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/multi.Po ./$(DEPDIR)/node.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/sectioning.Po ./$(DEPDIR)/toc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xml.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = README Makefile.am Makefile.in
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(makeinfo_SOURCES)
DATA = $(pkgdata_DATA)
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
SOURCES = $(makeinfo_SOURCES)
OBJECTS = $(makeinfo_OBJECTS)
all: all-redirect
all: all-recursive
.SUFFIXES:
.SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps makeinfo/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS:
maintainer-clean-binPROGRAMS:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu makeinfo/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
.c.o:
$(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
makeinfo$(EXEEXT): $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES)
@rm -f makeinfo$(EXEEXT)
$(LINK) $(makeinfo_LDFLAGS) $(makeinfo_OBJECTS) $(makeinfo_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.o core *.core
clean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
maintainer-clean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmds.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/defun.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/footnote.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/html.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/index.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertion.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lang.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/macro.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makeinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sectioning.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml.Po@am__quote@
makeinfo: $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES)
@rm -f makeinfo
$(LINK) $(makeinfo_LDFLAGS) $(makeinfo_OBJECTS) $(makeinfo_LDADD) $(LIBS)
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@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)/$<'`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
uninstall-info-am:
pkgdataDATA_INSTALL = $(INSTALL_DATA)
install-pkgdataDATA: $(pkgdata_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
@list='$(pkgdata_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
$(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
done
uninstall-pkgdataDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgdata_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \
rm -f $(DESTDIR)$(pkgdatadir)/$$f; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@ -190,13 +324,8 @@ makeinfo: $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES)
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
@SET_MAKE@
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -216,13 +345,18 @@ check-recursive installcheck-recursive info-recursive dvi-recursive:
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
@ -238,174 +372,211 @@ tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
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"; \
fi; \
fi; \
done; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
mostlyclean-tags:
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
clean-tags:
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
maintainer-clean-tags:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = makeinfo
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pr $$d/$$file $(distdir)/$$file; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
cmds.o: cmds.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h \
defun.h insertion.h files.h footnote.h lang.h macro.h \
makeinfo.h node.h sectioning.h toc.h
defun.o: defun.c ../lib/system.h ../config.h ../lib/getopt.h defun.h \
insertion.h makeinfo.h
files.o: files.c ../lib/system.h ../config.h ../lib/getopt.h files.h \
macro.h makeinfo.h
footnote.o: footnote.c ../lib/system.h ../config.h ../lib/getopt.h \
footnote.h macro.h makeinfo.h
html.o: html.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h html.h \
lang.h makeinfo.h sectioning.h
index.o: index.c ../lib/system.h ../config.h ../lib/getopt.h index.h \
makeinfo.h cmds.h lang.h macro.h toc.h
insertion.o: insertion.c ../lib/system.h ../config.h ../lib/getopt.h \
cmds.h defun.h insertion.h macro.h makeinfo.h
lang.o: lang.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h lang.h \
makeinfo.h
macro.o: macro.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h \
macro.h makeinfo.h insertion.h
makeinfo.o: makeinfo.c ../lib/system.h ../config.h ../lib/getopt.h \
makeinfo.h cmds.h files.h footnote.h html.h index.h insertion.h \
macro.h node.h toc.h
multi.o: multi.c ../lib/system.h ../config.h ../lib/getopt.h insertion.h \
makeinfo.h
node.o: node.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h \
files.h footnote.h macro.h makeinfo.h node.h sectioning.h \
insertion.h
sectioning.o: sectioning.c ../lib/system.h ../config.h ../lib/getopt.h \
cmds.h macro.h makeinfo.h node.h toc.h sectioning.h
toc.o: toc.c ../lib/system.h ../config.h ../lib/getopt.h makeinfo.h \
cmds.h files.h macro.h node.h lang.h sectioning.h toc.h
info-am:
info: info-recursive
dvi-am:
dvi: dvi-recursive
check-am: all-am
check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
install-exec-am: install-binPROGRAMS
install-exec: install-exec-recursive
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir)
install-data-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
uninstall-am: uninstall-binPROGRAMS
uninstall: uninstall-recursive
all-am: Makefile $(PROGRAMS)
all-redirect: all-recursive
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(bindir)
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \
mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \
mostlyclean-am
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \
distclean-generic clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-recursive
maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am: install-pkgdataDATA
install-exec-am: install-binPROGRAMS
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile install-data-recursive \
uninstall-data-recursive install-exec-recursive \
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
all-recursive check-recursive installcheck-recursive info-recursive \
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
install-exec install-data-am install-data install-am install \
uninstall-am uninstall all-redirect all-am all installdirs-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
uninstall-pkgdataDATA
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic clean-recursive ctags \
ctags-recursive distclean distclean-compile distclean-depend \
distclean-generic distclean-recursive distclean-tags distdir \
dvi dvi-am dvi-recursive info info-am info-recursive install \
install-am install-binPROGRAMS install-data install-data-am \
install-data-recursive install-exec install-exec-am \
install-exec-recursive install-info install-info-am \
install-info-recursive install-man install-pkgdataDATA \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-recursive pdf pdf-am \
pdf-recursive ps ps-am ps-recursive tags tags-recursive \
uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am \
uninstall-info-recursive uninstall-pkgdataDATA \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,7 +1,9 @@
/* files.c -- file-related functions for Texinfo.
$Id: files.c,v 1.2 2002/01/16 17:22:38 tv Exp $
/* $NetBSD: files.c,v 1.3 2003/01/17 15:25:53 wiz Exp $ */
Copyright (C) 1998, 99 Free Software Foundation, Inc.
/* files.c -- file-related functions for makeinfo.
Id: files.c,v 1.1 2002/08/25 23:38:38 karl Exp
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -139,9 +141,7 @@ find_and_load (filename)
long file_size;
int file = -1, count = 0;
char *fullpath, *result;
#if O_BINARY || defined (VMS)
int n;
#endif
int n, bytes_to_read;
result = fullpath = NULL;
@ -163,28 +163,18 @@ find_and_load (filename)
/* VMS stat lies about the st_size value. The actual number of
readable bytes is always less than this value. The arcane
mysteries of VMS/RMS are too much to probe, so this hack
suffices to make things work. */
#if O_BINARY || defined (VMS)
#ifdef VMS
while ((n = read (file, result + count, file_size)) > 0)
#else /* !VMS */
#ifndef WIN32
while ((n = read (file, result + count, file_size)) > 0)
#else /* WIN32 */
/* Does WIN32 really need reading 1 character at a time?? */
while ((n = read (file, result + count, 1)) > 0)
#endif /* WIN32 */
#endif /* !VMS */
count += n;
suffices to make things work. It's also needed on Cygwin. And so
we might as well use it everywhere. */
bytes_to_read = file_size;
while ((n = read (file, result + count, bytes_to_read)) > 0)
{
count += n;
bytes_to_read -= n;
}
if (0 < count && count < file_size)
result = xrealloc (result, count + 2); /* why waste the slack? */
else if (n == -1)
#else /* !VMS && !O_BINARY */
count = file_size;
if (read (file, result, file_size) != file_size)
#endif /* !VMS && !WIN32 */
error_exit:
error_exit:
{
if (result)
free (result);
@ -527,3 +517,62 @@ output_name_from_input_name (name)
{
return expand_filename (NULL, name);
}
/* Modify the file name FNAME so that it fits the limitations of the
underlying filesystem. In particular, truncate the file name as it
would be truncated by the filesystem. We assume the result can
never be longer than the original, otherwise we couldn't be sure we
have enough space in the original string to modify it in place. */
char *
normalize_filename (fname)
char *fname;
{
int maxlen;
char orig[PATH_MAX + 1];
int i;
char *lastdot, *p;
#ifdef _PC_NAME_MAX
maxlen = pathconf (fname, _PC_NAME_MAX);
if (maxlen < 1)
#endif
maxlen = PATH_MAX;
i = skip_directory_part (fname);
if (fname[i] == '\0')
return fname; /* only a directory name -- don't modify */
strcpy (orig, fname + i);
switch (maxlen)
{
case 12: /* MS-DOS 8+3 filesystem */
if (orig[0] == '.') /* leading dots are not allowed */
orig[0] = '_';
lastdot = strrchr (orig, '.');
if (!lastdot)
lastdot = orig + strlen (orig);
strncpy (fname + i, orig, lastdot - orig);
for (p = fname + i;
p < fname + i + (lastdot - orig) && p < fname + i + 8;
p++)
if (*p == '.')
*p = '_';
*p = '\0';
if (*lastdot == '.')
strncat (fname + i, lastdot, 4);
break;
case 14: /* old Unix systems with 14-char limitation */
strcpy (fname + i, orig);
if (strlen (fname + i) > 14)
fname[i + 14] = '\0';
break;
default:
strcpy (fname + i, orig);
if (strlen (fname) > maxlen - 1)
fname[maxlen - 1] = '\0';
break;
}
return fname;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,12 @@
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
# Makefile for PO directory in any package using GNU gettext.
# Copyright (C) 1995-1997, 2000-2002 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file file be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# 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
# License but which still want to provide support for the GNU gettext
# functionality.
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
PACKAGE = @PACKAGE@
VERSION = @VERSION@
@ -18,230 +20,298 @@ VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
datadir = $(prefix)/@DATADIRNAME@
datadir = @datadir@
localedir = $(datadir)/locale
gnulocaledir = $(prefix)/share/locale
gettextsrcdir = $(prefix)/share/gettext/po
subdir = po
gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = @MKINSTALLDIRS@
mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
CC = @CC@
GENCAT = @GENCAT@
GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
GMSGFMT = @GMSGFMT@
MSGFMT = @MSGFMT@
XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
MSGMERGE = PATH=../src:$$PATH msgmerge
XGETTEXT = @XGETTEXT@
MSGMERGE = msgmerge
MSGMERGE_UPDATE = @MSGMERGE@ --update
MSGINIT = msginit
MSGCONV = msgconv
MSGFILTER = msgfilter
DEFS = @DEFS@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
INCLUDES = -I.. -I$(top_srcdir)/intl
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
SOURCES = cat-id-tbl.c
POFILES = @POFILES@
GMOFILES = @GMOFILES@
DISTFILES = Makefile.in.in POTFILES.in $(PACKAGE).pot \
stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@
DISTFILES.common = Makefile.in.in Makevars remove-potcdate.sin \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
DISTFILES = $(DISTFILES.common) POTFILES.in $(DOMAIN).pot \
$(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
POTFILES = \
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
INSTOBJEXT = @INSTOBJEXT@
# Makevars gets inserted here. (Don't remove this line!)
.SUFFIXES:
.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
.c.o:
$(COMPILE) $<
.po.pox:
$(MAKE) $(PACKAGE).pot
$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
.po.mo:
$(MSGFMT) -o $@ $<
@echo "$(MSGFMT) -c -o $@ $<"; \
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
.po.gmo:
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $<
@lang=`echo $* | sed -e 's,.*/,,'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
.po.cat:
sed -f ../intl/po2msg.sed < $< > $*.msg \
&& rm -f $@ && $(GENCAT) $@ $*.msg
.sin.sed:
sed -e '/^#/d' $< > t-$@
mv t-$@ $@
all: all-@USE_NLS@
all-yes: cat-id-tbl.c $(CATALOGS)
all-yes: $(CATALOGS)
all-no:
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
--add-comments --keyword=_ --keyword=N_ \
--files-from=$(srcdir)/POTFILES.in \
&& test ! -f $(PACKAGE).po \
|| ( rm -f $(srcdir)/$(PACKAGE).pot \
&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
# 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
# have been downloaded.
$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
$(srcdir)/stamp-cat-id: $(PACKAGE).pot
rm -f cat-id-tbl.tmp
sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
rm cat-id-tbl.tmp; \
else \
echo cat-id-tbl.c changed; \
rm -f $(srcdir)/cat-id-tbl.c; \
mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
fi
cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
--files-from=$(srcdir)/POTFILES.in \
--copyright-holder='$(COPYRIGHT_HOLDER)'
test ! -f $(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
else \
rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
fi; \
else \
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
fi; \
}
$(srcdir)/$(DOMAIN).pot:
$(MAKE) $(DOMAIN).pot-update
$(POFILES): $(srcdir)/$(DOMAIN).pot
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
install: install-exec install-data
install-exec:
install-data: install-data-@USE_NLS@
install-data-no: all
install-data-yes: all
if test -x "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
fi
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
case "$$cat" in \
*.gmo) destdir=$(DESTDIR)$(gnulocaledir);; \
*) destdir=$(DESTDIR)$(localedir);; \
esac; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
dir=$$destdir/$$lang/LC_MESSAGES; \
if test -x "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $$dir; \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
fi; \
if test -r $$cat; then \
$(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
else \
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
fi; \
if test -r $$cat.m; then \
$(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
else \
if test -r $(srcdir)/$$cat.m ; then \
$(INSTALL_DATA) $(srcdir)/$$cat.m \
$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
else \
true; \
fi; \
fi; \
done
if test "$(PACKAGE)" = "gettext"; then \
if test -x "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
fi; \
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
$(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
for file in $(DISTFILES.common); do \
$(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
else \
: ; \
fi
install-data-no: all
install-data-yes: all
$(mkinstalldirs) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $(DESTDIR)$$dir; \
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
if test -n "$$lc"; then \
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
for file in *; do \
if test -f $$file; then \
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
fi; \
done); \
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
else \
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
:; \
else \
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
fi; \
fi; \
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
fi; \
done; \
done
install-strip: install
installdirs: installdirs-exec installdirs-data
installdirs-exec:
installdirs-data: installdirs-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext"; then \
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
else \
: ; \
fi
installdirs-data-no:
installdirs-data-yes:
$(mkinstalldirs) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $(DESTDIR)$$dir; \
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
if test -n "$$lc"; then \
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
for file in *; do \
if test -f $$file; then \
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
fi; \
done); \
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
else \
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
:; \
else \
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
fi; \
fi; \
fi; \
done; \
done
# Define this as empty until I found a useful application.
installcheck:
uninstall:
uninstall: uninstall-exec uninstall-data
uninstall-exec:
uninstall-data: uninstall-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext"; then \
for file in $(DISTFILES.common); do \
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
else \
: ; \
fi
uninstall-data-no:
uninstall-data-yes:
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
done; \
done
check: all
cat-id-tbl.o: ../intl/libgettext.h
dvi info tags TAGS ID:
mostlyclean:
rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
rm -f remove-potcdate.sed
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
rm -fr *.o
clean: mostlyclean
distclean: clean
rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
rm -f Makefile Makefile.in POTFILES *.mo
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
rm -f $(GMOFILES)
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir: update-po $(DISTFILES)
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir:
$(MAKE) update-po
@$(MAKE) dist2
# This is a separate target because 'update-po' must be executed before.
dist2: $(DISTFILES)
dists="$(DISTFILES)"; \
if test -f $(srcdir)/ChangeLog; then dists="$$dists ChangeLog"; fi; \
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
for file in $$dists; do \
ln $(srcdir)/$$file $(distdir) 2> /dev/null \
|| cp -p $(srcdir)/$$file $(distdir); \
if test -f $$file; then \
cp -p $$file $(distdir); \
else \
cp -p $(srcdir)/$$file $(distdir); \
fi; \
done
update-po: Makefile
$(MAKE) $(PACKAGE).pot
PATH=`pwd`/../src:$$PATH; \
$(MAKE) $(DOMAIN).pot-update
$(MAKE) $(UPDATEPOFILES)
$(MAKE) update-gmo
# General rule for updating PO files.
.nop.po-update:
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
mv $$lang.po $$lang.old.po; \
echo "$$lang:"; \
if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
rm -f $$lang.old.po; \
if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
echo "msgmerge for $$cat failed!"; \
rm -f $$lang.po; \
mv $$lang.old.po $$lang.po; \
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
:; \
else \
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
exit 1; \
fi; \
fi; \
done
else \
echo "msgmerge for $$lang.po failed!" 1>&2; \
rm -f $$tmpdir/$$lang.new.po; \
fi
POTFILES: POTFILES.in
( if test 'x$(srcdir)' != 'x.'; then \
posrcprefix='$(top_srcdir)/'; \
else \
posrcprefix="../"; \
fi; \
rm -f $@-t $@ \
&& (sed -e '/^#/d' -e '/^[ ]*$$/d' \
-e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
| sed -e '$$s/\\$$//') > $@-t \
&& chmod a-w $@-t \
&& mv $@-t $@ )
$(DUMMYPOFILES):
Makefile: Makefile.in.in ../config.status POTFILES
cd .. \
update-gmo: Makefile $(GMOFILES)
@:
Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
$(SHELL) ./config.status
force:
# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,651 +0,0 @@
/* Automatically generated by po2tbl.sed from texinfo.pot. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include "libgettext.h"
const struct _msg_ent _msg_tbl[] = {
{"", 1},
{"Move forward a character", 2},
{"Move backward a character", 3},
{"Move to the start of this line", 4},
{"Move to the end of this line", 5},
{"Move forward a word", 6},
{"Move backward a word", 7},
{"Delete the character under the cursor", 8},
{"Delete the character behind the cursor", 9},
{"Cancel or quit operation", 10},
{"Accept (or force completion of) this line", 11},
{"Insert next character verbatim", 12},
{"Insert this character", 13},
{"Insert a TAB character", 14},
{"Transpose characters at point", 15},
{"Yank back the contents of the last kill", 16},
{"Kill ring is empty", 17},
{"Yank back a previous kill", 18},
{"Kill to the end of the line", 19},
{"Kill to the beginning of the line", 20},
{"Kill the word following the cursor", 21},
{"Kill the word preceding the cursor", 22},
{"Not complete", 23},
{"List possible completions", 24},
{"No completions", 25},
{"Sole completion", 26},
{"One completion:\n", 27},
{"%d completions:\n", 28},
{"Insert completion", 29},
{"Building completions...", 30},
{"Scroll the completions window", 31},
{"Footnotes could not be displayed", 32},
{"Show the footnotes associated with this node in another window", 33},
{"Look up a string in the index for this file", 34},
{"Finding index entries...", 35},
{"No indices found.", 36},
{"Index entry: ", 37},
{"\
Go to the next matching index item from the last `\\[index-search]' command", 38},
{"No previous index search string.", 39},
{"No index entries.", 40},
{"No %sindex entries containing \"%s\".", 41},
{"more ", 42},
{"CAN'T SEE THIS", 43},
{"Found \"%s\" in %s. (`\\[next-index-match]' tries to find next.)", 44},
{"Scanning indices of \"%s\"...", 45},
{"Grovel all known info file's indices for a string and build a menu", 46},
{"Index apropos: ", 47},
{"\
\n\
* Menu: Nodes whoses indices contain \"%s\":\n", 48},
{"Try --help for more information.\n", 49},
{"\
Copyright (C) %s Free Software Foundation, Inc.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.\n", 50},
{"no index entries found for `%s'\n", 51},
{"\
Usage: %s [OPTION]... [MENU-ITEM...]\n\
\n\
Read documentation in Info format.\n\
\n\
Options:\n\
--apropos=SUBJECT look up SUBJECT in all indices of all manuals.\n\
--directory=DIR add DIR to INFOPATH.\n\
--dribble=FILENAME remember user keystrokes in FILENAME.\n\
--file=FILENAME specify Info file to visit.\n\
--help display this help and exit.\n\
--index-search=STRING go to node pointed by index entry STRING.\n\
--node=NODENAME specify nodes in first visited Info file.\n\
--output=FILENAME output selected nodes to FILENAME.\n\
--restore=FILENAME read initial keystrokes from FILENAME.\n\
--show-options, --usage go to command-line options node.\n\
--subnodes recursively output menu items.\n\
%s --vi-keys use vi-like and less-like key bindings.\n\
--version display version information and exit.\n\
\n\
The first non-option argument, if present, is the menu entry to start from;\n\
it is searched for in all `dir' files along INFOPATH.\n\
If it is not present, info merges all `dir' files and shows the result.\n\
Any remaining arguments are treated as the names of menu\n\
items relative to the initial node visited.\n\
\n\
Examples:\n\
info show top-level dir menu\n\
info emacs start at emacs node from top-level dir\n\
info emacs buffers start at buffers node within emacs manual\n\
info --show-options emacs start at node with emacs' command line options\n\
info -f ./foo.info show file ./foo.info, not searching dir\n\
\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.\n", 52},
{"Cannot find node `%s'.", 53},
{"Cannot find node `(%s)%s'.", 54},
{"Cannot find a window!", 55},
{"Point doesn't appear within this window's node!", 56},
{"Cannot delete the last window.", 57},
{"No menu in this node.", 58},
{"No footnotes in this node.", 59},
{"No cross references in this node.", 60},
{"No `%s' pointer for this node.", 61},
{"Unknown Info command `%c'; try `?' for help.", 62},
{"Terminal type `%s' is not smart enough to run Info.", 63},
{"You are already at the last page of this node.", 64},
{"You are already at the first page of this node.", 65},
{"Only one window.", 66},
{"Resulting window would be too small.", 67},
{"Not enough room for a help window, please delete a window.", 68},
{"Basic Commands in Info Windows\n", 69},
{"******************************\n", 70},
{" %-10s Quit this help.\n", 71},
{" %-10s Quit Info altogether.\n", 72},
{" %-10s Invoke the Info tutorial.\n", 73},
{"Moving within a node:\n", 74},
{"---------------------\n", 75},
{" %-10s Scroll forward a page.\n", 76},
{" %-10s Scroll backward a page.\n", 77},
{" %-10s Go to the beginning of this node.\n", 78},
{" %-10s Go to the end of this node.\n", 79},
{" %-10s Scroll forward 1 line.\n", 80},
{" %-10s Scroll backward 1 line.\n", 81},
{"Selecting other nodes:\n", 82},
{"----------------------\n", 83},
{" %-10s Move to the `next' node of this node.\n", 84},
{" %-10s Move to the `previous' node of this node.\n", 85},
{" %-10s Move `up' from this node.\n", 86},
{" %-10s Pick menu item specified by name.\n", 87},
{" Picking a menu item causes another node to be selected.\n", 88},
{" %-10s Follow a cross reference. Reads name of reference.\n", 89},
{" %-10s Move to the last node seen in this window.\n", 90},
{" %-10s Skip to next hypertext link within this node.\n", 91},
{" %-10s Follow the hypertext link under cursor.\n", 92},
{" %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n", 93},
{" %-10s Move to the Top node. Equivalent to `g Top'.\n", 94},
{"Other commands:\n", 95},
{"---------------\n", 96},
{" %-10s Pick first ... ninth item in node's menu.\n", 97},
{" %-10s Pick last item in node's menu.\n", 98},
{"\
%-10s Search for a specified string in the index entries of this Info\n", 99},
{"\
file, and select the node referenced by the first entry \
found.\n", 100},
{" %-10s Move to node specified by name.\n", 101},
{"\
You may include a filename as well, as in (FILENAME)NODENAME.\n", 102},
{"\
%-10s Search forward through this Info file for a specified string,\n", 103},
{"\
and select the node in which the next occurrence is found.\n", 104},
{" %-10s Search backward in this Info file for a specified string,\n", 105},
{"The current search path is:\n", 106},
{"\
Commands available in Info windows:\n\
\n", 107},
{"\
Commands available in the echo area:\n\
\n", 108},
{"\
The following commands can only be invoked via M-x:\n\
\n", 109},
{"--- Use `\\[history-node]' or `\\[kill-node]' to exit ---\n", 110},
{"Display help message", 111},
{"Visit Info node `(info)Help'", 112},
{"Print documentation for KEY", 113},
{"Describe key: %s", 114},
{"ESC %s is undefined.", 115},
{"%s is undefined.", 116},
{"%s is defined to %s.", 117},
{"Show what to type to execute a given command", 118},
{"Where is command: ", 119},
{"`%s' is not on any keys", 120},
{"%s can only be invoked via %s.", 121},
{"%s can be invoked via %s.", 122},
{"There is no function named `%s'", 123},
{"Read the name of an Info command and describe it", 124},
{"Describe command: ", 125},
{"Read a command name in the echo area and execute it", 126},
{"Cannot execute an `echo-area' command here.", 127},
{"Set the height of the displayed window", 128},
{"Set screen height to (%d): ", 129},
{"\
Source files groveled to make this file include:\n\
\n", 130},
{"Couldn't manipulate the file %s.\n", 131},
{"\
\n\
* Menu:\n\
(File)Node Lines Size Containing File\n\
---------- ----- ---- ---------------", 132},
{"\
Here is the menu of nodes you have recently visited.\n\
Select one from this menu, or use `\\[history-node]' in another window.\n", 133},
{"Make a window containing a menu of all of the currently visited nodes", 134},
{"Select a node which has been previously visited in a visible window", 135},
{"Select visited node: ", 136},
{"The reference disappeared! (%s).", 137},
{"\
Welcome to Info version %s. Type \\[get-help-window] for help, \\[menu-item] \
for menu item.", 138},
{"Move down to the next line", 139},
{"Move up to the previous line", 140},
{"Move to the end of the line", 141},
{"Move to the start of the line", 142},
{"Next", 143},
{"Following Next node...", 144},
{"Selecting first menu item...", 145},
{"Selecting Next node...", 146},
{"Moving Up %d time(s), then Next.", 147},
{"No more nodes within this document.", 148},
{"No `Prev' for this node.", 149},
{"Moving Prev in this window.", 150},
{"No `Prev' or `Up' for this node within this document.", 151},
{"Moving Up in this window.", 152},
{"Moving to `Prev's last menu item.", 153},
{"Move forwards or down through node structure", 154},
{"Move backwards or up through node structure", 155},
{"Scroll forward in this window", 156},
{"Scroll forward in this window and set default window size", 157},
{"Scroll backward in this window", 158},
{"Scroll backward in this window and set default window size", 159},
{"Move to the start of this node", 160},
{"Move to the end of this node", 161},
{"Scroll down by lines", 162},
{"Scroll up by lines", 163},
{"Scroll down by half screen size", 164},
{"Scroll up by half screen size", 165},
{"Select the next window", 166},
{"Select the previous window", 167},
{"Split the current window", 168},
{"Delete the current window", 169},
{"Cannot delete a permanent window", 170},
{"Delete all other windows", 171},
{"Scroll the other window", 172},
{"Scroll the other window backward", 173},
{"Grow (or shrink) this window", 174},
{"Divide the available screen space among the visible windows", 175},
{"Toggle the state of line wrapping in the current window", 176},
{"Select the Next node", 177},
{"Select the Prev node", 178},
{"Select the Up node", 179},
{"Select the last node in this file", 180},
{"This window has no additional nodes", 181},
{"Select the first node in this file", 182},
{"Select the last item in this node's menu", 183},
{"Select this menu item", 184},
{"There aren't %d items in this menu.", 185},
{"Menu item (%s): ", 186},
{"Menu item: ", 187},
{"Follow xref (%s): ", 188},
{"Follow xref: ", 189},
{"Read a menu item and select its node", 190},
{"Read a footnote or cross reference and select its node", 191},
{"Move to the start of this node's menu", 192},
{"Visit as many menu items at once as possible", 193},
{"Read a node name and select it", 194},
{"Goto node: ", 195},
{"No menu in node `%s'.", 196},
{"No menu item `%s' in node `%s'.", 197},
{"Unable to find node referenced by `%s' in `%s'.", 198},
{"Read a list of menus starting from dir and follow them", 199},
{"Follow menus: ", 200},
{"Find the node describing program invocation", 201},
{"Find Invocation node of [%s]: ", 202},
{"Read a manpage reference and select it", 203},
{"Get Manpage: ", 204},
{"Select the node `Top' in this file", 205},
{"Select the node `(dir)'", 206},
{"Kill node (%s): ", 207},
{"Cannot kill node `%s'", 208},
{"Cannot kill the last node", 209},
{"Select the most recently selected node", 210},
{"Kill this node", 211},
{"Read the name of a file and select it", 212},
{"Find file: ", 213},
{"Cannot find `%s'.", 214},
{"Could not create output file `%s'.", 215},
{"Done.", 216},
{"Writing node %s...", 217},
{"Pipe the contents of this node through INFO_PRINT_COMMAND", 218},
{"Cannot open pipe to `%s'.", 219},
{"Printing node %s...", 220},
{"Searching subfile %s ...", 221},
{"Read a string and search for it case-sensitively", 222},
{"Read a string and search for it", 223},
{"Read a string and search backward for it", 224},
{"%s%sfor string [%s]: ", 225},
{"Search backward", 226},
{"Search", 227},
{" case-sensitively ", 228},
{" ", 229},
{"Search failed.", 230},
{"Repeat last search in the same direction", 231},
{"No previous search string", 232},
{"Repeat last search in the reverse direction", 233},
{"Search interactively for a string as you type it", 234},
{"I-search backward: ", 235},
{"I-search: ", 236},
{"Failing ", 237},
{"Move to the previous cross reference", 238},
{"Move to the next cross reference", 239},
{"Select reference or menu item appearing on this line", 240},
{"Cancel current operation", 241},
{"Quit", 242},
{"Move the cursor to a specific line of the window", 243},
{"Redraw the display", 244},
{"Quit using Info", 245},
{"Unknown command (%s).", 246},
{"\"\" is invalid", 247},
{"\"%s\" is invalid", 248},
{"Add this digit to the current numeric argument", 249},
{"Start (or multiply by 4) the current numeric argument", 250},
{"Internally used by \\[universal-argument]", 251},
{"readline: Out of virtual memory!\n", 252},
{"When \"On\", footnotes appear and disappear automatically", 253},
{"When \"On\", creating or deleting a window resizes other windows", 254},
{"When \"On\", flash the screen instead of ringing the bell", 255},
{"When \"On\", errors cause the bell to ring", 256},
{"When \"On\", Info garbage collects files which had to be uncompressed", 257},
{"When \"On\", the portion of the matched search string is highlighted", 258},
{"Controls what happens when scrolling is requested at the end of a node", 259},
{"The number lines to scroll when the cursor moves out of the window", 260},
{"When \"On\", Info accepts and displays ISO Latin characters", 261},
{"Explain the use of a variable", 262},
{"Describe variable: ", 263},
{"Set the value of an Info variable", 264},
{"Set variable: ", 265},
{"Set %s to value (%d): ", 266},
{"Set %s to value (%s): ", 267},
{"--*** Tags out of Date ***", 268},
{"-----Info: (), lines ----, ", 269},
{"-%s---Info: %s, %d lines --%s--", 270},
{"-%s%s-Info: (%s)%s, %d lines --%s--", 271},
{" Subfile: %s", 272},
{"%s: option `%s' is ambiguous\n", 273},
{"%s: option `--%s' doesn't allow an argument\n", 274},
{"%s: option `%c%s' doesn't allow an argument\n", 275},
{"%s: option `%s' requires an argument\n", 276},
{"%s: unrecognized option `--%s'\n", 277},
{"%s: unrecognized option `%c%s'\n", 278},
{"%s: illegal option -- %c\n", 279},
{"%s: invalid option -- %c\n", 280},
{"%s: option requires an argument -- %c\n", 281},
{"%s: option `-W %s' is ambiguous\n", 282},
{"%s: option `-W %s' doesn't allow an argument\n", 283},
{"January", 284},
{"February", 285},
{"March", 286},
{"April", 287},
{"May", 288},
{"June", 289},
{"July", 290},
{"August", 291},
{"September", 292},
{"October", 293},
{"November", 294},
{"December", 295},
{"unlikely character %c in @var", 296},
{"@sc argument all uppercase, thus no effect", 297},
{"%c%s is obsolete", 298},
{"@sp requires a positive numeric argument, not `%s'", 299},
{"Bad argument to %c%s", 300},
{"asis", 301},
{"none", 302},
{"Missing `}' in @def arg", 303},
{"Function", 304},
{"Macro", 305},
{"Special Form", 306},
{"Variable", 307},
{"User Option", 308},
{"Instance Variable", 309},
{"Method", 310},
{"of", 311},
{"on", 312},
{"Must be in `%s' insertion to use `%sx'", 313},
{"%s: getwd: %s, %s\n", 314},
{"`%c%s' needs an argument `{...}', not just `%s'", 315},
{"No closing brace for footnote `%s'", 316},
{"Footnote defined without parent node", 317},
{"Footnotes", 318},
{"Untitled", 319},
{"Unknown index `%s'", 320},
{"Index `%s' already exists", 321},
{"Unknown index `%s' and/or `%s' in @synindex", 322},
{"Unknown index `%s' in @printindex", 323},
{"Entry for index `%s' outside of any node", 324},
{"(outside of any node)", 325},
{"Broken-Type in insertion_type_pname", 326},
{"Enumeration stack overflow", 327},
{"lettering overflow, restarting at %c", 328},
{"%s requires an argument: the formatter for %citem", 329},
{"`@end' expected `%s', but saw `%s'", 330},
{"No matching `%cend %s'", 331},
{"%s requires letter or digit", 332},
{"@menu seen before first @node, creating `Top' node", 333},
{"\
perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?", 334},
{"@detailmenu seen before first node, creating `Top' node", 335},
{"Unmatched `%c%s'", 336},
{"`%c%s' needs something after it", 337},
{"Bad argument to `%s', `%s', using `%s'", 338},
{"@%s not meaningful inside `@%s' block", 339},
{"@itemx not meaningful inside `%s' block", 340},
{"%c%s found outside of an insertion block", 341},
{"%s is not a valid ISO 639 language code", 342},
{"%c%s expects `i' or `j' as argument, not `%c'", 343},
{"%c%s expects a single character `i' or `j' as argument", 344},
{"macro `%s' previously defined", 345},
{"here is the previous definition of `%s'", 346},
{"\\ in macro expansion followed by `%s' instead of \\ or parameter name", 347},
{"Macro `%s' called on line %d with too many args", 348},
{"%cend macro not found", 349},
{"@quote-arg only useful for single-argument macros", 350},
{"mismatched @end %s with @%s", 351},
{"%s:%d: warning: ", 352},
{"Too many errors! Gave up.\n", 353},
{"Misplaced %c", 354},
{"Try `%s --help' for more information.\n", 355},
{"\
Usage: %s [OPTION]... TEXINFO-FILE...\n\
\n\
Translate Texinfo source documentation to various other formats:\n\
Info files suitable for reading online with Emacs or standalone GNU Info\n\
(by default); plain text (with --no-headers); or HTML (with --html).\n\
\n\
Options:\n\
--commands-in-node-names allow @ commands in node names.\n\
-D VAR define a variable, as with @set.\n\
-E, --macro-expand FILE output macro-expanded source to FILE.\n\
--error-limit=NUM quit after NUM errors (default %d).\n\
--fill-column=NUM break Info lines at NUM characters (default %d).\n\
--footnote-style=STYLE output footnotes according to STYLE:\n\
`separate' to place footnotes in their own \
node,\n\
`end' to place the footnotes at the end of the\n\
node in which they are defined (the default).\n\
--force preserve output even if errors.\n\
--help display this help and exit.\n\
--html output HTML rather than Info format;\n\
-I DIR append DIR to the @include search path.\n\
--ifhtml process @ifhtml and @html text even when not\n\
generating HTML.\n\
--ifinfo process @ifinfo text even when generating HTML.\n\
--iftex process @iftex and @tex text.\n\
implies --no-split.\n", 356},
{"\
--no-headers suppress Info node separators and Node: lines \
and\n\
write to standard output without --output.\n\
--no-ifhtml do not process @ifhtml and @html text.\n\
--no-ifinfo do not process @ifinfo text.\n\
--no-iftex do not process @iftex and @tex text.\n\
--no-split suppress splitting of large Info output files or\n\
generation of one HTML file per node.\n\
--no-validate suppress node cross-reference validation.\n\
--no-warn suppress warnings (but not errors).\n\
--number-sections include chapter, section, etc. numbers in \
output.\n\
-o, --output=FILE output to FILE, ignoring any @setfilename.\n\
-P DIR prepend DIR to the @include search path.\n\
--paragraph-indent=VAL indent Info paragraphs by VAL spaces (default \
%d).\n\
if VAL is `none', do not indent;\n\
if VAL is `asis', preserve existing \
indentation.\n\
--reference-limit=NUM warn about at most NUM references (default %d).\n\
-U VAR undefine a variable, as with @clear.\n\
-v, --verbose explain what is being done.\n\
--version display version information and exit.\n", 357},
{"\
\n\
The defaults for the @if... conditionals depend on the output format:\n\
if generating HTML, --ifhtml is on and the others are off;\n\
if generating Info or plain text, --ifinfo is on and the others are off.\n\
\n\
Examples:\n\
makeinfo foo.texi write Info to foo's @setfilename\n\
makeinfo --html foo.texi write HTML to foo's @setfilename\n\
makeinfo --no-headers -o - foo.texi write plain text to standard output\n\
makeinfo --number-sections foo.texi write Info with numbered sections\n\
makeinfo --no-split foo.texi write one Info file however big\n\
\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.", 358},
{"%s: %s arg must be numeric, not `%s'.\n", 359},
{"Couldn't open macro expansion output `%s'", 360},
{"Cannot specify more than one macro expansion output", 361},
{"%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n", 362},
{"%s: --footnote-style arg must be `separate' or `end', not `%s'.\n", 363},
{"%s: missing file argument.\n", 364},
{"Expected `%s'", 365},
{"No `%s' found in `%s'", 366},
{"%s: Skipping macro expansion to stdout as Info output is going there.\n", 367},
{"Making %s file `%s' from `%s'.\n", 368},
{"This is %s, produced by makeinfo version %s from %s.\n", 369},
{"\
%s: Removing macro output file `%s' due to errors; use --force to preserve.\n", 370},
{"%s: Removing output file `%s' due to errors; use --force to preserve.\n", 371},
{"Unknown command `%s'", 372},
{"Use braces to give a command as an argument to @%s", 373},
{"%c%s expected `{...}'", 374},
{"Unmatched }", 375},
{"NO_NAME!", 376},
{"%c%s missing close brace", 377},
{"see ", 378},
{"See ", 379},
{"`.' or `,' must follow cross reference, not %c", 380},
{"No .png or .jpg for `%s'", 381},
{"@image file `%s' unreadable: %s", 382},
{"@image missing filename argument", 383},
{"{No value for `%s'}", 384},
{"%c%s requires a name", 385},
{"Reached eof before matching @end %s", 386},
{"Missing } in @multitable template", 387},
{"ignoring stray text `%s' after @multitable", 388},
{"Too many columns in multitable item (max %d)", 389},
{"Cannot select column #%d in multitable", 390},
{"ignoring @tab outside of multitable", 391},
{"** Multicolumn output from last row:\n", 392},
{"* column #%d: output = %s\n", 393},
{"Node `%s' previously defined at line %d", 394},
{"Formatting node %s...\n", 395},
{"Node `%s' requires a sectioning command (e.g. %c%s)", 396},
{"No node name specified for `%c%s' command", 397},
{"Node:", 398},
{"Next:", 399},
{"Previous:", 400},
{"Up:", 401},
{"%s reference to nonexistent node `%s'", 402},
{"Menu", 403},
{"Cross", 404},
{"Next field of node `%s' not pointed to", 405},
{"This node (%s) has the bad Prev", 406},
{"Prev", 407},
{"Prev field of node `%s' not pointed to", 408},
{"This node (%s) has the bad Next", 409},
{"`%s' has no Up field", 410},
{"Up", 411},
{"Node `%s' lacks menu item for `%s' despite being its Up target", 412},
{"node `%s' has been referenced %d times", 413},
{"unreferenced node `%s'", 414},
{"Appendix %c ", 415},
{"Internal error (search_sectioning) \"%s\"!", 416},
{"%c%s is obsolete; use %c%s instead", 417},
{"Node with %ctop as a section already exists", 418},
{"Here is the %ctop node", 419},
{"%ctop used before %cnode, defaulting to %s", 420},
{"Table of Contents", 421},
{"Short Contents", 422},
{"%s: TOC should be here, but it was not found", 423},
{"%s: warning: ", 424},
{"virtual memory exhausted", 425},
{" for %s", 426},
{"\tTry `%s --help' for a complete list of options.\n", 427},
{"\
Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n\
\n\
Install or delete dir entries from INFO-FILE in the Info directory file\n\
DIR-FILE.\n\
\n\
Options:\n\
--delete delete existing entries for INFO-FILE from DIR-FILE;\n\
don't insert any new entries.\n\
--dir-file=NAME specify file name of Info directory file.\n\
This is equivalent to using the DIR-FILE argument.\n\
--entry=TEXT insert TEXT as an Info directory entry.\n\
TEXT should have the form of an Info menu item line\n\
plus zero or more extra lines starting with \
whitespace.\n\
If you specify more than one entry, they are all \
added.\n\
If you don't specify any entries, they are determined\n\
from information in the Info file itself.\n\
--help display this help and exit.\n\
--info-file=FILE specify Info file to install in the directory.\n\
This is equivalent to using the INFO-FILE argument.\n\
--info-dir=DIR same as --dir-file=DIR/dir.\n\
--item=TEXT same as --entry TEXT.\n\
An Info directory entry is actually a menu item.\n\
--quiet suppress warnings.\n\
--remove same as --delete.\n\
--section=SEC put this file's entries in section SEC of the directory.\n\
If you specify more than one section, all the entries\n\
are added in each of the sections.\n\
If you don't specify any sections, they are determined\n\
from information in the Info file itself.\n\
--version display version information and exit.\n\
\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.\n", 428},
{"\
This is the file .../info/dir, which contains the\n\
topmost node of the Info hierarchy, called (dir)Top.\n\
The first time you invoke Info you start off looking at this node.\n\
\n\
%s\tThis is the top of the INFO tree\n\
\n\
This (the Directory node) gives a menu of major topics.\n\
Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n\
\"h\" gives a primer for first-timers,\n\
\"mEmacs<Return>\" visits the Emacs manual, etc.\n\
\n\
In Emacs, you can click mouse button 2 on a menu item or cross reference\n\
to select it.\n\
\n\
* Menu:\n", 429},
{"%s: could not read (%s) and could not create (%s)\n", 430},
{"%s: empty file", 431},
{"START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY", 432},
{"END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY", 433},
{"%s: Specify the Info directory only once.\n", 434},
{"%s: Specify the Info file only once.\n", 435},
{"excess command line argument `%s'", 436},
{"No input file specified; try --help for more information.", 437},
{"No dir file specified; try --help for more information.", 438},
{"no info dir entry in `%s'", 439},
{"menu item `%s' already exists, for file `%s'", 440},
{"no entries found for `%s'; nothing deleted", 441},
{"display this help and exit", 442},
{"keep temporary files around after processing", 443},
{"do not keep temporary files around after processing (default)", 444},
{"send output to FILE", 445},
{"display version information and exit", 446},
{"Usage: %s [OPTION]... FILE...\n", 447},
{"Generate a sorted index for each TeX output FILE.\n", 448},
{"Usually FILE... is specified as `foo.%c%c' for a document `foo.texi'.\n", 449},
{"\
\n\
Options:\n", 450},
{"\
\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.\n", 451},
{"%s: not a texinfo index file", 452},
{"failure reopening %s", 453},
{"No page number in %s", 454},
{"entry %s follows an entry with a secondary name", 455},
{"%s; for file `%s'.\n", 456},
};
int _msg_tbl_length = 456;

View File

@ -1 +0,0 @@
timestamp

View File

@ -1 +0,0 @@
timestamp

View File

@ -1,6 +1,8 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Makefile.in generated by automake 1.7.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -10,327 +12,472 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
# Id: Makefile.am,v 1.5 2002/10/09 16:19:41 karl Exp
# Makefile.am for texinfo/util.
# Run automake in .. to produce Makefile.in from this.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CATALOGS = @CATALOGS@
host_triplet = @host@
# Transform `ginstall-info' to `install-info' before applying any
# user-specified name transformations.
transform = s/ginstall-info/install-info/; @program_transform_name@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBS = @LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TERMLIBS = @TERMLIBS@
TEXINFO_MAINT_FALSE = @TEXINFO_MAINT_FALSE@
TEXINFO_MAINT_TRUE = @TEXINFO_MAINT_TRUE@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
l = @l@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
bin_PROGRAMS = install-info texindex
bin_PROGRAMS = ginstall-info texindex
bin_SCRIPTS = texi2dvi
# Use `ginstall-info' in the definition of PROGRAMS and in dependencies
# because automake generates an install-info target in every Makefile (a
# bug, IMHO, but this is easier than patching Automake.)
ginstall_info_SOURCES = install-info.c
localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\"
LDADD = ../lib/libtxi.a @INTLLIBS@
LDADD = ../lib/libtxi.a @LIBINTL@
# Most of these are just for fun. The only one that's really supported
# is texi2dvi.
EXTRA_DIST = README deref.c fix-info-dir fixfonts fixref.gawk gen-dir-node outline.gawk prepinfo.awk tex3patch texi-docstring-magic.el texi2dvi
# Most of these are for fun. The only one that's really supported is texi2dvi.
#
# automake.diff is necessary to apply if you change configure.ac, are
# building from cvs, or otherwise need to run automake. Otherwise
# install-info will be built on every make, and make distcleancheck will
# fail. (These bugs have been reported [several times] to bug-automake.)
#
EXTRA_DIST = README deref.c dir-example fix-info-dir fixfonts \
fixref.gawk gen-dir-node infosrch install-info-html outline.gawk \
prepinfo.awk tex3patch texi-docstring-magic.el texi2dvi
subdir = util
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS)
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = ginstall-info$(EXEEXT) texindex$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
install_info_SOURCES = install-info.c
install_info_OBJECTS = install-info.o
install_info_LDADD = $(LDADD)
install_info_DEPENDENCIES = ../lib/libtxi.a
install_info_LDFLAGS =
am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
ginstall_info_LDADD = $(LDADD)
ginstall_info_DEPENDENCIES = ../lib/libtxi.a
ginstall_info_LDFLAGS =
texindex_SOURCES = texindex.c
texindex_OBJECTS = texindex.o
texindex_OBJECTS = texindex.$(OBJEXT)
texindex_LDADD = $(LDADD)
texindex_DEPENDENCIES = ../lib/libtxi.a
texindex_LDFLAGS =
SCRIPTS = $(bin_SCRIPTS)
texindex_DEPENDENCIES = ../lib/libtxi.a
texindex_LDFLAGS =
SCRIPTS = $(bin_SCRIPTS)
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/install-info.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/texindex.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = README Makefile.am Makefile.in
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(ginstall_info_SOURCES) texindex.c
DIST_COMMON = README Makefile.am Makefile.in
SOURCES = $(ginstall_info_SOURCES) texindex.c
all: all-am
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
SOURCES = install-info.c texindex.c
OBJECTS = install-info.o texindex.o
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps util/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS:
maintainer-clean-binPROGRAMS:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu util/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
.c.o:
$(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile:
-rm -f *.o core *.core
clean-compile:
distclean-compile:
-rm -f *.tab.c
maintainer-clean-compile:
install-info: $(install_info_OBJECTS) $(install_info_DEPENDENCIES)
@rm -f install-info
$(LINK) $(install_info_LDFLAGS) $(install_info_OBJECTS) $(install_info_LDADD) $(LIBS)
texindex: $(texindex_OBJECTS) $(texindex_DEPENDENCIES)
@rm -f texindex
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
ginstall-info$(EXEEXT): $(ginstall_info_OBJECTS) $(ginstall_info_DEPENDENCIES)
@rm -f ginstall-info$(EXEEXT)
$(LINK) $(ginstall_info_LDFLAGS) $(ginstall_info_OBJECTS) $(ginstall_info_LDADD) $(LIBS)
texindex$(EXEEXT): $(texindex_OBJECTS) $(texindex_DEPENDENCIES)
@rm -f texindex$(EXEEXT)
$(LINK) $(texindex_LDFLAGS) $(texindex_OBJECTS) $(texindex_LDADD) $(LIBS)
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
else if test -f $(srcdir)/$$p; then \
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
else :; fi; fi; \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
$(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
list='$(bin_SCRIPTS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/install-info.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/texindex.Po@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@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)/$<'`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
mostlyclean-tags:
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
clean-tags:
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
maintainer-clean-tags:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = util
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pr $$d/$$file $(distdir)/$$file; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
install-info.o: install-info.c ../lib/system.h ../config.h \
../lib/getopt.h
texindex.o: texindex.c ../lib/system.h ../config.h ../lib/getopt.h
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-binPROGRAMS install-binSCRIPTS
install-exec: install-exec-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS)
install-data-am:
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
uninstall: uninstall-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS)
all-redirect: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir)
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \
mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \
mostlyclean-am
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \
distclean-generic clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am: install-binPROGRAMS install-binSCRIPTS
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile uninstall-binSCRIPTS install-binSCRIPTS tags \
mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
distdir info-am info dvi-am dvi check check-am installcheck-am \
installcheck install-exec-am install-exec install-data-am install-data \
install-am install uninstall-am uninstall all-redirect all-am all \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic ctags distclean distclean-compile \
distclean-depend distclean-generic distclean-tags distdir dvi \
dvi-am info info-am install install-am install-binPROGRAMS \
install-binSCRIPTS install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-binSCRIPTS uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,7 +1,10 @@
/* install-info -- create Info directory entry(ies) for an Info file.
$Id: install-info.c,v 1.3 2001/07/25 16:46:19 assar Exp $
/* $NetBSD: install-info.c,v 1.4 2003/01/17 15:25:56 wiz Exp $ */
Copyright (C) 1996, 97, 98, 99 Free Software Foundation, Inc.
/* install-info -- create Info directory entry(ies) for an Info file.
Id: install-info.c,v 1.4 2002/11/05 19:32:33 karl Exp
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -119,6 +122,7 @@ struct option longopts[] =
{ "dir-file", required_argument, NULL, 'd' },
{ "entry", required_argument, NULL, 'e' },
{ "help", no_argument, NULL, 'h' },
{ "infodir", required_argument, NULL, 'D' },
{ "info-dir", required_argument, NULL, 'D' },
{ "info-file", required_argument, NULL, 'i' },
{ "item", required_argument, NULL, 'e' },
@ -173,7 +177,7 @@ xmalloc (size)
extern void *malloc ();
void *result = malloc (size);
if (result == NULL)
fatal (_("virtual memory exhausted"), 0);
fatal (_("virtual memory exhausted"), 0, 0);
return result;
}
@ -186,7 +190,7 @@ xrealloc (obj, size)
extern void *realloc ();
void *result = realloc (obj, size);
if (result == NULL)
fatal (_("virtual memory exhausted"), 0);
fatal (_("virtual memory exhausted"), 0, 0);
return result;
}
@ -230,7 +234,7 @@ pfatal_with_name (name)
char *name;
{
char *s = concat ("", strerror (errno), _(" for %s"));
fatal (s, name);
fatal (s, name, 0);
}
/* Given the full text of a menu entry, null terminated,
@ -311,6 +315,11 @@ strip_info_suffix (fname)
len -= 3;
ret[len] = 0;
}
else if (len > 4 && FILENAME_CMP (ret + len - 4, ".bz2") == 0)
{
len -= 4;
ret[len] = 0;
}
if (len > 5 && FILENAME_CMP (ret + len - 5, ".info") == 0)
{
@ -416,10 +425,12 @@ Options:\n\
If you don't specify any sections, they are determined\n\
from information in the Info file itself.\n\
--version display version information and exit.\n\
\n\
"), progname);
puts (_("\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.\n\
"), progname);
Texinfo home page: http://www.gnu.org/software/texinfo/"));
}
@ -506,6 +517,13 @@ open_possibly_compressed_file (filename, create_callback,
{
*opened_filename = concat (filename, ".gz", "");
f = fopen (*opened_filename, FOPEN_RBIN);
if (!f)
{
free (*opened_filename);
*opened_filename = concat (filename, ".bz2", "");
f = fopen (*opened_filename, FOPEN_RBIN);
}
#ifdef __MSDOS__
if (!f)
{
@ -546,7 +564,7 @@ open_possibly_compressed_file (filename, create_callback,
/* Empty files don't set errno, so we get something like
"install-info: No error for foo", which is confusing. */
if (nread == 0)
fatal (_("%s: empty file"), *opened_filename);
fatal (_("%s: empty file"), *opened_filename, 0);
pfatal_with_name (*opened_filename);
}
@ -560,6 +578,18 @@ open_possibly_compressed_file (filename, create_callback,
*compression_program = "gzip.exe";
#else
*compression_program = "gzip";
#endif
else if(data[0] == 'B' && data[1] == 'Z' && data[2] == 'h')
#ifndef STRIP_DOT_EXE
*compression_program = "bzip2.exe";
#else
*compression_program = "bzip2";
#endif
else if(data[0] == 'B' && data[1] == 'Z' && data[2] == '0')
#ifndef STRIP_DOT_EXE
*compression_program = "bzip.exe";
#else
*compression_program = "bzip";
#endif
else
*compression_program = NULL;
@ -861,7 +891,7 @@ parse_input (lines, nlines, sections, entries)
reset_tail = 1;
if (start_of_this_entry != 0)
fatal (_("START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY"));
fatal (_("START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY"), 0, 0);
start_of_this_entry = lines[i + 1].start;
}
else if (start_of_this_entry)
@ -896,12 +926,13 @@ parse_input (lines, nlines, sections, entries)
else if (!strncmp ("END-INFO-DIR-ENTRY",
lines[i].start, lines[i].size)
&& sizeof ("END-INFO-DIR-ENTRY") - 1 == lines[i].size)
fatal (_("END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY"));
fatal (_("END-INFO-DIR-ENTRY without matching START-INFO-DIR-ENTRY"), 0, 0);
}
}
}
if (start_of_this_entry != 0)
fatal (_("START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY"));
fatal (_("START-INFO-DIR-ENTRY without matching END-INFO-DIR-ENTRY"),
0, 0);
/* If we ignored the INFO-DIR-ENTRY directives, we need now go back
and plug the names of all the sections we found into every
@ -1220,11 +1251,11 @@ main (argc, argv)
case 'V':
printf ("install-info (GNU %s) %s\n", PACKAGE, VERSION);
puts ("");
printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.\n"),
"1999");
"2002");
xexit (0);
default:
@ -1240,13 +1271,14 @@ For more information about these matters, see the files named COPYING.\n"),
else if (dirfile == 0)
dirfile = argv[optind];
else
error (_("excess command line argument `%s'"), argv[optind]);
error (_("excess command line argument `%s'"), argv[optind], 0);
}
if (!infile)
fatal (_("No input file specified; try --help for more information."));
fatal (_("No input file specified; try --help for more information."),
0, 0);
if (!dirfile)
fatal (_("No dir file specified; try --help for more information."));
fatal (_("No dir file specified; try --help for more information."), 0, 0);
/* Read the Info file and parse it into lines, unless we're deleting. */
if (!delete_flag)
@ -1268,7 +1300,7 @@ For more information about these matters, see the files named COPYING.\n"),
something an installer should have to correct (it's a
problem for the maintainer), and there's no need to cause
subsequent parts of `make install' to fail. */
warning (_("no info dir entry in `%s'"), infile);
warning (_("no info dir entry in `%s'"), infile, 0);
xexit (0);
}
@ -1311,7 +1343,7 @@ For more information about these matters, see the files named COPYING.\n"),
char *infile_basename = infile + strlen (infile);
if (HAVE_DRIVE (infile))
infile += 2; /* get past the drive spec X: */
infile += 2; /* get past the drive spec X: */
while (infile_basename > infile && !IS_SLASH (infile_basename[-1]))
infile_basename--;
@ -1406,7 +1438,7 @@ For more information about these matters, see the files named COPYING.\n"),
}
if (delete_flag && !something_deleted && !quiet_flag)
warning (_("no entries found for `%s'; nothing deleted"), infile);
warning (_("no entries found for `%s'; nothing deleted"), infile, 0);
output_dirfile (opened_dirfilename, dir_nlines, dir_lines, n_entries_to_add,
entries_to_add, input_sections, compression_program);

View File

@ -1,8 +1,9 @@
#! /bin/sh
# texi2dvi --- produce DVI (or PDF) files from Texinfo (or LaTeX) sources.
# $Id: texi2dvi,v 1.3 2001/07/25 16:46:20 assar Exp $
# Id: texi2dvi,v 1.10 2002/11/14 21:10:37 karl Exp
#
# Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
# 2002 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -26,12 +27,12 @@
# the `--debug' option when making a bug report.
# This string is expanded by rcs automatically when this file is checked out.
rcs_revision='$Revision: 1.3 $'
rcs_revision='Revision: 1.10'
rcs_version=`set - $rcs_revision; echo $2`
program=`echo $0 | sed -e 's!.*/!!'`
version="texi2dvi (GNU Texinfo 4.0) $rcs_version
version="texi2dvi (GNU Texinfo 4.3) $rcs_version
Copyright (C) 1999 Free Software Foundation, Inc.
Copyright (C) 2002 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING."
@ -46,46 +47,52 @@ is used to determine its language (LaTeX or Texinfo).
Makeinfo is used to perform Texinfo macro expansion before running TeX
when needed.
Options:
-@ Use @input instead of \input; for preloaded Texinfo.
-b, --batch No interaction.
-c, --clean Remove all auxiliary files.
-D, --debug Turn on shell debugging (set -x).
-e, --expand Force macro expansion using makeinfo.
-I DIR Search DIR for Texinfo files.
-h, --help Display this help and exit successfully.
-l, --language=LANG Specify the LANG of FILE: LaTeX or Texinfo.
-p, --pdf Use pdftex or pdflatex for processing.
-q, --quiet No output unless errors (implies --batch).
-s, --silent Same as --quiet.
-t, --texinfo=CMD Insert CMD after @setfilename in copy of input file.
Multiple values accumulate.
-v, --version Display version information and exit successfully.
-V, --verbose Report on what is done.
Operation modes:
-b, --batch no interaction
-c, --clean remove all auxiliary files
-D, --debug turn on shell debugging (set -x)
-h, --help display this help and exit successfully
-o, --output=OFILE leave output in OFILE (implies --clean);
Only one input FILE may be specified in this case
-q, --quiet no output unless errors (implies --batch)
-s, --silent same as --quiet
-v, --version display version information and exit successfully
-V, --verbose report on what is done
TeX tuning:
-@ use @input instead of \input; for preloaded Texinfo
-e, -E, --expand force macro expansion using makeinfo
-I DIR search DIR for Texinfo files
-l, --language=LANG specify the LANG of FILE (LaTeX or Texinfo)
-p, --pdf use pdftex or pdflatex for processing
-t, --texinfo=CMD insert CMD after @setfilename in copy of input file
multiple values accumulate
The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO,
TEX (or PDFTEX), and TEXINDEX environment variables are used to run
those commands, if they are set.
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>.
Texinfo home page: http://www.gnu.org/software/texinfo/"
# Initialize variables for option overriding and otherwise.
# Don't use `unset' since old bourne shells don't have this command.
# Instead, assign them an empty value.
escape='\'
batch=false # eval for batch mode
clean=
debug=
escape='\'
expand= # t for expansion via makeinfo
oformat=dvi
set_language=
miincludes= # makeinfo include path
oformat=dvi
oname= # --output
quiet= # by default let the tools' message be displayed
set_language=
textra=
tmpdir=${TMPDIR:-/tmp}/t2d$$ # avoid collisions on 8.3 filesystems.
txincludes= # TEXINPUTS extensions
txincludes= # TEXINPUTS extensions, with trailing colon
txiprereq=19990129 # minimum texinfo.tex version to have macro expansion
quiet= # by default let the tools' message be displayed
verbose=false # echo for verbose mode
orig_pwd=`pwd`
@ -98,6 +105,9 @@ else
path_sep=":"
fi
# Pacify verbose cds.
CDPATH=${ZSH_VERSION+.}$path_sep
# Save this so we can construct a new TEXINPUTS path for each file.
TEXINPUTS_orig="$TEXINPUTS"
# Unfortunately makeindex does not read TEXINPUTS.
@ -136,14 +146,21 @@ while test x"$1" != x"$arg_sep"; do
-q | -s | --q* | --s*) quiet=t; batch=eval;;
-c | --c*) clean=t;;
-D | --d*) debug=t;;
-e | --e*) expand=t;;
-e | -E | --e*) expand=t;;
-h | --h*) echo "$usage"; exit 0;;
-I | --I*)
shift
miincludes="$miincludes -I $1"
txincludes="$txincludes$path_sep$1"
txincludes="$txincludes$1$path_sep"
;;
-l | --l*) shift; set_language=$1;;
-o | --o*)
shift
clean=t
case "$1" in
/* | ?:/*) oname=$1;;
*) oname="$orig_pwd/$1";;
esac;;
-p | --p*) oformat=pdf;;
-t | --t*) shift; textra="$textra\\
$1";;
@ -168,11 +185,20 @@ done
shift
# Interpret remaining command line args as filenames.
if test $# = 0; then
case $# in
0)
echo "$0: Missing file arguments." >&2
echo "$0: Try \`--help' for more information." >&2
exit 2
fi
;;
1) ;;
*)
if test -n "$oname"; then
echo "$0: Can't use option \`--output' with more than one argument." >&2
exit 2
fi
;;
esac
# Prepare the temporary directory. Remove it at exit, unless debugging.
if test -z "$debug"; then
@ -205,14 +231,23 @@ cat <<EOF >$comment_iftex_sed
s/^@c texi2dvi//
}
}
/^@html/,/^@end html/d
/^@ifhtml/,/^@end ifhtml/d
/^@ifnottex/,/^@end ifnottex/d
/^@html/,/^@end html/{
s/^/@c (texi2dvi)/
}
/^@ifhtml/,/^@end ifhtml/{
s/^/@c (texi2dvi)/
}
/^@ifnottex/,/^@end ifnottex/{
s/^/@c (texi2dvi)/
}
/^@ifinfo/,/^@end ifinfo/{
/^@node/p
/^@menu/,/^@end menu/p
d
t
s/^/@c (texi2dvi)/
}
s/^@ifnotinfo/@c texi2dvi@ifnotinfo/
s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/
EOF
# Uncommenting is simple: Remove any leading `@c texi2dvi'.
uncomment_iftex_sed=$utildir/uncomment.sed
@ -230,7 +265,7 @@ cat <<\EOF >$get_xref_files
# Get list of xref files (indexes, tables and lists).
# Find all files having root filename with a two-letter extension,
# saves the ones that are really Texinfo-related files. .?o? catches
# LaTeX tables and lists.
# many files: .toc, .log, LaTeX tables and lists, FiXme's .lox, maybe more.
for this_file in "$1".?o? "$1".aux "$1".?? "$1".idx; do
# If file is empty, skip it.
test -s "$this_file" || continue
@ -314,16 +349,61 @@ for command_line_filename in ${1+"$@"}; do
# Make all those directories and give up if we can't succeed.
mkdir $tmpdir_src $tmpdir_xtr $tmpdir_bak || exit 1
# Source file might include additional sources. Put `.' and
# directory where source file(s) reside in TEXINPUTS before anything
# else. `.' goes first to ensure that any old .aux, .cps,
# Source file might include additional sources.
# We want `.:$orig_pwd' before anything else. (We'll add `.:' later
# after all other directories have been turned into absolute paths.)
# `.' goes first to ensure that any old .aux, .cps,
# etc. files in ${directory} don't get used in preference to fresher
# files in `.'. Include orig_pwd in case we are in clean mode, where
# we've cd'd to a temp directory.
common=".$path_sep$orig_pwd$path_sep$filename_dir$path_sep$txincludes$path_sep"
common="$orig_pwd$path_sep$filename_dir$path_sep$txincludes"
TEXINPUTS="$common$TEXINPUTS_orig"
INDEXSTYLE="$common$INDEXSTYLE_orig"
# Convert relative paths to absolute paths, so we can run in another
# directory (e.g., in --clean mode, or during the macro-support
# detection.)
#
# Empty path components are meaningful to tex. We rewrite them
# 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'`
INDEXSTYLE=`echo $INDEXSTYLE |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'`
save_IFS=$IFS
IFS=$path_sep
set x $TEXINPUTS; shift
TEXINPUTS=.
for dir
do
case $dir in
EMPTY)
TEXINPUTS=$TEXINPUTS$path_sep
;;
[\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed.
TEXINPUTS=$TEXINPUTS$path_sep$dir
;;
*)
abs=`cd "$dir" && pwd` && TEXINPUTS=$TEXINPUTS$path_sep$abs
;;
esac
done
set x $INDEXSTYLE; shift
INDEXSTYLE=.
for dir
do
case $dir in
EMPTY)
INDEXSTYLE=$INDEXSTYLE$path_sep
;;
[\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed.
INDEXSTYLE=$INDEXSTYLE$path_sep$dir
;;
*)
abs=`cd "$dir" && pwd` && INDEXSTYLE=$INDEXSTYLE$path_sep$abs
;;
esac
done
IFS=$save_IFS
# If the user explicitly specified the language, use that.
# Otherwise, if the first line is \input texinfo, assume it's texinfo.
# Otherwise, guess from the file extension.
@ -373,9 +453,9 @@ for command_line_filename in ${1+"$@"}; do
txiversion_tex=txiversion.tex
echo '\input texinfo.tex @bye' >$tmpdir/$txiversion_tex
# Run in the tmpdir to avoid leaving files.
eval `cd $tmpdir >/dev/null \
&& $tex $txiversion_tex 2>/dev/null \
| sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p'`
eval `cd $tmpdir >/dev/null &&
$tex $txiversion_tex 2>/dev/null |
sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p'`
$verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..."
if test "$txiprereq" -le "$txiversion" >/dev/null 2>&1; then
makeinfo=
@ -467,10 +547,14 @@ for command_line_filename in ${1+"$@"}; do
# What we'll run texindex on -- exclude non-index files.
# Since we know index files are last, it is correct to remove everything
# before .aux and .?o?.
# before .aux and .?o?. But don't really do <anything>o<anything>
# -- don't match whitespace as <anything>.
# Otherwise, if orig_xref_files contains something like
# foo.xo foo.whatever
# the space after the o will get matched.
index_files=`echo "$orig_xref_files" \
| sed "s!.*\.aux!!g;
s!./$filename_noext\..o.!!g;
s!./$filename_noext\.[^ ]o[^ ]!!g;
s/^[ ]*//;s/[ ]*$//"`
# Run texindex (or makeindex) on current index files. If they
# already exist, and after running TeX a first time the index
@ -489,8 +573,8 @@ for command_line_filename in ${1+"$@"}; do
# Prevent $ESCAPE from being interpreted by the shell if it happens
# to be `/'.
$batch tex_args="\\${escape}nonstopmode\ \\${escape}input"
$verbose "Running $cmd ..."
cmd="$tex $tex_args $filename_input"
$verbose "Running $cmd ..."
if $cmd >&5; then :; else
echo 1>&2 'TeX failed. If the above said "tex: not found", you may need to install TeX;'
echo 1>&2 'it is available from the pkgsrc system in print/teTeX.'
@ -553,8 +637,13 @@ for command_line_filename in ${1+"$@"}; do
# - the next file is processed in correct conditions
# - the temporary file can be removed
if test -n "$clean"; then
$verbose "Copying $oformat file from `pwd` to $orig_pwd"
cp -p "./$filename_noext.$oformat" "$orig_pwd"
if test -n "$oname"; then
dest=$oname
else
dest=$orig_pwd
fi
$verbose "Copying $oformat file from `pwd` to $dest"
cp -p "./$filename_noext.$oformat" "$dest"
cd / # in case $orig_pwd is on a different drive (for DOS)
cd $orig_pwd || exit 1
fi

View File

@ -1,7 +1,10 @@
/* Process TeX index dribble output into an actual index.
$Id: texindex.c,v 1.3 2001/07/25 16:46:20 assar Exp $
/* $NetBSD: texindex.c,v 1.4 2003/01/17 15:25:57 wiz Exp $ */
Copyright (C) 1987, 91, 92, 96, 97, 98, 99 Free Software Foundation, Inc.
/* texindex -- sort TeX index dribble output into an actual index.
Id: texindex.c,v 1.6 2002/11/05 19:33:07 karl Exp
Copyright (C) 1987, 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2001,
2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -96,9 +99,6 @@ long nlines;
/* Directory to use for temporary files. On Unix, it ends with a slash. */
char *tempdir;
/* Start of filename to use for temporary files. */
char *tempbase;
/* Number of last temporary file. */
int tempcount;
@ -110,6 +110,13 @@ int last_deleted_tempcount;
which contains all the lines of data. */
char *text_base;
/* Initially 0; changed to 1 if we want initials in this index. */
int need_initials;
/* Remembers the first initial letter seen in this index, so we can
determine whether we need initials in the sorted form. */
char first_initial;
/* Additional command switches .*/
/* Nonzero means do not delete tempfiles -- for debugging. */
@ -161,6 +168,9 @@ main (argc, argv)
textdomain (PACKAGE);
#endif
/* In case we write to a redirected stdout that fails. */
/* not ready atexit (close_stdout); */
/* Describe the kind of sorting to do. */
/* The first keyfield uses the first braced field and folds case. */
keyfields[0].braced = 1;
@ -182,8 +192,6 @@ main (argc, argv)
decode_command (argc, argv);
tempbase = mktemp (concat ("txiXXXXXX", "", ""));
/* Process input files completely, one by one. */
for (i = 0; i < num_infiles; i++)
@ -218,9 +226,12 @@ main (argc, argv)
outfile = concat (infiles[i], "s", "");
}
need_initials = 0;
first_initial = '\0';
if (ptr < MAX_IN_CORE_SORT)
/* Sort a small amount of data. */
sort_in_core (infiles[i], ptr, outfile);
sort_in_core (infiles[i], (int)ptr, outfile);
else
sort_offline (infiles[i], ptr, outfile);
}
@ -287,7 +298,8 @@ _("Usually FILE... is specified as `foo.%c%c\' for a document `foo.texi'.\n"),
fputs (_("\n\
Email bug reports to bug-texinfo@gnu.org,\n\
general questions and discussion to help-texinfo@gnu.org.\n\
"), f);
Texinfo home page: http://www.gnu.org/software/texinfo/"), f);
fputs ("\n", f);
xexit (result_value);
}
@ -339,7 +351,7 @@ decode_command (argc, argv)
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.\n"),
"1999");
"2002");
xexit (0);
}
else if ((strcmp (arg, "--keep") == 0) ||
@ -381,17 +393,33 @@ For more information about these matters, see the files named COPYING.\n"),
usage (1);
}
/* Return a name for a temporary file. */
/* Return a name for temporary file COUNT. */
static char *
maketempname (count)
int count;
{
static char *tempbase = NULL;
char tempsuffix[10];
if (!tempbase)
{
int fd;
char *tmpdir = getenv ("TEMPDIR");
if (!tmpdir)
tmpdir = "/tmp";
tempbase = concat (tmpdir, "/txidxXXXXXX");
fd = mkstemp (tempbase);
if (fd == -1)
pfatal_with_name (tempbase);
}
sprintf (tempsuffix, ".%d", count);
return concat (tempdir, tempbase, tempsuffix);
}
/* Delete all temporary files up to TO_COUNT. */
void
@ -861,9 +889,8 @@ readline (linebuffer, stream)
/* Sort an input file too big to sort in core. */
void
sort_offline (infile, nfiles, total, outfile)
sort_offline (infile, total, outfile)
char *infile;
int nfiles;
off_t total;
char *outfile;
{
@ -942,7 +969,7 @@ fail:
for (i = 0; i < ntemps; i++)
{
char *newtemp = maketempname (++tempcount);
sort_in_core (&tempfiles[i], MAX_IN_CORE_SORT, newtemp);
sort_in_core (tempfiles[i], MAX_IN_CORE_SORT, newtemp);
if (!keep_tempfiles)
unlink (tempfiles[i]);
tempfiles[i] = newtemp;
@ -963,7 +990,7 @@ fail:
void
sort_in_core (infile, total, outfile)
char *infile;
off_t total;
int total;
char *outfile;
{
char **nextline;
@ -1101,6 +1128,23 @@ parsefile (filename, nextline, data, size)
return 0;
*line = p;
/* Find the first letter of the first field of this line. If it
is different from the first letter of the first field of the
first line, we need initial headers in the output index. */
while (*p && *p != '{')
p++;
if (p == end)
return 0;
p++;
if (first_initial)
{
if (first_initial != toupper (*p))
need_initials = 1;
}
else
first_initial = toupper (*p);
while (*p && *p != '\n')
p++;
if (p != end)
@ -1210,12 +1254,9 @@ indexify (line, ostream)
else
{
initial = initial1;
initial1[0] = *p;
initial1[0] = toupper (*p);
initial1[1] = 0;
initiallength = 1;
if (initial1[0] >= 'a' && initial1[0] <= 'z')
initial1[0] -= 040;
}
pagenumber = find_braced_pos (line, 1, 0, 0);
@ -1243,8 +1284,9 @@ indexify (line, ostream)
/* If this primary has a different initial, include an entry for
the initial. */
if (initiallength != lastinitiallength ||
strncmp (initial, lastinitial, initiallength))
if (need_initials &&
(initiallength != lastinitiallength ||
strncmp (initial, lastinitial, initiallength)))
{
fprintf (ostream, "\\initial {");
fwrite (initial, 1, initiallength, ostream);