diff options
Diffstat (limited to 'manual')
-rw-r--r-- | manual/Makefile.am | 108 | ||||
-rw-r--r-- | manual/Makefile.in | 1720 | ||||
-rw-r--r-- | manual/README | 23 | ||||
-rw-r--r-- | manual/comp.me | 88 | ||||
-rw-r--r-- | manual/db.me | 317 | ||||
-rw-r--r-- | manual/files.me | 518 | ||||
-rw-r--r-- | manual/format.me | 185 | ||||
-rw-r--r-- | manual/glossary.me | 50 | ||||
-rw-r--r-- | manual/intro.me | 324 | ||||
-rw-r--r-- | manual/leader.me | 59 | ||||
-rw-r--r-- | manual/man_db.me | 118 | ||||
-rw-r--r-- | manual/misc.me | 220 | ||||
-rw-r--r-- | manual/options-only.me | 13 | ||||
-rwxr-xr-x | manual/print-options | 14 | ||||
-rw-r--r-- | manual/sec.me | 136 |
15 files changed, 3893 insertions, 0 deletions
diff --git a/manual/Makefile.am b/manual/Makefile.am new file mode 100644 index 0000000..8da1883 --- /dev/null +++ b/manual/Makefile.am @@ -0,0 +1,108 @@ +## Process this file with automake to produce Makefile.in +## +## Copyright (C) 1995 Graeme Wilford. +## Copyright (C) 2001, 2007 Colin Watson. +## +## This file is part of man-db. +## +## man-db 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 of the License, or +## (at your option) any later version. +## +## man-db 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 man-db; if not, write to the Free Software Foundation, +## Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +ME_FILES = \ + comp.me \ + db.me \ + files.me \ + format.me \ + glossary.me \ + intro.me \ + leader.me \ + man_db.me \ + misc.me \ + sec.me + +MANUAL = man_db +MANUAL_INSTALL = man-db-manual + +dist_noinst_DATA = \ + README \ + $(ME_FILES) \ + options-only.me \ + print-options + +if BUILD_MANUAL +noinst_DATA = \ + $(MANUAL).cat \ + $(MANUAL).ps + +CLEANFILES = \ + $(noinst_DATA) \ + $(MANUAL).dvi \ + $(MANUAL).html \ + $(MANUAL).pp \ + $(MANUAL).tdvi \ + $(MANUAL).tps \ + version + +SOELIM = soelim + +version: $(top_srcdir)/configure.ac + echo '.ds V $(roff_version)' > $@ + +$(MANUAL).pp: $(ME_FILES) version + $(SOELIM) -I$(srcdir) man_db.me | tbl > $@.new && mv -f $@.new $@ + +.pp.dvi: + $(TROFF) -me -Tdvi $< > $@.new && mv -f $@.new $@ + +.pp.ps: + $(TROFF) -me -Tps $< > $@.new && mv -f $@.new $@ + +.pp.tdvi: + $(TROFF) -me -Tdvi $< | grodvi -d > $@.new && mv -f $@.new $@ + +.tdvi.tps: + dvips -f -t a4 $< > $@.new && mv -f $@.new $@ + +.pp.cat: + LC_ALL=C nroff -me $< > $@.new && mv -f $@.new $@ + +.pp.html: + $(TROFF) -me -Thtml -P-I$* $< > $@.new && mv -f $@.new $@ + +# Automake defines these targets already, so we need to use -local. +dvi-local: $(MANUAL).dvi +ps-local: $(MANUAL).ps +html-local: $(MANUAL).html + +# These are all ours. +cat: $(MANUAL).cat +tps: $(MANUAL).tps + +clean-local: + -rm -f $(MANUAL)-*.png + +install-data-hook: + test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" + @if test -f $(MANUAL).cat; then \ + echo " $(INSTALL_DATA) $(MANUAL).cat '$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).txt'"; \ + $(INSTALL_DATA) $(MANUAL).cat "$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).txt" || exit $$?; \ + fi + @if test -f $(MANUAL).ps; then \ + echo " $(INSTALL_DATA) $(MANUAL).ps '$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).ps'"; \ + $(INSTALL_DATA) $(MANUAL).ps "$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).ps" || exit $$?; \ + fi + +uninstall-hook: + rm -rf "$(DESTDIR)$(docdir)" +endif diff --git a/manual/Makefile.in b/manual/Makefile.in new file mode 100644 index 0000000..a455bdc --- /dev/null +++ b/manual/Makefile.in @@ -0,0 +1,1720 @@ +# Makefile.in generated by automake 1.16.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2020 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. + +# 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. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +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 = : +build_triplet = @build@ +host_triplet = @host@ +subdir = manual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ + $(top_srcdir)/m4/man-arg-automatic-update.m4 \ + $(top_srcdir)/m4/man-arg-cache-owner.m4 \ + $(top_srcdir)/m4/man-arg-cats.m4 \ + $(top_srcdir)/m4/man-arg-config-file.m4 \ + $(top_srcdir)/m4/man-arg-db.m4 \ + $(top_srcdir)/m4/man-arg-device.m4 \ + $(top_srcdir)/m4/man-arg-mandirs.m4 \ + $(top_srcdir)/m4/man-arg-manual.m4 \ + $(top_srcdir)/m4/man-arg-override-dir.m4 \ + $(top_srcdir)/m4/man-arg-sections.m4 \ + $(top_srcdir)/m4/man-arg-setuid.m4 \ + $(top_srcdir)/m4/man-arg-systemdsystemunitdir.m4 \ + $(top_srcdir)/m4/man-arg-systemdtmpfilesdir.m4 \ + $(top_srcdir)/m4/man-arg-undoc.m4 $(top_srcdir)/m4/man-bdb.m4 \ + $(top_srcdir)/m4/man-check-progs.m4 \ + $(top_srcdir)/m4/man-compress-lib.m4 \ + $(top_srcdir)/m4/man-gnu-nroff.m4 \ + $(top_srcdir)/m4/man-heirloom-nroff.m4 \ + $(top_srcdir)/m4/man-libseccomp.m4 \ + $(top_srcdir)/m4/man-linguas.m4 $(top_srcdir)/m4/man-po4a.m4 \ + $(top_srcdir)/m4/man-tar-sort-name.m4 \ + $(top_srcdir)/m4/man-trans-subst.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/__inline.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/argp.m4 \ + $(top_srcdir)/gl/m4/asm-underscore.m4 \ + $(top_srcdir)/gl/m4/btowc.m4 \ + $(top_srcdir)/gl/m4/builtin-expect.m4 \ + $(top_srcdir)/gl/m4/canonicalize.m4 \ + $(top_srcdir)/gl/m4/chdir-long.m4 $(top_srcdir)/gl/m4/chown.m4 \ + $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ + $(top_srcdir)/gl/m4/closedir.m4 $(top_srcdir)/gl/m4/codeset.m4 \ + $(top_srcdir)/gl/m4/ctype.m4 $(top_srcdir)/gl/m4/d-ino.m4 \ + $(top_srcdir)/gl/m4/d-type.m4 $(top_srcdir)/gl/m4/dirent_h.m4 \ + $(top_srcdir)/gl/m4/dirfd.m4 $(top_srcdir)/gl/m4/dirname.m4 \ + $(top_srcdir)/gl/m4/double-slash-root.m4 \ + $(top_srcdir)/gl/m4/dup.m4 $(top_srcdir)/gl/m4/dup2.m4 \ + $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \ + $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ + $(top_srcdir)/gl/m4/extensions.m4 \ + $(top_srcdir)/gl/m4/extern-inline.m4 \ + $(top_srcdir)/gl/m4/fchdir.m4 $(top_srcdir)/gl/m4/fcntl-o.m4 \ + $(top_srcdir)/gl/m4/fcntl.m4 $(top_srcdir)/gl/m4/fcntl_h.m4 \ + $(top_srcdir)/gl/m4/fdopendir.m4 \ + $(top_srcdir)/gl/m4/filenamecat.m4 \ + $(top_srcdir)/gl/m4/flexmember.m4 \ + $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/flock.m4 \ + $(top_srcdir)/gl/m4/fnmatch.m4 \ + $(top_srcdir)/gl/m4/fnmatch_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fstatat.m4 $(top_srcdir)/gl/m4/futimens.m4 \ + $(top_srcdir)/gl/m4/getcwd-abort-bug.m4 \ + $(top_srcdir)/gl/m4/getcwd-path-max.m4 \ + $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getdtablesize.m4 \ + $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getlogin.m4 \ + $(top_srcdir)/gl/m4/getlogin_r.m4 \ + $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/getpagesize.m4 \ + $(top_srcdir)/gl/m4/getprogname.m4 \ + $(top_srcdir)/gl/m4/gettext.m4 $(top_srcdir)/gl/m4/gettime.m4 \ + $(top_srcdir)/gl/m4/gettimeofday.m4 \ + $(top_srcdir)/gl/m4/glibc21.m4 $(top_srcdir)/gl/m4/glob.m4 \ + $(top_srcdir)/gl/m4/glob_h.m4 \ + $(top_srcdir)/gl/m4/gnulib-common.m4 \ + $(top_srcdir)/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/gl/m4/host-cpu-c-abi.m4 \ + $(top_srcdir)/gl/m4/iconv.m4 $(top_srcdir)/gl/m4/idpriv.m4 \ + $(top_srcdir)/gl/m4/include_next.m4 \ + $(top_srcdir)/gl/m4/intlmacosx.m4 \ + $(top_srcdir)/gl/m4/intmax_t.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/inttypes_h.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ + $(top_srcdir)/gl/m4/isblank.m4 \ + $(top_srcdir)/gl/m4/langinfo_h.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lchown.m4 \ + $(top_srcdir)/gl/m4/lib-ignore.m4 \ + $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \ + $(top_srcdir)/gl/m4/lib-prefix.m4 \ + $(top_srcdir)/gl/m4/libtool.m4 $(top_srcdir)/gl/m4/limits-h.m4 \ + $(top_srcdir)/gl/m4/localcharset.m4 \ + $(top_srcdir)/gl/m4/locale-fr.m4 \ + $(top_srcdir)/gl/m4/locale-ja.m4 \ + $(top_srcdir)/gl/m4/locale-zh.m4 \ + $(top_srcdir)/gl/m4/locale_h.m4 \ + $(top_srcdir)/gl/m4/localeconv.m4 \ + $(top_srcdir)/gl/m4/localtime-buffer.m4 \ + $(top_srcdir)/gl/m4/lock.m4 $(top_srcdir)/gl/m4/lstat.m4 \ + $(top_srcdir)/gl/m4/ltoptions.m4 \ + $(top_srcdir)/gl/m4/ltsugar.m4 \ + $(top_srcdir)/gl/m4/ltversion.m4 \ + $(top_srcdir)/gl/m4/lt~obsolete.m4 \ + $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ + $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ + $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ + $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ + $(top_srcdir)/gl/m4/mempcpy.m4 $(top_srcdir)/gl/m4/memrchr.m4 \ + $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mkdir.m4 \ + $(top_srcdir)/gl/m4/mkdtemp.m4 $(top_srcdir)/gl/m4/mkstemp.m4 \ + $(top_srcdir)/gl/m4/mmap-anon.m4 $(top_srcdir)/gl/m4/mode_t.m4 \ + $(top_srcdir)/gl/m4/msvc-inval.m4 \ + $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ + $(top_srcdir)/gl/m4/multiarch.m4 \ + $(top_srcdir)/gl/m4/nanosleep.m4 \ + $(top_srcdir)/gl/m4/nl_langinfo.m4 $(top_srcdir)/gl/m4/nls.m4 \ + $(top_srcdir)/gl/m4/nocrash.m4 \ + $(top_srcdir)/gl/m4/nonblocking.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/open-cloexec.m4 \ + $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \ + $(top_srcdir)/gl/m4/openat.m4 $(top_srcdir)/gl/m4/opendir.m4 \ + $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/po.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/progtest.m4 \ + $(top_srcdir)/gl/m4/pthread_rwlock_rdlock.m4 \ + $(top_srcdir)/gl/m4/raise.m4 $(top_srcdir)/gl/m4/rawmemchr.m4 \ + $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/readlink.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/regex.m4 \ + $(top_srcdir)/gl/m4/rename.m4 $(top_srcdir)/gl/m4/renameat.m4 \ + $(top_srcdir)/gl/m4/rewinddir.m4 $(top_srcdir)/gl/m4/rmdir.m4 \ + $(top_srcdir)/gl/m4/same.m4 $(top_srcdir)/gl/m4/save-cwd.m4 \ + $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/setenv.m4 \ + $(top_srcdir)/gl/m4/setlocale_null.m4 \ + $(top_srcdir)/gl/m4/sigaction.m4 \ + $(top_srcdir)/gl/m4/signal_h.m4 \ + $(top_srcdir)/gl/m4/signalblocking.m4 \ + $(top_srcdir)/gl/m4/size_max.m4 $(top_srcdir)/gl/m4/sleep.m4 \ + $(top_srcdir)/gl/m4/socketlib.m4 \ + $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 \ + $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \ + $(top_srcdir)/gl/m4/std-gnu11.m4 \ + $(top_srcdir)/gl/m4/stdalign.m4 $(top_srcdir)/gl/m4/stdarg.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdint_h.m4 \ + $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ + $(top_srcdir)/gl/m4/strcase.m4 \ + $(top_srcdir)/gl/m4/strcasestr.m4 \ + $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ + $(top_srcdir)/gl/m4/strerror.m4 \ + $(top_srcdir)/gl/m4/string_h.m4 \ + $(top_srcdir)/gl/m4/strings_h.m4 \ + $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ + $(top_srcdir)/gl/m4/strsep.m4 \ + $(top_srcdir)/gl/m4/sys_file_h.m4 \ + $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ + $(top_srcdir)/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/gl/m4/sys_socket_h.m4 \ + $(top_srcdir)/gl/m4/sys_stat_h.m4 \ + $(top_srcdir)/gl/m4/sys_time_h.m4 \ + $(top_srcdir)/gl/m4/sys_types_h.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 \ + $(top_srcdir)/gl/m4/sysexits.m4 \ + $(top_srcdir)/gl/m4/tempname.m4 \ + $(top_srcdir)/gl/m4/threadlib.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/timespec.m4 \ + $(top_srcdir)/gl/m4/unistd-safer.m4 \ + $(top_srcdir)/gl/m4/unistd_h.m4 $(top_srcdir)/gl/m4/unlink.m4 \ + $(top_srcdir)/gl/m4/unlinkat.m4 $(top_srcdir)/gl/m4/utime.m4 \ + $(top_srcdir)/gl/m4/utime_h.m4 $(top_srcdir)/gl/m4/utimens.m4 \ + $(top_srcdir)/gl/m4/utimes.m4 \ + $(top_srcdir)/gl/m4/vasnprintf.m4 \ + $(top_srcdir)/gl/m4/vasprintf.m4 \ + $(top_srcdir)/gl/m4/visibility.m4 \ + $(top_srcdir)/gl/m4/vsnprintf.m4 \ + $(top_srcdir)/gl/m4/warn-on-use.m4 \ + $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ + $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wcrtomb.m4 \ + $(top_srcdir)/gl/m4/wctype_h.m4 $(top_srcdir)/gl/m4/wint_t.m4 \ + $(top_srcdir)/gl/m4/wmemchr.m4 $(top_srcdir)/gl/m4/wmempcpy.m4 \ + $(top_srcdir)/gl/m4/xalloc.m4 $(top_srcdir)/gl/m4/xgetcwd.m4 \ + $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/gl/m4/xstrndup.m4 \ + $(top_srcdir)/gl/m4/xvasprintf.m4 \ + $(top_srcdir)/gl/m4/zzgnulib.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(dist_noinst_DATA) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(dist_noinst_DATA) $(noinst_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in README +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +ALLOCA_H = @ALLOCA_H@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBLIBS = @DBLIBS@ +DBTYPE = @DBTYPE@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ +EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ +ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ +ENOLINK_VALUE = @ENOLINK_VALUE@ +EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ +EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ +ERRNO_H = @ERRNO_H@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FLOAT_H = @FLOAT_H@ +FNMATCH_H = @FNMATCH_H@ +GETOPT_CDEFS_H = @GETOPT_CDEFS_H@ +GETOPT_H = @GETOPT_H@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GLIBC21 = @GLIBC21@ +GLOB_H = @GLOB_H@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_ACCEPT = @GNULIB_ACCEPT@ +GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ +GNULIB_ACCESS = @GNULIB_ACCESS@ +GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ +GNULIB_ATOLL = @GNULIB_ATOLL@ +GNULIB_BIND = @GNULIB_BIND@ +GNULIB_BTOWC = @GNULIB_BTOWC@ +GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ +GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ +GNULIB_CHOWN = @GNULIB_CHOWN@ +GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ +GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ +GNULIB_CREAT = @GNULIB_CREAT@ +GNULIB_CTIME = @GNULIB_CTIME@ +GNULIB_DIRFD = @GNULIB_DIRFD@ +GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ +GNULIB_DUP2 = @GNULIB_DUP2@ +GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ +GNULIB_ENVIRON = @GNULIB_ENVIRON@ +GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ +GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ +GNULIB_FCHDIR = @GNULIB_FCHDIR@ +GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ +GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ +GNULIB_FCLOSE = @GNULIB_FCLOSE@ +GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ +GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ +GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ +GNULIB_FLOCK = @GNULIB_FLOCK@ +GNULIB_FNMATCH = @GNULIB_FNMATCH@ +GNULIB_FOPEN = @GNULIB_FOPEN@ +GNULIB_FPRINTF = @GNULIB_FPRINTF@ +GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ +GNULIB_FPURGE = @GNULIB_FPURGE@ +GNULIB_FPUTC = @GNULIB_FPUTC@ +GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ +GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ +GNULIB_FSEEK = @GNULIB_FSEEK@ +GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ +GNULIB_FSTATAT = @GNULIB_FSTATAT@ +GNULIB_FSYNC = @GNULIB_FSYNC@ +GNULIB_FTELL = @GNULIB_FTELL@ +GNULIB_FTELLO = @GNULIB_FTELLO@ +GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ +GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ +GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ +GNULIB_GETCWD = @GNULIB_GETCWD@ +GNULIB_GETDELIM = @GNULIB_GETDELIM@ +GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ +GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ +GNULIB_GETENTROPY = @GNULIB_GETENTROPY@ +GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ +GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ +GNULIB_GETLINE = @GNULIB_GETLINE@ +GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ +GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ +GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ +GNULIB_GETOPT_POSIX = @GNULIB_GETOPT_POSIX@ +GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ +GNULIB_GETPASS = @GNULIB_GETPASS@ +GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ +GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ +GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ +GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ +GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GLOB = @GNULIB_GLOB@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ +GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ +GNULIB_IMAXABS = @GNULIB_IMAXABS@ +GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_IOCTL = @GNULIB_IOCTL@ +GNULIB_ISATTY = @GNULIB_ISATTY@ +GNULIB_ISBLANK = @GNULIB_ISBLANK@ +GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ +GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ +GNULIB_ISWDIGIT = @GNULIB_ISWDIGIT@ +GNULIB_ISWXDIGIT = @GNULIB_ISWXDIGIT@ +GNULIB_LCHMOD = @GNULIB_LCHMOD@ +GNULIB_LCHOWN = @GNULIB_LCHOWN@ +GNULIB_LINK = @GNULIB_LINK@ +GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LISTEN = @GNULIB_LISTEN@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ +GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ +GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ +GNULIB_LSEEK = @GNULIB_LSEEK@ +GNULIB_LSTAT = @GNULIB_LSTAT@ +GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ +GNULIB_MBRLEN = @GNULIB_MBRLEN@ +GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSINIT = @GNULIB_MBSINIT@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ +GNULIB_MBTOWC = @GNULIB_MBTOWC@ +GNULIB_MEMCHR = @GNULIB_MEMCHR@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ +GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ +GNULIB_MKFIFO = @GNULIB_MKFIFO@ +GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ +GNULIB_MKNOD = @GNULIB_MKNOD@ +GNULIB_MKNODAT = @GNULIB_MKNODAT@ +GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ +GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ +GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ +GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ +GNULIB_MKTIME = @GNULIB_MKTIME@ +GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ +GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ +GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ +GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ +GNULIB_OPEN = @GNULIB_OPEN@ +GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ +GNULIB_PERROR = @GNULIB_PERROR@ +GNULIB_PIPE = @GNULIB_PIPE@ +GNULIB_PIPE2 = @GNULIB_PIPE2@ +GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ +GNULIB_PREAD = @GNULIB_PREAD@ +GNULIB_PRINTF = @GNULIB_PRINTF@ +GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PSELECT = @GNULIB_PSELECT@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ +GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ +GNULIB_PUTC = @GNULIB_PUTC@ +GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ +GNULIB_PUTENV = @GNULIB_PUTENV@ +GNULIB_PUTS = @GNULIB_PUTS@ +GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_QSORT_R = @GNULIB_QSORT_R@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ +GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ +GNULIB_READLINK = @GNULIB_READLINK@ +GNULIB_READLINKAT = @GNULIB_READLINKAT@ +GNULIB_REALLOCARRAY = @GNULIB_REALLOCARRAY@ +GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ +GNULIB_REALPATH = @GNULIB_REALPATH@ +GNULIB_RECV = @GNULIB_RECV@ +GNULIB_RECVFROM = @GNULIB_RECVFROM@ +GNULIB_REMOVE = @GNULIB_REMOVE@ +GNULIB_RENAME = @GNULIB_RENAME@ +GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ +GNULIB_RMDIR = @GNULIB_RMDIR@ +GNULIB_RPMATCH = @GNULIB_RPMATCH@ +GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ +GNULIB_SELECT = @GNULIB_SELECT@ +GNULIB_SEND = @GNULIB_SEND@ +GNULIB_SENDTO = @GNULIB_SENDTO@ +GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SETLOCALE_NULL = @GNULIB_SETLOCALE_NULL@ +GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ +GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ +GNULIB_SLEEP = @GNULIB_SLEEP@ +GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ +GNULIB_SOCKET = @GNULIB_SOCKET@ +GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ +GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ +GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ +GNULIB_STRFTIME = @GNULIB_STRFTIME@ +GNULIB_STRNCAT = @GNULIB_STRNCAT@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRPTIME = @GNULIB_STRPTIME@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ +GNULIB_STRTOD = @GNULIB_STRTOD@ +GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ +GNULIB_STRTOLL = @GNULIB_STRTOLL@ +GNULIB_STRTOULL = @GNULIB_STRTOULL@ +GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ +GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ +GNULIB_SYMLINK = @GNULIB_SYMLINK@ +GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ +GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TIMEGM = @GNULIB_TIMEGM@ +GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ +GNULIB_TMPFILE = @GNULIB_TMPFILE@ +GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ +GNULIB_TRUNCATE = @GNULIB_TRUNCATE@ +GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ +GNULIB_TZSET = @GNULIB_TZSET@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ +GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ +GNULIB_UNLINK = @GNULIB_UNLINK@ +GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ +GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ +GNULIB_UNSETENV = @GNULIB_UNSETENV@ +GNULIB_USLEEP = @GNULIB_USLEEP@ +GNULIB_UTIME = @GNULIB_UTIME@ +GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ +GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ +GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ +GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ +GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ +GNULIB_VPRINTF = @GNULIB_VPRINTF@ +GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ +GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ +GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WCPCPY = @GNULIB_WCPCPY@ +GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ +GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ +GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@ +GNULIB_WCSCAT = @GNULIB_WCSCAT@ +GNULIB_WCSCHR = @GNULIB_WCSCHR@ +GNULIB_WCSCMP = @GNULIB_WCSCMP@ +GNULIB_WCSCOLL = @GNULIB_WCSCOLL@ +GNULIB_WCSCPY = @GNULIB_WCSCPY@ +GNULIB_WCSCSPN = @GNULIB_WCSCSPN@ +GNULIB_WCSDUP = @GNULIB_WCSDUP@ +GNULIB_WCSFTIME = @GNULIB_WCSFTIME@ +GNULIB_WCSLEN = @GNULIB_WCSLEN@ +GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@ +GNULIB_WCSNCAT = @GNULIB_WCSNCAT@ +GNULIB_WCSNCMP = @GNULIB_WCSNCMP@ +GNULIB_WCSNCPY = @GNULIB_WCSNCPY@ +GNULIB_WCSNLEN = @GNULIB_WCSNLEN@ +GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ +GNULIB_WCSPBRK = @GNULIB_WCSPBRK@ +GNULIB_WCSRCHR = @GNULIB_WCSRCHR@ +GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ +GNULIB_WCSSPN = @GNULIB_WCSSPN@ +GNULIB_WCSSTR = @GNULIB_WCSSTR@ +GNULIB_WCSTOK = @GNULIB_WCSTOK@ +GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@ +GNULIB_WCSXFRM = @GNULIB_WCSXFRM@ +GNULIB_WCTOB = @GNULIB_WCTOB@ +GNULIB_WCTOMB = @GNULIB_WCTOMB@ +GNULIB_WCTRANS = @GNULIB_WCTRANS@ +GNULIB_WCTYPE = @GNULIB_WCTYPE@ +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ +GNULIB_WMEMCHR = @GNULIB_WMEMCHR@ +GNULIB_WMEMCMP = @GNULIB_WMEMCMP@ +GNULIB_WMEMCPY = @GNULIB_WMEMCPY@ +GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@ +GNULIB_WMEMPCPY = @GNULIB_WMEMPCPY@ +GNULIB_WMEMSET = @GNULIB_WMEMSET@ +GNULIB_WRITE = @GNULIB_WRITE@ +GNULIB__EXIT = @GNULIB__EXIT@ +GREP = @GREP@ +HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ +HAVE_ALPHASORT = @HAVE_ALPHASORT@ +HAVE_ATOLL = @HAVE_ATOLL@ +HAVE_BTOWC = @HAVE_BTOWC@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ +HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ +HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ +HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ +HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ +HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ +HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ +HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ +HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ +HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ +HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ +HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ +HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ +HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ +HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ +HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ +HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ +HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ +HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ +HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ +HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ +HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ +HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ +HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ +HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ +HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ +HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ +HAVE_DPRINTF = @HAVE_DPRINTF@ +HAVE_DUP2 = @HAVE_DUP2@ +HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ +HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ +HAVE_FACCESSAT = @HAVE_FACCESSAT@ +HAVE_FCHDIR = @HAVE_FCHDIR@ +HAVE_FCHMODAT = @HAVE_FCHMODAT@ +HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ +HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ +HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ +HAVE_FLOCK = @HAVE_FLOCK@ +HAVE_FNMATCH = @HAVE_FNMATCH@ +HAVE_FNMATCH_H = @HAVE_FNMATCH_H@ +HAVE_FREELOCALE = @HAVE_FREELOCALE@ +HAVE_FSEEKO = @HAVE_FSEEKO@ +HAVE_FSTATAT = @HAVE_FSTATAT@ +HAVE_FSYNC = @HAVE_FSYNC@ +HAVE_FTELLO = @HAVE_FTELLO@ +HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ +HAVE_FUTIMENS = @HAVE_FUTIMENS@ +HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ +HAVE_GETENTROPY = @HAVE_GETENTROPY@ +HAVE_GETGROUPS = @HAVE_GETGROUPS@ +HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ +HAVE_GETLOGIN = @HAVE_GETLOGIN@ +HAVE_GETOPT_H = @HAVE_GETOPT_H@ +HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ +HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ +HAVE_GLOB = @HAVE_GLOB@ +HAVE_GLOB_H = @HAVE_GLOB_H@ +HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ +HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ +HAVE_INITSTATE = @HAVE_INITSTATE@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_ISBLANK = @HAVE_ISBLANK@ +HAVE_ISWBLANK = @HAVE_ISWBLANK@ +HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ +HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@ +HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ +HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ +HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ +HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@ +HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@ +HAVE_LCHMOD = @HAVE_LCHMOD@ +HAVE_LCHOWN = @HAVE_LCHOWN@ +HAVE_LINK = @HAVE_LINK@ +HAVE_LINKAT = @HAVE_LINKAT@ +HAVE_LSTAT = @HAVE_LSTAT@ +HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ +HAVE_MBRLEN = @HAVE_MBRLEN@ +HAVE_MBRTOWC = @HAVE_MBRTOWC@ +HAVE_MBSINIT = @HAVE_MBSINIT@ +HAVE_MBSLEN = @HAVE_MBSLEN@ +HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ +HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ +HAVE_MEMCHR = @HAVE_MEMCHR@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDIRAT = @HAVE_MKDIRAT@ +HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_MKFIFO = @HAVE_MKFIFO@ +HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ +HAVE_MKNOD = @HAVE_MKNOD@ +HAVE_MKNODAT = @HAVE_MKNODAT@ +HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ +HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ +HAVE_MKSTEMP = @HAVE_MKSTEMP@ +HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ +HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ +HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ +HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ +HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ +HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ +HAVE_PIPE = @HAVE_PIPE@ +HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ +HAVE_PREAD = @HAVE_PREAD@ +HAVE_PSELECT = @HAVE_PSELECT@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ +HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ +HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_QSORT_R = @HAVE_QSORT_R@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ +HAVE_RANDOM_H = @HAVE_RANDOM_H@ +HAVE_RANDOM_R = @HAVE_RANDOM_R@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ +HAVE_READLINK = @HAVE_READLINK@ +HAVE_READLINKAT = @HAVE_READLINKAT@ +HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@ +HAVE_REALPATH = @HAVE_REALPATH@ +HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ +HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ +HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ +HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ +HAVE_SLEEP = @HAVE_SLEEP@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASECMP = @HAVE_STRCASECMP@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRPTIME = @HAVE_STRPTIME@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ +HAVE_STRTOLL = @HAVE_STRTOLL@ +HAVE_STRTOULL = @HAVE_STRTOULL@ +HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ +HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ +HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@ +HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ +HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ +HAVE_SYMLINK = @HAVE_SYMLINK@ +HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ +HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@ +HAVE_SYS_FILE_H = @HAVE_SYS_FILE_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ +HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ +HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ +HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ +HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ +HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ +HAVE_TZSET = @HAVE_TZSET@ +HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNLINKAT = @HAVE_UNLINKAT@ +HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ +HAVE_USLEEP = @HAVE_USLEEP@ +HAVE_UTIME = @HAVE_UTIME@ +HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ +HAVE_UTIME_H = @HAVE_UTIME_H@ +HAVE_VASPRINTF = @HAVE_VASPRINTF@ +HAVE_VDPRINTF = @HAVE_VDPRINTF@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE_WCHAR_T = @HAVE_WCHAR_T@ +HAVE_WCPCPY = @HAVE_WCPCPY@ +HAVE_WCPNCPY = @HAVE_WCPNCPY@ +HAVE_WCRTOMB = @HAVE_WCRTOMB@ +HAVE_WCSCASECMP = @HAVE_WCSCASECMP@ +HAVE_WCSCAT = @HAVE_WCSCAT@ +HAVE_WCSCHR = @HAVE_WCSCHR@ +HAVE_WCSCMP = @HAVE_WCSCMP@ +HAVE_WCSCOLL = @HAVE_WCSCOLL@ +HAVE_WCSCPY = @HAVE_WCSCPY@ +HAVE_WCSCSPN = @HAVE_WCSCSPN@ +HAVE_WCSDUP = @HAVE_WCSDUP@ +HAVE_WCSFTIME = @HAVE_WCSFTIME@ +HAVE_WCSLEN = @HAVE_WCSLEN@ +HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@ +HAVE_WCSNCAT = @HAVE_WCSNCAT@ +HAVE_WCSNCMP = @HAVE_WCSNCMP@ +HAVE_WCSNCPY = @HAVE_WCSNCPY@ +HAVE_WCSNLEN = @HAVE_WCSNLEN@ +HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ +HAVE_WCSPBRK = @HAVE_WCSPBRK@ +HAVE_WCSRCHR = @HAVE_WCSRCHR@ +HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ +HAVE_WCSSPN = @HAVE_WCSSPN@ +HAVE_WCSSTR = @HAVE_WCSSTR@ +HAVE_WCSTOK = @HAVE_WCSTOK@ +HAVE_WCSWIDTH = @HAVE_WCSWIDTH@ +HAVE_WCSXFRM = @HAVE_WCSXFRM@ +HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ +HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ +HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ +HAVE_WINT_T = @HAVE_WINT_T@ +HAVE_WMEMCHR = @HAVE_WMEMCHR@ +HAVE_WMEMCMP = @HAVE_WMEMCMP@ +HAVE_WMEMCPY = @HAVE_WMEMCPY@ +HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ +HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ +HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ +HAVE__BOOL = @HAVE__BOOL@ +HAVE__EXIT = @HAVE__EXIT@ +IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ +INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBCOMPRESS = @LIBCOMPRESS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ +LIBOBJS = @LIBOBJS@ +LIBPMULTITHREAD = @LIBPMULTITHREAD@ +LIBPTHREAD = @LIBPTHREAD@ +LIBS = @LIBS@ +LIBSOCKET = @LIBSOCKET@ +LIBSTDTHREAD = @LIBSTDTHREAD@ +LIBTHREAD = @LIBTHREAD@ +LIBTOOL = @LIBTOOL@ +LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_GETLOGIN = @LIB_GETLOGIN@ +LIB_HARD_LOCALE = @LIB_HARD_LOCALE@ +LIB_MBRTOWC = @LIB_MBRTOWC@ +LIB_NANOSLEEP = @LIB_NANOSLEEP@ +LIB_NL_LANGINFO = @LIB_NL_LANGINFO@ +LIB_SCHED_YIELD = @LIB_SCHED_YIELD@ +LIB_SELECT = @LIB_SELECT@ +LIB_SETLOCALE_NULL = @LIB_SETLOCALE_NULL@ +LIMITS_H = @LIMITS_H@ +LINGUAS = @LINGUAS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ +LOCALE_FR = @LOCALE_FR@ +LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ +LOCALE_JA = @LOCALE_JA@ +LOCALE_ZH_CN = @LOCALE_ZH_CN@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBTHREAD = @LTLIBTHREAD@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANDIR_LAYOUT = @MANDIR_LAYOUT@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_SUBDIRS = @MAN_SUBDIRS@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ +NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ +NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ +NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ +NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ +NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@ +NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ +NEXT_AS_FIRST_DIRECTIVE_GLOB_H = @NEXT_AS_FIRST_DIRECTIVE_GLOB_H@ +NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ +NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ +NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ +NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ +NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ +NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ +NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ +NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_FILE_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_FILE_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ +NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ +NEXT_AS_FIRST_DIRECTIVE_UTIME_H = @NEXT_AS_FIRST_DIRECTIVE_UTIME_H@ +NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ +NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ +NEXT_CTYPE_H = @NEXT_CTYPE_H@ +NEXT_DIRENT_H = @NEXT_DIRENT_H@ +NEXT_ERRNO_H = @NEXT_ERRNO_H@ +NEXT_FCNTL_H = @NEXT_FCNTL_H@ +NEXT_FLOAT_H = @NEXT_FLOAT_H@ +NEXT_FNMATCH_H = @NEXT_FNMATCH_H@ +NEXT_GETOPT_H = @NEXT_GETOPT_H@ +NEXT_GLOB_H = @NEXT_GLOB_H@ +NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ +NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ +NEXT_STDARG_H = @NEXT_STDARG_H@ +NEXT_STDDEF_H = @NEXT_STDDEF_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STDIO_H = @NEXT_STDIO_H@ +NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRINGS_H = @NEXT_STRINGS_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ +NEXT_SYS_FILE_H = @NEXT_SYS_FILE_H@ +NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ +NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ +NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ +NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ +NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@ +NEXT_TIME_H = @NEXT_TIME_H@ +NEXT_UNISTD_H = @NEXT_UNISTD_H@ +NEXT_UTIME_H = @NEXT_UTIME_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ +NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PO4A = @PO4A@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PRIPTR_PREFIX = @PRIPTR_PREFIX@ +PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ +PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +REPLACE_ACCESS = @REPLACE_ACCESS@ +REPLACE_BTOWC = @REPLACE_BTOWC@ +REPLACE_CALLOC = @REPLACE_CALLOC@ +REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ +REPLACE_CHOWN = @REPLACE_CHOWN@ +REPLACE_CLOSE = @REPLACE_CLOSE@ +REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ +REPLACE_CREAT = @REPLACE_CREAT@ +REPLACE_CTIME = @REPLACE_CTIME@ +REPLACE_DIRFD = @REPLACE_DIRFD@ +REPLACE_DPRINTF = @REPLACE_DPRINTF@ +REPLACE_DUP = @REPLACE_DUP@ +REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ +REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ +REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ +REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ +REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FNMATCH = @REPLACE_FNMATCH@ +REPLACE_FOPEN = @REPLACE_FOPEN@ +REPLACE_FPRINTF = @REPLACE_FPRINTF@ +REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ +REPLACE_FREOPEN = @REPLACE_FREOPEN@ +REPLACE_FSEEK = @REPLACE_FSEEK@ +REPLACE_FSEEKO = @REPLACE_FSEEKO@ +REPLACE_FSTAT = @REPLACE_FSTAT@ +REPLACE_FSTATAT = @REPLACE_FSTATAT@ +REPLACE_FTELL = @REPLACE_FTELL@ +REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ +REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ +REPLACE_GETCWD = @REPLACE_GETCWD@ +REPLACE_GETDELIM = @REPLACE_GETDELIM@ +REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ +REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ +REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ +REPLACE_GETPASS = @REPLACE_GETPASS@ +REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_GLOB = @REPLACE_GLOB@ +REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ +REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ +REPLACE_IOCTL = @REPLACE_IOCTL@ +REPLACE_ISATTY = @REPLACE_ISATTY@ +REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ +REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ +REPLACE_ITOLD = @REPLACE_ITOLD@ +REPLACE_LCHOWN = @REPLACE_LCHOWN@ +REPLACE_LINK = @REPLACE_LINK@ +REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ +REPLACE_LSEEK = @REPLACE_LSEEK@ +REPLACE_LSTAT = @REPLACE_LSTAT@ +REPLACE_MALLOC = @REPLACE_MALLOC@ +REPLACE_MBRLEN = @REPLACE_MBRLEN@ +REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ +REPLACE_MBSINIT = @REPLACE_MBSINIT@ +REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ +REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ +REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MEMCHR = @REPLACE_MEMCHR@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKDIR = @REPLACE_MKDIR@ +REPLACE_MKFIFO = @REPLACE_MKFIFO@ +REPLACE_MKNOD = @REPLACE_MKNOD@ +REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_MKTIME = @REPLACE_MKTIME@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ +REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ +REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ +REPLACE_NULL = @REPLACE_NULL@ +REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_OPEN = @REPLACE_OPEN@ +REPLACE_OPENAT = @REPLACE_OPENAT@ +REPLACE_OPENDIR = @REPLACE_OPENDIR@ +REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_POPEN = @REPLACE_POPEN@ +REPLACE_PREAD = @REPLACE_PREAD@ +REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PSELECT = @REPLACE_PSELECT@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ +REPLACE_PUTENV = @REPLACE_PUTENV@ +REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ +REPLACE_READLINK = @REPLACE_READLINK@ +REPLACE_READLINKAT = @REPLACE_READLINKAT@ +REPLACE_REALLOC = @REPLACE_REALLOC@ +REPLACE_REALPATH = @REPLACE_REALPATH@ +REPLACE_REMOVE = @REPLACE_REMOVE@ +REPLACE_RENAME = @REPLACE_RENAME@ +REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ +REPLACE_RMDIR = @REPLACE_RMDIR@ +REPLACE_SELECT = @REPLACE_SELECT@ +REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ +REPLACE_SLEEP = @REPLACE_SLEEP@ +REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ +REPLACE_SPRINTF = @REPLACE_SPRINTF@ +REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ +REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPNCPY = @REPLACE_STPNCPY@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ +REPLACE_STRDUP = @REPLACE_STRDUP@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ +REPLACE_STRFTIME = @REPLACE_STRFTIME@ +REPLACE_STRNCAT = @REPLACE_STRNCAT@ +REPLACE_STRNDUP = @REPLACE_STRNDUP@ +REPLACE_STRNLEN = @REPLACE_STRNLEN@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ +REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_SYMLINK = @REPLACE_SYMLINK@ +REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ +REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ +REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ +REPLACE_TZSET = @REPLACE_TZSET@ +REPLACE_UNLINK = @REPLACE_UNLINK@ +REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ +REPLACE_UNSETENV = @REPLACE_UNSETENV@ +REPLACE_USLEEP = @REPLACE_USLEEP@ +REPLACE_UTIME = @REPLACE_UTIME@ +REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ +REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ +REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ +REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ +REPLACE_VPRINTF = @REPLACE_VPRINTF@ +REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ +REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ +REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ +REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSTOK = @REPLACE_WCSTOK@ +REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ +REPLACE_WCTOB = @REPLACE_WCTOB@ +REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ +STDARG_H = @STDARG_H@ +STDBOOL_H = @STDBOOL_H@ +STDDEF_H = @STDDEF_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +SYSEXITS_H = @SYSEXITS_H@ +SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ +SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ +TBL_X_FORMAT = @TBL_X_FORMAT@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TRANS_APROPOS = @TRANS_APROPOS@ +TRANS_APROPOS_UPPER = @TRANS_APROPOS_UPPER@ +TRANS_CATMAN = @TRANS_CATMAN@ +TRANS_CATMAN_UPPER = @TRANS_CATMAN_UPPER@ +TRANS_LEXGROG = @TRANS_LEXGROG@ +TRANS_LEXGROG_UPPER = @TRANS_LEXGROG_UPPER@ +TRANS_MAN = @TRANS_MAN@ +TRANS_MANCONV = @TRANS_MANCONV@ +TRANS_MANCONV_UPPER = @TRANS_MANCONV_UPPER@ +TRANS_MANDB = @TRANS_MANDB@ +TRANS_MANDB_UPPER = @TRANS_MANDB_UPPER@ +TRANS_MANPATH = @TRANS_MANPATH@ +TRANS_MANPATH_UPPER = @TRANS_MANPATH_UPPER@ +TRANS_MAN_RECODE = @TRANS_MAN_RECODE@ +TRANS_MAN_RECODE_UPPER = @TRANS_MAN_RECODE_UPPER@ +TRANS_MAN_UPPER = @TRANS_MAN_UPPER@ +TRANS_WHATIS = @TRANS_WHATIS@ +TRANS_WHATIS_UPPER = @TRANS_WHATIS_UPPER@ +TRANS_ZSOELIM = @TRANS_ZSOELIM@ +TRANS_ZSOELIM_UPPER = @TRANS_ZSOELIM_UPPER@ +TROFF = @TROFF@ +UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ +UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@ +UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ +UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_NLS = @USE_NLS@ +UTIME_H = @UTIME_H@ +VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +browser = @browser@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +bunzip2 = @bunzip2@ +bzip2 = @bzip2@ +cache_top_owner = @cache_top_owner@ +cat = @cat@ +col = @col@ +compress = @compress@ +compress_ext = @compress_ext@ +compressor = @compressor@ +config_file = @config_file@ +config_file_basename = @config_file_basename@ +config_file_dirname = @config_file_dirname@ +datadir = @datadir@ +datarootdir = @datarootdir@ +date = @date@ +docdir = @docdir@ +dvidir = @dvidir@ +eqn = @eqn@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +grap = @grap@ +grep = @grep@ +gunzip = @gunzip@ +gzip = @gzip@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libpipeline_CFLAGS = @libpipeline_CFLAGS@ +libpipeline_LIBS = @libpipeline_LIBS@ +libseccomp_CFLAGS = @libseccomp_CFLAGS@ +libseccomp_LIBS = @libseccomp_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lzip = @lzip@ +lzma = @lzma@ +man_mode = @man_mode@ +man_owner = @man_owner@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +neqn = @neqn@ +nroff = @nroff@ +oldincludedir = @oldincludedir@ +override_dir = @override_dir@ +pager = @pager@ +pdfdir = @pdfdir@ +pic = @pic@ +preconv = @preconv@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +refer = @refer@ +roff_version = @roff_version@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sections = @sections@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +systemdsystemunitdir = @systemdsystemunitdir@ +systemdtmpfilesdir = @systemdtmpfilesdir@ +target_alias = @target_alias@ +tbl = @tbl@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +tr = @tr@ +troff = @troff@ +troff_as_troff_input = @troff_as_troff_input@ +uncompress = @uncompress@ +unlzip = @unlzip@ +unlzma = @unlzma@ +unxz = @unxz@ +unzstd = @unzstd@ +vgrind = @vgrind@ +xz = @xz@ +zstd = @zstd@ +ME_FILES = \ + comp.me \ + db.me \ + files.me \ + format.me \ + glossary.me \ + intro.me \ + leader.me \ + man_db.me \ + misc.me \ + sec.me + +MANUAL = man_db +MANUAL_INSTALL = man-db-manual +dist_noinst_DATA = \ + README \ + $(ME_FILES) \ + options-only.me \ + print-options + +@BUILD_MANUAL_TRUE@noinst_DATA = \ +@BUILD_MANUAL_TRUE@ $(MANUAL).cat \ +@BUILD_MANUAL_TRUE@ $(MANUAL).ps + +@BUILD_MANUAL_TRUE@CLEANFILES = \ +@BUILD_MANUAL_TRUE@ $(noinst_DATA) \ +@BUILD_MANUAL_TRUE@ $(MANUAL).dvi \ +@BUILD_MANUAL_TRUE@ $(MANUAL).html \ +@BUILD_MANUAL_TRUE@ $(MANUAL).pp \ +@BUILD_MANUAL_TRUE@ $(MANUAL).tdvi \ +@BUILD_MANUAL_TRUE@ $(MANUAL).tps \ +@BUILD_MANUAL_TRUE@ version + +@BUILD_MANUAL_TRUE@SOELIM = soelim +all: all-am + +.SUFFIXES: +.SUFFIXES: .cat .dvi .html .pp .ps .tdvi .tps +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign manual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign manual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: +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 + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +@BUILD_MANUAL_FALSE@html-local: +@BUILD_MANUAL_FALSE@clean-local: +@BUILD_MANUAL_FALSE@dvi-local: +@BUILD_MANUAL_FALSE@ps-local: +@BUILD_MANUAL_FALSE@install-data-hook: +@BUILD_MANUAL_FALSE@uninstall-hook: +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: dvi-local + +html: html-am + +html-am: html-local + +info: info-am + +info-am: + +install-data-am: + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: ps-local + +uninstall-am: + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +.MAKE: install-am install-data-am install-strip uninstall-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + clean-local cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am dvi-local html html-am \ + html-local info info-am install install-am install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am ps-local tags-am \ + uninstall uninstall-am uninstall-hook + +.PRECIOUS: Makefile + + +@BUILD_MANUAL_TRUE@version: $(top_srcdir)/configure.ac +@BUILD_MANUAL_TRUE@ echo '.ds V $(roff_version)' > $@ + +@BUILD_MANUAL_TRUE@$(MANUAL).pp: $(ME_FILES) version +@BUILD_MANUAL_TRUE@ $(SOELIM) -I$(srcdir) man_db.me | tbl > $@.new && mv -f $@.new $@ + +@BUILD_MANUAL_TRUE@.pp.dvi: +@BUILD_MANUAL_TRUE@ $(TROFF) -me -Tdvi $< > $@.new && mv -f $@.new $@ + +@BUILD_MANUAL_TRUE@.pp.ps: +@BUILD_MANUAL_TRUE@ $(TROFF) -me -Tps $< > $@.new && mv -f $@.new $@ + +@BUILD_MANUAL_TRUE@.pp.tdvi: +@BUILD_MANUAL_TRUE@ $(TROFF) -me -Tdvi $< | grodvi -d > $@.new && mv -f $@.new $@ + +@BUILD_MANUAL_TRUE@.tdvi.tps: +@BUILD_MANUAL_TRUE@ dvips -f -t a4 $< > $@.new && mv -f $@.new $@ + +@BUILD_MANUAL_TRUE@.pp.cat: +@BUILD_MANUAL_TRUE@ LC_ALL=C nroff -me $< > $@.new && mv -f $@.new $@ + +@BUILD_MANUAL_TRUE@.pp.html: +@BUILD_MANUAL_TRUE@ $(TROFF) -me -Thtml -P-I$* $< > $@.new && mv -f $@.new $@ + +# Automake defines these targets already, so we need to use -local. +@BUILD_MANUAL_TRUE@dvi-local: $(MANUAL).dvi +@BUILD_MANUAL_TRUE@ps-local: $(MANUAL).ps +@BUILD_MANUAL_TRUE@html-local: $(MANUAL).html + +# These are all ours. +@BUILD_MANUAL_TRUE@cat: $(MANUAL).cat +@BUILD_MANUAL_TRUE@tps: $(MANUAL).tps + +@BUILD_MANUAL_TRUE@clean-local: +@BUILD_MANUAL_TRUE@ -rm -f $(MANUAL)-*.png + +@BUILD_MANUAL_TRUE@install-data-hook: +@BUILD_MANUAL_TRUE@ test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" +@BUILD_MANUAL_TRUE@ @if test -f $(MANUAL).cat; then \ +@BUILD_MANUAL_TRUE@ echo " $(INSTALL_DATA) $(MANUAL).cat '$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).txt'"; \ +@BUILD_MANUAL_TRUE@ $(INSTALL_DATA) $(MANUAL).cat "$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).txt" || exit $$?; \ +@BUILD_MANUAL_TRUE@ fi +@BUILD_MANUAL_TRUE@ @if test -f $(MANUAL).ps; then \ +@BUILD_MANUAL_TRUE@ echo " $(INSTALL_DATA) $(MANUAL).ps '$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).ps'"; \ +@BUILD_MANUAL_TRUE@ $(INSTALL_DATA) $(MANUAL).ps "$(DESTDIR)$(docdir)/$(MANUAL_INSTALL).ps" || exit $$?; \ +@BUILD_MANUAL_TRUE@ fi + +@BUILD_MANUAL_TRUE@uninstall-hook: +@BUILD_MANUAL_TRUE@ rm -rf "$(DESTDIR)$(docdir)" + +# 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: diff --git a/manual/README b/manual/README new file mode 100644 index 0000000..87efe80 --- /dev/null +++ b/manual/README @@ -0,0 +1,23 @@ +This directory contains the man-db manual sources. They may be compiled into +five different formats: + + dvi: device independent + ps: PostScript + cat: vt100-type terminal ie. ASCII with overstrike + tps: PostScript with TeX fonts + html: HyperText Markup Language + +All require soelim, tbl and the ROFF macro `e' (your site probably has it). +cat requires nroff whereas the others require groff. tps also requires an +installation of TeX and dvips. html requires a version of groff with the +grohtml driver, and is currently disabled by default as the output is +suboptimal. + +Issuing `make' or `make all' will produce the dvi, ps and cat versions. To +produce a single format simply run + + make <format> +or + make man_db.<format> + +where <format> can be any of the above. diff --git a/manual/comp.me b/manual/comp.me new file mode 100644 index 0000000..b9535f0 --- /dev/null +++ b/manual/comp.me @@ -0,0 +1,88 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002, 2007 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.BS 1 "Compression" +.BS 2 "Compressed manual pages" +.lp +It is possible to maintain a system of compressed manual pages. +This imposes a small overhead on the formatting process, but is nevertheless +usually reasonable in order to avoid unnecessary consumption of disk space. +.lp +Presently, the compression extension/decompressor pairs must be known at +compile time although any number may be defined and used. +The following structure is predefined in \*M: + +.TS +center box tab(@); +l | l . +Extension@Decompressor +_ +gz@gzip \-dc +z@gzip \-dc +Z@compress \-dc +.TE + +It is a relatively easy operation to include further pairs in this +structure. +See +.i include/comp_src.h +for details and an example. +.lp +Support for compressed manual pages is compiled into the \*M utilities by +default, depending on the decompressors available at configure time. +.BS 2 "Compressed cat pages" +.lp +\*M compresses cat files by default. +During configuration, +.b configure +will try to find +.b gzip +and, if found, all cat files produced by +.b man +will be compressed with +.ip +.b "gzip \-7c" +.lp +and have a +.b .gz +extension appended. +If +.b gzip +is not found, +.ip +.b "compress \-c" +.lp +is used as the compressor and the extension +.b .Z +is appended. +.lp +To store cat files in an uncompressed state and to disable compressed +extension processing completely, edit +.i config.h +and comment out the following line +.lp +#define COMP_CAT 1 +.lp +.BS 3 "Stray cats" +.lp +Normally, +.b man +will only look for cat files with the default compression extension. +The default compression extension is dependent on the default compressor +and may be an empty string if the support for compressed cats is disabled. +.lp +It is possible for a system to be supplied with stray cat files located in the +traditional cat page hierarchy. +To make matters worse, they may have +compression extensions other than the default and reside on read-only media. +In such circumstances, stray cat files will be accepted with any compression +extension that is also supported for manual pages. +.lp +This special treatment of stray cat pages is removed if +support for compressed manual pages is turned off or not available. diff --git a/manual/db.me b/manual/db.me new file mode 100644 index 0000000..ddd4727 --- /dev/null +++ b/manual/db.me @@ -0,0 +1,317 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.BS 1 "The index database caches" +.lp +As mentioned in the introduction, \*M uses database lookups to search for +manual page locations and information. +When performing a manual page lookup or a basic +.b whatis +search, the databases are searched in +.ip +.i "key \(-> content" +.lp +mode and are as fast as the underlying databases can be. +When performing +.b apropos +or special +.b whatis +searches, the databases are searched in a linear way, which, although far +more expensive than +.i keyed +lookup, is no worse than traditional text based file searching. +.BS 2 "index database location" +.lp +The databases are always located at the root of the cat page hierarchy, +whether this is the same as the manual page hierarchy or not. +As file locking mechanisms are employed to ensure that concurrent +processes do not update a database simultaneously, it is almost imperative +that the databases reside on a local filesystem since file locking across +NFS filesystems may be unavailable or flaky. +To avoid such problems, +.b man +can be compiled without database maintenance support. +See the section titled "Modes of operation" for details. +.BS 3 "Manual hierarchies with no index database" +.lp +It is possible for the \*M utilities to operate without aid from an index +database. +Under such circumstances, search methods will use only file +globbing and whatis type searches are performed on any traditional whatis +text databases that may exist. +Only the traditional cat hierarchy is searched for cat files. +.BS 3 "User manual page hierarchies" +.lp +A user may have any number of personal manual page hierarchies listed in +their +.EV MANPATH\c +.r . +.r +By default, +.b man +will maintain +.b mandb +created databases at the root of user manual page +hierarchies. +The definition of a user manual hierarchy is that it +does not have an entry in the \*M configuration file. +See +.b manpath (5) +for details. +.BS 2 "Contents of an index database" +.lp +There are four kinds of entry in an index database. +.np +A direct entry regarding a particular manual page. +Manual pages that are unique in terms of name use just a single entry +in the database and can be looked up by simply using the name as the key. +.np +A common name index entry that lists the extensions of all of the manual +pages sharing the common index entry name. +Manual pages that share common names but have differing extensions each +have a single database entry, but this time they are looked up with a key +comprised of their name and their extension. +The entire set of common named +pages also has an common name index entry that informs of the extensions +available. +.np +An indirect entry that has a pointer to the real entry. +Manual pages that are whatis references to a particular page do not +physically exist so they have a pointer to the entry containing the location +of the real manual page. +.np +Special identification entries. +There is one special key name, +.q $version$ +that identifies the database storage scheme version. +.lp +In order to support looking up manual pages in a case-insensitive fashion, +keys are stored in lower case. +If the name of the page was not already in lower case, its true case is also +stored in the common name index entry. +.lp +In the following entries, the character +.q | +will be used to separate the fields. In reality a tab is used. +Direct and indirect entries takes the form: +.ip +.i "<name> \(-> <realname>|\:<ext>|\:<sec>|\:<mtime.sec>|\:<mtime.nsec>|\:<ID>|\:<ref>|\:<filter>|\:<comp>|\:<whatis>" +.lp +Common name index entries take the form: +.ip +.i "<name> \(-> |<realname1>|\:<ext1>|\:<realname2>|\:<ext2>|\:<realname3>|\:<ext3>| .\|.\|. <realnamen>|\:<extn>" +.lp +and common name direct or indirect entries take the form: +.ip +.i "<name>|<ext> \(-> <realname>|\:<ext>|\:<sec>|\:<mtime.sec>|\:<mtime.nsec>|\:\:<ID>|\:<ref>|\:<filter>|\:<comp>|\:<whatis>" +.lp +where in each case the filename being represented is formed as +.ip +.i <manual_hierarchy>/man<sec>/<name>.<ext>.<comp> +.lp +in the case of a manual page, or +.ip +.i <cat_hierarchy>/cat<sec>/<name>.<ext>.<comp> +.lp +in the case of a stray cat. +.lp +If any of the fields would be empty, a single +.q \- +is stored in its place. +.i <comp> +represents the compression extension, +.i <mtime.sec> +is an integer representing the seconds part of the last modification +time of the manual page, +.i <mtime.nsec> +is an integer representing the nanoseconds part of the last modification +time of the manual page, +.i <ref> +points to the entry containing the location of the real page, +.i <ID> +is one of the following identification letters, and +.i <filter> +represents any preprocessors that are needed to display the page. + +.TS +center box tab (@); +l | l | l . +ID@#define@Description +_ +A@ULT_MAN@ultimate manual page, the full source nroff file +B@SO_MAN@manual page containing a .so request to an ULT_MAN +C@WHATIS_MAN@virtual whatis referenced page pointing to an ULT_MAN +D@STRAY_CAT@cat page with no source manual page +E@WHATIS_CAT@virtual whatis referenced page pointing to a STRAY_CAT +.TE + +The +.i ID +illustrates the precedence. +Some types of manual page can be referenced by +several means, e.g. .so requested and whatis referred. +In such a case, only one reference must be stored in the database, +the precedence level decides which. +.BS 3 "Favouring stray cats" +.lp +With the above rules of precedence, it is possible for a valid stray cat page +to be replaced by a whatis referred page sharing identical name-space. +.lp +If you would like to see the stray cat page +.b kill (1) +instead of the +.b bash_builtins (1) +page referenced by +.b kill (1), +edit +.i include/manconfig.h +and un-comment the following line +.lp +/* #define FAVOUR_STRAYCATS */ +.BS 3 "Accessdb" +.lp +A simple program, +.b accessdb +is included with \*M. +It will output the data contained within a \*M +database in a human readable form. +By default, it will +.i dump +the data from +.i /var/cache/man/index.<db-type> , +where +.i <db-type> +is dependent on the database library in use. +.lp +Supplying an argument to +.b accessdb +will override this default. +Tabs are replaced in the output by a tilde +.q ~ +in the +.i key +field and a single space in the +.i content +field. +.BS 3 "Example database" +.lp +As an example of both +.b accessdb +and the database storage method, the output of +.ip +.bx "src/accessdb man/index.bt" +.lp +after first running +.ip +.bx "src/mandb man" +.lp +from the top level build directory is included below. +.lp +.nf +$version$ -> "2.5.0" +accessdb -> "- 8 8 1410381979 324541691 A - - - dumps the content of a man-db database in a human readable format" +apropos -> "- 1 1 1410381979 268541692 A - - - search the manual page names and descriptions" +catman -> "- 8 8 1410381979 328541691 A - - - create or update the pre-formatted manual pages" +lexgrog -> "- 1 1 1410381979 268541692 A - - - parse header information in man pages" +man -> "- 1 1 1410381979 280541692 A - t - an interface to the system reference manuals" +manconv -> "- 1 1 1410381979 272541692 A - - - convert manual page from one encoding to another" +mandb -> "- 8 8 1410381979 324541691 A - t - create or update the manual page index caches" +manpath -> " manpath 5 manpath 1" +manpath~1 -> "- 1 1 1410381979 300541691 A - - - determine search path for manual pages" +manpath~5 -> "- 5 5 1410381979 304541691 A - - - format of the /etc/manpath.config file" +whatis -> "- 1 1 1410381979 300541691 A - - - display one-line manual page descriptions" +zsoelim -> "- 1 1 1410381979 304541691 A - - - satisfy .so requests in roff input" +.fi +.BS 2 "Database types" +.lp +\*M has support for various low level database libraries commonly in use +today. +The interfaces to the libraries are known as +.bu +ndbm (\*U) +.bu +gdbm (\*(GN) +.bu +btree (Berkeley DB) +.lp +\*M currently does not hold more than one database open at any time, so +.bu +dbm (\*U) +.lp +support could be added in the future. +.BS 2 "Limitations" +.lp +The general differences and limitations are best compared in a table. + +.TS +center box tab(@); +c | c | c | c s | c | c . +Name@Type@File@Content memory@Concurrent@Shareable +\^@\^@\^@_@\^@\^ +.T& +c | c | c | c | c | c | c +l | l | l | l | l | l | l . +\^@\^@name@type@limit@access@\^ +_ +ndbm@hash@index\**@static@1Kb@none@no +gdbm@hash@index.db@dynamic@\-@file locking@no +btree@binary tree@index.bt@static@\-@none@yes +.TE + +.(f +\** ndbm databases are physically represented by two files, +.i index.dir +and +.i index.pag , +but are referred to simply as +.i index +by the interface routines. +.)f +Those types that have no built in concurrent access strategy are provided +with +.b flock (2) +based file locking by \*M. +.lp +Berkeley DB initializes its databases very quickly, so +.b btree +may have some performance advantages when doing +.b man +searches. +However, it is quite heavyweight and its library SONAME and on-disk formats +have changed a number of times to provide features considerably beyond what +\*M needs, so the preferred library interface is now +.b gdbm . +.b configure +will look for +.b gdbm , +.b btree +and then finally +.b ndbm +routines when configuring \*M. +.BS 2 "Sharing databases in a heterogeneous environment" +It may be necessary or advantageous to share databases across +platforms, regardless of the potential file locking problems. +.lp +An example would be a user having a personal manual page hierarchy in an NFS +based home directory environment, whereby the home directory is held on and +mounted from a single machine in a heterogeneous network. +.lp +In this context, the database cache will have the same name and reside in +the same place on all machines. +There are at least two ways to deal with this problem. +.bu +Hack the +.i include/manconfig.h +file on each platform to provide a unique database name for each system. +No databases will be shared. +.bu +Install and use the Berkeley DB database interface library on each platform. +These databases can be shared across big-endian/little-endian platforms +although a database created on a big-endian platform will suffer a small +access penalty when used by a litle-endian machine and vice-versa. diff --git a/manual/files.me b/manual/files.me new file mode 100644 index 0000000..cd19669 --- /dev/null +++ b/manual/files.me @@ -0,0 +1,518 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002, 2007 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.BS 1 "Filesystem structure" +.BS 2 "Manual page hierarchies" +.lp +It is often common for manual page systems to have more than one manual page +hierarchy. +Indeed one of the systems I use has the following globally +accessible hierarchies +.ip +.i +/usr/man +.br +/usr/local/man +.br +/usr/local/tex/man +.br +/usr/local/pbm/man +.br +/usr/X11R6/man +.br +/usr/openwin/man +.br +/usr/local/packages/pvm/man +.r +.lp +A full system +.EV MANPATH +would be a colon separated list of these directories. +The order is important, and is observed by \*M's search algorithms. +The order is very much related to the user's +.EV PATH +environment variable, and should be set on a per user basis, or not +set at all. +If a user's +.EV PATH +causes +.ip +.i /usr/local/packages/bin/foobar +.lp +to be executed in preference to +.ip +.i /usr/bin/foobar , +.lp +it is essential that +.ip +.bx "man foobar" +.lp +displays the manual page located within +.ip +.i /usr/local/packages/man +.lp +rather than within +.ip +.i /usr/share/man +.lp +To ensure correct order, the program +.b manpath +may be used to set the +.EV MANPATH +environment variable. +See +.b manpath (1) +and +.b manpath (5) +for details. +.BS 2 "Setting the MANPATH" +.lp +If using a Bourne style login shell such as +.b bash , +.b ksh , +or +.b zsh , +the commands +.ip +export MANPATH +.br +MANPATH=`manpath \-q` +.lp +can be added to +.b \s-1$HOME\s+1\c +.i /.profile +.lp +If using a C style login shell such as +.b csh +or +.b tcsh , +the commands +.ip +setenv MANPATH `manpath \-q` +.lp +can be added to +.b \s-1$HOME\s+1\c +.i /.login +.lp +N.B. +.EV PATH +must be set prior to using +.b manpath . +The setting of +.EV MANPATH +is actually unnecessary as the \*M utilities will dynamically determine the +manpath if +.EV MANPATH +is unset. +.BS 2 "Determination of the internal manpath" +.lp +All \*M utilities, +.b manpath +included, will use the user's +.EV MANPATH +environment variable if set and not equal to "". +Otherwise the user's +.EV PATH +environment variable is queried. +If this is unset or is set to "", the +determined manpath will simply be any +.ip +.b MANDATORY_MANPATH +.lp +elements defined in the \*M config file. +.lp +Assuming that a +.EV PATH +exists, each path element it contains is scanned for in the config file. +If found, the corresponding manpath element is appended to the internal +manpath. +However, if the element is not mentioned in the config file, a man directory +relative to it will be sought. +The subdirectories +.i ../man , +.i man , +.i ../share/man , +or +.i share/man +relative to the path component are appended to the internal manpath if they +exist. +Finally, the internal manpath is stripped of duplicate paths before +being processed by the +.b NLS +and \(oqOther OS\(cq routines. +These may add to or modify the separate path +elements giving priority to +.b NLS +manual pages or add OS-relative manpaths. +.BS 2 "Other OS's manual pages" +.lp +It is common to have collections of heterogeneous computer systems linked +together in a network. +In some circumstances\** +.(f +\** writing portable software instantly comes to mind +.)f +it is advantageous to be able to access the manual +pages of these other systems directly from your system. +This feature is known as alternate system support. +The accepted way to setup this support is to NFS mount the respective +systems' manual page hierarchies under the native manual page hierarchies. +An example: + +.TS +center box tab(@); +l | l. +System@Manual page hierarchy +_ +<local>@/usr/share/man +newOS@/usr/share/man/newOS +userix@/usr/share/man/userix +<local>@/usr/local/man +newOS@/usr/local/man/newOS +userix@/usr/local/man/userix +.TE + +Rather than have multiple NFS mounts from a single machine, this may be +accomplished by NFS mounting +.ip +.i <other-sys>:/usr +.lp +somewhere on the local system and using symbolic links within the manual +hierarchies. +To access these +.i "alternate systems" +using +.b man +use the +.b \-m +or +.b \-\-systems +option, eg. +.ip +.bx "man \-\-all\ \-\-systems userix:newOS 5 passwd" +.lp +would provide manual pages showing the structure of +.i /etc/passwd +on systems +.b userix +and +.b newOS +in that order. +A manual page would +.i not +be displayed about the local systems conventions. +Please read the relevant \*M utility's manual +page for further and more specific information. +.BS 2 "NLS manual pages" +.lp +.\"With appropriate font support, it is possible to access and display +.\".q "Native Language Support" +.\"manual pages. +.\".lp +NLS manual pages should be installed in NLS subdirectories of a standard +manual page hierarchy. +The subdirectory names should be made up of language, territory, and +character set components as necessary to specify the locale of the manual +page. +.lp +The character set component describes the encoding of the manual page +itself, and not the encoding in use by the user; a manual page installed +under the +.b fr.UTF-8 +subdirectory will be used in the +.b fr_FR.ISO-8859-1 +locale as well as +.b fr_FR.UTF-8 , +and converted between encodings as necessary. +If no character set is specified in the subdirectory name, \*M will attempt +to detect whether each page is encoded using UTF-8 or a legacy character set +appropriate for the language. +Accordingly, the recommended scheme for installing manual pages is to encode +them in UTF-8 (or, if that is not practical, in the legacy character set) +and install them in directories +.i without +a character set component in their names. +.lp +The territory should normally be omitted unless it is necessary to describe +the manual page text. +For example, Brazilian Portuguese is quite distinct from Portuguese and so +should be installed under the +.b pt_BR +subdirectory, but a single German manual page will typically suffice in +Austria as well as in Germany and so should be installed under the +.b de +subdirectory. +.lp +The following table gives some examples. + +.TS +center box tab(@); +l | l | l | l. +Language@Territory@Character Set@Directory +_ +French@any@T{ +.ad l +UTF-8 or ISO-8859-1 +T}@/usr/share/man/fr +French@Canada@ISO 8859-1@/usr/share/man/fr_CA +French@any@UTF-8@/usr/share/man/fr.UTF-8 +German@Germany@UTF-8@/usr/share/man/de_DE.UTF-8 +German@Switzerland@ISO 8859-1@/usr/share/man/de_CH.ISO-8859-1 +Japanese@Japan@UTF-8 or EUC-JP@/usr/share/man/ja_JP +Japanese@Japan@EUC-JP@/usr/share/man/ja_JP.EUC-JP +Japanese@any@UTF-8@/usr/share/man/ja.UTF-8 +.TE + +On systems supporting UTF-8, it is recommended that all manual pages be +encoded using UTF-8 where possible, in order to simplify the task of editing +a variety of pages without reconfiguring editors and terminals and the like. +.lp +Each of these directories are then interpreted as manual page hierarchies +themselves and may +contain the usual section subdirectories. +Access to NLS manual pages is achieved via use of the +.b setlocale (3) +function which queries user environment variables to +determine the current locale. +Internally to the \*M utilities, this +locale string is appended to each manpath element and the resultant NLS manpath +element is +searched before the standard manpath element. +In this way, an NLS manual page +that matches the search criteria will be shown before or in place of the standard +American English page. +.lp +If a user's +.EV MANPATH +consists of or is determined as +.ip +.i /usr/local/man:/usr/share/man:/usr/X11R6/man +.lp +and their locale is set to +.b de_DE , +the command +.ip +.bx "man \-\-systems userix:man foobar" +.lp +would produce the following internal \*M manpath elements +.ip +.i +.nf +/usr/local/man/userix/de_DE +/usr/local/man/userix/de +/usr/local/man/userix +/usr/share/man/userix/de_DE +/usr/share/man/userix/de +/usr/share/man/userix +/usr/X11R6/man/userix/de_DE +/usr/X11R6/man/userix/de +/usr/X11R6/man/userix +/usr/local/man/de_DE +/usr/local/man/de +/usr/local/man +/usr/share/man/de_DE +/usr/share/man/de +/usr/share/man +/usr/X11R6/man/de_DE +/usr/X11R6/man/de +/usr/X11R6/man +.fi +.r +.lp +.b foobar +would be searched for in the order of manual page hierarchies listed. +Additional directories corresponding to manual pages encoded in different +character sets would be used if present. +.BS 3 "ISO 8859-1 (latin1) manual pages" +.lp +By default \*N will format manual pages into a form suitable +for a typewriter style device, e.g. a terminal screen. \*(GN \*N is +capable\** +.(f +\** see +.b nroff (5) +for the output device formats available with your \*N +.)f +of formatting \*R into a form suitable for 8-bit latin1 capable output +devices. To enable output for such a device, give the option +.ip \-\-with\-device=DEVICE +.lp +to +.b configure +where DEVICE +is the suitable and supported output format, in this case +.b latin1 . +.BS 3 "Displaying non-ASCII characters on a \*L virtual terminal" +.lp +To view non-ASCII characters at the \*L console, you must have one of the +kbd\** and console\-tools packages installed. +.(f +\** written and maintained by Andries Brouwer <aeb@cwi.nl>. +.)f +If your system does not come with suitable configuration already, then +please see the documentation in the kbd or console\-tools package for +details on how to configure the console for your locale. +On modern systems, the best choice is likely to be to use the UTF-8 encoding +with a font suitable for your language. +Make sure that your locale environment variables match the encoding +displayed by the console. +For display under the +.q "X Window System", +a suitable 8-bit-clean terminal emulator is required. +.BS 3 "Viewing ASCII pages formatted for latin1 output device" +.lp +When formatting an ASCII manual page for a latin1 output device, +\*(GN \*N +will take advantage of the extra characters available and will always +produce a text page containing some latin1 (8-bit) symbols. +The table\** +.(f +\** The ISO 8859-1 and ASCII columns of this table will be identical if this +manual was formatted for an ASCII based typewriter display, i.e. using \*N +in its native mode. +.)f +below, taken from +.b man (1), +illustrates the differences. + +.TS +center box tab (@); +l | c | c | c. +Description@Octal@ISO 8859-1@ASCII +_ +continuation hyphen@255@\[char173]@\- +bullet (middle dot)@267@\(bu@o +acute accent@264@\(aa@' +multiplication sign@327@\(mu@x +.TE + +To display such symbols on a 7 bit terminal or terminal emulator, they +must be translated back into standard ASCII. +The +.b \-7 +option with +.b man +will enable this simple reverse translation. +.lp +This option may be useful if your site has both 7 and 8-bit capable output +devices and nroff is using the latin1 output device to format manual pages. +.BS 2 "Cat pages" +.lp +It has become standard practice to store the formatted manual pages on disk +so that subsequent requests for the manual page do not have to involve the +formatting process. +These pre-formatted manual pages are known as +.i cat +pages. +Although cat pages require additional disk storage requirements, they +provide a substantial speed increase and their use is recommended. +.lp +The automatic support for storing and using cat pages is brought about by +simply creating suitable directories for them. +.BS 2 "Cat page hierarchies" +.lp +Traditionally, cat pages were stored under the same manual hierarchy as +their source manual pages, in +.i cat<sec> +subdirectories rather than +.i man<sec> . +This situation is rather limiting in several situations: +.ip +.bu +When it is advantageous to mount +.i /usr +as a read-only filesystem. +Cat pages cannot be supported in this situation +without use of symbolic links to various other areas of the filesystem. +This situation is a greater problem if the media itself is read-only, such as +CD-ROM. +.bu +When NFS mounting alternate OS's manual page hierarchies. +The alternate system may be under someone else's control and they may not +want cat pages stored on their system. +In fact, it is usually a good idea to export the manual page filesystems +read-only, or import them that way. +It is possible to avoid the problems, this time with even more symbolic +links that may need periodic updating. +.\".bu +.\"When sharing +.\".i /usr +.\"with several other machines. There may be a situation where two machines are +.\"producing the same cat file at the same time. A corrupted cat file is the +.\"probable result. +.bu +If there is a mixture of normal cat files and stray cats\**, +.(f +\** cat files that have no source manual page, i.e. they cannot be recreated. +.)f +it is very difficult to periodically +.i trim +the cat space disk usage by removing seldom accessed cat files. +.lp +To avoid all of these problems simultaneously, it was decided to support +local cat page directory caches. +.BS 2 "Local cat page directory caches" +.lp +Any location for cat page hierarchy may be specified in the +\*M configuration file. +The location of the database cache associated with +each manual page hierarchy will always be at the root of the cat page +hierarchy. +By default, the cat page hierarchy shadows the manual page hierarchy. +The \*F +proposes +.i /var/cache/man +as the location for such directories, although \*M allows any directory +hierarchy to be used. +The \*F path transformation rule is as follows: +.ip +.i /usr/<hierarchy>/share/man/<locale>/man<sec>/page.<sec><ext> +.lp +should be formatted into the cat file +.ip +.i /var/cache/man/<hierarchy>/<locale>/cat<sec>/page.<sec><ext> +.lp +where the +.i <locale> +directory component may be missing and +.i <ext> +may be an empty string. +.lp +The suggestion is that stray cats are located in the traditional hierarchy +under +.i /usr +whereas re-creatable cat pages are stored under the local writable hierarchy +.i /var/cache/man. +.b man +follows strict rules in determining which file is displayed. +.lp +As an example, the following route is +taken if all three files exist. +.np +Check relative modification time stamps of the manual file and the +traditional cat file. +If the cat file is up to date (has an equal time stamp), display it. +.np +The traditional cat file is out of date. +Check relative time stamps of the manual file and the alternate cat file. +If the cat file is up to date, display it. +.np +The alternate cat file is out of date. +Format the manual file and display the result in the foreground, while +updating the alternate cat file in the background. +.lp +When a cat file is created, its time stamp is set to that of the +corresponding manual file. +Manual files are often stored in +.b tar +archives, and time stamps may be preserved when these archives are unpacked. +Simply checking whether the cat file is newer would sometimes cause +.b man +to display an out-of-date cat file in this case, when it should have +reformatted the manual file instead. diff --git a/manual/format.me b/manual/format.me new file mode 100644 index 0000000..1261e21 --- /dev/null +++ b/manual/format.me @@ -0,0 +1,185 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.BS 1 "Formatting" +.lp +As already pointed out in the introduction, there are two primary +formatters common to \*U: \*N and \*T. +.lp +In the following sections, I +will use the term \*T to describe the typesetter formatter and \*N to +describe the typewriter formatter. +The term \*R will be used to describe a generic formatter. +.BS 2 "\*G" +.lp +If using the \*G package, there is a further choice, \*G itself. +Essentially, \*G forms a pipeline of processors including \*T and an output +processor which translates the ditroff produced by \*T into the appropriate +output format. +The default output format, or device, for \*G is \*P. +Anything else must be specified using the device argument. +To illustrate \*G, the command +.ip +.bx "groff \-Tdvi /dev/null" +.lp +will form the following pipeline +.ip +troff \-Tdvi /dev/null | grodvi +.lp +If \*G is tied to +.b man 's +.b \-T +option, it is still possible for +.b man +to produce ditroff via use of the +.b \-Z +option. +.lp +In \*G 1.09, \*N is bundled as a shell script that calls \*G, which in turn +calls \*T with the default options +.b "\-Wall \-mtty-char \-Tascii" , +passing the result through +.b grotty +before it finally reaches the screen. +.lp +It is imperative that the script does not pass pre-processing options +to \*G's +command line as +.b man +takes care of this separately. +.BS 2 Devices +.lp +Both \*N and \*G may allow output device selection. +As mentioned previously, +classic \*N produces output suitable for a typewriter device, classic +\*T produces output suitable for a +.b C/A/T +and \*G produces output suitable for a \*P interpreting device by default. +.BS 2 "Macros" +.lp +There are several \*R macro sets in existence that are suitable for manual +pages. +Unfortunately, they tend to be incompatible with each other. +.lp +During configuration, +.b configure +will attempt to determine a suitable macro set for the local system's manual +page collection. +It attempts to use \*N with the following three macro packages: + +.TS +center box tab(@); +l | l | l . +macro package@macro filename@nroff command +_ +andoc@tmac.andoc or andoc.tmac@nroff \-mandoc +an@tmac.an or an.tmac@nroff \-man +doc@tmac.doc or doc.tmac@nroff \-mdoc +.TE + +The first that succeeds is used. +The +.b andoc +macro set is suitable for manual pages written using either +.b an +or +.b doc +macro commands, but not a combination of both. +.lp +.BS 2 "Pre-format processors (pre-processors)" +.lp +Manual pages may require pre-processing by any of the following + +.TS +center box tab(@); +l | l | l . +Program@ID@Pre-processes +_ +eqn@e@equations +tbl@t@tables +grap@g@graphs +pic@p@pictures +refer@r@A bibliography +vgrind@v@program listings +.TE + +It is possible to assign a default pre-processor list that all +manual pages will be passed through prior to the primary formatter. +By default, this is empty. +To define a default list, edit +.i include/manconfig.h +and un-comment the following line +.lp +/* #define DEFAULT_MANROFFSEQ "t" */ +.lp +which will enable +.b tbl +processing by default. +To change the list, replace the +.b t +with a suitable string of processor ID's. +.lp +Pre-process options may be provided at run time in various forms, but in +general the pre-processors required by each manual page is indicated in the +first line of the manual page itself. +See +.b man (1) +for details. +.lp +If a manual page does not contain a pre-processor string in its first line, +it will be scanned for well-known \*R requests used to pass input to +certain pre-processors. +Thus, the pre-processor string is often unnecessary for correct output, +but should nevertheless be included for efficiency. +.BS 2 "Format scripts" +.lp +It is very likely that alternate systems manual pages may require +non-standard macro packages or possibly even special pre-processors. +To tackle such problems, special format scripts may be created on a per +manual hierarchy basis. +.lp +If the file +.ip +.i <manual_hierarchy>/mandb_nfmt +.lp +exists and is executable, it is expected to be able to correctly format a +manual page originating from +.i <manual_hierarchy> +to its standard output. +It will be supplied with either two or three arguments: +.(l +\(bu manual page filename +\(bu pre-processor string +\(bu output device (optional) +.)l +Similarly, if the option +.b \-T\c +.i <device> +.r +or +.b \-t +was supplied to +.b man +and the file +.ip +.i <manual_hierarchy>/mandb_tfmt +.lp +exists and is executable, it will be used in the same way. +.lp +An example of such a script, supplied by Markus Armbruster +<armbru@pond.sub.org>, who provided support for external formatter scripts, +can be found as +.i tools/mandb_fmt\-script +.lp +The script can be used as both an \*N and \*T/\*G format script and can be +installed as +.i mandb_nfmt +and hard linked to +.i mandb_tfmt +after modification appropriate for your particular site. diff --git a/manual/glossary.me b/manual/glossary.me new file mode 100644 index 0000000..cd5316e --- /dev/null +++ b/manual/glossary.me @@ -0,0 +1,50 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.ip "manual page" +A file containing descriptions related to the use of a function or program +or the structure of a file. +The name of the file is formed from the title of +the manual page followed by a period followed by the name of the section +that it resides in, optionally followed by an extension. +The format of the file is \*N and may be compressed, +having a suitable compression extension appended. +.ip "cat page" +A formatted manual page suitable for viewing on a vt100-type terminal. +.ip "stray cat page" +A cat page that does not have a relative manual page on the system, i.e. only +the cat page was supplied or the manual page was removed after the cat page +had been created. +.ip section +Each manual page or cat page hierarchy is divided into sections, each +section having its own directory. +Manual page hierarchy section names +begin with \(oqman\(cq and cat page sections with \(oqcat\(cq. +.ip extension +A package may provide manual pages with filenames ending in a +package-specific extension name. +This allows manual pages with the same +title to coexist in the same manual page hierarchy and section without +sharing the same filename. +It also provides a further mechanism for man +to select the correct manual page. +.ip "manual page hierarchy" +A directory tree divided into manual page sections, each containing a +collection of manual pages. +.ip "cat page hierarchy" +A directory tree divided into cat page sections, each containing a +collection of cat pages. +.ip "traditional cat page hierarchy" +The same location as the manual page hierarchy. +.ip "alternate cat page hierarchy" +A separate location to that of the traditional cat page hierarchy. +.ip "traditional cat page" +A cat page located in a traditional cat page hierarchy. +.ip "alternate cat page" +A cat page located in an alternate cat page hierarchy. diff --git a/manual/intro.me b/manual/intro.me new file mode 100644 index 0000000..a4935bf --- /dev/null +++ b/manual/intro.me @@ -0,0 +1,324 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2001, 2002, 2003, 2007 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.\" chap1.me +.BS 1 Introduction +.BS 2 "\*M" +.lp +\*M is a package that is designed to provide users with information +in a fast and friendly manner while at the same time offering flexibility to +the system administrator. +.TS +tab(@); +l s s s +l lfB l. +It is made up of several user programs: +.sp 6p +.\" Leave the next line alone! + @\(bu man@\- an interface to the system reference manuals +@\(bu whatis@\- search the manual page names +@\(bu apropos@\- search the manual page names and descriptions +@\(bu manpath@\- determine search path for manual pages +@\(bu lexgrog@\- directly read header information in manual pages +.T& +l s s s +l lfB l. +.sp 6p +several maintenance programs: +.sp 6p +@\(bu mandb@\- create or update the manual page index caches +@\(bu catman@\- create or update the pre-formatted manual pages +.T& +l s s s +l lfB l. +.sp 6p +and a special pre-formatter that knows about compressed manual pages: +.sp 6p +@\(bu zsoelim@\- satisfy .so requests in roff input +.TE + +In addition to these compiled programs, there are two shell scripts, +.b mkcatdirs +and +.b checkman +in the +.i tools +subdirectory. +These scripts aid the creation of cat directories and +check for duplicated manual pages, respectively. +.lp +The following manual pages are provided with this package to explain correct +format and usage. +.b man (1), +.b whatis (1), +.b apropos (1), +.b manpath (1), +.b lexgrog (1), +.b manpath (5), +.b mandb (8), +.b catman (8) +and +.b zsoelim (1). +.BS 3 "The concept" +.lp +\*M originally started out life as program suite man\-1.1B, written by John W. +Eaton <jwe@che.utexas.edu> and maintained by Rik Faith <faith@cs.unc.edu> +to which support proposed by the newly +formed FSSTND committee regarding cat directories was added. +.lp +Since then, \*M's most innovative feature: the database cache scheme\** +.(f +\** originally conceived after observing the actions of the Perl-based +manual pager suite, man-pl written by Tom Christiansen +<tchrist@convex.com> +.)f +has been significantly developed. The basic idea was to reduce manual page +search times to a minimum. The following piece of text is included from the +man-db-2.2 distribution: +.(q +The theory: If you go to a library to take a book out, what do you do? +.sp +a) Go and look where it might be on a micro-fiche/terminal, take a look +where it is supposed to be on the shelf, and then go look at the new +arrivals if it's not where it's supposed to be? +.sp +OR +.sp +b) Start at one end of the ground floor, look along every bookshelf +until you've completed that floor, then go up a level and start again +until you've found what you're looking for? +.)q +.lp +Since then the database +.b index +scheme has evolved greatly. +Every manual page and stray cat page on the system is registered in an +.b index +database cache which stores various details about the file including the +timestamp, the location and the whatis\** +.(f +\** one line description of the manual page +.)f +information. +This information is kept up to date by regular runs of +.b mandb . +In some configurations +.b man +also looks for filesystem changes each time it is invoked and helps to +keep the database cache current, but this imposes a penalty on manual page +search times. +.BS 2 "The manual page system" +.lp +The simplest manual page system will have a single manual page hierarchy. +This will typically be +.ip +.i /usr/share/man +.lp +beneath which will be several subdirectories of the form +.i man<sec> +where +.i <sec> +is +.b 1 , +.b 2 , +.b 3 , +.b 4 , +.b 5 , +.b 6 , +.b 7 +or +.b 8 . +These are referred to as +.i sections +of the +manual. +Others may exist and they are not restricted to single +character names. eg. +.ip +.i /usr/share/man/manfoo +.lp +is a valid section subdirectory. +Other common sections include +.b 9 , +.b n , +.b l , +.b p +and +.b o . +.lp +Within these section subdirectories reside the manual pages themselves. Their +filenames follow the pattern +.ip +.i /usr/share/man/man<sec>/<name>.<sec><ext> +.lp +where in most cases +.i <ext> +is an empty string. +An example is manual page +.b cp +.ip +.i /usr/share/man/man1/cp.1 +.lp +which resides in +.i section +.b 1 +and has no special +.i extension . +.lp +.BS 2 "Sections of the manual" +.lp +The manual is split up into sections to ease access and to cater for manual +pages that share the same name. +It is common for a program and function to share the same name. +.b kill +is a good example. +This is both a program which can be used to send a process a signal and +an operating system call with similar functionality. +Their manual pages are stored under sections +.b 1 +and +.b 2 +respectively. +Thus, sections are used to separate out the program manual pages from the +function manual pages and so on. +The table below shows the +.i section +numbers of the manual followed by the types of pages they contain. + +.TS +center box tab (@); +c | c +c | l. +Section@Section contents +_ +1@user executable programs or shell commands +2@system calls (functions provided by the kernel) +3@library calls (functions within system libraries) +4@special files (usually found in \fI/dev\fR) +5@file formats and conventions eg. \fI/etc/passwd\fR +6@games +7@macro packages and conventions eg. \fBman\fR(7), \fBgroff\fR(7). +8@system administration commands +9@kernel routines [\|Non-standard\|] +n@new [\|obsolete\|] +l@local [\|obsolete\|] +p@public [\|obsolete\|] +o@old [\|obsolete\|] +.TE + +.BS 2 "The format of manual pages" +.lp +The format in which manual pages are stored is \*N/\*T or more generally \*R. +This is a typesetter style language\** +.(f +\** similar in some aspects to +.b TeX +.)f +which requires formatting before being viewed. +In fact some manual pages require pre-format processing to +correctly format tables or equations. +.lp +If the page is to be viewed on screen in a text environment, \*N is +used as the primary formatter. If the page is to be printed or displayed in a +graphical environment, \*T is used. Traditionally, \*T formatted files for a +.b C/A/T +(Computer aided Typesetter) which is now obsolete. + +The \*(GN \*R (\*G\**) +.(f +\** Written by James Clark <jjc@jclark.com> and now maintained by +Ted Harding <ted.harding@nessie.mcc.ac.uk> and Werner Lemberg <wl@gnu.org> +.)f +suite of programs offer a choice of output types +including +.b X , +.b dvi +and +.b postscript . +When configuring \*M, the preference is +to use \*G rather than \*T. +.BS 2 "Arguments to configure" +.lp +To allow the configuration program, +.b configure , +to be non-interactive, it can be passed various options to alter the +default settings. +Generic +.b configure +options are discussed in +.i docs/INSTALL . +Options that are specific to the \*M package are described below. +.if r MAN-OPTIONS-ONLY \{ +.lp +MAN\-OPTIONS\-BEGIN +\} +.lp +.ip \-\-enable\-cache\-owner[=ARG] +By default, system-wide cache files will be owned by user man. +Use this option with an argument to change the cache file owner. +.ip \-\-disable\-cache\-owner +Use this option to leave the ownership of system-wide cache files +unconstrained. +Users will be allowed to modify them. +.ip \-\-disable\-setuid +By default, +.b man +will be installed as a setuid program to the user that owns the +system-wide cache files. +Use this option to install +.b man +as a non-setuid program instead. +.ip \-\-enable\-mandirs=OS +By default, \*M supports manual page directories in any of several layouts +used by free and proprietary versions of \*U. +However, in certain cases, this can cause \*M to find the wrong page by +mistake, especially when the names of some manual pages on the system +contain periods. +Use this option with an argument of GNU, HPUX, IRIX, Solaris, or BSD +(or more than one of these, separated by commas) to support only the layouts +typically used on each of those systems. +Note that \*M is not currently capable of writing cat pages in the proper +BSD layout. +.ip \-\-with\-device=DEVICE +Use this flag to alter the default output device used by \*N. DEVICE is +passed to \*N with the \-T option. +.b configure +will test that \*N will run with the supplied device argument. +.ip \-\-with\-db=LIBRARY +configure will look for database interface libraries in the order gdbm, +Berkeley DB and finally ndbm and will #define appropriate variables relative +to the first one found. +To override the built-in order on platforms having a choice of interface +library, use this option to specify which library to use. +.ip \-\-enable\-automatic\-create +If this flag is used, +.b man +will automatically create index databases for users' private manual page +hierarchies. +.ip \-\-disable\-automatic\-update +Normally, +.b man +will update entries in index databases if it finds newly installed manual +pages (if the +.b \-\-update +flag is used) or delete entries if manual pages are removed. +This flag suppresses this behaviour. +.ip \-\-disable\-cats +Normally, +.b man +will automatically try to create cat files corresponding to manual files +when a manual page is read. +This flag suppresses this behaviour. +.ip \-\-disable\-manual +Don't build or install the \*M manual. +This may be useful when cross-compiling, or to reduce the installation size. +.if r MAN-OPTIONS-ONLY \{ +.lp +MAN\-OPTIONS\-END +\} diff --git a/manual/leader.me b/manual/leader.me new file mode 100644 index 0000000..385bd51 --- /dev/null +++ b/manual/leader.me @@ -0,0 +1,59 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +\*U is a registered trademark of the X/Open Company, Ltd. +.br +NFS is a registered trademark of Sun Microsystems, Inc. +.br +PostScript is a registered trademark of Adobe in the United States. +.sp +The general conventions used throughout this manual include +.bu +file names and paths in +.i italic , +e.g. +.i /usr/share/man . +.bu +variable strings (usually path components) enclosed within <> and in +.i italic , +eg. +.i <sec> , +.bu +program names in +.b bold , +eg. +.b man . +.bu +commands that can be typed at a shell prompt in a +.bx box , +eg. +.bx "man foobar" . +.bu +environment variables denoted as follows: +.EV ENV_VAR . +.lp +.(z F +Copyright \(co 1995 Graeme W. Wilford +.br +Copyright \(co 2001, 2002, 2003, 2007 Colin Watson +.sp 1 +Permission is granted to make and distribute verbatim copies of this manual +provided the copyright notice and this permission notice are preserved on +all copies. +.sp 1 +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a notice identical +to this one. +.sp 1 +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation approved +by the copyright holder. +.)z diff --git a/manual/man_db.me b/manual/man_db.me new file mode 100644 index 0000000..a0837a2 --- /dev/null +++ b/manual/man_db.me @@ -0,0 +1,118 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2001, 2002, 2007 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.so version +.ds U \s-1\fBUNIX\fR\s+1 +.ds N \s-1\fBNROFF\fR\s+1 +.ds T \s-1\fBTROFF\fR\s+1 +.ds G \s-1\fBGROFF\fR\s+1 +.ds GN \s-1\fBGNU\fR\s+1 +.ds R \s-1ROFF\s+1 +.ds F \s-1\fBFHS\fR\s+1 +.ds P PostScript +.ds L Linux +.ds M man\-db +.\" +.\" format an environment variable +.\" +.de EV +.sz -1 +$\c +.b \\$1 +.sz +1 +.. +.\" end +.\" +.\" Begin a new (sub)section, add to TOC +.\" +.de BS +.if \\$1=1 \{ .\" Chapter +.bp +.sh \\$1 "\\$2" +.(x c +.sp 10p +.)x _ +.(x c +.in 0 +\\n($1.\ \ \\$2 +.)x +.br \} +.\" +.if \\$1=2 \{ .\" Section +.sh \\$1 "\\$2" +.(x c +.in \w'\0.\ \ 'u +\\n($1.\\n($2\ \ \\$2 +.)x +.br \} +.\" +.if \\$1=3 \{ .\" Subsection +.sh \\$1 "\\$2" +.(x c +.in \w'\0.\ \ \0.\0\ \ 'u +\\n($1.\\n($2.\\n($3\ \ \\$2 +.)x +.br \} +.. +.\" end +.\" +.if n \ +.ll 78n +.tp +.sp 2i +.(l C +.sz 16 +.b "\*M \- the database cached manual pager suite" +.sz 12 +.sp 2 +.ul +Graeme W. Wilford <eep2gw@ee.surrey.ac.uk> +.br +.ul +Colin Watson <cjwatson@debian.org> +.)l +.sp 4 +.(l F +This document describes the setup, maintenance and use of a generic +manual page system with special reference to the \*M package and its +advanced features. +.)l +.\".he '\*M''\*(td' +.\".fo ''%'' +.he '\*M'v\*V'\*(td' +.bp +.fo ''%'' +.\" +.\" Start the manual +.\" +.so leader.me +.bp 1 +.so intro.me +.so sec.me +.so files.me +.so comp.me +.so format.me +.so db.me +.so misc.me +.\" +.\" table of contents page +.\" +.he '''''' .\" no header +.fo ''%'' .\" pagenumber footer +.bp 1 .\" reset pagenumber to 1 +.af % i .\" set pagenumber register to roman numerals +.ce +Glossary +.sp +.so glossary.me +.bp 1 +.ce +Contents +.sp +.xp c diff --git a/manual/misc.me b/manual/misc.me new file mode 100644 index 0000000..d0b8ec5 --- /dev/null +++ b/manual/misc.me @@ -0,0 +1,220 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2001, 2002 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.BS 1 "Miscellaneous" +.BS 2 "Modes of operation" +.lp +The \*M utilities can operate in many different modes, allowing varying +degrees of freedom, functionality and security. +No mode requires that the manual page hierarchies be writable. +.lp +.ip "(1) Default mode" +.b man +is setuid to the user MAN_OWNER which is \(oqman\(cq by default and is +changeable via options to +.b configure . +.b mandb , +if run by the superuser or MAN_OWNER, creates globally accessible index +databases owned by MAN_OWNER. +Once the databases are created, +.b man +will update entries in them if it finds newly installed +manual pages (if the +.b \-\-update +flag is used) or delete entries if manual pages are removed. +In this mode it is possible for a malicious +.b man +user to deliberately lock a database as a writer, thus denying read access to +other users. +.br +If cat directories exist and have the correct permissions, +.b man +will take care of producing cat files. +These will be owned by MAN_OWNER. +The default permissions of both cat files and databases are 0644. +.ip "(2) No man database updates" +This mode also requires +.b man +to be setuid, but is favoured where databases must be shared in an +environment unfriendly to kernel locking procedures, eg. NFS. +It also prevents possible +.q "denial of service" +attacks by malicious +.b man +users as +.b man +never opens the databases as a writer in this mode. +To replace the functionality lost by disallowing +.b man +write access to the databases, +.b mandb +should be rerun whenever new manual pages are installed. +Otherwise, +.b man +will not be able to use the database to find and display the newly added +manual pages, and will have to use the filesystem instead. +Each index database may be owned by an arbitrary user who will have +subsequent write access to the database. +Cat files are created in the same way as for mode (1) above. +.br +To use the \*M utilities in this mode, give the option +\(oq\-\-disable\-automatic\-update\(cq to +.b configure . +.ip "(3) No man database updates or cat production" +.b man +is installed not setuid. +This mode of operation probably offers the highest level of security but +it requires higher levels of maintenance than other modes due to the +restrictions imposed upon +.b man . +Each database is owned by an arbitrary user as in mode (2). +Each cat hierarchy is also owned by +an arbitrary user who is responsible for creating cat files using +.b catman +whenever new manual files are installed. +.b man +will be completely passive in its action, i.e. no index databases will be +written to and no cat files are ever produced. +.br +To use the \*M utilities in this mode, supply the options +\(oq\-\-disable\-cache\-owner \-\-disable\-setuid +\-\-disable\-automatic\-update \-\-disable\-cats\(cq to +.b configure , +or build \*M as in mode (1) and install the binaries without the setuid +bit set. +.ip "(4) Wide open" +.b man +is installed not setuid. +This mode is similar in operation to the majority of vendor supplied, non +setuid, cat file supporting manual pager suites. +It is not recommended. +The databases are owned by an arbitrary user who maintains them using +.b mandb . +.b man +does not update the databases. +Cat files are produced and stored in world writable cat directories and have +world write access themselves. +.br +To use the \*M utilities in this mode, supply the options +\(oq\-\-disable\-cache\-owner \-\-disable\-setuid +\-\-disable\-automatic\-update\(cq to +.b configure , +edit +.i include/manconfig.h +and change the definition of CATMODE from 0644 to 0666. +.lp +Other variations can also be used. +In fact it is possible for +.b man +to actually create index databases, usually the job of +.b mandb , +for users' private manual page hierarchies. +This is enabled by giving the option +\(oq\-\-enable\-automatic\-create\(cq to +.b configure . +.lp +In summary, +.i include/manconfig.h +contains definitions for +.bu +CATMODE +.bu +DBMODE +.lp +the setuid installation and operation of +.b man +is modified by supplying either of the following options to +.b configure : +.bu +\-\-enable\-setuid +.bu +\-\-disable\-setuid +.lp +and other aspects of +.b man 's +behaviour are controlled by the following options to +.b configure : +.bu +\-\-enable\-automatic\-create +.bu +\-\-disable\-automatic\-update +.bu +\-\-disable\-cats +.BS 2 "NFS root squash" +.lp +If +.b man +is installed setuid to an arbitrary user and is run by root, instead of +gaining the effective user id of the setuid user, +.b man +is run with both uid and euid as root. +This is neccesary due to infelicities with the +.b POSIX +setuid() function call: All users except root may change to and from the +effective (setuid) user, however once root has setuid(user), there is no way +back. +.lp +A side effect of this is that +.b NFS +mounted cat hierarchies or databases will be unwritable if the following +conditions exist: +.bu +man/catman/mandb is run by root +.bu +The NFS mount has the root squash flag set +.lp +To get around this problem, the root user must first attain the ID of the +cat hierarchy or database owner before running +.b man/catman/mandb +whenever the databases need updating or cat files are to be produced. +.BS 2 "NLS message catalogues" +.lp +\*M has built in support for native language message catalogues. +That is, it can issue messages in the locale of the user's choice. +This will only occur if the locale's translation has been written. +Before undertaking a translation, please contact the Translation Project +(https://translationproject.org/) who are coordinating such activities. +.BS 2 "Credits" +.lp +The authors would like to thank the following people for their time, effort, +support, ideas and code which went into \*M: +.(l +Markus Armbruster <armbru@pond.sub.org> +Lionel Cons & colleages <cons@dxcern.cern.ch> +Carl Edman <cedman@princeton.edu> +Caleb Epstein <epstein_caleb@jpmorgan.com> +Lars Fenneberg <lf@gimli.comlink.de> +Zoltan Hidvegi <hzoli@cs.elte.hu> +Nils Magnus <magnus@unix-ag.uni-kl.de> +Daniel Quinlan <quinlan@yggdrasil.com> +Fabrizio Polacco <fpolacco@debian.org> +Gordon Sadler <gbsadler1@lcisp.com> +Colin Phipps <cph@cph.demon.co.uk> +Paul Slootman <paul@wurtel.net> +Jose Rodriguez <boriel@airtel.net> +Eirik Fuller <eirik@hackrat.com> +Matej Vela <vela@debian.org> +Clint Adams <schizo@debian.org> +Jeremy C. Reed <reed@reedmedia.net> +Erik Andersen <andersen@codepoet.org> +Giuseppe Sacco <eppesuig@debian.org> +David Weinehall <tao@debian.org> +Ralph Corderoy <ralph@inputplus.co.uk> +Yuri Kozlov <kozlov.y@gmail.com> +Henning Makholm <henning@makholm.net> +Lars Wirzenius <liw@iki.fi> +Nicolas Fran\(,cois <nicolas.francois@centraliens.net> +Ivan Shmakov <oneingray@gmail.com> +Peter Breitenlohner <peb@mppmu.mpg.de> +Robert Luberda <robert@debian.org> +Chusslove Illich <caslav.ilic@gmx.net> +.)l +and all those translators listed in the +.b man/THANKS +file. diff --git a/manual/options-only.me b/manual/options-only.me new file mode 100644 index 0000000..7b04d48 --- /dev/null +++ b/manual/options-only.me @@ -0,0 +1,13 @@ +.\" Extract just the list of options from intro.me, disabling the usual +.\" hyphenation and adjustment. This looks better in README. +.nh +.de hy +.. +.na +.de ad +.. +.pl 10000i +.de bp +.. +.nr MAN-OPTIONS-ONLY 1 +.so man_db.me diff --git a/manual/print-options b/manual/print-options new file mode 100755 index 0000000..267fa2a --- /dev/null +++ b/manual/print-options @@ -0,0 +1,14 @@ +#! /bin/sh +LC_ALL=C LANGUAGE= nroff -c -me options-only.me | col -bpx | perl -ne ' + $match = /^MAN-OPTIONS-BEGIN/ ... /^MAN-OPTIONS-END/; + if ($match > 1 and $match !~ /E0/) { + # Trim leading and trailing blank lines. + if (/^$/) { + $diversion .= $_ if $start; + } else { + print $diversion; + $diversion = ""; + print; + $start = 1; + } + }' diff --git a/manual/sec.me b/manual/sec.me new file mode 100644 index 0000000..12dd28a --- /dev/null +++ b/manual/sec.me @@ -0,0 +1,136 @@ +.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) +.\" Copyright (c) 2002, 2007 Colin Watson. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" man-db distribution. +.\" +.\" Thu Sep 21 19:22:47 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) +.\" +.BS 1 "The specifics of Sections" +.BS 2 "Package specific manual page sections" +.lp +The use of package specific manual page +sections is discouraged as packages large enough to warrant their own +section probably contain manual pages that span other sections. +An example might be package +.b foo +that has its own section +.ip +.i /usr/share/man/manfoo +.lp +which contains manual pages +describing its programs, the library routines it offers and the format of +several of its configuration files. +These pages would normally be allocated to sections +.b 1 , +.b 3 +and +.b 5 +respectively and thus combining them all under section +.b foo +is misleading. +Subtle problems will arise if there are any +base name-space clashes with standard manual pages, e.g. +.b exit (3), +.b exit (foo) +and the order in which they should be shown. +.lp +There are two standard solutions to this problem. +.np +Create a separate manual page hierarchy for the package's manual pages such as +.(l +.i /usr/local/packages/foo/man +.)l +.np +Install the pages in their relevant sections, with a unique extension +appended to the filename such that +.(l +.i /usr/share/man/manfoo/exit.foo +.)l +would instead be installed as +.(l +.i /usr/share/man/man1/exit.1foo +.)l +.lp +Only (2) offers a complete +solution to manual page ordering problems and +allows users to access the desired page directly. +.BS 2 "Selecting a section type" +.BS 3 "Specifying a section" +.lp +This is done via use of the section argument to man +.ip +.bx "man 1 exit" +.lp +will look for +.i exit.1* +in section +.b 1 +of the manual. +If +.i exit.1 +exists, it will be displayed in preference to +.i exit.1foo +.ip +.bx "man 1foo exit" +.lp +will look for +.i exit.1foo* +in section +.b 1 +of the manual. +The asterisk (*) represents a wild-card of any type or length, +including length zero. +.lp +For an argument to be interpreted as a section name rather than a page name, it +must either begin with a digit, or be included in the standard section list. +The default section list is defined in +.i include/manconfig.h +to be +.b 1 , +.b n , +.b l , +.b 8 , +.b 3 , +.b 2 , +.b 5 , +.b 4 , +.b 9 , +.b 6 +and +.b 7 . +This should be modified in order and content to meet the local conventions. +It may be altered at run-time using the +.b SECTION +directive in the \*M configuration file. +.lp +Every subdirectory section name in the entire system must be in the list, +including sections found in imported manual page hierarchies. +It is not necessary to list sections with extensions unless a special +ordering for those extensions is desired. +The order is important because in normal operation, +.b man +will only display the first manual page it finds that meets the search +criteria. Using the +.b \-\-all +argument will cause +.b man +to attempt to display all manual pages that meet the criteria. See +.b man (1) +for further information. +.lp +Having an excess of sections listed will not slow +.b man +down. +.BS 3 "Specifying an extension" +.lp +If the section is unknown, but the package extension is, +it is possible to use the extension argument +.ip +.bx "man \-e foo exit" +.lp +to search in all sections for manual pages named +.i exit +from package +.i foo . |