Fix upgrading from versions < 0.10
Graham Knop [Sat, 30 Mar 2013 08:59:54 +0000 (04:59 -0400)]
Older versions are installed in archlib due to an XS component.  This
will shadow a newer version installed into lib.  Try to detect this
situation, and uninstall the older versions if needed.

Makefile.PL

index ee99c6a..b6344e0 100644 (file)
@@ -65,6 +65,21 @@ unless ( eval { ExtUtils::MakeMaker->VERSION('6.56') } ) {
   }
 }
 
+if (eval { require Devel::GlobalDestruction }
+    && Devel::GlobalDestruction->VERSION < 0.10) {
+  package MY;
+  no warnings 'once';
+
+  *install = sub {
+    my $self = shift;
+    return '
+pure_site_install ::
+       $(NOECHO) $(RM_F) ' . $self->quote_literal(
+      $self->catfile('$(DESTINSTALLSITEARCH)', 'Devel', 'GlobalDestruction.pm')
+    ) . "\n" . $self->SUPER::install;
+  };
+}
+
 delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
   unless eval { ExtUtils::MakeMaker->VERSION('6.52') };