Add a pseudolayer ":locale" to the open pragma which
[p5sagit/p5-mst-13.2.git] / ext / Encode / Makefile.PL
index 754a326..97254ac 100644 (file)
@@ -1,14 +1,14 @@
 use ExtUtils::MakeMaker;
 
-my %tables = (iso8859 => ['ascii.enc', 'cp1250.enc'],
-              EBCDIC  => ['cp1047.enc','cp37.enc','posix-bc.enc'],
-              Symbols => ['symbol.enc','dingbats.enc'],
+my %tables = (iso8859 => ['ascii.ucm', 'cp1250.ucm', 'koi8-r.ucm' ],
+              EBCDIC  => ['cp1047.ucm','cp37.ucm','posix-bc.ucm'],
+              Symbols => ['symbol.ucm','dingbats.ucm'],
              );
 
 opendir(ENC,'Encode');
 while (defined(my $file = readdir(ENC)))
  {
-  if ($file =~ /iso8859.*\.enc/)
+  if ($file =~ /iso8859.*\.ucm/)
    {
     push(@{$tables{iso8859}},$file);
    }
@@ -39,19 +39,19 @@ sub post_initialize
  foreach my $f (@{$self->{'O_FILES'}})
   {
    $o{$f} = 1;
-  } 
+  }
  my $x = $self->{'OBJ_EXT'};
  # Add the table O_FILES
  foreach my $e (keys %tables)
   {
    $o{$e.$x} = 1;
-  }  
- # Reset the variable 
+  }
+ # Reset the variable
  $self->{'O_FILES'} = [sort keys %o];
  my @files;
  foreach my $table (keys %tables)
   {
-   foreach my $ext (qw($(OBJ_EXT) .c .h .def))
+   foreach my $ext (qw($(OBJ_EXT) .c .h .def .fnm))
     {
      push (@files,$table.$ext);
     }
@@ -64,9 +64,8 @@ sub postamble
 {
  my $self = shift;
  my $dir  = $self->catdir($self->curdir,'Encode');
- my $str  = "# Encode$(OBJ_EXT) depends on .h and .def files not .c files - but all written by compile\n";
+ my $str  = "# Encode\$(OBJ_EXT) depends on .h and .def files not .c files - but all written by compile\n";
  $str  .= 'Encode$(OBJ_EXT) :';
- my @rules;
  foreach my $table (keys %tables)
   {
    $str .= " $table.c";
@@ -74,17 +73,29 @@ sub postamble
  $str .= "\n\n";
  foreach my $table (keys %tables)
   {
+   my $numlines = 1;
+   my $lengthsofar = length($str);
+   my $continuator = '';
    $str .= "$table.c : compile Makefile.PL";
    foreach my $file (@{$tables{$table}})
     {
-     $str .= ' '.$self->catfile($dir,$file);
+     $str .= $continuator.' '.$self->catfile($dir,$file);
+     if ( length($str)-$lengthsofar > 128*$numlines )
+      {
+       $continuator .= " \\\n\t";
+       $numlines++;
+      } else {
+       $continuator = '';
+      }
     }
-   $str .= "\n\t\$(PERL) compile \$\@";
+   $str .= "\n\t\$(PERL) compile -o \$\@ -f $table.fnm\n\n";
+   open (FILELIST, ">$table.fnm")
+       || die "Could not open $table.fnm: $!";
    foreach my $file (@{$tables{$table}})
     {
-     $str .= ' '.$self->catfile($dir,$file);
+     print FILELIST $self->catfile($dir,$file) . "\n";
     }
-   $str .= "\n\n";
+   close(FILELIST);
   }
  return $str;
 }