Separate DBIC::_ENV_::* setup from loading of the main DBIx::Class module
Peter Rabbitson [Wed, 4 Dec 2013 06:19:42 +0000 (07:19 +0100)]
lib/DBIx/Class.pm
lib/DBIx/Class/_Util.pm

index c26c9d6..8dfb44b 100644 (file)
@@ -15,47 +15,7 @@ $VERSION = '0.08250';
 
 $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
 
-BEGIN {
-  package # hide from pause
-    DBIx::Class::_ENV_;
-
-  use Config;
-
-  use constant {
-
-    # but of course
-    BROKEN_FORK => ($^O eq 'MSWin32') ? 1 : 0,
-
-    HAS_ITHREADS => $Config{useithreads} ? 1 : 0,
-
-    # ::Runmode would only be loaded by DBICTest, which in turn implies t/
-    DBICTEST => eval { DBICTest::RunMode->is_author } ? 1 : 0,
-
-    # During 5.13 dev cycle HELEMs started to leak on copy
-    PEEPEENESS =>
-      # request for all tests would force "non-leaky" illusion and vice-versa
-      defined $ENV{DBICTEST_ALL_LEAKS}                                              ? !$ENV{DBICTEST_ALL_LEAKS}
-      # otherwise confess that this perl is busted ONLY on smokers
-    : eval { DBICTest::RunMode->is_smoker } && ($] >= 5.013005 and $] <= 5.013006)  ? 1
-      # otherwise we are good
-                                                                                    : 0
-    ,
-
-    ASSERT_NO_INTERNAL_WANTARRAY => $ENV{DBIC_ASSERT_NO_INTERNAL_WANTARRAY} ? 1 : 0,
-
-    IV_SIZE => $Config{ivsize},
-  };
-
-  if ($] < 5.009_005) {
-    require MRO::Compat;
-    constant->import( OLD_MRO => 1 );
-  }
-  else {
-    require mro;
-    constant->import( OLD_MRO => 0 );
-  }
-}
-
+use DBIx::Class::_Util;
 use mro 'c3';
 
 use DBIx::Class::Optional::Dependencies;
index 5b3a427..7430dfd 100644 (file)
@@ -6,6 +6,47 @@ use strict;
 
 use constant SPURIOUS_VERSION_CHECK_WARNINGS => ($] < 5.010 ? 1 : 0);
 
+BEGIN {
+  package # hide from pause
+    DBIx::Class::_ENV_;
+
+  use Config;
+
+  use constant {
+
+    # but of course
+    BROKEN_FORK => ($^O eq 'MSWin32') ? 1 : 0,
+
+    HAS_ITHREADS => $Config{useithreads} ? 1 : 0,
+
+    # ::Runmode would only be loaded by DBICTest, which in turn implies t/
+    DBICTEST => eval { DBICTest::RunMode->is_author } ? 1 : 0,
+
+    # During 5.13 dev cycle HELEMs started to leak on copy
+    PEEPEENESS =>
+      # request for all tests would force "non-leaky" illusion and vice-versa
+      defined $ENV{DBICTEST_ALL_LEAKS}                                              ? !$ENV{DBICTEST_ALL_LEAKS}
+      # otherwise confess that this perl is busted ONLY on smokers
+    : eval { DBICTest::RunMode->is_smoker } && ($] >= 5.013005 and $] <= 5.013006)  ? 1
+      # otherwise we are good
+                                                                                    : 0
+    ,
+
+    ASSERT_NO_INTERNAL_WANTARRAY => $ENV{DBIC_ASSERT_NO_INTERNAL_WANTARRAY} ? 1 : 0,
+
+    IV_SIZE => $Config{ivsize},
+  };
+
+  if ($] < 5.009_005) {
+    require MRO::Compat;
+    constant->import( OLD_MRO => 1 );
+  }
+  else {
+    require mro;
+    constant->import( OLD_MRO => 0 );
+  }
+}
+
 use Carp;
 use Scalar::Util qw(refaddr weaken);