Michael G Schwern <[EMAIL PROTECTED]> wrote on 02/08/2005 09:31:48 AM:

> Its time for another MakeMaker alpha!  This one is mostly VMS fixes
though
> I also discovered a conflict with Module::Install and undid an accidental
> change that broken Archive::Zip.  As far as I know all outstanding issues
> are resolved, so this is release candidate... oh let's call it 4.
>
> http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.25_08.tar.gz
> or
> http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker
>
> Nick says code freeze for 5.8.7 is scheduled for end of Feburary.  I'd
> like to get 6.26 out before then.

This 6.25_08 kit appears to have the same problem with
multiple object files not being comma separated in the static_lib target
that I warned about in previous messages to the list:

http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2005-01/msg00030.html
http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2005-01/msg00031.html

and that I had also previously attempted to patch with:

http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2005-01/msg00032.html

Here is the tail end of the MMK command with 6.25_08 installed into
a perl 5.8.6 tree (with some added line wrapping) trying to build
Bit::Vector 6.3 (a CPAN extension especially chosen since it has
multiple $(OBJECT) files):

CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/NOANSI_ALIAS/float=ieee/ieee=denorm_results/Define=("VERSION=""6.3""",
"XS_VERSION=""6.3""")/Include=(perl_root:[lib.VMS_AXP.5_8_6.CORE])/NoList
VECTOR.c
If F$Search("[.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB").eqs."" Then
Library/Object/Create [.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB
Library/Object/Replace [.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB bitvector.obj
vector.obj
%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters
 \VECTOR\
%MMK-F-ERRUPD, error status %X00038098 occurred when updating target
[.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB

Note that the VMS LIBRARY command does not like to
insert space separated lists of .o files into an archive.
It will work with a comma separated list.

Enclosed is a patch taken against MM 6.25_08 that allows
MakeMaker's own "mmk test" suite to pass 100% and to allow me to
build Bit::Vector 6.3 on VMS:

diff -ru ExtUtils-MakeMaker-6.25_08.orig/lib/ExtUtils/MM_VMS.pm 
ExtUtils-MakeMaker-6.25_08/lib/ExtUtils/MM_VMS.pm
--- ExtUtils-MakeMaker-6.25_08.orig/lib/ExtUtils/MM_VMS.pm  2005-02-08 
09:07:02.000000000 -0500
+++ ExtUtils-MakeMaker-6.25_08/lib/ExtUtils/MM_VMS.pm 2005-02-18 
16:54:04.507216000 -0500
@@ -980,7 +980,10 @@

     my(@m,$lib);
     push @m,'
-$(INST_STATIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
+# Rely on suffix rule for update action
+$(OBJECT) : $(INST_ARCHAUTODIR)$(DFSEP).exists
+
+$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
 ';
     # If this extension has its own library (eg SDBM_File)
     # then copy that to $(INST_STATIC) and add $(OBJECT) into it.
@@ -991,7 +994,11 @@
     # if there was a library to copy, then we can't use MMS$SOURCE_LIST,
     # 'cause it's a library and you can't stick them in other libraries.
     # In that case, we use $OBJECT instead and hope for the best
-    push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',"\n");
+    if ($self->{MYEXTLIB}) {
+      push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',"\n");
+    } else {
+      push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) 
$(MMS$SOURCE_LIST)',"\n");
+    }

     push @m, "\t\$(NOECHO) \$(PERL) -e 1 >\$(INST_ARCHAUTODIR)extralibs.ld\n";
     foreach $lib (split ' ', $self->{EXTRALIBS}) {

Peter Prymmer

(See attached file: mm_6.25_08.patch)

Attachment: mm_6.25_08.patch
Description: Binary data

Reply via email to