integrate changes#2304,2305,2306,2308 from maint-5.005
Gurusamy Sarathy [Fri, 27 Nov 1998 15:00:42 +0000 (15:00 +0000)]
p4raw-link: @2308 on //depot/maint-5.005/perl: d9ff4e059542b05c512829c494eaa4d1a8c96869
p4raw-link: @2306 on //depot/maint-5.005/perl: 82bf2b55a275313af7da5198d3567127a2b619bb
p4raw-link: @2305 on //depot/maint-5.005/perl: fa8a3fc69bb318b2e84481c2b7919cb81c822866
p4raw-link: @2304 on //depot/maint-5.005/perl: 566aa6395795ff6a5a86565ea7a90bf3211e26a1

p4raw-id: //depot/perl@2326
p4raw-integrated: from //depot/maint-5.005/perl@2325 'copy in'
ext/DynaLoader/dl_mpeix.xs lib/ExtUtils/typemap (@1649..)
installperl (@2134..) lib/ExtUtils/MM_VMS.pm
lib/ExtUtils/MakeMaker.pm (@2154..) lib/ExtUtils/MM_Unix.pm
(@2304..)

lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MM_VMS.pm
lib/ExtUtils/MakeMaker.pm
lib/ExtUtils/typemap

index ca6d575..d36741c 100644 (file)
@@ -2749,10 +2749,13 @@ sub ppd {
     push(@m, "\t\@\$(PERL) -e \"print qq{<SOFTPKG NAME=\\\"$self->{DISTNAME}\\\" VERSION=\\\"$pack_ver\\\">\\n}");
     push(@m, ". qq{\\t<TITLE>$self->{DISTNAME}</TITLE>\\n}");
     my $abstract = $self->{ABSTRACT};
+    $abstract =~ s/\n/\\n/sg;
     $abstract =~ s/</&lt;/g;
     $abstract =~ s/>/&gt;/g;
     push(@m, ". qq{\\t<ABSTRACT>$abstract</ABSTRACT>\\n}");
     my ($author) = $self->{AUTHOR};
+    $author =~ s/</&lt;/g;
+    $author =~ s/>/&gt;/g;
     $author =~ s/@/\\@/g;
     push(@m, ". qq{\\t<AUTHOR>$author</AUTHOR>\\n}");
     push(@m, ". qq{\\t<IMPLEMENTATION>\\n}");
@@ -2892,13 +2895,18 @@ sub processPL {
     return "" unless $self->{PL_FILES};
     my(@m, $plfile);
     foreach $plfile (sort keys %{$self->{PL_FILES}}) {
+        my $list = ref($self->{PL_FILES}->{$plfile})
+               ? $self->{PL_FILES}->{$plfile}
+               : [$self->{PL_FILES}->{$plfile}];
+       foreach $target (@$list) {
        push @m, "
-all :: $self->{PL_FILES}->{$plfile}
+all :: $target
        $self->{NOECHO}\$(NOOP)
 
-$self->{PL_FILES}->{$plfile} :: $plfile
-       \$(PERL) -I\$(INST_ARCHLIB) -I\$(INST_LIB) -I\$(PERL_ARCHLIB) -I\$(PERL_LIB) $plfile
+$target :: $plfile
+       \$(PERL) -I\$(INST_ARCHLIB) -I\$(INST_LIB) -I\$(PERL_ARCHLIB) -I\$(PERL_LIB) $plfile $target
 ";
+       }
     }
     join "", @m;
 }
index e751c24..8f66a43 100644 (file)
@@ -1534,15 +1534,20 @@ sub processPL {
     return "" unless $self->{PL_FILES};
     my(@m, $plfile);
     foreach $plfile (sort keys %{$self->{PL_FILES}}) {
-       my $vmsplfile = vmsify($plfile);
-       my $vmsfile = vmsify($self->{PL_FILES}->{$plfile});
-       push @m, "
+        my $list = ref($self->{PL_FILES}->{$plfile})
+               ? $self->{PL_FILES}->{$plfile}
+               : [$self->{PL_FILES}->{$plfile}];
+       foreach $target (@$list) {
+           my $vmsplfile = vmsify($plfile);
+           my $vmsfile = vmsify($target);
+           push @m, "
 all :: $vmsfile
        \$(NOECHO) \$(NOOP)
 
 $vmsfile :: $vmsplfile
-",'    $(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" '," $vmsplfile
+",'    $(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" '," $vmsplfile $vmsfile
 ";
+       }
     }
     join "", @m;
 }
index 51fb62e..36afa91 100644 (file)
@@ -1577,7 +1577,11 @@ and the basename of the file being the value. E.g.
   {'foobar.PL' => 'foobar'}
 
 The *.PL files are expected to produce output to the target files
-themselves.
+themselves. If multiple files can be generated from the same *.PL
+file then the value in the hash can be a reference to an array of
+target file names. E.g.
+
+  {'foobar.PL' => ['foobar1','foobar2']}
 
 =item PM
 
index 28fd99c..b1ec063 100644 (file)
@@ -1,12 +1,12 @@
 # $Header$ 
 # basic C types
 int                    T_IV
-unsigned               T_IV
-unsigned int           T_IV
+unsigned               T_UV
+unsigned int           T_UV
 long                   T_IV
-unsigned long          T_IV
+unsigned long          T_UV
 short                  T_IV
-unsigned short         T_IV
+unsigned short         T_UV
 char                   T_CHAR
 unsigned char          T_U_CHAR
 char *                 T_PV
@@ -34,7 +34,7 @@ I16                   T_IV
 I8                     T_IV
 U32                    T_U_LONG
 U16                    T_U_SHORT
-U8                     T_IV
+U8                     T_UV
 Result                 T_U_CHAR
 Boolean                        T_IV
 double                 T_DOUBLE
@@ -73,6 +73,8 @@ T_CVREF
            croak(\"$var is not of type ${ntype}\")
 T_SYSRET
        $var NOT IMPLEMENTED
+T_UV
+       $var = ($type)SvUV($arg)
 T_IV
        $var = ($type)SvIV($arg)
 T_INT
@@ -82,19 +84,19 @@ T_ENUM
 T_BOOL
        $var = (int)SvIV($arg)
 T_U_INT
-       $var = (unsigned int)SvIV($arg)
+       $var = (unsigned int)SvUV($arg)
 T_SHORT
        $var = (short)SvIV($arg)
 T_U_SHORT
-       $var = (unsigned short)SvIV($arg)
+       $var = (unsigned short)SvUV($arg)
 T_LONG
        $var = (long)SvIV($arg)
 T_U_LONG
-       $var = (unsigned long)SvIV($arg)
+       $var = (unsigned long)SvUV($arg)
 T_CHAR
        $var = (char)*SvPV($arg,PL_na)
 T_U_CHAR
-       $var = (unsigned char)SvIV($arg)
+       $var = (unsigned char)SvUV($arg)
 T_FLOAT
        $var = (float)SvNV($arg)
 T_NV
@@ -191,6 +193,8 @@ T_CVREF
        $arg = newRV((SV*)$var);
 T_IV
        sv_setiv($arg, (IV)$var);
+T_UV
+       sv_setuv($arg, (UV)$var);
 T_INT
        sv_setiv($arg, (IV)$var);
 T_SYSRET
@@ -205,19 +209,19 @@ T_ENUM
 T_BOOL
        $arg = boolSV($var);
 T_U_INT
-       sv_setiv($arg, (IV)$var);
+       sv_setuv($arg, (UV)$var);
 T_SHORT
        sv_setiv($arg, (IV)$var);
 T_U_SHORT
-       sv_setiv($arg, (IV)$var);
+       sv_setuv($arg, (UV)$var);
 T_LONG
        sv_setiv($arg, (IV)$var);
 T_U_LONG
-       sv_setiv($arg, (IV)$var);
+       sv_setuv($arg, (UV)$var);
 T_CHAR
        sv_setpvn($arg, (char *)&$var, 1);
 T_U_CHAR
-       sv_setiv($arg, (IV)$var);
+       sv_setuv($arg, (UV)$var);
 T_FLOAT
        sv_setnv($arg, (double)$var);
 T_NV