summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2001-01-13 11:31:55 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2001-01-13 11:31:55 +0000
commitc6fdb90a0a27837f63bec24b004f5841b85501e6 (patch)
tree75148c63e052d6ef57e1ec969e6084f5be47441c
parentff36efe6b37f0c3cee2adaa50f33037cc45f0645 (diff)
downloadperl-c6fdb90a0a27837f63bec24b004f5841b85501e6.tar.gz
VMS friendly patch to Encode compile process
p4raw-id: //depot/perlio@8433
-rw-r--r--ext/Encode/Makefile.PL29
-rwxr-xr-xext/Encode/compile8
2 files changed, 17 insertions, 20 deletions
diff --git a/ext/Encode/Makefile.PL b/ext/Encode/Makefile.PL
index 4b1ec95ad2..c86dacf109 100644
--- a/ext/Encode/Makefile.PL
+++ b/ext/Encode/Makefile.PL
@@ -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";
@@ -89,22 +88,14 @@ sub postamble
$continuator = '';
}
}
- $numlines = 1;
- $lengthsofar = length($str);
- $continuator = '';
- $str .= "\n\t\$(PERL) compile \$\@";
+ $str .= "\n\t\$(PERL) compile \$\@ $table.fnm\n\n";
+ open (FILELIST, ">$table.fnm")
+ || die "Could not open $table.fnm: $!";
foreach my $file (@{$tables{$table}})
{
- $str .= $continuator.' '.$self->catfile($dir,$file);
- if ( length($str)-$lengthsofar > 128*$numlines )
- {
- $continuator .= "\n\t\$(PERL) compile \$\@";
- $numlines++;
- } else {
- $continuator = '';
- }
+ print FILELIST $self->catfile($dir,$file) . "\n";
}
- $str .= "\n\n";
+ close(FILELIST);
}
return $str;
}
diff --git a/ext/Encode/compile b/ext/Encode/compile
index b890a04d81..03cea1918c 100755
--- a/ext/Encode/compile
+++ b/ext/Encode/compile
@@ -92,6 +92,12 @@ elsif ($cname =~ /\.ucm$/)
$doUcm = 1;
}
+# 2nd argument is file containing list of filenames
+my $flist = shift(@ARGV);
+open(FLIST,$flist) || die "Cannot open $flist:$!";
+chomp(my @encfiles = <FLIST>);
+close(FLIST);
+
my %encoding;
my %strings;
@@ -109,7 +115,7 @@ sub cmp_name
return $a cmp $b;
}
-foreach my $enc (sort cmp_name @ARGV)
+foreach my $enc (sort cmp_name @encfiles)
{
my ($name,$sfx) = $enc =~ /^.*?([\w-]+)\.(enc|ucm)$/;
if (open(E,$enc))