[rt #75560] don't fallback to using DynaLoader when XSLoader fails
authorTony Cook <tony@develop-help.com>
Fri, 9 Mar 2012 08:15:32 +0000 (19:15 +1100)
committerTony Cook <tony@develop-help.com>
Fri, 9 Mar 2012 08:15:32 +0000 (19:15 +1100)
This was masking errors when the loadable object failed to load for
some reason other than XSLoader being unavailable.

The alternative was to only eval the load of XSLoader and keep the
fallback, but XSLoader has been core perl for a while.

30 files changed:
Changes
CountColor/CountColor.pm
DynTest/DynTest.pm
FT2/Changes
FT2/FT2.pm
FT2/Makefile.PL
Flines/Flines.pm
GIF/Changes
GIF/GIF.pm
GIF/Makefile.PL
ICO/ICO.pm
Imager.pm
JPEG/Changes
JPEG/JPEG.pm
JPEG/Makefile.PL
Makefile.PL
Mandelbrot/Mandelbrot.pm
PNG/Changes
PNG/Makefile.PL
PNG/PNG.pm
SGI/SGI.pm
T1/Changes
T1/Makefile.PL
T1/T1.pm
TIFF/Changes
TIFF/Makefile.PL
TIFF/TIFF.pm
W32/Changes
W32/Makefile.PL
W32/W32.pm

diff --git a/Changes b/Changes
index 765f83b671e89d67ce0b12442a4702b5900737b0..8087847b3f68315d5f875154d3080e848b4337aa 100644 (file)
--- a/Changes
+++ b/Changes
@@ -8,6 +8,11 @@ Imager release history.  Older releases can be found in Changes.old
    rather than the heading you can find them under.
    https://rt.cpan.org/Ticket/Display.html?id=71495
 
+ - Imager (and the bundled dynamic modules) no longer fallback to
+   using DynaLoader if loading via XSLoader fails.
+   For the bundled modules this could hide useful error messages.
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager 0.88 - 22 Feb 2012
 ===========
 
index b59a0693e2254e0c53fc3f45fe05684b9dbc372e..6d37af24515c8b078ba73cfdcf38514e0f575dbf 100644 (file)
@@ -6,18 +6,11 @@ require Exporter;
 @EXPORT_OK = 'count_color';
 
 BEGIN {
-  $VERSION = "0.01";
+  $VERSION = "0.02";
   @ISA = qw(Exporter);
   
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::CountColor', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::CountColor $VERSION;
-  };
+  require XSLoader;
+  XSLoader::load('Imager::CountColor', $VERSION);
 }
 
 1;
index 05f04a1f5c30312afddeb68acc40159006887ecb..cf795f15ed9da444eb3f8698b867701c8ec98274 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.01";
+  $VERSION = "0.02";
   
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::Filter::DynTest', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::Filter::DynTest $VERSION;
-  };
+  require XSLoader;
+  XSLoader::load('Imager::Filter::DynTest', $VERSION);
 }
 
 
index 27a58ad7bc60e0ab5c65290f5cbe63939c62e413..561bc69e9b359353411aa761ac079b32f1b004eb 100644 (file)
@@ -1,3 +1,9 @@
+Imager-Font-FT2 0.85
+====================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager-Font-FT2 0.84
 ====================
 
index bc8216afdb26e07ec0ae824d053952e250acaa79..aa83aab0fcae0d20cc67f14feddd705a236021b4 100644 (file)
@@ -5,17 +5,10 @@ use vars qw($VERSION @ISA);
 @ISA = qw(Imager::Font);
 
 BEGIN {
-  $VERSION = "0.84";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::Font::FT2', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::Font::FT2 $VERSION;
-  };
+  $VERSION = "0.85";
+
+  require XSLoader;
+  XSLoader::load('Imager::Font::FT2', $VERSION);
 }
 
 *_first = \&Imager::Font::_first;
