summaryrefslogtreecommitdiff
path: root/Pod-Simple-Texinfo
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-09-26 23:06:02 +0000
committer <>2015-02-03 11:56:22 +0000
commite0b511b834f3529395df67126a7314097c2cf97e (patch)
tree89945ae53183ab2acdc61659c8b0b3e57e4a1f3a /Pod-Simple-Texinfo
parent2d8ae7b161658c4a589172db0072fc99f76fa979 (diff)
downloadtexinfo-tarball-master.tar.gz
Imported from /home/lorry/working-area/delta_texinfo-tarball/texinfo-5.2.tar.xz.HEADtexinfo-5.2master
Diffstat (limited to 'Pod-Simple-Texinfo')
-rw-r--r--Pod-Simple-Texinfo/Changes6
-rw-r--r--Pod-Simple-Texinfo/MANIFEST7
-rw-r--r--Pod-Simple-Texinfo/Makefile.PL17
-rw-r--r--Pod-Simple-Texinfo/Makefile.am43
-rw-r--r--Pod-Simple-Texinfo/Makefile.in1561
-rw-r--r--Pod-Simple-Texinfo/README31
-rw-r--r--Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm808
-rwxr-xr-xPod-Simple-Texinfo/pod2texi.pl602
-rwxr-xr-xPod-Simple-Texinfo/prove.sh20
-rw-r--r--Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t313
10 files changed, 3408 insertions, 0 deletions
diff --git a/Pod-Simple-Texinfo/Changes b/Pod-Simple-Texinfo/Changes
new file mode 100644
index 0000000..c585b0c
--- /dev/null
+++ b/Pod-Simple-Texinfo/Changes
@@ -0,0 +1,6 @@
+Revision history for Perl extension Pod::Simple::Texinfo.
+
+0.01 Fri Dec 23 22:41:34 2011
+ - original version; created by h2xs 1.23 with options
+ -XA -b 5.0.0 -n Pod::Simple::Texinfo
+
diff --git a/Pod-Simple-Texinfo/MANIFEST b/Pod-Simple-Texinfo/MANIFEST
new file mode 100644
index 0000000..fa55eb8
--- /dev/null
+++ b/Pod-Simple-Texinfo/MANIFEST
@@ -0,0 +1,7 @@
+Changes
+Makefile.PL
+MANIFEST
+README
+t/Pod-Simple-Texinfo.t
+lib/Pod/Simple/Texinfo.pm
+pod2texi
diff --git a/Pod-Simple-Texinfo/Makefile.PL b/Pod-Simple-Texinfo/Makefile.PL
new file mode 100644
index 0000000..42eebef
--- /dev/null
+++ b/Pod-Simple-Texinfo/Makefile.PL
@@ -0,0 +1,17 @@
+use 5.000;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+ NAME => 'Pod::Simple::Texinfo',
+ VERSION_FROM => 'lib/Pod/Simple/Texinfo.pm', # finds $VERSION
+ EXE_FILES => [ 'pod2texi' ],
+ PREREQ_PM => { "Pod::Simple::PullParser" => 0,
+ "Texinfo::Parser" => 0,
+ "Getopt::Long" => 0,
+ "File::Spec" => 0,
+ "File::Basename" => 0, }, # e.g., Module::Name => 1.1
+ ($] >= 5.005 ? ## Add these new keywords supported since 5.005
+ (ABSTRACT_FROM => 'lib/Pod/Simple/Texinfo.pm', # retrieve abstract from module
+ AUTHOR => 'Patrice Dumas <pertusus@free.fr>') : ()),
+);
diff --git a/Pod-Simple-Texinfo/Makefile.am b/Pod-Simple-Texinfo/Makefile.am
new file mode 100644
index 0000000..8c0d933
--- /dev/null
+++ b/Pod-Simple-Texinfo/Makefile.am
@@ -0,0 +1,43 @@
+# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $
+# Makefile.am for texinfo/Pod-Simple_Texinfo.
+# Copyright 2012 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# 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.
+
+nodist_bin_SCRIPTS = pod2texi
+
+test_files = prove.sh
+
+EXTRA_DIST = Changes \
+ Makefile.PL \
+ MANIFEST \
+ t/Pod-Simple-Texinfo.t \
+ pod2texi.pl \
+ $(test_files)
+
+modulesdir = $(pkgdatadir)/Pod-Simple-Texinfo/Pod/Simple/
+
+dist_modules_DATA = \
+ lib/Pod/Simple/Texinfo.pm
+
+pod2texi: pod2texi.pl Makefile
+ sed -e 's,[@]datadir[@],$(datadir),g' \
+ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+ -e 's,[@]USE_EXTERNAL_LIBINTL[@],$(USE_EXTERNAL_LIBINTL),g' \
+ -e 's,[@]USE_EXTERNAL_EASTASIANWIDTH[@],$(USE_EXTERNAL_EASTASIANWIDTH),g' \
+ -e 's,[@]USE_EXTERNAL_UNIDECODE[@],$(USE_EXTERNAL_UNIDECODE),g' \
+ -e '1 s,/usr/bin/env perl,$(PERL),g' \
+ $(srcdir)/pod2texi.pl >$@
+ chmod a+x $@
+
+if POD_SIMPLE_TEXINFO_TESTS
+TESTS = $(test_files)
+endif
+
+DISTCLEANFILES = pod2texi
diff --git a/Pod-Simple-Texinfo/Makefile.in b/Pod-Simple-Texinfo/Makefile.in
new file mode 100644
index 0000000..0015cad
--- /dev/null
+++ b/Pod-Simple-Texinfo/Makefile.in
@@ -0,0 +1,1561 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 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@
+
+# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $
+# Makefile.am for texinfo/Pod-Simple_Texinfo.
+# Copyright 2012 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# 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.
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+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@
+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 = Pod-Simple-Texinfo
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(dist_modules_DATA) $(top_srcdir)/build-aux/test-driver \
+ README
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib/m4/alloca.m4 \
+ $(top_srcdir)/gnulib/m4/argz.m4 \
+ $(top_srcdir)/gnulib/m4/btowc.m4 \
+ $(top_srcdir)/gnulib/m4/codeset.m4 \
+ $(top_srcdir)/gnulib/m4/configmake.m4 \
+ $(top_srcdir)/gnulib/m4/eealloc.m4 \
+ $(top_srcdir)/gnulib/m4/errno_h.m4 \
+ $(top_srcdir)/gnulib/m4/error.m4 \
+ $(top_srcdir)/gnulib/m4/extensions.m4 \
+ $(top_srcdir)/gnulib/m4/extern-inline.m4 \
+ $(top_srcdir)/gnulib/m4/fcntl-o.m4 \
+ $(top_srcdir)/gnulib/m4/fcntl_h.m4 \
+ $(top_srcdir)/gnulib/m4/getopt.m4 \
+ $(top_srcdir)/gnulib/m4/gettext.m4 \
+ $(top_srcdir)/gnulib/m4/gettimeofday.m4 \
+ $(top_srcdir)/gnulib/m4/glibc21.m4 \
+ $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
+ $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
+ $(top_srcdir)/gnulib/m4/iconv.m4 \
+ $(top_srcdir)/gnulib/m4/include_next.m4 \
+ $(top_srcdir)/gnulib/m4/intlmacosx.m4 \
+ $(top_srcdir)/gnulib/m4/iswblank.m4 \
+ $(top_srcdir)/gnulib/m4/langinfo_h.m4 \
+ $(top_srcdir)/gnulib/m4/largefile.m4 \
+ $(top_srcdir)/gnulib/m4/lib-ld.m4 \
+ $(top_srcdir)/gnulib/m4/lib-link.m4 \
+ $(top_srcdir)/gnulib/m4/lib-prefix.m4 \
+ $(top_srcdir)/gnulib/m4/libunistring-base.m4 \
+ $(top_srcdir)/gnulib/m4/localcharset.m4 \
+ $(top_srcdir)/gnulib/m4/locale-fr.m4 \
+ $(top_srcdir)/gnulib/m4/locale-ja.m4 \
+ $(top_srcdir)/gnulib/m4/locale-zh.m4 \
+ $(top_srcdir)/gnulib/m4/locale_h.m4 \
+ $(top_srcdir)/gnulib/m4/localeconv.m4 \
+ $(top_srcdir)/gnulib/m4/lock.m4 \
+ $(top_srcdir)/gnulib/m4/longlong.m4 \
+ $(top_srcdir)/gnulib/m4/lstat.m4 \
+ $(top_srcdir)/gnulib/m4/malloc.m4 \
+ $(top_srcdir)/gnulib/m4/malloca.m4 \
+ $(top_srcdir)/gnulib/m4/mbchar.m4 \
+ $(top_srcdir)/gnulib/m4/mbiter.m4 \
+ $(top_srcdir)/gnulib/m4/mbrtowc.m4 \
+ $(top_srcdir)/gnulib/m4/mbsinit.m4 \
+ $(top_srcdir)/gnulib/m4/mbslen.m4 \
+ $(top_srcdir)/gnulib/m4/mbstate_t.m4 \
+ $(top_srcdir)/gnulib/m4/mbswidth.m4 \
+ $(top_srcdir)/gnulib/m4/mbtowc.m4 \
+ $(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
+ $(top_srcdir)/gnulib/m4/mempcpy.m4 \
+ $(top_srcdir)/gnulib/m4/mkstemp.m4 \
+ $(top_srcdir)/gnulib/m4/mmap-anon.m4 \
+ $(top_srcdir)/gnulib/m4/msvc-inval.m4 \
+ $(top_srcdir)/gnulib/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gnulib/m4/multiarch.m4 \
+ $(top_srcdir)/gnulib/m4/nl_langinfo.m4 \
+ $(top_srcdir)/gnulib/m4/nls.m4 \
+ $(top_srcdir)/gnulib/m4/nocrash.m4 \
+ $(top_srcdir)/gnulib/m4/off_t.m4 \
+ $(top_srcdir)/gnulib/m4/onceonly.m4 \
+ $(top_srcdir)/gnulib/m4/pathmax.m4 \
+ $(top_srcdir)/gnulib/m4/po.m4 \
+ $(top_srcdir)/gnulib/m4/progtest.m4 \
+ $(top_srcdir)/gnulib/m4/regex.m4 \
+ $(top_srcdir)/gnulib/m4/secure_getenv.m4 \
+ $(top_srcdir)/gnulib/m4/ssize_t.m4 \
+ $(top_srcdir)/gnulib/m4/stat.m4 \
+ $(top_srcdir)/gnulib/m4/stdbool.m4 \
+ $(top_srcdir)/gnulib/m4/stddef_h.m4 \
+ $(top_srcdir)/gnulib/m4/stdint.m4 \
+ $(top_srcdir)/gnulib/m4/stdlib_h.m4 \
+ $(top_srcdir)/gnulib/m4/stpcpy.m4 \
+ $(top_srcdir)/gnulib/m4/strdup.m4 \
+ $(top_srcdir)/gnulib/m4/strerror.m4 \
+ $(top_srcdir)/gnulib/m4/string_h.m4 \
+ $(top_srcdir)/gnulib/m4/strndup.m4 \
+ $(top_srcdir)/gnulib/m4/strnlen.m4 \
+ $(top_srcdir)/gnulib/m4/strstr.m4 \
+ $(top_srcdir)/gnulib/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \
+ $(top_srcdir)/gnulib/m4/tempname.m4 \
+ $(top_srcdir)/gnulib/m4/threadlib.m4 \
+ $(top_srcdir)/gnulib/m4/time_h.m4 \
+ $(top_srcdir)/gnulib/m4/unistd_h.m4 \
+ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \
+ $(top_srcdir)/gnulib/m4/wchar_h.m4 \
+ $(top_srcdir)/gnulib/m4/wchar_t.m4 \
+ $(top_srcdir)/gnulib/m4/wcrtomb.m4 \
+ $(top_srcdir)/gnulib/m4/wctype_h.m4 \
+ $(top_srcdir)/gnulib/m4/wcwidth.m4 \
+ $(top_srcdir)/gnulib/m4/wint_t.m4 \
+ $(top_srcdir)/gnulib/m4/xalloc.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(modulesdir)"
+SCRIPTS = $(nodist_bin_SCRIPTS)
+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_modules_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkglibexecdir = @pkglibexecdir@
+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@
+ARGZ_H = @ARGZ_H@
+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@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DIFF_A_OPTION = @DIFF_A_OPTION@
+DIFF_U_OPTION = @DIFF_U_OPTION@
+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@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GLIBC21 = @GLIBC21@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
+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_DUP = @GNULIB_DUP@
+GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
+GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
+GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
+GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
+GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
+GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ISATTY = @GNULIB_ISATTY@
+GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
+GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
+GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+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_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
+GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
+GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_STAT = @GNULIB_STAT@
+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_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_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+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_TOWCTRANS = @GNULIB_TOWCTRANS@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+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_UTIMENSAT = @GNULIB_UTIMENSAT@
+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_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_WMEMSET = @GNULIB_WMEMSET@
+GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
+GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+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_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
+HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+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_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
+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_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_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+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_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_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
+HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+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@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LDFLAGS = @LDFLAGS@
+LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
+LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
+LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
+LIBS = @LIBS@
+LIBTHREAD = @LIBTHREAD@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
+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@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
+LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+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_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_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_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_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_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_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_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATE = @PACKAGE_DATE@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PROVE = @PROVE@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+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_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+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_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_STAT = @REPLACE_STAT@
+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_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+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@
+STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TERMLIBS = @TERMLIBS@
+TEXINFO_DTD_VERSION = @TEXINFO_DTD_VERSION@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+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_EXTERNAL_EASTASIANWIDTH = @USE_EXTERNAL_EASTASIANWIDTH@
+USE_EXTERNAL_LIBINTL = @USE_EXTERNAL_LIBINTL@
+USE_EXTERNAL_UNIDECODE = @USE_EXTERNAL_UNIDECODE@
+USE_NLS = @USE_NLS@
+USE_UNICODE = @USE_UNICODE@
+VERSION = @VERSION@
+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@
+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_CC = @ac_ct_CC@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+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@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+native_tools = @native_tools@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+nodist_bin_SCRIPTS = pod2texi
+test_files = prove.sh
+EXTRA_DIST = Changes \
+ Makefile.PL \
+ MANIFEST \
+ t/Pod-Simple-Texinfo.t \
+ pod2texi.pl \
+ $(test_files)
+
+modulesdir = $(pkgdatadir)/Pod-Simple-Texinfo/Pod/Simple/
+dist_modules_DATA = \
+ lib/Pod/Simple/Texinfo.pm
+
+@POD_SIMPLE_TEXINFO_TESTS_TRUE@TESTS = $(test_files)
+DISTCLEANFILES = pod2texi
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .log .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: $(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) --gnu Pod-Simple-Texinfo/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Pod-Simple-Texinfo/Makefile
+.PRECIOUS: 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__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-nodist_binSCRIPTS: $(nodist_bin_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ @list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-nodist_binSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
+install-dist_modulesDATA: $(dist_modules_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_modules_DATA)'; test -n "$(modulesdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(modulesdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(modulesdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(modulesdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(modulesdir)" || exit $$?; \
+ done
+
+uninstall-dist_modulesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_modules_DATA)'; test -n "$(modulesdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(modulesdir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ else \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+prove.sh.log: prove.sh
+ @p='prove.sh'; \
+ b='prove.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(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
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(SCRIPTS) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(modulesdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+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:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_modulesDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-nodist_binSCRIPTS
+
+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
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_modulesDATA uninstall-nodist_binSCRIPTS
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+ cscopelist-am ctags-am distclean distclean-generic distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dist_modulesDATA \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-nodist_binSCRIPTS install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am recheck tags-am uninstall uninstall-am \
+ uninstall-dist_modulesDATA uninstall-nodist_binSCRIPTS
+
+
+pod2texi: pod2texi.pl Makefile
+ sed -e 's,[@]datadir[@],$(datadir),g' \
+ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+ -e 's,[@]USE_EXTERNAL_LIBINTL[@],$(USE_EXTERNAL_LIBINTL),g' \
+ -e 's,[@]USE_EXTERNAL_EASTASIANWIDTH[@],$(USE_EXTERNAL_EASTASIANWIDTH),g' \
+ -e 's,[@]USE_EXTERNAL_UNIDECODE[@],$(USE_EXTERNAL_UNIDECODE),g' \
+ -e '1 s,/usr/bin/env perl,$(PERL),g' \
+ $(srcdir)/pod2texi.pl >$@
+ chmod a+x $@
+
+# 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/Pod-Simple-Texinfo/README b/Pod-Simple-Texinfo/README
new file mode 100644
index 0000000..cac61e5
--- /dev/null
+++ b/Pod-Simple-Texinfo/README
@@ -0,0 +1,31 @@
+Pod-Simple-Texinfo version 0.01
+===============================
+
+Pod::Simple based Pod formatter to render Texinfo.
+
+INSTALLATION
+
+To install this module type the following:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+DEPENDENCIES
+
+This module requires these other modules and libraries:
+
+Pod::Simple::PullParser, Texinfo::Parser.
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License,
+or (at your option) any later version.
+
+_url_escape is general_url_escape from Pod::Simple::HTML.
+
diff --git a/Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm b/Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm
new file mode 100644
index 0000000..7f6cca6
--- /dev/null
+++ b/Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm
@@ -0,0 +1,808 @@
+# Texinfo.pm: format Pod as Texinfo.
+#
+# Copyright 2011, 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Original author: Patrice Dumas <pertusus@free.fr>
+# Parts from L<Pod::Simple::HTML>.
+
+
+package Pod::Simple::Texinfo;
+
+require 5;
+use strict;
+
+use Carp qw(cluck);
+#use Pod::Simple::Debug (3);
+use Pod::Simple::PullParser ();
+
+use Texinfo::Convert::NodeNameNormalization qw(normalize_node);
+use Texinfo::Parser qw(parse_texi_line parse_texi_text);
+use Texinfo::Convert::Texinfo;
+use Texinfo::Convert::TextContent;
+use Texinfo::Common qw(protect_comma_in_tree protect_first_parenthesis
+ protect_hashchar_at_line_beginning);
+
+use vars qw(
+ @ISA $VERSION
+);
+
+@ISA = ('Pod::Simple::PullParser');
+$VERSION = '0.01';
+
+#use UNIVERSAL ();
+
+# Allows being called from the comand line as
+# perl -w -MPod::Simple::Texinfo -e Pod::Simple::Texinfo::go thingy.pod
+sub go { Pod::Simple::Texinfo->parse_from_file(@ARGV); exit 0 }
+
+my %head_commands_level;
+foreach my $level (1 .. 4) {
+ $head_commands_level{'head'.$level} = $level;
+}
+
+my @numbered_sectioning_commands = ('part', 'chapter', 'section', 'subsection',
+ 'subsubsection');
+my @unnumbered_sectioning_commands = ('part', 'unnumbered', 'unnumberedsec',
+ 'unnumberedsubsec', 'unnumberedsubsubsec');
+
+my @raw_formats = ('html', 'HTML', 'docbook', 'DocBook', 'texinfo',
+ 'Texinfo');
+
+# from other Pod::Simple modules. Creates accessor subroutine.
+__PACKAGE__->_accessorize(
+ 'texinfo_sectioning_base_level',
+ 'texinfo_short_title',
+ 'texinfo_man_url_prefix',
+ 'texinfo_sectioning_style',
+ 'texinfo_add_upper_sectioning_command',
+ 'texinfo_section_nodes',
+ 'texinfo_internal_pod_manuals',
+);
+
+my $sectioning_style = 'numbered';
+#my $sectioning_base_level = 2;
+my $sectioning_base_level = 0;
+my $man_url_prefix = 'http://man.he.net/man';
+
+sub new
+{
+ my $class = shift;
+ my $new = $class->SUPER::new(@_);
+ $new->accept_targets(@raw_formats);
+ $new->preserve_whitespace(1);
+ $new->texinfo_section_nodes(0);
+ $new->texinfo_sectioning_base_level ($sectioning_base_level);
+ $new->texinfo_man_url_prefix ($man_url_prefix);
+ $new->texinfo_sectioning_style ($sectioning_style);
+ $new->texinfo_add_upper_sectioning_command(1);
+ return $new;
+}
+
+sub run
+{
+ my $self = shift;
+
+ # In case the caller changed the formats
+ my @formats = $self->accept_targets();
+ foreach my $format (@formats) {
+ if (lc($format) eq 'texinfo') {
+ $self->{'texinfo_raw_format_commands'}->{$format} = '';
+ $self->{'texinfo_if_format_commands'}->{':'.$format} = '';
+ } else {
+ $self->{'texinfo_raw_format_commands'}->{$format} = lc($format);
+ $self->{'texinfo_if_format_commands'}->{':'.$format} = lc($format);
+ }
+ }
+ my $base_level = $self->texinfo_sectioning_base_level;
+ $base_level = 1 if ($base_level <= 1);
+ if ($self->texinfo_sectioning_style eq 'numbered') {
+ $self->{'texinfo_sectioning_commands'} = \@numbered_sectioning_commands;
+ } else {
+ $self->{'texinfo_sectioning_commands'} = \@unnumbered_sectioning_commands;
+ }
+ foreach my $heading_command (keys(%head_commands_level)) {
+ my $level = $head_commands_level{$heading_command} + $base_level -1;
+ if (!defined($self->{'texinfo_sectioning_commands'}->[$level])) {
+ $self->{'texinfo_head_commands'}->{$heading_command}
+ = $self->{'texinfo_sectioning_commands'}->[-1];
+ } else {
+ $self->{'texinfo_head_commands'}->{$heading_command}
+ = $self->{'texinfo_sectioning_commands'}->[$level];
+ }
+ }
+ $self->{'texinfo_internal_pod_manuals_hash'} = {};
+ my $manuals = $self->texinfo_internal_pod_manuals();
+ if ($manuals) {
+ foreach my $manual (@$manuals) {
+ $self->{'texinfo_internal_pod_manuals_hash'}->{$manual} = 1;
+ }
+ }
+
+ if ($self->bare_output()) {
+ $self->_convert_pod();
+ } else {
+ $self->_preamble();
+ $self->_convert_pod();
+ $self->_postamble();
+ }
+}
+
+my $STDIN_DOCU_NAME = 'stdin';
+sub _preamble($)
+{
+ my $self = shift;
+
+ my $fh = $self->{'output_fh'};
+
+ if (!defined($self->texinfo_short_title)) {
+ my $short_title = $self->get_short_title();
+ if (defined($short_title) and $short_title =~ m/\S/) {
+ $self->texinfo_short_title($short_title);
+ }
+ }
+
+ if ($self->texinfo_sectioning_base_level == 0) {
+ #print STDERR "$fh\n";
+ print $fh '\input texinfo'."\n";
+ my $setfilename;
+ if (defined($self->texinfo_short_title)) {
+ $setfilename = _pod_title_to_file_name($self->texinfo_short_title);
+ } else {
+ # FIXME maybe output filename would be better than source_filename?
+ my $source_filename = $self->source_filename();
+ if (defined($source_filename) and $source_filename ne '') {
+ if ($source_filename eq '-') {
+ $setfilename = $STDIN_DOCU_NAME;
+ } else {
+ $setfilename = $source_filename;
+ $setfilename =~ s/\.(pod|pm)$//i;
+ }
+ }
+ }
+ if (defined($setfilename) and $setfilename =~ m/\S/) {
+ $setfilename = _protect_text($setfilename, 1);
+ $setfilename .= '.info';
+ print $fh "\@setfilename $setfilename\n\n"
+ }
+ # FIXME depend on =encoding
+ print $fh '@documentencoding utf-8'."\n\n";
+
+ my $title = $self->get_title();
+ if (defined($title) and $title =~ m/\S/) {
+ print $fh "\@settitle "._protect_text($title, 1)."\n\n";
+ }
+ print $fh "\@node Top\n";
+ if (defined($self->texinfo_short_title)) {
+ print $fh "\@top "._protect_text($self->texinfo_short_title, 1)."\n\n";
+ }
+ } elsif (defined($self->texinfo_short_title)
+ and $self->texinfo_add_upper_sectioning_command) {
+ my $level = $self->texinfo_sectioning_base_level() - 1;
+ my $name = _protect_text($self->texinfo_short_title, 1);
+ my $node_name = _prepare_anchor($self, $name);
+
+ my $anchor = '';
+ my $node = '';
+ if ($node_name =~ /\S/) {
+ if (!$self->texinfo_section_nodes
+ or $self->{'texinfo_sectioning_commands'}->[$level] eq 'part') {
+ $anchor = "\@anchor{$node_name}\n";
+ } else {
+ $node = "\@node $node_name\n";
+ }
+ }
+ print $fh "$node\@$self->{'texinfo_sectioning_commands'}->[$level] "
+ ._protect_text($self->texinfo_short_title, 1)."\n$anchor\n";
+ }
+}
+
+# 'out' is out of the context, for now for index entries.
+sub _output($$$;$)
+{
+ my $fh = shift;
+ my $accumulated_stack = shift;
+ my $text = shift;
+ my $out = shift;
+
+ if (scalar(@$accumulated_stack)) {
+ if ($out) {
+ $accumulated_stack->[-1]->{'out'} .= $text;
+ } else {
+ $accumulated_stack->[-1]->{'text'} .= $text;
+ }
+ } else {
+ print $fh $text;
+ }
+}
+
+sub _begin_context($$)
+{
+ my $accumulated_stack = shift;
+ my $tag = shift;
+ push @$accumulated_stack, {'text' => '', 'tag' => $tag,
+ 'out' => ''};
+}
+
+sub _end_context($)
+{
+ my $accumulated_stack = shift;
+ my $previous_context = pop @$accumulated_stack;
+ return ($previous_context->{'text'}, $previous_context->{'out'});
+}
+
+sub _protect_text($;$)
+{
+ my $text = shift;
+ my $remove_new_lines = shift;
+ cluck if (!defined($text));
+ $text =~ s/\n/ /g if ($remove_new_lines);
+ $text =~ s/([\@\{\}])/\@$1/g;
+ return $text;
+}
+
+sub _pod_title_to_file_name($)
+{
+ my $name = shift;
+ $name =~ s/\s+/_/g;
+ $name =~ s/::/-/g;
+ $name =~ s/[^\w\.-]//g;
+ $name = '_' if ($name eq '');
+ return $name;
+}
+
+sub _protect_comma($)
+{
+ my $texinfo = shift;
+ my $tree = parse_texi_line(undef, $texinfo);
+ $tree = protect_comma_in_tree($tree);
+ return Texinfo::Convert::Texinfo::convert($tree);
+}
+
+sub _protect_hashchar($)
+{
+ my $texinfo = shift;
+ # protect # first in line
+ if ($texinfo =~ /#/) {
+ my $tree = parse_texi_text(undef, $texinfo);
+ protect_hashchar_at_line_beginning(undef, $tree);
+ return Texinfo::Convert::Texinfo::convert($tree);
+ } else {
+ return $texinfo;
+ }
+}
+
+sub _reference_to_text_in_texi($)
+{
+ my $texinfo = shift;
+ my $tree = parse_texi_text(undef, $texinfo);
+ Texinfo::Structuring::reference_to_arg_in_tree(undef, $tree);
+ return Texinfo::Convert::Texinfo::convert($tree);
+}
+
+sub _section_manual_to_node_name($$$)
+{
+ my $self = shift;
+ my $manual = shift;
+ my $section = shift;
+ my $base_level = shift;
+
+ if (defined($manual) and $base_level > 0) {
+ return _protect_text($manual, 1). " $section";
+ } else {
+ return $section;
+ }
+}
+
+sub _normalize_texinfo_name($$)
+{
+ # Pod may be more forgiven than Texinfo, so we go through
+ # a normalization, by parsing and converting back to Texinfo
+ my $name = shift;
+ my $command = shift;
+ my $texinfo_text;
+ if ($command eq 'anchor') {
+ $texinfo_text = "\@anchor{$name}";
+ } else {
+ # item is not correct since it cannot happen outside of a table
+ # context, so we use @center which accepts the same on the line
+ if ($command eq 'item') {
+ $command = 'center';
+ }
+ $texinfo_text = "\@$command $name\n";
+ }
+ my $tree = parse_texi_text(undef, $texinfo_text);
+ if ($command eq 'anchor') {
+ #print STDERR "GGG $tree->{'contents'}->[0]->{'cmdname'}\n";
+ $tree->{'contents'}->[0]->{'args'}->[-0]->{'contents'}
+ = protect_first_parenthesis($tree->{'contents'}->[0]->{'args'}->[-0]->{'contents'});
+ }
+ my $fixed_text = Texinfo::Convert::Texinfo::convert($tree, 1);
+ my $result = $fixed_text;
+ if ($command eq 'anchor') {
+ $result =~ s/^\@anchor\{(.*)\}$/$1/s;
+ } else {
+ chomp($result);
+ $result =~ s/^\@$command (.*)$/$1/s;
+ }
+ return $result;
+}
+
+sub _node_name($$)
+{
+ my $self = shift;
+ my $texinfo_node_name = shift;
+
+ chomp $texinfo_node_name;
+ $texinfo_node_name
+ = $self->_section_manual_to_node_name($self->texinfo_short_title,
+ $texinfo_node_name,
+ $self->texinfo_sectioning_base_level);
+ # also change refs to text
+ return _reference_to_text_in_texi($texinfo_node_name);
+}
+
+sub _prepare_anchor($$)
+{
+ my $self = shift;
+ my $texinfo_node_name = shift;
+
+ my $node = _normalize_texinfo_name($texinfo_node_name, 'anchor');
+
+ if ($node !~ /\S/) {
+ return '';
+ }
+ # Now we know that we have something.
+ my $node_tree = parse_texi_line(undef, $node);
+ my $normalized_base = normalize_node($node_tree);
+ my $normalized = $normalized_base;
+ my $number_appended = 0;
+ while ($self->{'texinfo_nodes'}->{$normalized}) {
+ $number_appended++;
+ $normalized = "${normalized_base}-$number_appended";
+ }
+ my $node_name;
+ if ($number_appended) {
+ $texinfo_node_name = "$node $number_appended";
+ $node_tree = parse_texi_line(undef, $texinfo_node_name);
+ }
+ $node_tree = protect_comma_in_tree($node_tree);
+ $self->{'texinfo_nodes'}->{$normalized} = $node_tree;
+ my $final_node_name = Texinfo::Convert::Texinfo::convert($node_tree, 1);
+ return $final_node_name;
+}
+
+# from Pod::Simple::HTML general_url_escape
+sub _url_escape($)
+{
+ my $string = shift;
+
+ $string =~ s/([^\x00-\xFF])/join '', map sprintf('%%%02X',$_), unpack 'C*', $1/eg;
+ # express Unicode things as urlencode(utf(orig)).
+
+ # A pretty conservative escaping, behoovey even for query components
+ # of a URL (see RFC 2396)
+
+ $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',ord($1))/eg;
+ # Yes, stipulate the list without a range, so that this can work right on
+ # all charsets that this module happens to run under.
+ # Altho, hmm, what about that ord? Presumably that won't work right
+ # under non-ASCII charsets. Something should be done
+ # about that, I guess?
+
+ return $string;
+}
+
+my %tag_commands = (
+ 'F' => 'file',
+ 'S' => 'w',
+ 'I' => 'emph',
+ 'B' => 'strong', # or @b?
+ 'C' => 'code'
+);
+
+my %environment_commands = (
+ 'Verbatim' => 'verbatim',
+ 'over-text' => 'table @asis',
+ 'over-bullet' => 'itemize',
+ 'over-number' => 'enumerate',
+ 'over-block' => 'quotation',
+);
+
+my %line_commands = (
+ 'item-bullet' => 'item',
+ 'item-text' => 'item',
+ 'item-number' => 'item',
+ 'encoding' => 'documentencoding'
+);
+
+foreach my $tag (keys(%head_commands_level)) {
+ $line_commands{$tag} = 1;
+}
+
+my %tags_index_before;
+my %context_tags;
+foreach my $context_tag (keys(%line_commands), 'L', 'X', 'Para') {
+ $context_tags{$context_tag} = 1;
+}
+
+# do not appear as parsed token
+# E entity/character
+sub _convert_pod($)
+{
+ my $self = shift;
+
+ my $fh = $self->{'output_fh'};
+
+ my ($token, $type, $tagname, $top_seen);
+
+ my @accumulated_output;
+ my @format_stack;
+ while($token = $self->get_token()) {
+ my $type = $token->type();
+ #print STDERR "* type $type\n";
+ #print STDERR $token->dump()."\n";
+ if ($type eq 'start') {
+ my $tagname = $token->tagname();
+ if ($context_tags{$tagname}) {
+ if ($tagname eq 'L') {
+ my $linktype = $token->attr('type');
+ my $content_implicit = $token->attr('content-implicit');
+ #print STDERR " L: $linktype\n";
+ my ($url_arg, $texinfo_node, $texinfo_manual, $texinfo_section);
+ if ($linktype eq 'man') {
+ # NOTE: the .'' is here to force the $token->attr to ba a real
+ # string and not an object.
+ # NOTE 2: It is not clear that setting the url should be done
+ # here, maybe this should be in the Texinfo HTML converter.
+ # However, there is a 'man' category here and not in Texinfo,
+ # so the information is more precise in pod.
+ my $replacement_arg = $token->attr('to').'';
+ # regexp from Pod::Simple::HTML resolve_man_page_link
+ # since it is very small, it is likely that copyright cannot be
+ # claimed for that part.
+ $replacement_arg =~ /^([^(]+)(?:[(](\d+)[)])?$/;
+ my $page = $1;
+ my $section = $2;
+ if (defined($page) and $page ne '') {
+ $section = 1 if (!defined($section));
+ # it is unlikely that there is a comma because of _url_escape
+ # but to be sure there is still a call to _protect_comma.
+ $url_arg
+ = _protect_comma(_protect_text(
+ $self->texinfo_man_url_prefix
+ ."$section/"._url_escape($page)));
+ } else {
+ $url_arg = '';
+ }
+ $replacement_arg = _protect_text($replacement_arg);
+ _output($fh, \@accumulated_output, "\@url{$url_arg,, $replacement_arg}");
+ } elsif ($linktype eq 'url') {
+ # NOTE: the .'' is here to force the $token->attr to be a real
+ # string and not an object.
+ $url_arg = _protect_comma(_protect_text($token->attr('to').''));
+ } elsif ($linktype eq 'pod') {
+ my $manual = $token->attr('to');
+ my $section = $token->attr('section');
+ $manual .= '' if (defined($manual));
+ $section .= '' if (defined($section));
+ if (0) {
+ my $section_text = 'UNDEF';
+ if (defined($section)) {
+ $section_text = $section;
+ }
+ my $manual_text = 'UNDEF';
+ if (defined($manual)) {
+ $manual_text = $manual;
+ }
+ print STDERR "L: $linktype $manual_text/$section_text\n";
+ }
+ if (defined($manual)) {
+ if (! defined($section) or $section !~ m/\S/) {
+ if ($self->{'texinfo_internal_pod_manuals_hash'}->{$manual}) {
+ $section = 'NAME';
+ }
+ }
+ if ($self->{'texinfo_internal_pod_manuals_hash'}->{$manual}) {
+ $texinfo_node =
+ $self->_section_manual_to_node_name($manual, $section,
+ $self->texinfo_sectioning_base_level);
+ } else {
+ $texinfo_manual = _protect_text(_pod_title_to_file_name($manual));
+ if (defined($section)) {
+ $texinfo_node = $section;
+ } else {
+ $texinfo_node = '';
+ }
+ }
+ } elsif (defined($section) and $section =~ m/\S/) {
+ $texinfo_node =
+ $self->_section_manual_to_node_name(
+ $self->texinfo_short_title, $section,
+ $self->texinfo_sectioning_base_level);
+ $texinfo_section = _normalize_texinfo_name(
+ _protect_comma(_protect_text($section)), 'section');
+ }
+ $texinfo_node = _normalize_texinfo_name(
+ _protect_comma(_protect_text($texinfo_node)), 'anchor');
+
+ # for pod, 'to' is the pod manual name. Then 'section' is the
+ # section.
+ }
+ push @format_stack, [$linktype, $content_implicit, $url_arg,
+ $texinfo_manual, $texinfo_node, $texinfo_section];
+ #if (defined($to)) {
+ # print STDERR " | $to\n";
+ #} else {
+ # print STDERR "\n";
+ #}
+ #print STDERR $token->dump."\n";
+ }
+ _begin_context(\@accumulated_output, $tagname);
+ } elsif ($tag_commands{$tagname}) {
+ _output($fh, \@accumulated_output, "\@$tag_commands{$tagname}\{");
+ } elsif ($environment_commands{$tagname}) {
+ _output($fh, \@accumulated_output, "\@$environment_commands{$tagname}\n");
+ if ($tagname eq 'Verbatim') {
+ push @format_stack, 'verbatim';
+ }
+ } elsif ($tagname eq 'for') {
+ my $target = $token->attr('target');
+ push @format_stack, $target;
+ if ($self->{'texinfo_raw_format_commands'}->{$target}) {
+ _output($fh, \@accumulated_output,
+ "\@$self->{'texinfo_raw_format_commands'}->{$target}\n");
+ } elsif ($self->{'texinfo_if_format_commands'}->{$target}) {
+ _output($fh, \@accumulated_output,
+ "\@if$self->{'texinfo_if_format_commands'}->{$target}\n");
+ }
+ }
+ } elsif ($type eq 'text') {
+ my $text;
+ if (@format_stack and !ref($format_stack[-1])
+ and ((defined($self->{'texinfo_raw_format_commands'}->{$format_stack[-1]})
+ and !$self->{'texinfo_raw_format_commands'}->{$format_stack[-1]})
+ or ($format_stack[-1] eq 'verbatim'))) {
+ $text = $token->text();
+ } else {
+ $text = _protect_text($token->text());
+ if (@format_stack and !ref($format_stack[-1])
+ and ($self->{'texinfo_raw_format_commands'}->{$format_stack[-1]})) {
+ $text =~ s/^(\s*)#(\s*(line)? (\d+)(( "([^"]+)")(\s+\d+)*)?\s*)$/$1\@hashchar{}$2/mg;
+ }
+ }
+ _output($fh, \@accumulated_output, $text);
+ } elsif ($type eq 'end') {
+ my $tagname = $token->tagname();
+ if ($context_tags{$tagname}) {
+ my ($result, $out) = _end_context(\@accumulated_output);
+ my $texinfo_node = '';
+ if ($line_commands{$tagname}) {
+
+ my ($command, $command_argument);
+ if ($head_commands_level{$tagname}) {
+ $command = $self->{'texinfo_head_commands'}->{$tagname};
+ } elsif ($line_commands{$tagname}) {
+ $command = $line_commands{$tagname};
+ }
+
+ if ($head_commands_level{$tagname} or $tagname eq 'item-text') {
+ chomp ($result);
+ $result =~ s/\n/ /g;
+ $result =~ s/^\s*//;
+ $result =~ s/\s*$//;
+
+ $command_argument = _normalize_texinfo_name($result, $command);
+ if ($result =~ /\S/ and $command_argument !~ /\S/) {
+ # use some raw text if the expansion lead to an empty section
+ my $tree = parse_texi_line(undef, $result);
+ my $converter = Texinfo::Convert::TextContent->converter();
+ $command_argument = _protect_text($converter->convert_tree($tree));
+ }
+
+ my $anchor = '';
+ my $node_name = _prepare_anchor($self, _node_name($self, $result));
+ if ($node_name =~ /\S/) {
+ if ($tagname eq 'item-text' or !$self->texinfo_section_nodes) {
+ $anchor = "\n\@anchor{$node_name}";
+ } else {
+ $texinfo_node = "\@node $node_name\n";
+ }
+ }
+ $command_argument .= $anchor;
+ } else {
+ $command_argument = $result;
+ }
+ _output($fh, \@accumulated_output,
+ "$texinfo_node\@$command $command_argument\n$out\n");
+ } elsif ($tagname eq 'Para') {
+ _output($fh, \@accumulated_output, $out.
+ _protect_hashchar($result)."\n\n");
+ } elsif ($tagname eq 'L') {
+ my $format = pop @format_stack;
+ my ($linktype, $content_implicit, $url_arg,
+ $texinfo_manual, $texinfo_node, $texinfo_section) = @$format;
+ if ($linktype ne 'man') {
+ my $explanation;
+ if (defined($result) and $result =~ m/\S/ and !$content_implicit) {
+ $explanation = ' '. _protect_comma($result);
+ }
+ if ($linktype eq 'url') {
+ if (defined($explanation)) {
+ _output($fh, \@accumulated_output,
+ "\@url{$url_arg,$explanation}");
+ } else {
+ _output($fh, \@accumulated_output,
+ "\@url{$url_arg}");
+ }
+ } elsif ($linktype eq 'pod') {
+ if (defined($texinfo_manual)) {
+ $explanation = '' if (!defined($explanation));
+ _output($fh, \@accumulated_output,
+ "\@ref{$texinfo_node,$explanation,, $texinfo_manual}");
+ } elsif (defined($explanation)) {
+ _output($fh, \@accumulated_output,
+ "\@ref{$texinfo_node,$explanation,$explanation}");
+ } else {
+ if (defined($texinfo_section)
+ and $texinfo_section ne $texinfo_node) {
+ _output($fh, \@accumulated_output,
+ "\@ref{$texinfo_node,, $texinfo_section}");
+ } else {
+ _output($fh, \@accumulated_output,
+ "\@ref{$texinfo_node}");
+ }
+ }
+ }
+ }
+ } elsif ($tagname eq 'X') {
+ my $next_token = $self->get_token();
+ if ($next_token) {
+ if ($next_token->type() eq 'text') {
+ my $next_text = $next_token->text;
+ $next_text =~ s/^\s*//;
+ $next_token->text($next_text);
+ #_output($fh, \@accumulated_output, "\n");
+ }
+ $self->unget_token($next_token);
+ }
+ chomp ($result);
+ $result =~ s/\n/ /g;
+ $result .= "\n";
+ _output($fh, \@accumulated_output, "\@cindex $result", 1);
+ }
+ } elsif ($tag_commands{$tagname}) {
+ _output($fh, \@accumulated_output, "}");
+ } elsif ($environment_commands{$tagname}) {
+ if ($tagname eq 'Verbatim') {
+ pop @format_stack;
+ _output($fh, \@accumulated_output, "\n");
+ }
+ my $tag = $environment_commands{$tagname};
+ $tag =~ s/ .*//;
+ _output($fh, \@accumulated_output, "\@end $tag\n\n");
+ } elsif ($tagname eq 'for') {
+ my $target = pop @format_stack;
+ if ($self->{'texinfo_raw_format_commands'}->{$target}) {
+ _output($fh, \@accumulated_output,
+ "\n\@end $self->{'texinfo_raw_format_commands'}->{$target}\n");
+ } elsif ($self->{'texinfo_if_format_commands'}->{$target}) {
+ _output($fh, \@accumulated_output,
+ "\@end if$self->{'texinfo_if_format_commands'}->{$target}\n");
+ }
+ }
+ }
+ }
+}
+
+sub _postamble($)
+{
+ my $self = shift;
+
+ my $fh = $self->{'output_fh'};
+ if ($self->texinfo_sectioning_base_level == 0) {
+ #print STDERR "$fh\n";
+ print $fh "\@bye\n";
+ }
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Pod::Simple::Texinfo - format Pod as Texinfo
+
+=head1 SYNOPSIS
+
+ # From the command like
+ perl -MPod::Simple::Texinfo -e Pod::Simple::Texinfo::go thingy.pod
+
+ # From perl
+ my $new = Pod::Simple::Texinfo->new;
+ $new->texinfo_sectioning_style('unnumbered');
+ my $from = shift @ARGV;
+ my $to = $from;
+ $to =~ s/\.(pod|pm)$/.texi/i;
+ $new->parse_from_file($from, $to);
+
+=head1 DESCRIPTION
+
+This class is for making a Texinfo rendering of a Pod document.
+
+This is a subclass of L<Pod::Simple::PullParser> and inherits all its
+methods (and options).
+
+It supports producing a standalone manual per Pod (the default) or
+render the Pod as a chapter, see L</texinfo_sectioning_base_level>.
+
+=head1 METHODS
+
+=over
+
+=item texinfo_sectioning_base_level
+
+Sets the level of the head1 commands. 1 is for the @chapter/@unnumbered
+level. If set to 0, the head1 commands level is still 1, but the output
+manual is considered to be a standalone manual. If not 0, the pod file is
+rendered as a fragment of a Texinfo manual.
+
+=item texinfo_man_url_prefix
+
+String used as a prefix for man page urls. Default
+is C<http://man.he.net/man>.
+
+=item texinfo_sectioning_style
+
+Default is C<numbered>, using the numbered sectioning Texinfo @-commands
+(@chapter, @section...), any other value would lead to using unnumbered
+sectioning command variants (@unnumbered...).
+
+=item texinfo_add_upper_sectioning_command
+
+If set (the default case), a sectioning command is added at the beginning
+of the output for the whole document, using the module name, at the level
+above the level set by L<texinfo_sectioning_base_level>. So there will be
+a C<@part> if the level is equal to 1, a C<@chapter> if the level is equal
+to 2 and so on and so forth. If the base level is 0, a C<@top> command is
+output instead.
+
+=item texinfo_section_nodes
+
+If set, add C<@node> and not C<@anchor> for each sectioning command.
+
+=back
+
+=head1 SEE ALSO
+
+L<Pod::Simple>. L<Pod::Simple::PullParser>. The Texinfo manual.
+
+=head1 COPYRIGHT
+
+Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License,
+or (at your option) any later version.
+
+C<_url_escape> is C<general_url_escape> from L<Pod::Simple::HTML>.
+
+=head1 AUTHOR
+
+Patrice Dumas E<lt>pertusus@free.frE<gt>. Parts from L<Pod::Simple::HTML>.
+
+=cut
diff --git a/Pod-Simple-Texinfo/pod2texi.pl b/Pod-Simple-Texinfo/pod2texi.pl
new file mode 100755
index 0000000..1f6ac5b
--- /dev/null
+++ b/Pod-Simple-Texinfo/pod2texi.pl
@@ -0,0 +1,602 @@
+#! /usr/bin/env perl
+# $Id: pod2texi.pl 5292 2013-08-10 10:58:05Z pertusus $
+# pod2texi -- convert Pod to Texinfo.
+# Copyright 2012, 2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Original author: Patrice Dumas <pertusus@free.fr>
+
+use strict;
+use Getopt::Long qw(GetOptions);
+# for dirname.
+use File::Basename;
+use File::Spec;
+
+Getopt::Long::Configure("gnu_getopt");
+#use Pod::Simple::Debug (4);
+
+BEGIN
+{
+ # emulate -w
+ $^W = 1;
+ my ($real_command_name, $command_directory, $command_suffix)
+ = fileparse($0, '.pl');
+
+ my $datadir = '@datadir@';
+ my $package = '@PACKAGE@';
+ my $updir = File::Spec->updir();
+
+ my $texinfolibdir;
+ my $lib_dir;
+
+ # in-source run
+ if (($command_suffix eq '.pl' and !(defined($ENV{'TEXINFO_DEV_SOURCE'})
+ and $ENV{'TEXINFO_DEV_SOURCE'} eq 0)) or $ENV{'TEXINFO_DEV_SOURCE'}) {
+ my $srcdir = defined $ENV{'srcdir'} ? $ENV{'srcdir'} : $command_directory;
+ $texinfolibdir = File::Spec->catdir($srcdir, $updir, 'tp');
+ $lib_dir = File::Spec->catdir($texinfolibdir, 'maintain');
+ unshift @INC, (File::Spec->catdir($srcdir, 'lib'), $texinfolibdir);
+ } elsif ($datadir ne '@' .'datadir@' and $package ne '@' . 'PACKAGE@'
+ and $datadir ne '') {
+ $texinfolibdir = File::Spec->catdir($datadir, $package);
+ # try to make package relocatable, will only work if standard relative paths
+ # are used
+ if (! -f File::Spec->catfile($texinfolibdir, 'Texinfo', 'Parser.pm')
+ and -f File::Spec->catfile($command_directory, $updir, 'share',
+ 'texinfo', 'Texinfo', 'Parser.pm')) {
+ $texinfolibdir = File::Spec->catdir($command_directory, $updir,
+ 'share', 'texinfo');
+ }
+ $lib_dir = $texinfolibdir;
+ unshift @INC, (File::Spec->catdir($texinfolibdir, 'Pod-Simple-Texinfo'),
+ $texinfolibdir);
+ }
+
+ # '@USE_EXTERNAL_LIBINTL @ and similar are substituted in the
+ # makefile using values from configure
+ if (defined($texinfolibdir)) {
+ if ('@USE_EXTERNAL_LIBINTL@' ne 'yes') {
+ unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'libintl-perl', 'lib'));
+ }
+ if ('@USE_EXTERNAL_EASTASIANWIDTH@' ne 'yes') {
+ unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Unicode-EastAsianWidth', 'lib'));
+ }
+ if ('@USE_EXTERNAL_UNIDECODE@' ne 'yes') {
+ unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Text-Unidecode', 'lib'));
+ }
+ }
+}
+
+use Pod::Simple::Texinfo;
+use Texinfo::Common;
+use Texinfo::Parser;
+use Texinfo::Structuring;
+
+{
+# A fake package to be able to use Pod::Simple::PullParser without generating
+# any output.
+package Pod::Simple::PullParserRun;
+
+use vars qw(@ISA);
+@ISA = ('Pod::Simple::PullParser');
+sub new
+{
+ return shift->SUPER::new(@_);
+}
+sub run(){};
+}
+
+my ($real_command_name, $directories, $suffix) = fileparse($0);
+
+# placeholder for string translations, not used for now
+sub __($)
+{
+ return $_[0];
+}
+
+sub pod2texi_help()
+{
+ return __("Usage: pod2texi [OPTION]... POD...
+
+Translate Perl pod documentation file(s) to Texinfo. There are two
+basic modes of operation. First, by default, each pod is translated to
+a standalone Texinfo manual.
+
+Second, if C<--base-level> is set higher than 0, each pod is translated
+to a file suitable for C<\@include>, and one more file with all the
+C<\@include>s is generated, intended to be C<\@include>d in turn within
+a hand-written top-level file.
+
+Options:
+ --base-level=NUM|NAME level of the head1 commands; default 0.
+ --debug=NUM set debugging level.
+ --help display this help and exit.
+ --no-fill-section-gaps do not fill sectioning gaps.
+ --no-section-nodes use anchors for sections instead of nodes.
+ --output=NAME output to NAME for the first or main manual
+ instead of standard output.
+ --preamble=STR insert STR as beginning boilerplate.
+ --subdir=NAME put files included in the main manual in NAME.
+ --top top for the main manual.
+ --unnumbered-sections use unumbered sections.
+ --version display version information and exit.
+
+Email bug reports to bug-texinfo\@gnu.org,
+general questions and discussion to help-texinfo\@gnu.org.
+Texinfo home page: http://www.gnu.org/software/texinfo/\n");
+}
+
+my $base_level = 0;
+my $unnumbered_sections = 0;
+my $output = '-';
+my $top = 'top';
+my $preamble = undef;
+my $subdir;
+my $section_nodes = 1;
+my $fill_sectioning_gaps = 1;
+my $debug = 0;
+
+my $result_options = Getopt::Long::GetOptions (
+ 'help|h' => sub { print pod2texi_help(); exit 0; },
+ 'version|V' => sub {print "$real_command_name $Pod::Simple::Texinfo::VERSION\n\n";
+ printf __("Copyright (C) %s Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.\n"), "2013";
+ exit 0;},
+ 'base-level=s' => sub {
+ if ($_[1] =~ /^[0-4]$/) {
+ $base_level = $_[1];
+ } elsif (defined($Texinfo::Common::command_structuring_level{$_[1]})) {
+ $base_level = $Texinfo::Common::command_structuring_level{$_[1]};
+ } else {
+ die sprintf(__("%s: wrong argument for --base-level\n"),
+ $real_command_name);
+ }
+ },
+ 'unnumbered-sections!' => \$unnumbered_sections,
+ 'output|o=s' => \$output,
+ 'preamble=s' => \$preamble,
+ 'subdir=s' => \$subdir,
+ 'top=s' => \$top,
+ 'section-nodes!' => \$section_nodes,
+ 'fill-section-gaps!' => \$fill_sectioning_gaps,
+ 'debug=i' => \$debug,
+);
+
+exit 1 if (!$result_options);
+
+if (defined($subdir)) {
+ if (! -d $subdir) {
+ if (!mkdir($subdir)) {
+ die sprintf(__("%s: could not create directory %s: %s"),
+ $real_command_name, $subdir, $!);
+ }
+ }
+}
+
+my $STDOUT_DOCU_NAME = 'stdout';
+
+my @manuals;
+my @all_manual_names;
+
+my @input_files = @ARGV;
+
+# use STDIN if not a tty, like makeinfo does
+@input_files = ('-') if (!scalar(@input_files) and !-t STDIN);
+die sprintf(__("%s: missing file argument;\n"), $real_command_name)
+ .sprintf(__("try `%s --help' for more information\n"), $real_command_name)
+ unless (scalar(@input_files) >= 1);
+
+my @processed_files;
+# First gather all the manual names
+if ($base_level > 0) {
+ foreach my $file (@input_files) {
+ # we don't want to read from STDIN, as the input read would be lost
+ # same with named pipe and socket...
+ # FIXME are there other file that have the same problem?
+ next if ($file eq '-' or -p $file or -S $file);
+ # not really used, only the manual name is used.
+ my $parser = Pod::Simple::PullParserRun->new();
+ $parser->parse_file($file);
+ my $short_title = $parser->get_short_title();
+ if (defined($short_title) and $short_title =~ m/\S/) {
+ push @manuals, $short_title;
+ push @all_manual_names, $short_title;
+ #print STDERR "NEW MANUAL: $short_title\n";
+ } else {
+ if (!$parser->content_seen) {
+ warn sprintf(__("%s: ignoring %s without content\n"),
+ $real_command_name, $file);
+ next;
+ }
+ push @all_manual_names, undef;
+ }
+ push @processed_files, $file;
+ }
+} else {
+ @processed_files = @input_files;
+}
+
+sub _fix_texinfo_tree($$$$;$)
+{
+ my $self = shift;
+ my $manual_texi = shift;
+ my $section_nodes = shift;
+ my $fill_gaps_in_sectioning = shift;
+ my $do_master_menu = shift;
+
+ my $parser = Texinfo::Parser::parser();
+ my $tree = $parser->parse_texi_text($manual_texi);
+
+ if ($fill_gaps_in_sectioning) {
+ my ($added_sections, $added_nodes);
+ ($tree->{'contents'}, $added_sections)
+ = Texinfo::Structuring::fill_gaps_in_sectioning($tree);
+ # there should already be nodes associated with other sections. Therefore
+ # new nodes should only be created for the $added_sections.
+ if ($section_nodes) {
+ ($tree->{'contents'}, $added_nodes)
+ = Texinfo::Structuring::insert_nodes_for_sectioning_commands($parser, $tree);
+ if ($self and $self->texinfo_sectioning_base_level > 0) {
+ # prepend the manual name
+ foreach my $node (@$added_nodes) {
+ # First remove the old normalized entry
+ delete $parser->{'labels'}->{$node->{'extra'}->{'normalized'}};
+ # now get the number
+ my $node_texi = Texinfo::Convert::Texinfo::convert(
+ {'contents' => $node->{'extra'}->{'node_content'}});
+ # We could have kept the asis, too, it is kept when !section_nodes
+ $node_texi =~ s/^\s*(\@asis\{\})?\s*//;
+ # complete with manual name
+ my $complete_node_name = $self->_node_name($node_texi);
+ # now recreate node arg, similar with Texinfo::Structuring::_new_node
+ my $tree = Texinfo::Parser::parse_texi_text(undef, $complete_node_name);
+ my $node_arg = $node->{'args'}->[0];
+ $node_arg->{'contents'} = $tree->{'contents'};
+ push @{$node_arg->{'contents'}},
+ {'type' => 'spaces_at_end', 'text' => "\n"};
+ unshift @{$node_arg->{'contents'}},
+ {'extra' => {'command' => $node},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'};
+ foreach my $content (@{$node_arg->{'contents'}}) {
+ $content->{'parent'} = $node_arg;
+ }
+ # Last parse and register node
+ my $parsed_node = Texinfo::Parser::_parse_node_manual($node_arg);
+ #push @{$node->{'extra'}->{'nodes_manuals'}}, $parsed_node;
+ @{$node->{'extra'}->{'nodes_manuals'}} = ($parsed_node);
+ if (!Texinfo::Parser::_register_label($parser, $node, $parsed_node, undef)) {
+ print STDERR "BUG: node not unique, register failed: $parsed_node->{'normalized'}\n";
+ }
+ }
+ }
+ }
+ }
+ my $structure = Texinfo::Structuring::sectioning_structure($parser, $tree);
+ Texinfo::Structuring::complete_tree_nodes_menus($parser, $tree)
+ if ($section_nodes);
+ Texinfo::Structuring::regenerate_master_menu($parser) if ($do_master_menu);
+ return ($parser, $tree);
+}
+
+sub _fix_texinfo_manual($$$$;$)
+{
+ my $self = shift;
+ my $manual_texi = shift;
+ my $section_nodes = shift;
+ my $fill_gaps_in_sectioning = shift;
+ my $do_master_menu = shift;
+ my ($parser, $tree) = _fix_texinfo_tree($self, $manual_texi, $section_nodes,
+ $fill_gaps_in_sectioning, $do_master_menu);
+ return Texinfo::Convert::Texinfo::convert($tree);
+}
+
+sub _do_top_node_menu($)
+{
+ my $manual_texi = shift;
+ my ($parser, $tree) = _fix_texinfo_tree(undef, $manual_texi, 1, 0, 1);
+ my $labels = $parser->labels_information();
+ my $top_node_menu = $labels->{'Top'}->{'menus'}->[0];
+ if ($top_node_menu) {
+ return Texinfo::Convert::Texinfo::convert($top_node_menu);
+ } else {
+ return '';
+ }
+}
+
+my $file_nr = 0;
+# Full manual is collected to generate the top node menu, if $section_nodes
+my $full_manual = '';
+my @included;
+foreach my $file (@processed_files) {
+ my $manual_texi = '';
+ my $outfile;
+ my $name = shift @all_manual_names;
+ if ($base_level == 0 and !$file_nr) {
+ $outfile = $output;
+ } else {
+ if (defined($name)) {
+ $outfile = Pod::Simple::Texinfo::_pod_title_to_file_name($name);
+ $outfile .= '.texi';
+ } else {
+ if ($file eq '-') {
+ $outfile = $STDOUT_DOCU_NAME;
+ } else {
+ $outfile = $file;
+ }
+ if ($outfile =~ /\.(pm|pod)$/) {
+ $outfile =~ s/\.(pm|pod)$/.texi/i;
+ } else {
+ $outfile .= '.texi';
+ }
+ }
+ $outfile = File::Spec->catfile($subdir, $outfile)
+ if (defined($subdir));
+ }
+
+ my $new = Pod::Simple::Texinfo->new();
+
+ push @included, [$name, $outfile, $file] if ($base_level > 0);
+ my $fh;
+ if ($outfile eq '-') {
+ $fh = *STDOUT;
+ } else {
+ open (OUT, ">$outfile") or die sprintf(__("%s: could not open %s for writing: %s\n"),
+ $real_command_name, $outfile, $!);
+ $fh = *OUT;
+ }
+ # FIXME should use =encoding
+ binmode($fh, ':encoding(utf8)');
+
+ $new->output_string(\$manual_texi);
+
+ $new->texinfo_sectioning_base_level($base_level);
+ if ($section_nodes) {
+ $new->texinfo_section_nodes(1);
+ }
+ if ($unnumbered_sections) {
+ $new->texinfo_sectioning_style('unnumbered');
+ }
+ if ($base_level > 0 and @manuals) {
+ $new->texinfo_internal_pod_manuals(\@manuals);
+ }
+
+ print STDERR "processing $file -> $outfile ($name)\n" if ($debug);
+ $new->parse_file($file);
+
+ if ($section_nodes or $fill_sectioning_gaps) {
+ if ($debug > 4) {
+ # print to a file
+ open (DBGFILE, ">$outfile-dbg") or die sprintf(__("%s: could not open %s: %s\n"),
+ $real_command_name, "$outfile-dbg", $!);
+ binmode(DBGFILE, ':encoding(utf8)');
+ print DBGFILE $manual_texi;
+
+ }
+ $manual_texi = _fix_texinfo_manual($new, $manual_texi, $section_nodes,
+ $fill_sectioning_gaps);
+ $full_manual .= $manual_texi if ($section_nodes);
+ }
+ print $fh $manual_texi;
+
+ if ($outfile ne '-') {
+ close($fh) or die sprintf(__("%s: error on closing %s: %s\n"),
+ $real_command_name, $outfile, $!);
+ }
+
+ if ($base_level > 0) {
+ if (!$new->content_seen) {
+ # this should only happen for input coming from pipe or the like
+ warn sprintf(__("%s: removing %s as input file %s has no content\n"),
+ $real_command_name, $outfile, $file);
+ unlink ($outfile);
+ pop @included;
+ # if we didn't gather the short title, try now, and rename out file if found
+ } elsif (!defined($name)) {
+ my $short_title = $new->texinfo_short_title;
+ if (defined($short_title) and $short_title =~ /\S/) {
+ push @manuals, $short_title;
+ pop @included;
+ my $new_outfile
+ = Pod::Simple::Texinfo::_pod_title_to_file_name($short_title);
+ $new_outfile .= '.texi';
+ $new_outfile = File::Spec->catfile($subdir, $new_outfile)
+ if (defined($subdir));
+ if ($new_outfile ne $outfile) {
+ unless (rename ($outfile, $new_outfile)) {
+ die sprintf(__("%s: rename %s failed: %s\n"),
+ $real_command_name, $outfile, $!);
+ }
+ }
+ push @included, [$short_title, $new_outfile, $file];
+ }
+ }
+ }
+ $file_nr++;
+}
+
+if ($base_level > 0) {
+ my $fh;
+ if ($output ne '-') {
+ open (OUT, ">$output") or die sprintf(__("%s: could not open %s for writing: %s\n"),
+ $real_command_name, $output, $!);
+ $fh = *OUT;
+ } else {
+ $fh = *STDOUT;
+ }
+
+ # FIXME should use =encoding
+ binmode($fh, ':encoding(utf8)');
+
+ my $outfile_name = $output;
+
+ $outfile_name = $STDOUT_DOCU_NAME if ($outfile_name eq '-');
+ $outfile_name =~ s/\.te?x(i|info)?$//;
+ $outfile_name .= '.info';
+
+ if (! defined ($preamble)) {
+ $preamble = '\input texinfo
+@setfilename ' . Pod::Simple::Texinfo::_protect_text($outfile_name) . "
+\@documentencoding utf-8
+\@settitle $top
+
+\@contents
+
+\@ifnottex
+\@node Top
+\@top $top
+\@end ifnottex\n\n";
+ }
+
+ print $fh $preamble;
+ if ($section_nodes) {
+ #print STDERR "\@node Top\n\@top top\n".$full_manual;
+ my $menu = _do_top_node_menu("\@node Top\n\@top top\n".$full_manual);
+ print $fh $menu."\n";
+ }
+ foreach my $include (@included) {
+ my $file = $include->[1];
+ print $fh "\@include ".Pod::Simple::Texinfo::_protect_text($file)."\n";
+ }
+ print $fh "\n\@bye\n";
+
+ if ($output ne '-') {
+ close($fh) or die sprintf(__("%s: error on closing %s: %s\n"),
+ $real_command_name, $output, $!);
+ }
+}
+
+if (defined($output) and $output eq '-') {
+ close(STDOUT) or die sprintf(__("%s: error on closing stdout: %s\n"),
+ $real_command_name, $!);
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+pod2texi - convert Pod to Texinfo
+
+=head1 SYNOPSIS
+
+ pod2texi [OPTION]... POD...
+
+=head1 DESCRIPTION
+
+Translate Pod file(s) to Texinfo. There are two basic modes of
+operation. First, by default, each pod is translated to a standalone
+Texinfo manual.
+
+Second, if C<--base-level> is set higher than 0, each pod is translated
+to a file suitable for C<@include>, and one more file with all the
+C<@include>s is generated, intended to be C<@include>d in turn within a
+hand-written top-level file.
+
+=head1 OPTIONS
+
+=over
+
+=item B<--base-level>=I<NUM|NAME>
+
+Sets the level of the C<head1> commands. It may be an integer or a
+Texinfo sectioning command (without the C<@>): 1 corresponds to the
+C<@chapter>/C<@unnumbered> level, 2 to the C<@section> level, and so on.
+The default is 0, meaning that C<head1> commands are still output as
+chapters, but the output is arranged as a standalone manual.
+
+If the level is not 0, the pod file is rendered as a fragment of a
+Texinfo manual suitable for C<@include>. In this case, each pod file
+has an additional sectioning command covering the entire file, one level
+above the C<--base-level> value. Therefore, to make each pod file a
+chapter in a large manual, you should use C<section> as the base level.
+
+For an example of making Texinfo out of the Perl documentation itself,
+see C<contrib/perldoc-all> in the Texinfo source distribution, with
+output available at L<http://www.gnu.org/software/perl/manual>.
+
+=item B<--debug>=I<NUM>
+
+Set debugging level to I<NUM>.
+
+=item B<--help>
+
+Display help and exit.
+
+=item B<--output>=I<NAME>
+
+Name for the first manual, or the main manual if there is a main manual.
+Default is to write to standard output.
+
+=item B<--no-section-nodes>
+
+Use anchors for sections instead of nodes.
+
+=item B<--no-fill-section-gaps>
+
+Do not fill sectioning gaps with empty C<@unnumbered> files.
+Ordinarily, it's good to keep the sectioning hierarchy intact.
+
+=item B<--preamble>=I<STR>
+
+Insert I<STR> as top boilerplate before includes. The default is a
+minimal beginning for a Texinfo document, and sets C<@documentencoding>
+to C<utf-8> (because the output is written that way).
+
+=item B<--subdir>=I<NAME>
+
+If there is a main manual with include files (each corresponding to
+an input pod file), then those include files are put in directory I<NAME>.
+
+=item B<--unnumbered-sections>
+
+Use unnumbered sectioning commands (C<@unnumbered>, ...) instead of the
+default numbered sectioning Texinfo @-commands (C<@chapter>,
+C<@section>, ...).
+
+=item B<--top>=I<TOP>
+
+Name of the C<@top> element for the main manual. May contain Texinfo code.
+
+=item B<--version>
+
+Display version information and exit.
+
+=back
+
+=head1 SEE ALSO
+
+L<Pod::Simple::Texinfo>. L<perlpod>. The Texinfo manual.
+Texinfo home page: L<http://www.gnu.org/software/texinfo/>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2013 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License,
+or (at your option) any later version.
+
+There is NO WARRANTY, to the extent permitted by law.
+
+=head1 AUTHOR
+
+Patrice Dumas E<lt>bug-texinfo@gnu.orgE<gt>.
+
+=cut
diff --git a/Pod-Simple-Texinfo/prove.sh b/Pod-Simple-Texinfo/prove.sh
new file mode 100755
index 0000000..91c7e04
--- /dev/null
+++ b/Pod-Simple-Texinfo/prove.sh
@@ -0,0 +1,20 @@
+#! /bin/sh -x
+# $Id: prove.sh 5191 2013-02-23 00:11:18Z karl $
+# Copyright 2010, 2012 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
+if test z"$srcdir" = 'z'; then
+ srcdir='.'
+fi
+
+#prove -I "$tpdir" -I "$srcdir"/lib "$srcdir"/t/*.t
+
+tpdir=$srcdir/../tp
+prove -I "$tpdir" -I "$tpdir"/maintain/lib/Unicode-EastAsianWidth/lib/ \
+ -I "$tpdir"/maintain/lib/libintl-perl/lib \
+ -I "$tpdir"/maintain/lib/Text-Unidecode/lib/ \
+ -I "$srcdir"/lib \
+ "$srcdir"/t/*.t
diff --git a/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t b/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t
new file mode 100644
index 0000000..0e4417f
--- /dev/null
+++ b/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t
@@ -0,0 +1,313 @@
+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl Pod-Simple-Texinfo.t'
+
+#########################
+
+# change 'tests => 1' to 'tests => last_test_to_print';
+
+use Test::More;
+BEGIN { plan tests => 17 };
+use Pod::Simple::Texinfo;
+ok(1); # If we made it this far, we're ok.
+
+#########################
+
+sub run_test($$$;$$)
+{
+ my $in = shift;
+ my $out = shift;
+ my $name = shift;
+ my $test_nodes = shift;
+ my $sectioning_base_level = shift;
+
+ my $parser = Pod::Simple::Texinfo->new();
+ $parser->set_source(\$in);
+ $parser->texinfo_section_nodes(1)
+ if ($test_nodes);
+ if (defined($sectioning_base_level)) {
+ $parser->texinfo_sectioning_base_level($sectioning_base_level);
+ my $short_title = $parser->get_short_title();
+ $parser->texinfo_short_title($short_title);
+ }
+ my $result;
+ $parser->output_string(\$result);
+ $parser->bare_output(1);
+ $parser->run();
+ if (defined($out)) {
+ is ($result, $out, $name);
+ } else {
+ print "$name:\n";
+ print STDERR $result;
+ }
+}
+
+run_test ('=head1 T
+X<aaa>
+',
+'@chapter T
+@anchor{T}
+@cindex aaa
+
+', 'index in head');
+
+TODO: {
+
+local $TODO = 'Pod::Simple not ignoring correctly X<>';
+
+run_test ('=head1 NAME
+X<aaa>
+',
+'@node NAME aaa NAME
+@section NAME
+@cindex aaa
+
+', 'index in head node', 1, 2);
+
+}
+
+run_test ('=head1 NAME
+
+T@c
+
+=head1 @{}
+',
+'@node T@@c NAME
+@section NAME
+
+T@@c
+
+@node T@@c @@@{@}
+@section @@@{@}
+
+', 'protected characters', 1, 2);
+
+run_test ('=head1 T
+
+Para X<bb>
+in para X<cc>
+qtil X<ff> ggg
+n X<ww> X<ff> C<aa>.
+C<JJ> X<tt>.
+X<-r>X<+p>
+X<fff>
+X<WWW>
+I<GG>X<DD>C<MM>.
+',
+'@chapter T
+@anchor{T}
+
+@cindex bb
+@cindex cc
+@cindex ff
+@cindex ww
+@cindex ff
+@cindex tt
+@cindex -r
+@cindex +p
+@cindex fff
+@cindex WWW
+@cindex DD
+Para in para qtil ggg
+n @code{aa}.
+@code{JJ} .
+@emph{GG}@code{MM}.
+
+', 'index in paragaph');
+
+run_test('=over
+
+=item a
+X<it> b
+
+=item c
+X<C<code>>
+
+Para
+
+=back
+',
+'@table @asis
+@item a b
+@anchor{a b}
+@cindex it
+
+@item c
+@anchor{c}
+@cindex @code{code}
+
+Para
+
+@end table
+
+', 'index in item-text');
+
+run_test('=over
+
+=item L</somewhere>
+
+=back
+', '@table @asis
+@item @ref{somewhere}
+@anchor{somewhere}
+
+@end table
+
+', 'ref in item');
+
+run_test('=head1 NAME
+
+=head1 NAME
+', '@chapter NAME
+@anchor{NAME}
+
+@chapter NAME
+@anchor{NAME 1}
+
+', 'double ref');
+
+run_test('=head1 head with
+new line
+', '@chapter head with new line
+@anchor{head with new line}
+
+', 'head with new line');
+
+run_test('=head1 L</somewhere>
+', '@chapter @ref{somewhere}
+@anchor{somewhere}
+
+', 'ref in section');
+
+run_test('=over
+
+=item a L<pod2text|pod2text>
+
+=item a L<pod2latex|pod2latex>
+
+=back
+', '@table @asis
+@item a @ref{, pod2text,, pod2text}
+@anchor{a pod2text}
+
+@item a @ref{, pod2latex,, pod2latex}
+@anchor{a pod2latex}
+
+@end table
+
+', 'duplicate anchors ref');
+
+run_test('=head1 a, b', '@chapter a, b
+@anchor{a@comma{} b}
+
+', 'comma in head1');
+
+run_test('=head1 a, b
+
+=over
+
+=item c, d
+
+=back
+
+L</a, b>. L</c, d>.
+', '@chapter a, b
+@anchor{a@comma{} b}
+
+@table @asis
+@item c, d
+@anchor{c@comma{} d}
+
+@end table
+
+@ref{a@comma{} b}. @ref{c@comma{} d}.
+
+', 'comma in refs');
+
+run_test('=head1 (man) t
+
+L</(man) t>', '@chapter (man) t
+@anchor{@asis{(}man) t}
+
+@ref{@asis{(}man) t,, (man) t}
+
+', 'node beginning with a parenthesis');
+
+run_test('=head1 head
+
+# line 4 "ggggg"
+and
+ # line 5 "fff"
+
+# line 4 "bbb"
+# 7 "aaaa"
+', '@chapter head
+@anchor{head}
+
+@hashchar{} line 4 "ggggg"
+and
+ @hashchar{} line 5 "fff"
+
+@hashchar{} line 4 "bbb"
+@hashchar{} 7 "aaaa"
+
+', 'cpp lines');
+
+run_test('=head1 head
+
+ # line 4 "ggggg"
+ and @
+ # line 5 "fff"
+
+Text
+
+ # line 4 "bbb"
+ # 7 "aaaa"
+','@chapter head
+@anchor{head}
+
+@verbatim
+ # line 4 "ggggg"
+ and @
+ # line 5 "fff"
+@end verbatim
+
+Text
+
+@verbatim
+ # line 4 "bbb"
+ # 7 "aaaa"
+@end verbatim
+
+', 'cpp lines in verbatim');
+
+run_test('=head1 head
+
+=for html
+ # line 4 "ggggg"
+ <html> @
+
+=begin html
+
+ # line 8 "kkk"
+ and @
+ # line 5 "fff"
+
+=end html
+', '@chapter head
+@anchor{head}
+
+@html
+
+ @hashchar{} line 4 "ggggg"
+ <html> @@
+@end html
+@html
+ @hashchar{} line 8 "kkk"
+ and @@
+ @hashchar{} line 5 "fff"
+
+@end html
+','cpp lines in formats');
+
+1;
+