texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[6371] integrate XS module into build system


From: Gavin D. Smith
Subject: [6371] integrate XS module into build system
Date: Thu, 02 Jul 2015 16:27:47 +0000

Revision: 6371
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6371
Author:   gavin
Date:     2015-07-02 16:27:45 +0000 (Thu, 02 Jul 2015)
Log Message:
-----------
integrate XS module into build system

Modified Paths:
--------------
    trunk/configure.ac
    trunk/doc/Makefile.am
    trunk/tp/Makefile.am
    trunk/tp/Texinfo/Convert/Plaintext.pm
    trunk/tp/Texinfo/Convert/XSParagraph/README
    trunk/tp/Texinfo/Convert/XSParagraph/lib/XSParagraph.pm
    trunk/tp/Texinfo/Convert/XSParagraph/mylib/xspara.c

Added Paths:
-----------
    trunk/tp/Texinfo/Convert/XSParagraph/Makefile.am
    trunk/tp/Texinfo/Convert/XSParagraph/Makefile.old
    trunk/tp/Texinfo/Convert/XSParagraph/configure.ac
    trunk/tp/Texinfo/Convert/XSParagraph/fetch_conf.pl

Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac  2015-07-01 20:09:20 UTC (rev 6370)
+++ trunk/configure.ac  2015-07-02 16:27:45 UTC (rev 6371)
@@ -18,7 +18,7 @@
 AC_CONFIG_AUX_DIR([build-aux])
 dnl tar-ustar because we have long filenames for some test files.
 dnl parallel-tests as recommended by stefano.
-AM_INIT_AUTOMAKE([1.14 dist-xz 
+AM_INIT_AUTOMAKE([1.14
                  info-in-builddir parallel-tests readme-alpha tar-ustar])
 
 # Where to generate output; srcdir location.
@@ -464,6 +464,8 @@
   Pod-Simple-Texinfo/Makefile
 ])
 
+AC_CONFIG_SUBDIRS([tp/Texinfo/Convert/XSParagraph])
+
 AC_OUTPUT
 
 # Summarize warnings to make them more visible.

Modified: trunk/doc/Makefile.am
===================================================================
--- trunk/doc/Makefile.am       2015-07-01 20:09:20 UTC (rev 6370)
+++ trunk/doc/Makefile.am       2015-07-02 16:27:45 UTC (rev 6371)
@@ -22,7 +22,7 @@
 # cross-compiling.
 tpdir = $(top_srcdir)/tp
 tplibdir = $(tpdir)/maintain/lib
-MAKEINFO = $(PERL) -I "$(tpdir)" -I "$(tplibdir)/libintl-perl/lib" -I 
"$(tplibdir)/Unicode-EastAsianWidth/lib" -I "$(tplibdir)/Text-Unidecode/lib" 
$(top_builddir)/tp/texi2any
+MAKEINFO = $(PERL) -I "$(tpdir)" -I "$(tplibdir)/libintl-perl/lib" -I 
"$(tpdir)/Texinfo/Convert/XSParagraph" -I 
"$(tplibdir)/Unicode-EastAsianWidth/lib" -I "$(tplibdir)/Text-Unidecode/lib" 
$(top_builddir)/tp/texi2any
 
 # We'd also like to use something like this, but Automake calls
 # "install-info" directly.

Modified: trunk/tp/Makefile.am
===================================================================
--- trunk/tp/Makefile.am        2015-07-01 20:09:20 UTC (rev 6370)
+++ trunk/tp/Makefile.am        2015-07-02 16:27:45 UTC (rev 6371)
@@ -25,7 +25,9 @@
        cd $(srcdir) \
        && $(SHELL) ./maintain/regenerate_docstr.sh "$@"
 
-SUBDIRS = . tests
+SUBDIRS = Texinfo/Convert/XSParagraph
+#SUBDIRS =
+SUBDIRS += . tests
 
 bin_SCRIPTS = texi2any
 
@@ -37,6 +39,7 @@
   -e 's,address@hidden@],$(prefix),g' \
   -e 's,address@hidden@],$(datarootdir),g' \
   -e 's,address@hidden@],$(datadir),g' \
+  -e 's,address@hidden@],$(pkglibexecdir),g' \
   -e 's,address@hidden@],$(PACKAGE),g' \
   -e 's,address@hidden@],$(USE_EXTERNAL_LIBINTL),g' \
   -e 's,address@hidden@],$(USE_EXTERNAL_EASTASIANWIDTH),g' \

Modified: trunk/tp/Texinfo/Convert/Plaintext.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Plaintext.pm       2015-07-01 20:09:20 UTC (rev 
6370)
+++ trunk/tp/Texinfo/Convert/Plaintext.pm       2015-07-02 16:27:45 UTC (rev 
6371)
@@ -31,8 +31,8 @@
 use Texinfo::Convert::Line;
 use Texinfo::Convert::UnFilled;
 
-#use XSParagraph;
-#XSParagraph::hello ();
+use XSParagraph;
+XSParagraph::hello ();
 # TODO: Run initialization code for XSParagraph implicitly.
 
 use Carp qw(cluck);

Added: trunk/tp/Texinfo/Convert/XSParagraph/Makefile.am
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/Makefile.am                            
(rev 0)
+++ trunk/tp/Texinfo/Convert/XSParagraph/Makefile.am    2015-07-02 16:27:45 UTC 
(rev 6371)
@@ -0,0 +1,67 @@
+# Parts of this file derived from the output of MakeMaker version
+# 6.66 (Revision: 66600) from the contents of a Makefile.PL.
+#
+# Test with
+# make clean && make && (pushd ../../.. && ./texi2any.pl --version ; popd)
+#
+# Can use the MakeMaker makefile, for comparison with
+# "make -f Makefile.old"
+# "make -f Makefile.old install" gives
+# Installing /usr/local/lib/perl5/auto/XSParagraph/XSParagraph.so
+# Installing /usr/local/lib/perl5/auto/XSParagraph/XSParagraph.bs
+# Installing /usr/local/lib/perl5/XSParagraph.pm
+#
+# The *.bs is a "bootstrap" file which is empty, so we shouldn't have to
+# worry about it.
+
+AUTOMAKE_OPTIONS=foreign subdir-objects
+
+modulesdir = $(pkglibexecdir)/Texinfo
+dist_modules_DATA = lib/XSParagraph.pm
+
+EXTRA_DIST = fetch_conf.pl
+
+# TODO: Rules for installing
+
+# TODO: Figure out what Make variables we need
+
+#PERL_INC = /usr/lib/perl5/CORE
+PERL_INC = $(PERL_CONF_archlibexp)/CORE
+
+#PERL = /usr/bin/perl5.18.1
+
+#XSUBPPARGS = -typemap /usr/share/perl5/ExtUtils/typemap
+
+.xs.c:
+       $(XSUBPP) $(XSUBPPARGS) $*.xs > $*.xsc && mv $*.xsc $*.c
+
+# We won't need this rule
+#.xs$(OBJ_EXT):
+#      $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc \
+#              && mv $*.xsc $*.c
+#      $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) \
+#      $(DEFINE) $*.c
+
+# -------------------------------------------------------
+
+modules_LTLIBRARIES = XSParagraph.la
+XSParagraph_la_SOURCES = XSParagraph.c mylib/xspara.c mylib/xspara.h \
+                        mylib/text.c mylib/text.h ppport.h
+
+BUILT_SOURCES = XSParagraph.c
+
+XSParagraph_la_CFLAGS =
+
+#CCFLAGS = -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64
+# Apparently these may be wrong if Perl was compiled with a different 
+# compiler from the one we're using.
+# Maybe we should strip out anything that isn't a -D or -I flag.
+# See http://lists.gnu.org/archive/html/bug-texinfo/2015-06/msg00077.html,
+# and http://www.tokiwinter.com/fix-perl-make-errors-under-solaris/
+XSParagraph_la_CFLAGS += $(PERL_CONF_ccflags)
+
+XSParagraph_la_CFLAGS += -DVERSION=\"$(VERSION)\" -DXS_VERSION=\"$(VERSION)\"  
"-I$(PERL_INC)"
+
+XSParagraph_la_LDFLAGS=-module $(PERL_CONF_cccdlflags)
+
+