index 676ae6e69500f46aeb7a05be05066fca225667ea..076e5a32656e06468749f3ab0883fdf9aa46b6c9 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index e7049d90be81eae76581620f67690efb34c35958..9b7ab04ea7a00a39ad088ff66cbcd6b8d1259476 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.02";
+  $VERSION = "0.03";
   
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::Filter::Flines', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::Filter::Flines $VERSION;
-  };
+  require XSLoader;
+  XSLoader::load('Imager::Filter::Flines', $VERSION);
 }
 
 Imager->register_filter(type=>'flines',
index 38531047485e714c7b973130351902a337ba5947..4c827ce7caece9a519475c3ce1c67deef488a33a 100644 (file)
@@ -1,3 +1,9 @@
+Imager-File-GIF 0.83
+====================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager-File-GIF 0.82
 ====================
 
index 0c40a6fb4b4fd8588081ed7a0dc9daad778215b4..1d2746918b42532411957305e437829cb2d41888 100644 (file)
@@ -4,18 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.82";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::File::GIF', $VERSION);
-    1;
-  } or do {
-print STDERR "Falling back to DynaLoader ($@)\n";
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::File::GIF $VERSION;
-  };
+  $VERSION = "0.83";
+
+  require XSLoader;
+  XSLoader::load('Imager::File::GIF', $VERSION);
 }
 
 Imager->register_reader
index 7b30f0ea7bcb8a687f8d3661abafb924aa6a8b11..9a746962f5046565f8dd697349202ebb33205df2 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index 0b5d84e7b06e030a75197b82f151110fc5c07191..2bc85306c504b9283708db96635c43d7f68b235f 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.02";
+  $VERSION = "0.03";
   
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::File::ICO', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::File::ICO $VERSION;
-  };
+  require XSLoader;
+  XSLoader::load('Imager::File::ICO', $VERSION);
 }
 
 Imager->register_reader
index 1f2aff604519590b2ea7035bf8e6d9d7f204777c..1142943756e013d26b62118c7a5901b0773ef2c4 100644 (file)
--- a/Imager.pm
+++ b/Imager.pm
@@ -149,15 +149,8 @@ BEGIN {
     @ISA = qw(Exporter);
   }
   $VERSION = '0.88';
-  eval {
-    require XSLoader;
-    XSLoader::load(Imager => $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager $VERSION;
-  }
+  require XSLoader;
+  XSLoader::load(Imager => $VERSION);
 }
 
 my %formats_low;
index 3b52d500d527057f3cc0ff2bae9bc8b15bd97204..b9c2c404af14e490ac7b163b757a950d27d7213f 100644 (file)
@@ -1,3 +1,9 @@
+Imager-File-JPEG 0.83
+=====================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager-File-JPEG 0.82
 =====================
 
index 04d35a50b4f5d095d4d50310322cf08bc1060df0..798b4f9349a56b5d0da3c6a889447573e6cbd31a 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.82";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::File::JPEG', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::File::JPEG $VERSION;
-  };
+  $VERSION = "0.83";
+
+  require XSLoader;
+  XSLoader::load('Imager::File::JPEG', $VERSION);
 }
 
 Imager->register_reader
index f07424a6cf470bd64c25bf2a1c3c29d14487b046..26c50d3446c4270d818af535ff326b5818883059 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index b9ce176c419330e3dba14e402affefff9b14795e..0f7a98bba0a7499000a09fa768c6f8fab1b1eda5 100644 (file)
@@ -186,6 +186,7 @@ my %opts=
    { 
     'Test::More' => 0.47,
     'Scalar::Util' => 1.00,
+    'XSLoader'    => 0,
    },
    TYPEMAPS       => \@typemaps,
   );
index 0351f41c449b92831ac50a221d172ae8b690f1dc..4b99c4ee7aa6b10e73bab033f91a0d7c46b365b3 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.02";
+  $VERSION = "0.03";
   
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::Filter::Mandelbrot', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::Filter::Mandelbrot $VERSION;
-  };
+  require XSLoader;
+  XSLoader::load('Imager::Filter::Mandelbrot', $VERSION);
 }
 
 sub _mandelbrot {
index bad789259e5b9f7cf0111cadc093d5777bb18278..00283e657bef143e6024b8b0ae11b4dd252f68a8 100644 (file)
@@ -1,3 +1,9 @@
+Imager-File-PNG 0.83
+====================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager-File-PNG 0.82
 ====================
 
index f951903afb7ec37e9b45ffc5e1a97eb15c514cd5..b610d96531023fe24db91c2fed87fee049459a4f 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index 7fe9611e26e1401ab9a95e918e966835061eacaf..f3ce983d6ce470fe12efc8b4406770e4b08491c4 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.82";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::File::PNG', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::File::PNG $VERSION;
-  };
+  $VERSION = "0.83";
+
+  require XSLoader;
+  XSLoader::load('Imager::File::PNG', $VERSION);
 }
 
 Imager->register_reader
