From: Randy W. Sims Date: Thu, 6 Apr 2006 22:33:04 +0000 (-0400) Subject: Fix Borland problem with quoted pre-processor macros in response files X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=3b91ae7afdaa3c016fc392dcbebaa10c1e7c4bb1;p=p5sagit%2Fp5-mst-13.2.git Fix Borland problem with quoted pre-processor macros in response files This should clear up the errors from Module/Build/t/ppm.t and Module/Build/t/xs.t in the Borland smokes. Subject: Re: Smoke [5.9.4] 27656 FAIL(F) MSWin32 WinXP/.Net SP2 (x86/2 cpu) From: "Randy W. Sims" Message-ID: <4435CF60.1000707@thepierianspring.org> See the thread here for details: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-04/msg00027.html p4raw-id: //depot/perl@28597 --- diff --git a/lib/ExtUtils/CBuilder/Platform/Windows.pm b/lib/ExtUtils/CBuilder/Platform/Windows.pm index 1ec89ee..b889a5e 100644 --- a/lib/ExtUtils/CBuilder/Platform/Windows.pm +++ b/lib/ExtUtils/CBuilder/Platform/Windows.pm @@ -9,7 +9,7 @@ use File::Spec; use ExtUtils::CBuilder::Base; use vars qw($VERSION @ISA); -$VERSION = '0.12'; +$VERSION = '0.12_01'; @ISA = qw(ExtUtils::CBuilder::Base); sub new { @@ -437,11 +437,16 @@ sub write_compiler_script { open( SCRIPT, ">$script" ) or die( "Could not create script '$script': $!" ); + # XXX Borland "response files" seem to be unable to accept macro + # definitions containing quoted strings. Escaping strings with + # backslash doesn't work, and any level of quotes are stripped. The + # result is is a floating point number in the source file where a + # string is expected. So we leave the macros on the command line. print SCRIPT join( "\n", map { ref $_ ? @{$_} : $_ } grep defined, delete( - @spec{ qw(includes cflags optimize defines perlinc) } ) + @spec{ qw(includes cflags optimize perlinc) } ) ); close SCRIPT;