develooper Front page | perl.perl5.porters | Postings from July 2001

Re: VMS-style command quoting and MakeMaker

Thread Previous | Thread Next
Peter Prymmer
July 9, 2001 14:00
Re: VMS-style command quoting and MakeMaker
Message ID:

On Wed, 4 Jul 2001, Michael G Schwern wrote:

> A question.  A good chunk of is just replacing this style:
>         $(PERL) -I$(INST_LIB) -e 'whatever'
> with this style
>         $(PERL) "-I$(INST_LIB)" -e 'whatever'
> Since I believe the later is perfectly acceptable on Unix, could we
> just fix up MM_Unix to do that and chuck most of MM_VMS?

You might want to try that out (moving some of the double quotation stuff
to  Since we are now doing things like:

    `$^X "-I../lib" -e 'whatever'`;

within the perl regression tests there might not be too bad an impact on
other platforms (the above will work on most Unices, NT, & VMS; the
'../lib'  would need changing to '::lib:' for Mac OS).

There is considerably more to MM_VMS than just the double quotations.  In
fact I would assert that much of is: 

0) getting around DCL's 255 character command line limit (that affects
command lines run from MMS or
MMK make utilities)

1) changing 'alist.o of_object.o files.o' to 
'alist$(OBJ), of_object$(OBJ), files$(OBJ)' (note the use of the commas in
the latter) 

2) creation of linker options files where steps 0 and 1 have
still not granted short enough link lines.

There is more too in that 2>&1 can work from perl (since it is handled in
vms/vms.c but the shell does not do that since it has:

 "\$ set message/nofacil/nosever/noident/notext\n";

which pretty unique to the default command language interpreter on VMS.

Hence it may prove difficult or impossible to get rid of,
certainly without littering with oodles of C<if ($^O eq 'VMS')>
which kind of defeats the whole code re-use idea of MakeMaker.

Peter Prymmer

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About