Amend pod_lib.pl to work with miniperl (no dynamic loading)
authorJess Robinson <castaway@desert-island.me.uk>
Fri, 18 Jan 2013 15:54:51 +0000 (15:54 +0000)
committerBrian Fraser <fraserbn@gmail.com>
Wed, 18 Dec 2013 23:14:37 +0000 (20:14 -0300)
This is to allow cross-compilation builds to run installperl using a
host miniperl instead of the built Perl binary.

Porting/pod_lib.pl

index 06c3294..ed8e8ef 100644 (file)
@@ -1,7 +1,6 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Digest::MD5 'md5';
 use File::Find;
 
 =head1 NAME
@@ -62,6 +61,17 @@ Prints C<ABORTED> to STDERR.
 
 =cut
 
+# In some situations, eg cross-compiling, we get run with miniperl, so we can't use Digest::MD5
+my $has_md5;
+BEGIN {
+    use Carp;
+    $has_md5 = eval { require Digest::MD5; Digest::MD5->import('md5');  1; };
+}
+
+
+# make it clearer when we haven't run to completion, as we can be quite
+# noisy when things are working ok
+
 sub my_die {
     print STDERR "$0: ", @_;
     print STDERR "\n" unless $_[-1] =~ /\n\z/;
@@ -366,6 +376,8 @@ my %state = (
         my $file = shift;
         local $_;
 
+        return if !$has_md5;
+
         # Initialise the list of possible source files on the first call.
         unless (%Lengths) {
             __prime_state() unless $state{master};