use strict;
use ExtUtils::MakeMaker;
-my %tables = (8859 => ['ascii.ucm', 'cp1250.ucm', 'koi8-r.ucm', 'jis0201.ucm' ],
- EBCDIC => ['cp1047.ucm','cp37.ucm','posix-bc.ucm'],
- Symbols => ['symbol.ucm','dingbats.ucm'],
- );
+my %tables =
+ (
+ def_t => ['ascii.ucm',
+ '8859-1.ucm',
+ ]
+ );
-opendir(ENC,'Encode');
-while (defined(my $file = readdir(ENC)))
-{
- if ($file =~ /8859.*\.ucm/)
- {
- push(@{$tables{8859}},$file);
+my @exe_files = ();
+my @more_exe_files = qw(bin/enc2xs bin/piconv);
+
+for my $arg (@ARGV){
+ if ($arg eq "USE_SCRIPTS"){
+ push @exe_files, @more_exe_files;
}
}
-closedir(ENC);
-
WriteMakefile(
NAME => "Encode",
+ EXE_FILES => \@exe_files,
VERSION_FROM => 'Encode.pm',
OBJECT => '$(O_FILES)',
'dist' => {
DIST_DEFAULT => 'all tardist',
},
MAN3PODS => {},
+ INC => "-I./Encode"
);
package MY;
{
my $self = shift;
my $dir = $self->catdir($self->curdir,'Encode');
- my $str = "# Encode\$(OBJ_EXT) depends on .h and _def.h files not .c files - but all written by compile\n";
+ my $str = "# Encode\$(OBJ_EXT) depends on .h and _def.h files not .c files - but all written by enc2xs\n";
$str .= 'Encode$(OBJ_EXT) :';
foreach my $table (keys %tables)
{
my $numlines = 1;
my $lengthsofar = length($str);
my $continuator = '';
- $str .= "$table.c : compile Makefile.PL";
+ my $enc2xs = $self->catfile('bin', 'enc2xs');
+ $str .= "$table.c : $enc2xs Makefile.PL";
foreach my $file (@{$tables{$table}})
{
$str .= $continuator.' '.$self->catfile($dir,$file);
$continuator = '';
}
}
- if ($^O eq 'VMS' ) { # quote to preserve case
- $str .= qq{\n\t\$(PERL) compile -"O" -o \$\@ -f $table.fnm\n\n};
- } else {
- $str .= qq{\n\t\$(PERL) compile -O -o \$\@ -f $table.fnm\n\n};
- }
+ $str .= $^O eq 'VMS' # In VMS quote to preserve case
+ ? qq{\n\t\$(PERL) $enc2xs -"Q" -"O" -o \$\@ -f $table.fnm\n\n}
+ : qq{\n\t\$(PERL) $enc2xs -Q -O -o \$\@ -f $table.fnm\n\n};
open (FILELIST, ">$table.fnm")
|| die "Could not open $table.fnm: $!";
foreach my $file (@{$tables{$table}})