This is the code to generate the pure_perl_install target on VMS.
# This hack brought to you by DCL's 255-character command line limit
pure_perl_install ::
$(NOECHO) $(PERL) -e "print 'read
].File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q[ '" >.MM_tmp
$(NOECHO) $(PERL) -e "print 'write
].File::Spec->catfile('$(INSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q[ '"
>>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_LIB) $(INSTALLPRIVLIB) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_ARCHLIB) $(INSTALLARCHLIB) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLBIN) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_MAN1DIR) $(INSTALLMAN1DIR) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLMAN3DIR) '" >>.MM_tmp
$(MOD_INSTALL) <.MM_tmp
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
all it's really doing is creatinga file (.MM_tmp) full of filenames
and feeding that to $(MOD_INSTALL). There's two reasons it's so
complicated.
1) DCL'S 255 character limit.
2) Constructing the .packlist paths in PERL_ARCHLIB.
It's #2 I want to talk about. Normally I'd just toss all those one
liners and throw in this:
pure_perl_install ::
$(NOECHO) OPEN/APPEND TMP .MM_tmp
$(NOECHO) WRITE TMP "$(INST_LIB) $(INSTALLPRIVLIB)"
$(NOECHO) WRITE TMP "$(INST_ARCHLIB) $(INSTALLARCHLIB)"
$(NOECHO) WRITE TMP "$(INST_BIN) $(INSTALLBIN)"
...etc...
$(NOECHO) CLOSE TMP
$(MOD_INSTALL) <.MM_tmp
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
since it's a VMS specific module, that should be fine.
Except for the file path concatination parts. There's *got* to be
some simple VMS equivalent of File::Spec->catfile we can use instead
of all these one-liners. What is it?
--
Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/
Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One
some sniff tubes of glue,
but I prefer to rub it in my poo,
and read Whinny and Tigger, too
like ODB at the Brooklyn Zoo.
-- Ubergirl's beau