Revise some of the placements into EU::PXS::Constants.
authorJames E. Keenan <jkeenan@cpan.org>
Sun, 14 Mar 2010 04:13:50 +0000 (23:13 -0500)
committerSteffen Mueller <smueller@cpan.org>
Tue, 12 Jul 2011 18:53:50 +0000 (20:53 +0200)
MANIFEST
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm [new file with mode: 0644]

index e1fa285..b835f72 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2971,26 +2971,27 @@ dist/ExtUtils-Install/t/Packlist.t                      See if Packlist works
 dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm                        Utilities to write MANIFEST files
 dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP              The default MANIFEST.SKIP
 dist/ExtUtils-Manifest/t/Manifest.t                            See if ExtUtils::Manifest works
-dist/ExtUtils-ParseXS/Changes                  ExtUtils::ParseXS change log
+dist/ExtUtils-ParseXS/Changes                                  ExtUtils::ParseXS change log
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm                ExtUtils::ParseXS guts
 dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm       ExtUtils::ParseXS guts
-dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm  converts Perl XS code into C code
-dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pod ExtUtils::ParseXS documentation
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm                  converts Perl XS code into C code
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pod                 ExtUtils::ParseXS documentation
 dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm                ExtUtils::ParseXS guts
-dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp      External subroutine preprocessor
-dist/ExtUtils-ParseXS/t/001-basic.t            See if ExtUtils::ParseXS works
-dist/ExtUtils-ParseXS/t/002-more.t             Extended ExtUtils::ParseXS testing
-dist/ExtUtils-ParseXS/t/003-usage.t            ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp                      External subroutine preprocessor
+dist/ExtUtils-ParseXS/t/001-basic.t                            See if ExtUtils::ParseXS works
+dist/ExtUtils-ParseXS/t/002-more.t                             Extended ExtUtils::ParseXS testing
+dist/ExtUtils-ParseXS/t/003-usage.t                            ExtUtils::ParseXS tests
 dist/ExtUtils-ParseXS/t/101-standard_typemap_locations.t       ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/102-trim_whitespace.t  ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/103-tidy_type.t                ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm   ExtUtils::ParseXS testing utility
-dist/ExtUtils-ParseXS/t/typemap                        Standard typemap for controlled testing
-dist/ExtUtils-ParseXS/t/XSInclude.xsh          Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSMore.xs              Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSTest.pm              Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSTest.xs              Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSUsage.pm             ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSUsage.xs             ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/102-trim_whitespace.t                  ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/103-tidy_type.t                                ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm                   ExtUtils::ParseXS testing utility
+dist/ExtUtils-ParseXS/t/typemap                                        Standard typemap for controlled testing
+dist/ExtUtils-ParseXS/t/XSInclude.xsh                          Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSMore.xs                              Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSTest.pm                              Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSTest.xs                              Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSUsage.pm                             ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSUsage.xs                             ExtUtils::ParseXS tests
 dist/File-CheckTree/lib/File/CheckTree.pm      Perl module supporting wholesale file mode validation
 dist/File-CheckTree/t/CheckTree.t              See if File::CheckTree works
 dist/Filter-Simple/lib/Filter/Simple.pm                                Simple frontend to Filter::Util::Call
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
new file mode 100644 (file)
index 0000000..f53b574
--- /dev/null
@@ -0,0 +1,36 @@
+package ExtUtils::ParseXS::Constants;
+use strict;
+use warnings;
+use Symbol;
+
+=head1 NAME
+
+ExtUtils::ParseXS::Constants - Initialization values for some globals
+
+=head1 SYNOPSIS
+
+  use ExtUtils::ParseXS::Constants ();
+
+  $proto_re = $ExtUtils::ParseXS::Constants::proto_re;
+
+=head1 DESCRIPTION
+
+Initialization of certain non-subroutine variables in ExtUtils::ParseXS and some of its
+supporting packages has been moved into this package so that those values can
+be defined exactly once and then re-used in any package.
+
+Nothing is exported.  Use fully qualified variable names.
+
+=cut
+
+our @XSStack      = ({type => 'none'});
+our $XSS_work_idx = 0;
+our $cpp_next_tmp = "XSubPPtmpAAAA";
+our @InitFileCode = ();
+our $FH           = Symbol::gensym();
+our $proto_re     = "[" . quotemeta('\$%&*@;[]') . "]";
+our $Overload     = 0;
+our $errors       = 0;
+our $Fallback     = '&PL_sv_undef';
+
+1;