Added: trunk/tp/Texinfo/Convert/XSParagraph/Makefile.old
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/Makefile.old                           
(rev 0)
+++ trunk/tp/Texinfo/Convert/XSParagraph/Makefile.old   2015-07-02 16:27:45 UTC 
(rev 6371)
@@ -0,0 +1,1264 @@
+# This Makefile is for the XSParagraph extension to perl.
+#
+# It was generated automatically by MakeMaker version
+# 6.66 (Revision: 66600) from the contents of
+# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
+#
+#       ANY CHANGES MADE HERE WILL BE LOST!
+#
+#   MakeMaker ARGV: ()
+#
+
+#   MakeMaker Parameters:
+
+#     ABSTRACT_FROM => q[lib/XSParagraph.pm]
+#     AUTHOR => [q[A. U. Thor <address@hidden>]]
+#     BUILD_REQUIRES => {  }
+#     CONFIGURE_REQUIRES => {  }
+#     DEFINE => q[]
+#     INC => q[-I.]
+#     LIBS => [q[]]
+#     MYEXTLIB => q[mylib/libxspara.a]
+#     NAME => q[XSParagraph]
+#     PREREQ_PM => {  }
+#     TEST_REQUIRES => {  }
+#     VERSION_FROM => q[lib/XSParagraph.pm]
+
+# --- MakeMaker post_initialize section:
+
+
+# --- MakeMaker const_config section:
+
+# These definitions are from config.sh (via /usr/lib/perl5/Config.pm).
+# They may have been overridden via Makefile.PL or on the command line.
+AR = ar
+CC = cc
+CCCDLFLAGS = -fPIC
+CCDLFLAGS = -Wl,-E -Wl,-rpath,/usr/lib/perl5/CORE
+DLEXT = so
+DLSRC = dl_dlopen.xs
+EXE_EXT = 
+FULL_AR = /usr/bin/ar
+LD = cc
+LDDLFLAGS = -shared -O2 -march=i486 -mtune=i686 -L/usr/local/lib 
-fstack-protector
+LDFLAGS =  -fstack-protector -L/usr/local/lib
+LIBC = /lib/libc-2.17.so
+LIB_EXT = .a
+OBJ_EXT = .o
+OSNAME = linux
+OSVERS = 3.10.9-smp
+RANLIB = :
+SITELIBEXP = /usr/local/share/perl5
+SITEARCHEXP = /usr/local/lib/perl5
+SO = so
+VENDORARCHEXP = /usr/lib/perl5/vendor_perl
+VENDORLIBEXP = /usr/share/perl5/vendor_perl
+
+
+# --- MakeMaker constants section:
+AR_STATIC_ARGS = cr
+DIRFILESEP = /
+DFSEP = $(DIRFILESEP)
+NAME = XSParagraph
+NAME_SYM = XSParagraph
+VERSION = 6.0
+VERSION_MACRO = VERSION
+VERSION_SYM = 6_0
+DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
+XS_VERSION = 6.0
+XS_VERSION_MACRO = XS_VERSION
+XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
+INST_ARCHLIB = blib/arch
+INST_SCRIPT = blib/script
+INST_BIN = blib/bin
+INST_LIB = blib/lib
+INST_MAN1DIR = blib/man1
+INST_MAN3DIR = blib/man3
+MAN1EXT = 1
+MAN3EXT = 3
+INSTALLDIRS = site
+DESTDIR = 
+PREFIX = $(SITEPREFIX)
+PERLPREFIX = /usr
+SITEPREFIX = /usr/local
+VENDORPREFIX = /usr
+INSTALLPRIVLIB = /usr/share/perl5
+DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
+INSTALLSITELIB = /usr/local/share/perl5
+DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
+INSTALLVENDORLIB = /usr/share/perl5/vendor_perl
+DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
+INSTALLARCHLIB = /usr/lib/perl5
+DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
+INSTALLSITEARCH = /usr/local/lib/perl5
+DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
+INSTALLVENDORARCH = /usr/lib/perl5/vendor_perl
+DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
+INSTALLBIN = /usr/bin
+DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
+INSTALLSITEBIN = /usr/local/bin
+DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
+INSTALLVENDORBIN = /usr/bin
+DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)
+INSTALLSCRIPT = /usr/bin
+DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)
+INSTALLSITESCRIPT = /usr/local/bin
+DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT)
+INSTALLVENDORSCRIPT = /usr/bin
+DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT)
+INSTALLMAN1DIR = /usr/share/man/man1
+DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR)
+INSTALLSITEMAN1DIR = /usr/local/share/man/man1
+DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR)
+INSTALLVENDORMAN1DIR = /usr/share/man/man1
+DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR)
+INSTALLMAN3DIR = /usr/share/man/man3
+DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR)
+INSTALLSITEMAN3DIR = /usr/local/share/man/man3
+DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR)
+INSTALLVENDORMAN3DIR = /usr/share/man/man3
+DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)
+PERL_LIB = /usr/share/perl5
+PERL_ARCHLIB = /usr/lib/perl5
+LIBPERL_A = libperl.a
+MYEXTLIB = mylib/libxspara.a
+FIRST_MAKEFILE = Makefile
+MAKEFILE_OLD = Makefile.old
+MAKE_APERL_FILE = Makefile.aperl
+PERLMAINCC = $(CC)
+PERL_INC = /usr/lib/perl5/CORE
+PERL = /usr/bin/perl5.18.1
+FULLPERL = /usr/bin/perl5.18.1
+ABSPERL = $(PERL)
+PERLRUN = $(PERL)
+FULLPERLRUN = $(FULLPERL)
+ABSPERLRUN = $(ABSPERL)
+PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
+FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
+ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
+PERL_CORE = 0
+PERM_DIR = 755
+PERM_RW = 644
+PERM_RWX = 755
+
+MAKEMAKER   = /usr/share/perl5/ExtUtils/MakeMaker.pm
+MM_VERSION  = 6.66
+MM_REVISION = 66600
+
+# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
+# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
+# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
+# DLBASE  = Basename part of dynamic library. May be just equal BASEEXT.
+MAKE = make
+FULLEXT = XSParagraph
+BASEEXT = XSParagraph
+PARENT_NAME = 
+DLBASE = $(BASEEXT)
+VERSION_FROM = lib/XSParagraph.pm
+INC = -I.
+DEFINE = 
+OBJECT = $(BASEEXT)$(OBJ_EXT)
+LDFROM = $(OBJECT)
+LINKTYPE = dynamic
+BOOTDEP = 
+
+# Handy lists of source code files:
+XS_FILES = XSParagraph.xs
+C_FILES  = XSParagraph.c
+O_FILES  = XSParagraph.o
+H_FILES  = ppport.h \
+       xmacro.h
+MAN1PODS = 
+MAN3PODS = 
+
+# Where is the Config information that we are using/depend on
+CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h
+
+# Where to build things
+INST_LIBDIR      = $(INST_LIB)
+INST_ARCHLIBDIR  = $(INST_ARCHLIB)
+
+INST_AUTODIR     = $(INST_LIB)/auto/$(FULLEXT)
+INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)
+
+INST_STATIC      = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT)
+INST_DYNAMIC     = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT)
+INST_BOOT        = $(INST_ARCHAUTODIR)/$(BASEEXT).bs
+
+# Extra linker info
+EXPORT_LIST        = 
+PERL_ARCHIVE       = 
+PERL_ARCHIVE_AFTER = 
+
+
+TO_INST_PM = lib/XSParagraph.pm
+
+PM_TO_BLIB = lib/XSParagraph.pm \
+       blib/lib/XSParagraph.pm
+
+
+# --- MakeMaker platform_constants section:
+MM_Unix_VERSION = 6.66
+PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree 
-Drealloc=Perl_realloc -Dcalloc=Perl_calloc
+
+
+# --- MakeMaker tool_autosplit section:
+# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto
+AUTOSPLITFILE = $(ABSPERLRUN)  -e 'use AutoSplit;  autosplit($$$$ARGV[0], 
$$$$ARGV[1], 0, 1, 1)' --
+
+
+
+# --- MakeMaker tool_xsubpp section:
+
+XSUBPPDIR = /usr/share/perl5/ExtUtils
+XSUBPP = $(XSUBPPDIR)$(DFSEP)xsubpp
+XSUBPPRUN = $(PERLRUN) $(XSUBPP)
+XSPROTOARG = 
+XSUBPPDEPS = /usr/share/perl5/ExtUtils/typemap $(XSUBPP)
+XSUBPPARGS = -typemap /usr/share/perl5/ExtUtils/typemap
+XSUBPP_EXTRA_ARGS = 
+
+
+# --- MakeMaker tools_other section:
+SHELL = /bin/sh
+CHMOD = chmod
+CP = cp
+MV = mv
+NOOP = $(TRUE)
+NOECHO = @
+RM_F = rm -f
+RM_RF = rm -rf
+TEST_F = test -f
+TOUCH = touch
+UMASK_NULL = umask 0
+DEV_NULL = > /dev/null 2>&1
+MKPATH = $(ABSPERLRUN) -MExtUtils::Command -e 'mkpath' --
+EQUALIZE_TIMESTAMP = $(ABSPERLRUN) -MExtUtils::Command -e 'eqtime' --
+FALSE = false
+TRUE = true
+ECHO = echo
+ECHO_N = echo -n
+UNINST = 0
+VERBINST = 0
+MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => 
address@hidden, verbose => '\''$(VERBINST)'\'', uninstall_shadows => 
'\''$(UNINST)'\'', dir_mode => '\''$(PERM_DIR)'\'' ]);' --
+DOC_INSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'perllocal_install' --
+UNINSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'uninstall' --
+WARN_IF_OLD_PACKLIST = $(ABSPERLRUN) -MExtUtils::Command::MM -e 
'warn_if_old_packlist' --
+MACROSTART = 
+MACROEND = 
+USEMAKEFILE = -f
+FIXIN = $(ABSPERLRUN) -MExtUtils::MY -e 'MY->fixin(shift)' --
+
+
+# --- MakeMaker makemakerdflt section:
+makemakerdflt : all
+       $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dist section:
+TAR = tar
+TARFLAGS = cvf
+ZIP = zip
+ZIPFLAGS = -r
+COMPRESS = gzip --best
+SUFFIX = .gz
+SHAR = shar
+PREOP = $(NOECHO) $(NOOP)
+POSTOP = $(NOECHO) $(NOOP)
+TO_UNIX = $(NOECHO) $(NOOP)
+CI = ci -u
+RCS_LABEL = rcs -Nv$(VERSION_SYM): -q
+DIST_CP = best
+DIST_DEFAULT = tardist
+DISTNAME = XSParagraph
+DISTVNAME = XSParagraph-6.0
+
+
+# --- MakeMaker macro section:
+
+
+# --- MakeMaker depend section:
+
+
+# --- MakeMaker cflags section:
+
+CCFLAGS = -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64
+OPTIMIZE = -O2 -march=i486 -mtune=i686
+PERLTYPE = 
+MPOLLUTE = 
+
+
+# --- MakeMaker const_loadlibs section:
+
+# XSParagraph might depend on some other libraries:
+# See ExtUtils::Liblist for details
+#
+
+
+# --- MakeMaker const_cccmd section:
+CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \
+       $(CCFLAGS) $(OPTIMIZE) \
+       $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
+       $(XS_DEFINE_VERSION)
+
+# --- MakeMaker post_constants section:
+
+
+# --- MakeMaker pasthru section:
+
+PASTHRU = LIBPERL_A="$(LIBPERL_A)"\
+       LINKTYPE="$(LINKTYPE)"\
+       OPTIMIZE="$(OPTIMIZE)"\
+       PREFIX="$(PREFIX)"\
+       PASTHRU_DEFINE="$(PASTHRU_DEFINE)"\
+       PASTHRU_INC="$(PASTHRU_INC)"
+
+
+# --- MakeMaker special_targets section:
+.SUFFIXES : .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)
+
+.PHONY: all config static dynamic test linkext manifest blibdirs clean 
realclean disttest distdir
+
+
+
+# --- MakeMaker c_o section:
+
+.c.i:
+       cc -E -c $(PASTHRU_INC) $(INC) \
+       $(CCFLAGS) $(OPTIMIZE) \
+       $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
+       $(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) 
$(DEFINE) $*.c > $*.i
+
+.c.s:
+       $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) 
$*.c
+
+.c$(OBJ_EXT):
+       $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
+.cpp$(OBJ_EXT):
+       $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) 
$*.cpp
+
+.cxx$(OBJ_EXT):
+       $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) 
$*.cxx
+
+.cc$(OBJ_EXT):
+       $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cc
+
+.C$(OBJ_EXT):
+       $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.C
+
+
+# --- MakeMaker xs_c section:
+
+.xs.c:
+       $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS) $*.xs > 
$*.xsc && $(MV) $*.xsc $*.c
+
+
+# --- MakeMaker xs_o section:
+
+.xs$(OBJ_EXT):
+       $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc 
$*.c
+       $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c
+
+
+# --- MakeMaker top_targets section:
+all :: pure_all manifypods
+       $(NOECHO) $(NOOP)
+
+
+pure_all :: config pm_to_blib subdirs linkext
+       $(NOECHO) $(NOOP)
+
+subdirs :: $(MYEXTLIB)
+       $(NOECHO) $(NOOP)
+
+config :: $(FIRST_MAKEFILE) blibdirs
+       $(NOECHO) $(NOOP)
+
+$(O_FILES): $(H_FILES)
+
+help :
+       perldoc ExtUtils::MakeMaker
+
+
+# --- MakeMaker blibdirs section:
+blibdirs : $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists 
$(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists 
$(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists 
$(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists
+       $(NOECHO) $(NOOP)
+
+# Backwards compat with 6.18 through 6.25
+blibdirs.ts : blibdirs
+       $(NOECHO) $(NOOP)
+
+$(INST_LIBDIR)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_LIBDIR)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_LIBDIR)
+       $(NOECHO) $(TOUCH) $(INST_LIBDIR)$(DFSEP).exists
+
+$(INST_ARCHLIB)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_ARCHLIB)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHLIB)
+       $(NOECHO) $(TOUCH) $(INST_ARCHLIB)$(DFSEP).exists
+
+$(INST_AUTODIR)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_AUTODIR)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_AUTODIR)
+       $(NOECHO) $(TOUCH) $(INST_AUTODIR)$(DFSEP).exists
+
+$(INST_ARCHAUTODIR)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHAUTODIR)
+       $(NOECHO) $(TOUCH) $(INST_ARCHAUTODIR)$(DFSEP).exists
+
+$(INST_BIN)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_BIN)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_BIN)
+       $(NOECHO) $(TOUCH) $(INST_BIN)$(DFSEP).exists
+
+$(INST_SCRIPT)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_SCRIPT)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_SCRIPT)
+       $(NOECHO) $(TOUCH) $(INST_SCRIPT)$(DFSEP).exists
+
+$(INST_MAN1DIR)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_MAN1DIR)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN1DIR)
+       $(NOECHO) $(TOUCH) $(INST_MAN1DIR)$(DFSEP).exists
+
+$(INST_MAN3DIR)$(DFSEP).exists :: Makefile.PL
+       $(NOECHO) $(MKPATH) $(INST_MAN3DIR)
+       $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN3DIR)
+       $(NOECHO) $(TOUCH) $(INST_MAN3DIR)$(DFSEP).exists
+
+
+
+# --- MakeMaker linkext section:
+
+linkext :: $(LINKTYPE)
+       $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dlsyms section:
+
+
+# --- MakeMaker dynamic section:
+
+dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
+       $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker dynamic_bs section:
+BOOTSTRAP = $(BASEEXT).bs
+
+# As Mkbootstrap might not write a file (if none is required)
+# we use touch to prevent make continually trying to remake it.
+# The DynaLoader only reads a non-empty file.
+$(BOOTSTRAP) : $(FIRST_MAKEFILE) $(BOOTDEP) $(INST_ARCHAUTODIR)$(DFSEP).exists
+       $(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))"
+       $(NOECHO) $(PERLRUN) \
+               "-MExtUtils::Mkbootstrap" \
+               -e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');"
+       $(NOECHO) $(TOUCH) $@
+       $(CHMOD) $(PERM_RW) $@
+
+$(INST_BOOT) : $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists
+       $(NOECHO) $(RM_RF) $@
+       - $(CP) $(BOOTSTRAP) $@
+       $(CHMOD) $(PERM_RW) $@
+
+
+# --- MakeMaker dynamic_lib section:
+
+# This section creates the dynamically loadable $(INST_DYNAMIC)
+# from $(OBJECT) and possibly $(MYEXTLIB).
+ARMAYBE = :
+OTHERLDFLAGS = 
+INST_DYNAMIC_DEP = 
+INST_DYNAMIC_FIX = 
+
+$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) 
$(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) 
$(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
+       $(RM_F) $@
+       $(LD)  $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) \
+         $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST)    
\
+         $(INST_DYNAMIC_FIX)
+       $(CHMOD) $(PERM_RWX) $@
+
+
+# --- MakeMaker static section:
+
+## $(INST_PM) has been moved to the all: target.
+## It remains here for awhile to allow for old usage: "make static"
+static :: $(FIRST_MAKEFILE) $(INST_STATIC)
+       $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker static_lib section:
+
+$(INST_STATIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
+       $(RM_RF) $@
+       $(CP) $(MYEXTLIB) $@
+       $(FULL_AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@
+       $(CHMOD) $(PERM_RWX) $@
+       $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld
+
+
+# --- MakeMaker manifypods section:
+
+POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"
+POD2MAN = $(POD2MAN_EXE)
+
+
+manifypods : pure_all 
+       $(NOECHO) $(NOOP)
+
+
+
+
+# --- MakeMaker processPL section:
+
+
+# --- MakeMaker installbin section:
+
+
+# --- MakeMaker subdirs section:
+
+# The default clean, realclean and test targets in this Makefile
+# have automatically been given entries for each subdir.
+
+
+subdirs ::
+       $(NOECHO) cd mylib && $(MAKE) $(USEMAKEFILE) $(FIRST_MAKEFILE) all 
$(PASTHRU)
+
+
+# --- MakeMaker clean_subdirs section:
+clean_subdirs :
+       $(ABSPERLRUN)  -e 'chdir '\''mylib'\'';  system '\''$(MAKE) clean'\'' 
if -f '\''$(FIRST_MAKEFILE)'\'';' --
+
+
+# --- MakeMaker clean section:
+
+# Delete temporary files but do not touch installed files. We don't delete
+# the Makefile here so a later make realclean still has a makefile to use.
+
+clean :: clean_subdirs
+       - $(RM_F) \
+         *$(LIB_EXT) so_locations \
+         mon.out perl$(EXE_EXT) \
+         core.[0-9][0-9] *perl.core \
+         XSParagraph.c $(INST_ARCHAUTODIR)/extralibs.all \
+         core.[0-9][0-9][0-9][0-9][0-9] $(BASEEXT).bso \
+         perlmain.c pm_to_blib \
+         *$(OBJ_EXT) perl \
+         $(BASEEXT).x core \
+         tmon.out lib$(BASEEXT).def \
+         core.[0-9][0-9][0-9] MYMETA.json \
+         $(BASEEXT).exp core.[0-9] \
+         $(BOOTSTRAP) $(MAKE_APERL_FILE) \
+         core.*perl.*.? $(BASEEXT).def \
+         MYMETA.yml $(INST_ARCHAUTODIR)/extralibs.ld \
+         pm_to_blib.ts core.[0-9][0-9][0-9][0-9] \
+         blibdirs.ts perl.exe 
+       - $(RM_RF) \
+         blib 
+       - $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
+
+
+# --- MakeMaker realclean_subdirs section:
+realclean_subdirs :
+       - $(ABSPERLRUN)  -e 'chdir '\''mylib'\'';  system '\''$(MAKE) 
$(USEMAKEFILE) $(MAKEFILE_OLD) realclean'\'' if -f '\''$(MAKEFILE_OLD)'\'';' --
+       - $(ABSPERLRUN)  -e 'chdir '\''mylib'\'';  system '\''$(MAKE) 
$(USEMAKEFILE) $(FIRST_MAKEFILE) realclean'\'' if -f 
'\''$(FIRST_MAKEFILE)'\'';' --
+
+
+# --- MakeMaker realclean section:
+# Delete temporary files (via clean) and also delete dist files
+realclean purge ::  clean realclean_subdirs
+       - $(RM_F) \
+         $(FIRST_MAKEFILE) $(OBJECT) \
+         $(MAKEFILE_OLD) 
+       - $(RM_RF) \
+         $(DISTVNAME) 
+
+
+# --- MakeMaker metafile section:
+metafile : create_distdir
+       $(NOECHO) $(ECHO) Generating META.yml
+       $(NOECHO) $(ECHO) '---' > META_new.yml
+       $(NOECHO) $(ECHO) 'abstract: unknown' >> META_new.yml
+       $(NOECHO) $(ECHO) 'author:' >> META_new.yml
+       $(NOECHO) $(ECHO) '  - '\''A. U. Thor <address@hidden>'\''' >> 
META_new.yml
+       $(NOECHO) $(ECHO) 'build_requires:' >> META_new.yml
+       $(NOECHO) $(ECHO) '  ExtUtils::MakeMaker: 0' >> META_new.yml
+       $(NOECHO) $(ECHO) 'configure_requires:' >> META_new.yml
+       $(NOECHO) $(ECHO) '  ExtUtils::MakeMaker: 0' >> META_new.yml
+       $(NOECHO) $(ECHO) 'dynamic_config: 1' >> META_new.yml
+       $(NOECHO) $(ECHO) 'generated_by: '\''ExtUtils::MakeMaker version 6.66, 
CPAN::Meta::Converter version 2.120921'\''' >> META_new.yml
+       $(NOECHO) $(ECHO) 'license: unknown' >> META_new.yml
+       $(NOECHO) $(ECHO) 'meta-spec:' >> META_new.yml
+       $(NOECHO) $(ECHO) '  url: 
http://module-build.sourceforge.net/META-spec-v1.4.html' >> META_new.yml
+       $(NOECHO) $(ECHO) '  version: 1.4' >> META_new.yml
+       $(NOECHO) $(ECHO) 'name: XSParagraph' >> META_new.yml
+       $(NOECHO) $(ECHO) 'no_index:' >> META_new.yml
+       $(NOECHO) $(ECHO) '  directory:' >> META_new.yml
+       $(NOECHO) $(ECHO) '    - t' >> META_new.yml
+       $(NOECHO) $(ECHO) '    - inc' >> META_new.yml
+       $(NOECHO) $(ECHO) 'requires: {}' >> META_new.yml
+       $(NOECHO) $(ECHO) 'version: 6.0' >> META_new.yml
+       -$(NOECHO) $(MV) META_new.yml $(DISTVNAME)/META.yml
+       $(NOECHO) $(ECHO) Generating META.json
+       $(NOECHO) $(ECHO) '{' > META_new.json
+       $(NOECHO) $(ECHO) '   "abstract" : "unknown",' >> META_new.json
+       $(NOECHO) $(ECHO) '   "author" : [' >> META_new.json
+       $(NOECHO) $(ECHO) '      "A. U. Thor <address@hidden>"' >> META_new.json
+       $(NOECHO) $(ECHO) '   ],' >> META_new.json
+       $(NOECHO) $(ECHO) '   "dynamic_config" : 1,' >> META_new.json
+       $(NOECHO) $(ECHO) '   "generated_by" : "ExtUtils::MakeMaker version 
6.66, CPAN::Meta::Converter version 2.120921",' >> META_new.json
+       $(NOECHO) $(ECHO) '   "license" : [' >> META_new.json
+       $(NOECHO) $(ECHO) '      "unknown"' >> META_new.json
+       $(NOECHO) $(ECHO) '   ],' >> META_new.json
+       $(NOECHO) $(ECHO) '   "meta-spec" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '      "url" : 
"http://search.cpan.org/perldoc?CPAN::Meta::Spec";,' >> META_new.json
+       $(NOECHO) $(ECHO) '      "version" : "2"' >> META_new.json
+       $(NOECHO) $(ECHO) '   },' >> META_new.json
+       $(NOECHO) $(ECHO) '   "name" : "XSParagraph",' >> META_new.json
+       $(NOECHO) $(ECHO) '   "no_index" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '      "directory" : [' >> META_new.json
+       $(NOECHO) $(ECHO) '         "t",' >> META_new.json
+       $(NOECHO) $(ECHO) '         "inc"' >> META_new.json
+       $(NOECHO) $(ECHO) '      ]' >> META_new.json
+       $(NOECHO) $(ECHO) '   },' >> META_new.json
+       $(NOECHO) $(ECHO) '   "prereqs" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '      "build" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '         "requires" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '            "ExtUtils::MakeMaker" : "0"' >> 
META_new.json
+       $(NOECHO) $(ECHO) '         }' >> META_new.json
+       $(NOECHO) $(ECHO) '      },' >> META_new.json
+       $(NOECHO) $(ECHO) '      "configure" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '         "requires" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '            "ExtUtils::MakeMaker" : "0"' >> 
META_new.json
+       $(NOECHO) $(ECHO) '         }' >> META_new.json
+       $(NOECHO) $(ECHO) '      },' >> META_new.json
+       $(NOECHO) $(ECHO) '      "runtime" : {' >> META_new.json
+       $(NOECHO) $(ECHO) '         "requires" : {}' >> META_new.json
+       $(NOECHO) $(ECHO) '      }' >> META_new.json
+       $(NOECHO) $(ECHO) '   },' >> META_new.json
+       $(NOECHO) $(ECHO) '   "release_status" : "stable",' >> META_new.json
+       $(NOECHO) $(ECHO) '   "version" : "6.0"' >> META_new.json
+       $(NOECHO) $(ECHO) '}' >> META_new.json
+       -$(NOECHO) $(MV) META_new.json $(DISTVNAME)/META.json
+
+
+# --- MakeMaker signature section:
+signature :
+       cpansign -s
+
+
+# --- MakeMaker dist_basics section:
+distclean :: realclean distcheck
+       $(NOECHO) $(NOOP)
+
+distcheck :
+       $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck
+
+skipcheck :
+       $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck
+
+manifest :
+       $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest
+
+veryclean : realclean
+       $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old 
+
+
+
+# --- MakeMaker dist_core section:
+
+dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE)
+       $(NOECHO) $(ABSPERLRUN) -l -e 'print '\''Warning: Makefile possibly out 
of date with $(VERSION_FROM)'\''' \
+         -e '    if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' 
< -M '\''$(FIRST_MAKEFILE)'\'';' --
+
+tardist : $(DISTVNAME).tar$(SUFFIX)
+       $(NOECHO) $(NOOP)
+
+uutardist : $(DISTVNAME).tar$(SUFFIX)
+       uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > 
$(DISTVNAME).tar$(SUFFIX)_uu
+
+$(DISTVNAME).tar$(SUFFIX) : distdir
+       $(PREOP)
+       $(TO_UNIX)
+       $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
+       $(RM_RF) $(DISTVNAME)
+       $(COMPRESS) $(DISTVNAME).tar
+       $(POSTOP)
+
+zipdist : $(DISTVNAME).zip
+       $(NOECHO) $(NOOP)
+
+$(DISTVNAME).zip : distdir
+       $(PREOP)
+       $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)
+       $(RM_RF) $(DISTVNAME)
+       $(POSTOP)
+
+shdist : distdir
+       $(PREOP)
+       $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar
+       $(RM_RF) $(DISTVNAME)
+       $(POSTOP)
+
+
+# --- MakeMaker distdir section:
+create_distdir :
+       $(RM_RF) $(DISTVNAME)
+       $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
+               -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
+
+distdir : create_distdir distmeta 
+       $(NOECHO) $(NOOP)
+
+
+
+# --- MakeMaker dist_test section:
+disttest : distdir
+       cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL 
+       cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
+       cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
+
+
+
+# --- MakeMaker dist_ci section:
+
+ci :
+       $(PERLRUN) "-MExtUtils::Manifest=maniread" \
+         -e "@all = keys %{ maniread() };" \
+         -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
+         -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) 
@all});"
+
+
+# --- MakeMaker distmeta section:
+distmeta : create_distdir metafile
+       $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd 
-e 'exit unless -e q{META.yml};' \
+         -e 'eval { maniadd({q{META.yml} => q{Module YAML meta-data (added by 
MakeMaker)}}) }' \
+         -e '    or print "Could not add META.yml to MANIFEST: 
$$$${'\''@'\''}\n"' --
+       $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd 
-e 'exit unless -f q{META.json};' \
+         -e 'eval { maniadd({q{META.json} => q{Module JSON meta-data (added by 
MakeMaker)}}) }' \
+         -e '    or print "Could not add META.json to MANIFEST: 
$$$${'\''@'\''}\n"' --
+
+
+
+# --- MakeMaker distsignature section:
+distsignature : create_distdir
+       $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd 
-e 'eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by 
MakeMaker)}}) } ' \
+         -e '    or print "Could not add SIGNATURE to MANIFEST: 
$$$${'\''@'\''}\n"' --
+       $(NOECHO) cd $(DISTVNAME) && $(TOUCH) SIGNATURE
+       cd $(DISTVNAME) && cpansign -s
+
+
+
+# --- MakeMaker install section:
+
+install :: pure_install doc_install
+       $(NOECHO) $(NOOP)
+
+install_perl :: pure_perl_install doc_perl_install
+       $(NOECHO) $(NOOP)
+
+install_site :: pure_site_install doc_site_install
+       $(NOECHO) $(NOOP)
+
+install_vendor :: pure_vendor_install doc_vendor_install
+       $(NOECHO) $(NOOP)
+
+pure_install :: pure_$(INSTALLDIRS)_install
+       $(NOECHO) $(NOOP)
+
+doc_install :: doc_$(INSTALLDIRS)_install
+       $(NOECHO) $(NOOP)
+
+pure__install : pure_site_install
+       $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to 
INSTALLDIRS=site
+
+doc__install : doc_site_install
+       $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to 
INSTALLDIRS=site
+
+pure_perl_install :: all
+       $(NOECHO) $(MOD_INSTALL) \
+               read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \
+               write $(DESTINSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \
+               $(INST_LIB) $(DESTINSTALLPRIVLIB) \
+               $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
+               $(INST_BIN) $(DESTINSTALLBIN) \
+               $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+               $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \
+               $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR)
+       $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+               $(SITEARCHEXP)/auto/$(FULLEXT)
+
+
+pure_site_install :: all
+       $(NOECHO) $(MOD_INSTALL) \
+               read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \
+               write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \
+               $(INST_LIB) $(DESTINSTALLSITELIB) \
+               $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
+               $(INST_BIN) $(DESTINSTALLSITEBIN) \
+               $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
+               $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
+               $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
+       $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+               $(PERL_ARCHLIB)/auto/$(FULLEXT)
+
+pure_vendor_install :: all
+       $(NOECHO) $(MOD_INSTALL) \
+               read $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist \
+               write $(DESTINSTALLVENDORARCH)/auto/$(FULLEXT)/.packlist \
+               $(INST_LIB) $(DESTINSTALLVENDORLIB) \
+               $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
+               $(INST_BIN) $(DESTINSTALLVENDORBIN) \
+               $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
+               $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
+               $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
+
+doc_perl_install :: all
+       $(NOECHO) $(ECHO) Appending installation info to 
$(DESTINSTALLARCHLIB)/perllocal.pod
+       -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+       -$(NOECHO) $(DOC_INSTALL) \
+               "Module" "$(NAME)" \
+               "installed into" "$(INSTALLPRIVLIB)" \
+               LINKTYPE "$(LINKTYPE)" \
+               VERSION "$(VERSION)" \
+               EXE_FILES "$(EXE_FILES)" \
+               >> $(DESTINSTALLARCHLIB)/perllocal.pod
+
+doc_site_install :: all
+       $(NOECHO) $(ECHO) Appending installation info to 
$(DESTINSTALLARCHLIB)/perllocal.pod
+       -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+       -$(NOECHO) $(DOC_INSTALL) \
+               "Module" "$(NAME)" \
+               "installed into" "$(INSTALLSITELIB)" \
+               LINKTYPE "$(LINKTYPE)" \
+               VERSION "$(VERSION)" \
+               EXE_FILES "$(EXE_FILES)" \
+               >> $(DESTINSTALLARCHLIB)/perllocal.pod
+
+doc_vendor_install :: all
+       $(NOECHO) $(ECHO) Appending installation info to 
$(DESTINSTALLARCHLIB)/perllocal.pod
+       -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+       -$(NOECHO) $(DOC_INSTALL) \
+               "Module" "$(NAME)" \
+               "installed into" "$(INSTALLVENDORLIB)" \
+               LINKTYPE "$(LINKTYPE)" \
+               VERSION "$(VERSION)" \
+               EXE_FILES "$(EXE_FILES)" \
+               >> $(DESTINSTALLARCHLIB)/perllocal.pod
+
+
+uninstall :: uninstall_from_$(INSTALLDIRS)dirs
+       $(NOECHO) $(NOOP)
+
+uninstall_from_perldirs ::
+       $(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist
+
+uninstall_from_sitedirs ::
+       $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist
+
+uninstall_from_vendordirs ::
+       $(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist
+
+
+# --- MakeMaker force section:
+# Phony target to force checking subdirectories.
+FORCE :
+       $(NOECHO) $(NOOP)
+
+
+# --- MakeMaker perldepend section:
+PERL_HDRS = \
+        $(PERL_INC)/EXTERN.h            \
+        $(PERL_INC)/INTERN.h            \
+        $(PERL_INC)/XSUB.h            \
+        $(PERL_INC)/av.h            \
+        $(PERL_INC)/bitcount.h            \
+        $(PERL_INC)/charclass_invlists.h            \
+        $(PERL_INC)/config.h            \
+        $(PERL_INC)/cop.h            \
+        $(PERL_INC)/cv.h            \
+        $(PERL_INC)/dosish.h            \
+        $(PERL_INC)/embed.h            \
+        $(PERL_INC)/embedvar.h            \
+        $(PERL_INC)/fakesdio.h            \
+        $(PERL_INC)/fakethr.h            \
+        $(PERL_INC)/feature.h            \
+        $(PERL_INC)/form.h            \
+        $(PERL_INC)/git_version.h            \
+        $(PERL_INC)/gv.h            \
+        $(PERL_INC)/handy.h            \
+        $(PERL_INC)/hv.h            \
+        $(PERL_INC)/hv_func.h            \
+        $(PERL_INC)/inline.h            \
+        $(PERL_INC)/intrpvar.h            \
+        $(PERL_INC)/iperlsys.h            \
+        $(PERL_INC)/keywords.h            \
+        $(PERL_INC)/l1_char_class_tab.h            \
+        $(PERL_INC)/malloc_ctl.h            \
+        $(PERL_INC)/metaconfig.h            \
+        $(PERL_INC)/mg.h            \
+        $(PERL_INC)/mg_data.h            \
+        $(PERL_INC)/mg_raw.h            \
+        $(PERL_INC)/mg_vtable.h            \
+        $(PERL_INC)/mydtrace.h            \
+        $(PERL_INC)/nostdio.h            \
+        $(PERL_INC)/op.h            \
+        $(PERL_INC)/op_reg_common.h            \
+        $(PERL_INC)/opcode.h            \
+        $(PERL_INC)/opnames.h            \
+        $(PERL_INC)/overload.h            \
+        $(PERL_INC)/pad.h            \
+        $(PERL_INC)/parser.h            \
+        $(PERL_INC)/patchlevel.h            \
+        $(PERL_INC)/perl.h            \
+        $(PERL_INC)/perlapi.h            \
+        $(PERL_INC)/perlio.h            \
+        $(PERL_INC)/perliol.h            \
+        $(PERL_INC)/perlsdio.h            \
+        $(PERL_INC)/perlsfio.h            \
+        $(PERL_INC)/perlvars.h            \
+        $(PERL_INC)/perly.h            \
+        $(PERL_INC)/pp.h            \
+        $(PERL_INC)/pp_proto.h            \
+        $(PERL_INC)/proto.h            \
+        $(PERL_INC)/reentr.h            \
+        $(PERL_INC)/regcharclass.h            \
+        $(PERL_INC)/regcomp.h            \
+        $(PERL_INC)/regexp.h            \
+        $(PERL_INC)/regnodes.h            \
+        $(PERL_INC)/scope.h            \
+        $(PERL_INC)/sv.h            \
+        $(PERL_INC)/thread.h            \
+        $(PERL_INC)/time64.h            \
+        $(PERL_INC)/time64_config.h            \
+        $(PERL_INC)/uconfig.h            \
+        $(PERL_INC)/unicode_constants.h            \
+        $(PERL_INC)/unixish.h            \
+        $(PERL_INC)/utf8.h            \
+        $(PERL_INC)/utfebcdic.h            \
+        $(PERL_INC)/util.h            \
+        $(PERL_INC)/uudmap.h            \
+        $(PERL_INC)/warnings.h            
+
+$(OBJECT) : $(PERL_HDRS)
+
+XSParagraph.c : $(XSUBPPDEPS)
+
+
+# --- MakeMaker makefile section:
+
+$(OBJECT) : $(FIRST_MAKEFILE)
+
+# We take a very conservative approach here, but it's worth it.
+# We move Makefile to Makefile.old here to avoid gnu make looping.
+$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
+       $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"
+       $(NOECHO) $(ECHO) "Cleaning current config before rebuilding 
Makefile..."
+       -$(NOECHO) $(RM_F) $(MAKEFILE_OLD)
+       -$(NOECHO) $(MV)   $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
+       - $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL)
+       $(PERLRUN) Makefile.PL 
+       $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
+       $(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command.  <=="
+       $(FALSE)
+
+
+
+# --- MakeMaker staticmake section:
+
+# --- MakeMaker makeaperl section ---
+MAP_TARGET    = perl
+FULLPERL      = /usr/bin/perl5.18.1
+
+$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
+       $(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@
+
+$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib
+       $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
+       $(NOECHO) $(PERLRUNINST) \
+               Makefile.PL DIR=mylib \
+               MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \
+               MAKEAPERL=1 NORECURS=1 CCCDLFLAGS=
+
+
+# --- MakeMaker test section:
+
+TEST_VERBOSE=0
+TEST_TYPE=test_$(LINKTYPE)
+TEST_FILE = test.pl
+TEST_FILES = t/*.t
+TESTDB_SW = -d
+
+testdb :: testdb_$(LINKTYPE)
+
+test :: $(TEST_TYPE) subdirs-test
+
+subdirs-test ::
+       $(NOECHO) $(NOOP)
+
+subdirs-test ::
+       $(NOECHO) cd mylib && $(MAKE) test $(PASTHRU)
+
+
+test_dynamic :: pure_all
+       PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-e" 
"test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)
+
+testdb_dynamic :: pure_all
+       PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" 
"-I$(INST_ARCHLIB)" $(TEST_FILE)
+
+test_ : test_dynamic
+
+test_static :: pure_all $(MAP_TARGET)
+       PERL_DL_NONLAZY=1 ./$(MAP_TARGET) "-MExtUtils::Command::MM" "-e" 
"test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)
+
+testdb_static :: pure_all $(MAP_TARGET)
+       PERL_DL_NONLAZY=1 ./$(MAP_TARGET) $(TESTDB_SW) "-I$(INST_LIB)" 
"-I$(INST_ARCHLIB)" $(TEST_FILE)
+
+
+
+# --- MakeMaker ppd section:
+# Creates a PPD (Perl Package Description) for a binary distribution.
+ppd :
+       $(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="$(VERSION)">' > 
$(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '    <ABSTRACT></ABSTRACT>' >> $(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '    <AUTHOR>A. U. Thor 
&lt;address@hidden&gt;</AUTHOR>' >> $(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '    <IMPLEMENTATION>' >> $(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '        <ARCHITECTURE 
NAME="i486-linux-thread-multi-5.18" />' >> $(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '        <CODEBASE HREF="" />' >> $(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '    </IMPLEMENTATION>' >> $(DISTNAME).ppd
+       $(NOECHO) $(ECHO) '</SOFTPKG>' >> $(DISTNAME).ppd
+
+
+# --- MakeMaker pm_to_blib section:
+
+pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM)
+       $(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 
'pm_to_blib(address@hidden, '\''$(INST_LIB)/auto'\'', q[$(PM_FILTER)], 
'\''$(PERM_DIR)'\'')' -- \
+         lib/XSParagraph.pm blib/lib/XSParagraph.pm 
+       $(NOECHO) $(TOUCH) pm_to_blib
+
+
+# --- MakeMaker selfdocument section:
+
+# Full list of MakeMaker attribute values:
+# ABSPERL => q[$(PERL)]
+# ABSPERLRUN => q[$(ABSPERL)]
+# ABSPERLRUNINST => q[$(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"]
+# ABSTRACT => undef
+# ABSTRACT_FROM => q[lib/XSParagraph.pm]
+# AR => q[ar]
+# ARGS => { PREREQ_PM=>{  }, AUTHOR=>[q[A. U. Thor <address@hidden>]], 
MYEXTLIB=>q[mylib/libxspara.a], ABSTRACT_FROM=>q[lib/XSParagraph.pm], 
VERSION_FROM=>q[lib/XSParagraph.pm], NAME=>q[XSParagraph], INC=>q[-I.], 
LIBS=>[q[]], DEFINE=>q[] }
+# AR_STATIC_ARGS => q[cr]
+# AUTHOR => [q[A. U. Thor <address@hidden>]]
+# BASEEXT => q[XSParagraph]
+# BOOTDEP => q[]
+# BUILD_REQUIRES => {  }
+# C => [q[XSParagraph.c]]
+# CC => q[cc]
+# CCCDLFLAGS => q[-fPIC]
+# CCDLFLAGS => q[-Wl,-E -Wl,-rpath,/usr/lib/perl5/CORE]
+# CCFLAGS => q[-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64]
+# CFLAGS => q[ CCFLAGS = -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 OPTIMIZE = -O2 -march=i486 -mtune=i686 PERLTYPE =  
MPOLLUTE =  ]
+# CHILDREN => { PACK002=>PACK002=HASH(...) }
+# CHMOD => q[chmod]
+# CI => q[ci -u]
+# COMPRESS => q[gzip --best]
+# CONFIG => [q[ar], q[cc], q[cccdlflags], q[ccdlflags], q[dlext], q[dlsrc], 
q[exe_ext], q[full_ar], q[ld], q[lddlflags], q[ldflags], q[libc], q[lib_ext], 
q[obj_ext], q[osname], q[osvers], q[ranlib], q[sitelibexp], q[sitearchexp], 
q[so], q[vendorarchexp], q[vendorlibexp]]
+# CONFIGURE_REQUIRES => {  }
+# CONST_CCCMD => q[CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \    $(CCFLAGS) 
$(OPTIMIZE) \        $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \     
$(XS_DEFINE_VERSION)]
+# CP => q[cp]
+# DEFINE => q[]
+# DEFINE_VERSION => q[-D$(VERSION_MACRO)=\"$(VERSION)\"]
+# DESTDIR => q[]
+# DESTINSTALLARCHLIB => q[$(DESTDIR)$(INSTALLARCHLIB)]
+# DESTINSTALLBIN => q[$(DESTDIR)$(INSTALLBIN)]
+# DESTINSTALLMAN1DIR => q[$(DESTDIR)$(INSTALLMAN1DIR)]
+# DESTINSTALLMAN3DIR => q[$(DESTDIR)$(INSTALLMAN3DIR)]
+# DESTINSTALLPRIVLIB => q[$(DESTDIR)$(INSTALLPRIVLIB)]
+# DESTINSTALLSCRIPT => q[$(DESTDIR)$(INSTALLSCRIPT)]
+# DESTINSTALLSITEARCH => q[$(DESTDIR)$(INSTALLSITEARCH)]
+# DESTINSTALLSITEBIN => q[$(DESTDIR)$(INSTALLSITEBIN)]
+# DESTINSTALLSITELIB => q[$(DESTDIR)$(INSTALLSITELIB)]
+# DESTINSTALLSITEMAN1DIR => q[$(DESTDIR)$(INSTALLSITEMAN1DIR)]
+# DESTINSTALLSITEMAN3DIR => q[$(DESTDIR)$(INSTALLSITEMAN3DIR)]
+# DESTINSTALLSITESCRIPT => q[$(DESTDIR)$(INSTALLSITESCRIPT)]
+# DESTINSTALLVENDORARCH => q[$(DESTDIR)$(INSTALLVENDORARCH)]
+# DESTINSTALLVENDORBIN => q[$(DESTDIR)$(INSTALLVENDORBIN)]
+# DESTINSTALLVENDORLIB => q[$(DESTDIR)$(INSTALLVENDORLIB)]
+# DESTINSTALLVENDORMAN1DIR => q[$(DESTDIR)$(INSTALLVENDORMAN1DIR)]
+# DESTINSTALLVENDORMAN3DIR => q[$(DESTDIR)$(INSTALLVENDORMAN3DIR)]
+# DESTINSTALLVENDORSCRIPT => q[$(DESTDIR)$(INSTALLVENDORSCRIPT)]
+# DEV_NULL => q[> /dev/null 2>&1]
+# DFSEP => q[$(DIRFILESEP)]
+# DIR => [q[mylib]]
+# DIRFILESEP => q[/]
+# DISTNAME => q[XSParagraph]
+# DISTVNAME => q[XSParagraph-6.0]
+# DIST_CP => q[best]
+# DIST_DEFAULT => q[tardist]
+# DLBASE => q[$(BASEEXT)]
+# DLEXT => q[so]
+# DLSRC => q[dl_dlopen.xs]
+# DOC_INSTALL => q[$(ABSPERLRUN) -MExtUtils::Command::MM -e 
'perllocal_install' --]
+# ECHO => q[echo]
+# ECHO_N => q[echo -n]
+# EQUALIZE_TIMESTAMP => q[$(ABSPERLRUN) -MExtUtils::Command -e 'eqtime' --]
+# EXE_EXT => q[]
+# EXPORT_LIST => q[]
+# FALSE => q[false]
+# FIRST_MAKEFILE => q[Makefile]
+# FIXIN => q[$(ABSPERLRUN) -MExtUtils::MY -e 'MY->fixin(shift)' --]
+# FULLEXT => q[XSParagraph]
+# FULLPERL => q[/usr/bin/perl5.18.1]
+# FULLPERLRUN => q[$(FULLPERL)]
+# FULLPERLRUNINST => q[$(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"]
+# FULL_AR => q[/usr/bin/ar]
+# H => [q[ppport.h], q[xmacro.h]]
+# HAS_LINK_CODE => q[1]
+# INC => q[-I.]
+# INSTALLARCHLIB => q[/usr/lib/perl5]
+# INSTALLBIN => q[/usr/bin]
+# INSTALLDIRS => q[site]
+# INSTALLMAN1DIR => q[/usr/share/man/man1]
+# INSTALLMAN3DIR => q[/usr/share/man/man3]
+# INSTALLPRIVLIB => q[/usr/share/perl5]
+# INSTALLSCRIPT => q[/usr/bin]
+# INSTALLSITEARCH => q[/usr/local/lib/perl5]
+# INSTALLSITEBIN => q[/usr/local/bin]
+# INSTALLSITELIB => q[/usr/local/share/perl5]
+# INSTALLSITEMAN1DIR => q[/usr/local/share/man/man1]
+# INSTALLSITEMAN3DIR => q[/usr/local/share/man/man3]
+# INSTALLSITESCRIPT => q[/usr/local/bin]
+# INSTALLVENDORARCH => q[/usr/lib/perl5/vendor_perl]
+# INSTALLVENDORBIN => q[/usr/bin]
+# INSTALLVENDORLIB => q[/usr/share/perl5/vendor_perl]
+# INSTALLVENDORMAN1DIR => q[/usr/share/man/man1]
+# INSTALLVENDORMAN3DIR => q[/usr/share/man/man3]
+# INSTALLVENDORSCRIPT => q[/usr/bin]
+# INST_ARCHAUTODIR => q[$(INST_ARCHLIB)/auto/$(FULLEXT)]
+# INST_ARCHLIB => q[blib/arch]
+# INST_ARCHLIBDIR => q[$(INST_ARCHLIB)]
+# INST_AUTODIR => q[$(INST_LIB)/auto/$(FULLEXT)]
+# INST_BIN => q[blib/bin]
+# INST_BOOT => q[$(INST_ARCHAUTODIR)/$(BASEEXT).bs]
+# INST_DYNAMIC => q[$(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT)]
+# INST_LIB => q[blib/lib]
+# INST_LIBDIR => q[$(INST_LIB)]
+# INST_MAN1DIR => q[blib/man1]
+# INST_MAN3DIR => q[blib/man3]
+# INST_SCRIPT => q[blib/script]
+# INST_STATIC => q[$(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT)]
+# LD => q[cc]
+# LDDLFLAGS => q[-shared -O2 -march=i486 -mtune=i686 -L/usr/local/lib 
-fstack-protector]
+# LDFLAGS => q[ -fstack-protector -L/usr/local/lib]
+# LDFROM => q[$(OBJECT)]
+# LD_RUN_PATH => q[]
+# LIBC => q[/lib/libc-2.17.so]
+# LIBPERL_A => q[libperl.a]
+# LIBS => [q[]]
+# LIB_EXT => q[.a]
+# LINKTYPE => q[dynamic]
+# MACROEND => q[]
+# MACROSTART => q[]
+# MAKE => q[make]
+# MAKEFILE => q[Makefile]
+# MAKEFILE_OLD => q[Makefile.old]
+# MAKEMAKER => q[/usr/share/perl5/ExtUtils/MakeMaker.pm]
+# MAKE_APERL_FILE => q[Makefile.aperl]
+# MAN1EXT => q[1]
+# MAN1PODS => {  }
+# MAN3EXT => q[3]
+# MAN3PODS => {  }
+# MAP_TARGET => q[perl]
+# MKPATH => q[$(ABSPERLRUN) -MExtUtils::Command -e 'mkpath' --]
+# MM_REVISION => q[66600]
+# MM_Unix_VERSION => q[6.66]
+# MM_VERSION => q[6.66]
+# MOD_INSTALL => q[$(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => 
address@hidden, verbose => '\''$(VERBINST)'\'', uninstall_shadows => 
'\''$(UNINST)'\'', dir_mode => '\''$(PERM_DIR)'\'' ]);' --]
+# MV => q[mv]
+# MYEXTLIB => q[mylib/libxspara.a]
+# NAME => q[XSParagraph]
+# NAME_SYM => q[XSParagraph]
+# NEEDS_LINKING => q[1]
+# NOECHO => address@hidden
+# NOOP => q[$(TRUE)]
+# OBJECT => q[$(BASEEXT)$(OBJ_EXT)]
+# OBJ_EXT => q[.o]
+# OPTIMIZE => q[-O2 -march=i486 -mtune=i686]
+# OSNAME => q[linux]
+# OSVERS => q[3.10.9-smp]
+# O_FILES => [q[XSParagraph.o]]
+# PARENT_NAME => q[]
+# PERL => q[/usr/bin/perl5.18.1]
+# PERLMAINCC => q[$(CC)]
+# PERLPREFIX => q[/usr]
+# PERLRUN => q[$(PERL)]
+# PERLRUNINST => q[$(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"]
+# PERLTYPE => q[]
+# PERL_ARCHIVE => q[]
+# PERL_ARCHIVE_AFTER => q[]
+# PERL_ARCHLIB => q[/usr/lib/perl5]
+# PERL_CORE => q[0]
+# PERL_INC => q[/usr/lib/perl5/CORE]
+# PERL_LIB => q[/usr/share/perl5]
+# PERL_MALLOC_DEF => q[-DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc 
-Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc]
+# PERL_SRC => undef
+# PERM_DIR => q[755]
+# PERM_RW => q[644]
+# PERM_RWX => q[755]
+# PL_FILES => {  }
+# PM => { lib/XSParagraph.pm=>q[blib/lib/XSParagraph.pm] }
+# PMLIBDIRS => [q[lib]]
+# PMLIBPARENTDIRS => [q[lib]]
+# POSTOP => q[$(NOECHO) $(NOOP)]
+# PREFIX => q[$(SITEPREFIX)]
+# PREOP => q[$(NOECHO) $(NOOP)]
+# PREREQ_PM => {  }
+# RANLIB => q[:]
+# RCS_LABEL => q[rcs -Nv$(VERSION_SYM): -q]
+# RM_F => q[rm -f]
+# RM_RF => q[rm -rf]
+# SHAR => q[shar]
+# SHELL => q[/bin/sh]
+# SITEARCHEXP => q[/usr/local/lib/perl5]
+# SITELIBEXP => q[/usr/local/share/perl5]
+# SITEPREFIX => q[/usr/local]
+# SKIPHASH => {  }
+# SO => q[so]
+# SUFFIX => q[.gz]
+# TAR => q[tar]
+# TARFLAGS => q[cvf]
+# TEST_F => q[test -f]
+# TEST_REQUIRES => {  }
+# TOUCH => q[touch]
+# TO_UNIX => q[$(NOECHO) $(NOOP)]
+# TRUE => q[true]
+# UMASK_NULL => q[umask 0]
+# UNINST => q[0]
+# UNINSTALL => q[$(ABSPERLRUN) -MExtUtils::Command::MM -e 'uninstall' --]
+# USEMAKEFILE => q[-f]
+# VENDORARCHEXP => q[/usr/lib/perl5/vendor_perl]
+# VENDORLIBEXP => q[/usr/share/perl5/vendor_perl]
+# VENDORPREFIX => q[/usr]
+# VERBINST => q[0]
+# VERSION => q[6.0]
+# VERSION_FROM => q[lib/XSParagraph.pm]
+# VERSION_MACRO => q[VERSION]
+# VERSION_SYM => q[6_0]
+# WARN_IF_OLD_PACKLIST => q[$(ABSPERLRUN) -MExtUtils::Command::MM -e 
'warn_if_old_packlist' --]
+# XS => { XSParagraph.xs=>q[XSParagraph.c] }
+# XSPROTOARG => q[]
+# XS_DEFINE_VERSION => q[-D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"]
+# XS_VERSION => q[6.0]
+# XS_VERSION_MACRO => q[XS_VERSION]
+# ZIP => q[zip]
+# ZIPFLAGS => q[-r]
+# _MAX_EXEC_LEN => q[4096]
+
+# --- MakeMaker postamble section:
+
+
+# End.

Modified: trunk/tp/Texinfo/Convert/XSParagraph/README
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/README 2015-07-01 20:09:20 UTC (rev 
6370)
+++ trunk/tp/Texinfo/Convert/XSParagraph/README 2015-07-02 16:27:45 UTC (rev 
6371)
@@ -4,45 +4,13 @@
 Instructions for using this module
 ----------------------------------
 
-Copy tp/Texinfo/Convert/Plaintext.pm and make the following changes
+Uncomment the lines in tp/Texinfo/Convert/Plaintext.pm that use this 
+module.
 
-diff Texinfo/Convert/Plaintext.pm{,-USE-XSPARA}   32a33,36
-> use XSParagraph;
->
-> XSParagraph::hello;
-> 633c637,638
-<     $container = Texinfo::Convert::Paragraph->new($container_conf);
----
->     #$container = Texinfo::Convert::Paragraph->new($container_conf);
->     $container = XSParagraph->new($container_conf);
-
-So that Perl can find the module, you can create a wrapper script, like 
-the following as tp/wrap-texi2any.sh:
-
-----------------------------------------------------
-#! /usr/bin/env bash
-
-#DEBUG='perl -d'
-#OPTIONS='-c DEBUG=1 --no-validate'
-OPTIONS=''
-COMMAND=${COMMAND:-./texi2any}
-
-PERL5LIB=Texinfo/Convert/XSParagraph/lib:Texinfo/Convert/XSParagraph/blib/arch/auto/XSParagraph
 
-${DEBUG} ${COMMAND} ${OPTIONS} "$@"
-----------------------------------------------------
-
-This should be run from the tp/ directory.
-
 Caution: if you run an installed "makeinfo" from within the "tp/" 
 directory, it is likely to use the modules underneath "tp/", and not the 
 installed modules.
 
-Building the XSParagraph module
-------------------------------
-
-From within tp/Texinfo/Convert/XSParagraph, do "make -C mylib && make".  
-You may have to do "perl Makefile.PL" first.
-
 Debugging with gdb
 ------------------
 

Added: trunk/tp/Texinfo/Convert/XSParagraph/configure.ac
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/configure.ac                           
(rev 0)
+++ trunk/tp/Texinfo/Convert/XSParagraph/configure.ac   2015-07-02 16:27:45 UTC 
(rev 6371)
@@ -0,0 +1,22 @@
+AC_INIT([texinfo], [6.0])
+AM_INIT_AUTOMAKE
+LT_INIT
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_DEFUN([lookup_perl_conf],
+         [echo Getting Perl conf value $1
+          AC_SUBST([PERL_CONF_$1], [`./fetch_conf.pl $1`])
+         ])
+AC_PROG_CC
+lookup_perl_conf([ccflags])
+lookup_perl_conf([cccdlflags])
+lookup_perl_conf([archlibexp])
+# TODO: would be nice to be able to do lookup_perl_conf([ccflags cccdlflags])
+# A for loop doesn't work; it has to be expanded at m4 time
+
+AC_PATH_PROG([PERL], [perl])
+AC_PATH_PROG([XSUBPP], [xsubpp])
+
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT

Added: trunk/tp/Texinfo/Convert/XSParagraph/fetch_conf.pl
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/fetch_conf.pl                          
(rev 0)
+++ trunk/tp/Texinfo/Convert/XSParagraph/fetch_conf.pl  2015-07-02 16:27:45 UTC 
(rev 6371)
@@ -0,0 +1,9 @@
+#!/usr/bin/env perl
+use strict;
+
+use Config;
+
+my $name = shift;
+print $Config{$name};
+
+


Property changes on: trunk/tp/Texinfo/Convert/XSParagraph/fetch_conf.pl
___________________________________________________________________
Added: svn:executable
   + *

Modified: trunk/tp/Texinfo/Convert/XSParagraph/lib/XSParagraph.pm
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/lib/XSParagraph.pm     2015-07-01 
20:09:20 UTC (rev 6370)
+++ trunk/tp/Texinfo/Convert/XSParagraph/lib/XSParagraph.pm     2015-07-02 
16:27:45 UTC (rev 6371)
@@ -1,14 +1,17 @@
 # Copyright 2010, 2011, 2012, 2014 Free Software Foundation, Inc.
 
 package XSParagraph;
+require DynaLoader;
 
+use DynaLoader;
+
 use 5.018001;
 use strict;
 use warnings;
 
 require Exporter;
 
-our @ISA = qw(Exporter);
+our @ISA = qw(Exporter DynaLoader);
 
 # Items to export into callers namespace by default. Note: do not export
 # names by default without a very good reason. Use EXPORT_OK instead.
@@ -30,10 +33,98 @@
 );
 
 our $VERSION = '6.0';
+#bootstrap XSParagraph $VERSION;
 
-require XSLoader;
-XSLoader::load('XSParagraph', $VERSION);
+# We get this from XSParagraph.la
+# my $dlpath = "Texinfo/Convert/XSParagraph/.libs/XSParagraph.so.0";
 
+# The following uses the module built by the ExtUtils::MakeMaker makefile.
+# my $dlname = 
"Texinfo/Convert/XSParagraph/blib/arch/auto/XSParagraph/XSParagraph.so";
+
+
+# We look for the .la and .so files in @INC because this allows us to override
+# which modules are used using -I flags to "perl".
+sub _find_file($) {
+  my $file = shift;
+  for my $dir (@INC) {
+    #print "checking $dir/$file\n";
+    if (-f "$dir/$file") {
+      print "found $dir/$file\n";
+      return ($dir, "$dir/$file");
+    }
+  }
+  return undef;
+}
+
+my ($libtool_dir, $libtool_archive) = _find_file("XSParagraph.la");
+if (!$libtool_archive) {
+  die "XSParagraph: couldn't find Libtool archive file\n";
+}
+
+my $fh;
+open $fh, $libtool_archive;
+if (!$fh) {
+  die "XSParagraph: couldn't open Libtool archive file\n";
+}
+
+# Look for the line in XSParagraph.la giving the name of the loadable object.
+my $dlname = undef;
+while (my $line = <$fh>) {
+  if ($line =~ /^\s*dlname\s*=\s*'([^']+)'\s$/) {
+    $dlname = $1;
+    last;
+  }
+}
+if (!$dlname) {
+  die "XSParagraph: couldn't find name of shared object\n";
+}
+
+# The *.so file is under .libs in the source directory.
+push @DynaLoader::dl_library_path, $libtool_dir;
+push @DynaLoader::dl_library_path, "$libtool_dir/.libs";
+
+my $dlpath = DynaLoader::dl_findfile($dlname);
+if (!$dlpath) {
+  die "XSParagraph: couldn't find $dlname\n";
+}
+
+print STDERR "loadable object is at $dlpath\n";
+
+my $module = "XSParagraph";
+
+# Following steps under "bootstrap" in "man DynaLoader".
+
+# TODO: Execute blib/arch/auto/XSParagraph/XSParagraph.bs ?
+# That file is empty.
+
+#my $flags = dl_load_flags $module; # This is 0 in DynaLoader
+my $flags = 0;
+my $libref = DynaLoader::dl_load_file($dlpath, $flags);
+if (!$libref) {
+  die "XSParagraph: couldn't load file $dlpath\n";
+}
+my @undefined_symbols = DynaLoader::dl_undef_symbols();
+if ($#undefined_symbols+1 != 0) {
+  warn "XSParagraph: still have undefined symbols after dl_load_file\n";
+}
+my $symref = DynaLoader::dl_find_symbol($libref, "boot_$module");
+if (!$symref) {
+  die "XSParagraph: couldn't find boot_$module symbol\n";
+}
+my $boot_fn = DynaLoader::dl_install_xsub("${module}::bootstrap",
+                                                $symref, $dlname);
+
+if (!$boot_fn) {
+  die "XSParagraph: couldn't bootstrap\n";
+}
+
+push @DynaLoader::dl_shared_objects, $dlpath; # record files loaded
+
+# This is the module bootstrap function, which causes all the other
+# functions (XSUB's) provided by the module to become available to
+# be called from Perl code.
+&$boot_fn($module, $VERSION);
+
 # Preloaded methods go here.
 
 #########################################################################

Modified: trunk/tp/Texinfo/Convert/XSParagraph/mylib/xspara.c
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/mylib/xspara.c 2015-07-01 20:09:20 UTC 
(rev 6370)
+++ trunk/tp/Texinfo/Convert/XSParagraph/mylib/xspara.c 2015-07-02 16:27:45 UTC 
(rev 6371)
@@ -72,7 +72,7 @@
 void
 xspara_hello (void)
 {
-  /* puts ("hello world"); */
+  puts ("hello world");
   if (!setlocale (LC_CTYPE, "en_US.utf8"))
     {
       fprintf (stderr, "Couldn't set UTF-8 character type in locale.\n");




reply via email to

[Prev in Thread] Current Thread [Next in Thread]