develooper Front page | perl.perl5.porters | Postings from January 2005

Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

Michael G Schwern
January 4, 2005 14:12
Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06
Message ID:
On Tue, Jan 04, 2005 at 04:56:28PM -0500, wrote:
> > Why would removing it as a dependency matter?
> Because of the subsequent action command:
> $ search descrip.mms "library/object/replace"/window
>         If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create
>         Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
>         $(NOECHO) $(PERL) -e 1 >$(INST_ARCHAUTODIR)extralibs.ld
> The library/object command knows when it is being
> asked to insert a non *.OBJ file into an OLB library
> because of the different file attributes that a text file
> like .exists has.

Ahh, $(MMS$SOURCE_LIST) is a list of all dependencies. I think it can be 
safely removed.  The logic is this:

    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");

Since the only time $(MMS$SOURCE_LIST) is used is when $(MYEXTLIB) is empty
and the only important dependencies are $(OBJECT) and $(MYEXTLIB) the list is
always going to be $(OBJECT) so both branches are effectively the same.  So 
this should solve the problem while keeping the dependency.

--- lib/ExtUtils/  (revision 4204)
+++ lib/ExtUtils/  (local)
@@ -994,11 +991,7 @@
     # 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
-    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)',"\
-    }
+    push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',"\n"); 
     push @m, "\t\$(NOECHO) \$(PERL) -e 1 >\$(INST_ARCHAUTODIR)extralibs.ld\n";
     foreach $lib (split ' ', $self->{EXTRALIBS}) {

Michael G Schwern
Make it too tough for the enemy to get in and you can't get out. Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About