Ken Williams wrote:

On Mar 24, 2006, at 9:29 PM, John E. Malmberg wrote:


Both lib/ExtUtils/CBuilder/t/01-basic.t and lib/ExtUtils/CBuilder/t/ 02-link both pass with that.


Cool - then I assume this small rewrite of that method also makes things pass?

Yes.

Note that there's perhaps still a problem here if someone's trying to override a $Config{ccflags} setting with one of the %args, because both will make it into the final string. I think the only way to solve that would be to parse keys & values out of the ccflags string and stick them in the hash too if they're not already there. But I'm not going to work on that just yet.

As long as the information from %args is placed after the one from $Config, the one from %args will override, usually with out a diagnostic.

Only the "include" files would be cumulative.

Another improvement for later is to remove duplicates from the include and the define list.

Older versions of OpenVMS and OpenVMS VAX have a limit of 1024 characters on the command line, which is the main incentive to remove overridden stuff from the command line.

In practice, I doubt that this is a problem in most cases.

Long pathnames may cause a more interesting wrinkle. OpenVMS requires pathnames in the command line to be less than 255 characters, but I would like to defer that discussion to another thread.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to