Re: [Module::Build] have_c_compiler uncovers Windoze bug
Status: Beta
Brought to you by:
kwilliams
|
From: Ken W. <ke...@ma...> - 2003-11-29 16:32:38
|
On Saturday, November 29, 2003, at 04:56 AM, Randy W. Sims wrote: > On 10/30/2003 9:36 PM, Randy W. Sims wrote: >> Hi Ken, >> Version 1.220 of M::B::Base.pm uncovered a bug. On Windows, an >> executable requires different options to the linker than a dynamic >> library. Currently link_c() is configured strictly to produce >> libraries. A quick and perhaps naive fix is to introduce an optional >> paramater to link_c() to indicate the desired type of the output >> file. But, I want to > > Here is a tmp patch to fix have_c_compiler(). This is to fullfill what > the prophet Ken spoke to Yves and all of module-authors saying: > > "This is actually an unfortunate bug in version 0.21 on Win32. Other > previous versions have worked fine, and I believe this specific issue > has already been fixed in CVS." Ah yes. I wonder if all prophecy can be explained by wishful thinking. =) [...] > > This is due to a problem in ExtUtils::ParseXS. EU::ParseXS generates > lines like the following in the 'C' file: > > #line 20 "lib\XSTest.c" > > The backslash/Win32 dir separator in that string should be translated > to a forward slash or double backslash. This is not a fatal error; > it's just an annoying warning. Aha, I'll have to fix that too then. I'm not sure I understand the patch, though. It seems to just create a boot_compilet() C function, and make sure quotes are stripped from the object filename. How does this fix the issue? -Ken |