Dave Anderson wrote:
> I attached a .zip of Makefile.PL, Makefile, and error.txt which is text
> from my command prompt.

Thanks.

Poking through the code, the quoting is done by ExtUtils::MM_Unix->quote_paren() which pretty much just applies it to everything in the const_config section. Its been doing that since before I have history. There's no special cases in it for Windows.

The simple fix would be to use the platform specific quote_literal() instead of the generic quote_paren(). quote_literal() would have to be fixed to guard against parens as necessary.

Here's the problem, two problems. First, Windows has a lot of different quoting rules. They seem to go by what variant of make you're using and maybe particular version of Windows. I'm no expert. I'm not sure if its really safe to let parens go unescaped in general.

Then there's that the macros in const_config are going to be used by a lot of things, so there's a potentially large downstream impact of this change. It could break a lot of things. I don't want to do that at this point in MakeMaker's maturity.

Blarf. Normally I'd say "don't use a directory with parens in it" but that directory seems to be some standard Windows 2000 thing. I also see more than a few tools choke on it.

Can you write your module with Module::Build instead? That will be much better suited to dealing with weird characters, since its not trying to write out in nine different formats.

A work around for you would be to use replace quote_paren() with $self->quote_literal() in MM_Unix->const_config().

Sorry I don't have a better answer.


PS Don't send HTML mail to technical mailing lists, its a great source of flame wars.

--
101. I am not allowed to mount a bayonet on a crew-served weapon.
    -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
           http://skippyslist.com/list/

Reply via email to