Cwd.pm needs to be installed in lib before Encode recurses. Mark the dependency
Nicholas Clark [Tue, 15 Sep 2009 10:50:47 +0000 (11:50 +0100)]
Makefile.SH
make_ext.pl

index a343d61..83f1ad1 100644 (file)
@@ -190,6 +190,8 @@ for f in $dynamic_ext; do
 
     : Parallel makes reveal that we have some interdependencies
     case $f in
+       Encode) extra_dep="$extra_dep
+$this_target: lib/auto/Cwd/Cwd.$dlext" ;;
        Math/BigInt/FastCalc|Devel/NYTProf) extra_dep="$extra_dep
 $this_target: lib/auto/List/Util/Util.$dlext" ;;
        Unicode/Normalize) extra_dep="$extra_dep
index b0be209..fa12621 100644 (file)
@@ -200,6 +200,20 @@ elsif ($is_VMS) {
     push @extspec, (split ' ', $Config{nonxs_ext}) if $nonxs;
 }
 
+{
+    # Cwd needs to be built before Encode recurses into subdirectories.
+    # This seems to be the simplest way to ensure this ordering:
+    my (@first, @other);
+    foreach (@extspec) {
+       if ($_ eq 'Cwd') {
+           push @first, $_;
+       } else {
+           push @other, $_;
+       }
+    }
+    @extspec = (@first, @other);
+}
+
 foreach my $spec (@extspec)  {
     my $mname = $spec;
     $mname =~ s!/!::!g;