develooper Front page | perl.vmsperl | Postings from September 2002

[PATCH MM 6.05] ppd and hints portability nits

Thread Next
From:
Craig A. Berry
Date:
September 14, 2002 14:37
Subject:
[PATCH MM 6.05] ppd and hints portability nits
Message ID:
3D83ABED.4070009@mac.com
The patch attached makes the following changes to ExtUtils-MakeMaker 6.05:

1.) MakeMaker.pm : check_hints()

There were two places where catdir was used but catfile was meant. On
systems where file syntax and directory syntax are indistinguishable
that might not matter, but on VMS it generates garbage and was causing
hints.t to fail.

2.) MM_Unix.pm : ppd()

There were several problems here.

a.) The make directive '@' in front of commands passed to the shell did
not have a space after it, leaving ambiguity about whether or not it was
part of the shell command. I've added the space and replaced it with the
more portable $(NOECHO) macro.

b.) The attribute values printed to the ppd file are surrounded with
double quotes per XML requirements, but there is no portable way to
escape double quotes inside of double-quoted strings that works on all
shells. I've replaced the occurrences of C<\"> with C<\x22> and added a
comment that I hope mitigates the obfuscation.

c.) All of the dependencies were being printed with one command, which
more often than not exceeds DCL's very limited command buffer, and with
a lot of dependencies could conceivably overflow even more generous
command buffers. I split this up to print each dependency with a
separate command.

After the patch all tests pass with Perl 5.8.0 on OpenVMS Alpha v7.3.
Testing on other platforms is encouraged.

N.B. I just happened to stumble on the ppd problems. There should
probably be a "make ppd" added to one of the tests, but which one?

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About