No semicolons after blocks.
[p5sagit/p5-mst-13.2.git] / ext / Encode / Makefile.PL
index 3a26ad8..cd20547 100644 (file)
@@ -1,26 +1,38 @@
-use 5.7.2;
-use strict;
+use 5.007003;
 use ExtUtils::MakeMaker;
 
-my %tables = (8859 => ['ascii.ucm', 'cp1250.ucm', 'koi8-r.ucm' ],
-              EBCDIC  => ['cp1047.ucm','cp37.ucm','posix-bc.ucm'],
-              Symbols => ['symbol.ucm','dingbats.ucm'],
-             );
+# Just for sure :)
+unless($ENV{PERL_CORE}) {
+    $ENV{PERL_CORE} = 1 if ($^X =~ m{\bminiperl[^/\\\]>:]*$}o);
+}
 
-opendir(ENC,'Encode');
-while (defined(my $file = readdir(ENC)))
-{
-    if ($file =~ /8859.*\.ucm/)
-    {
-       push(@{$tables{8859}},$file);
+my %tables = 
+    (
+     def_t => ['ascii.ucm',
+              '8859-1.ucm',
+              ]
+     );
+
+my @exe_files = qw(bin/enc2xs
+                  bin/piconv
+                  );
+my @more_exe_files = qw(
+                       unidump
+                       );
+my @pmlibdirs = qw(lib Encode);
+for my $arg (@ARGV){
+    if ($arg eq "MORE_SCRIPTS"){
+       push @exe_files, @more_exe_files;
+    }
+    if ($arg eq "INSTALL_UCM"){
+       push @pmlibdirs, "ucm";
     }
 }
-closedir(ENC);
-
 
 WriteMakefile(
              NAME              => "Encode",
-             VERSION_FROM      => 'lib/Encode.pm',
+             EXE_FILES         => \@exe_files,
+             VERSION_FROM      => 'Encode.pm',
              OBJECT            => '$(O_FILES)',
              'dist'            => {
                  COMPRESS      => 'gzip -9f',
@@ -28,6 +40,8 @@ WriteMakefile(
                  DIST_DEFAULT => 'all tardist',
              },
              MAN3PODS  => {},
+             INC       => "-I./Encode",
+             PMLIBDIRS => \@pmlibdirs,
              );
 
 package MY;
@@ -56,7 +70,7 @@ sub post_initialize
     my @files;
     foreach my $table (keys %tables)
     {
-       foreach my $ext (qw($(OBJ_EXT) .c .h .def .fnm))
+       foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm))
     {
        push (@files,$table.$ext);
     }
@@ -68,8 +82,8 @@ return '';
 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 $dir  = $self->catdir($self->curdir,'ucm');
+    my $str  = "# Encode\$(OBJ_EXT) depends on .h and .exh files not .c files - but all written by enc2xs\n";
     $str  .= 'Encode$(OBJ_EXT) :';
     foreach my $table (keys %tables)
     {
@@ -81,7 +95,8 @@ sub postamble
        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);
@@ -93,7 +108,10 @@ sub postamble
                $continuator = '';
            }
        }
-       $str .= "\n\t\$(PERL) compile -o \$\@ -f $table.fnm\n\n";
+       my $plib   = $self->{PERL_CORE} ? '"-I$(PERL_LIB)"' : '';
+       my $ucopts = '-"Q" -"O"';
+       $str .=
+           qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
        open (FILELIST, ">$table.fnm")
            || die "Could not open $table.fnm: $!";
        foreach my $file (@{$tables{$table}})