ExtUtils::ParseXS: Explicitly require current version of submodules
authorSteffen Mueller <smueller@cpan.org>
Sun, 21 Aug 2011 20:07:50 +0000 (22:07 +0200)
committerSteffen Mueller <smueller@cpan.org>
Thu, 25 Aug 2011 07:27:01 +0000 (09:27 +0200)
Since there have been certain problems with parts of ExtUtils::ParseXS
being shadowed by older installations of the module, this commit adds
an explicit $VERSION to all submodules and requires them to have the
same version as the main module. This doesn't actually fix any problem,
but makes them more apparent as early as possible instead of failing
with obscure compile errors when bad C is generated from the original
XS.

dist/ExtUtils-ParseXS/Changes
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm

index 97a815b..3b8d8af 100644 (file)
@@ -1,5 +1,8 @@
 Revision history for Perl extension ExtUtils::ParseXS.
 
+  - Explicit versions in submodules to fail early if something
+    goes wrong.
+
 3.03_02 - Sun Aug 21 13:19:00 CET 2011
 
   - Properly strip trailing semicolons form inputmaps. These could
index 0f9dbfc..42e777e 100644 (file)
@@ -8,8 +8,16 @@ use Exporter;
 use File::Basename;
 use File::Spec;
 use Symbol;
-use ExtUtils::ParseXS::Constants ();
-use ExtUtils::ParseXS::CountLines;
+
+our $VERSION;
+BEGIN {
+  $VERSION = '3.03_02';
+}
+use ExtUtils::ParseXS::Constants $VERSION;
+use ExtUtils::ParseXS::CountLines $VERSION;
+use ExtUtils::ParseXS::Utilities $VERSION;
+$VERSION = eval $VERSION if $VERSION =~ /_/;
+
 use ExtUtils::ParseXS::Utilities qw(
   standard_typemap_locations
   trim_whitespace
@@ -35,8 +43,6 @@ our @EXPORT_OK = qw(
   process_file
   report_error_count
 );
-our $VERSION = '3.03_02';
-$VERSION = eval $VERSION if $VERSION =~ /_/;
 
 # The scalars in the line below remain as 'our' variables because pulling
 # them into $self led to build problems.  In most cases, strings being
index 3788dce..748f7e2 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use warnings;
 use Symbol;
 
+our $VERSION = '3.03_02';
+
 =head1 NAME
 
 ExtUtils::ParseXS::Constants - Initialization values for some globals
index d576c09..ba82a38 100644 (file)
@@ -1,5 +1,8 @@
 package ExtUtils::ParseXS::CountLines;
 use strict;
+
+our $VERSION = '3.03_02';
+
 our $SECTION_END_MARKER;
 
 sub TIEHANDLE {
index 7ff73d3..ef31f6e 100644 (file)
@@ -6,6 +6,8 @@ use File::Spec;
 use lib qw( lib );
 use ExtUtils::ParseXS::Constants ();
 
+our $VERSION = '3.03_02';
+
 our (@ISA, @EXPORT_OK);
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(