index 53f3179e7dd72f75c1853732a17583e25db796f4..3a3bf90fc9eb3fc29356ed09e2df4a02a4046259 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.02";
+  $VERSION = "0.03";
   
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::File::SGI', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::File::SGI $VERSION;
-  };
+  require XSLoader;
+  XSLoader::load('Imager::File::SGI', $VERSION);
 }
 
 Imager->register_reader
index b5344e5316e0a5a48d8fdcb92869e60e1ffbd450..23c7f6d343d8cf1421bc5cdb77d209fdf61c24c3 100644 (file)
@@ -1,3 +1,9 @@
+Imager::Font::T1 1.017
+======================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager::Font::T1 1.016
 ======================
 
index 5bf9112f09274028f00ed077401b1e8e2dfb47cc..e358767dd0deca3e757fff7045038f0ea929d257 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index c04c760d8ca83e45dd340402563e1a5e854ee473..374fb5a7ad24ab7a7951e3967ea24238ec2f7e93 100644 (file)
--- a/T1/T1.pm
+++ b/T1/T1.pm
@@ -5,17 +5,10 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Imager::Font);
 
 BEGIN {
-  $VERSION = "1.016";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::Font::T1', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::Font::T1 $VERSION;
-  };
+  $VERSION = "1.017";
+
+  require XSLoader;
+  XSLoader::load('Imager::Font::T1', $VERSION);
 }
 
 
index b0ff1a39a57bd74e061007f620141c232eb7e624..37a8707436e8fc25f6b41908da8a414cb1053cd7 100644 (file)
@@ -1,3 +1,9 @@
+Imager-File-TIFF 0.83
+=====================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager-File-TIFF 0.82
 =====================
 
index f38980291bdb35067904a6f1df052bba4f25307a..f3804b21d7c1df028a3b3da58ea33107a08d53f9 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index 6eec9fef38cf9138d37d36a4fca8322814955601..55e3ca9b589b9b63917ff60201cff017b8b730be 100644 (file)
@@ -4,17 +4,10 @@ use Imager;
 use vars qw($VERSION @ISA);
 
 BEGIN {
-  $VERSION = "0.82";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::File::TIFF', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::File::TIFF $VERSION;
-  };
+  $VERSION = "0.83";
+
+  require XSLoader;
+  XSLoader::load('Imager::File::TIFF', $VERSION);
 }
 
 Imager->register_reader
index b209c49513592e08aabc83e86ea4c4e9d06c57e0..0dfa2fca7a8ca793296dad8eb6a3bffd7d92826c 100644 (file)
@@ -1,3 +1,9 @@
+Imager-Font-W32 0.84
+====================
+
+ - no longer fallback to using DynaLoader to load the XS code
+   https://rt.cpan.org/Ticket/Display.html?id=75560
+
 Imager-Font-W32 0.83
 ====================
 
index d701f6a237d2f295d28b57e549bf67274a5163fc..986674ae2d4fa426cd645b9de245bbd64b6be99a 100644 (file)
@@ -61,6 +61,7 @@ else {
     $opts{PREREQ_PM} =
       {
        @Imager_req,
+       XSLoader => 0,
       };
   }
 }
index 6dca27f6d9045cdf7747e7df391f1ae545616c3f..745bcc8a339ea8283d0d8f2b2c4820a05df7e9ab 100644 (file)
@@ -5,17 +5,10 @@ use vars qw($VERSION @ISA);
 @ISA = qw(Imager::Font);
 
 BEGIN {
-  $VERSION = "0.83";
-
-  eval {
-    require XSLoader;
-    XSLoader::load('Imager::Font::W32', $VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    push @ISA, 'DynaLoader';
-    bootstrap Imager::Font::W32 $VERSION;
-  };
+  $VERSION = "0.84";
+
+  require XSLoader;
+  XSLoader::load('Imager::Font::W32', $VERSION);
 }
 
 # called by Imager::Font::new()