On Monday, March 13, 2006, at 04:06PM, Ken Williams <[EMAIL PROTECTED]> wrote:
>BTW, is there a regression test that could have exposed this issue? > > -Ken It did show up in a number of the Module::Build failures, such as xs.t. Anything compiling XS-generated C would hit it since the version is defined on the command line. >On Mar 12, 2006, at 7:37 PM, Ken Williams wrote: > >> Thanks Craig. Yup, CBuilder is separately maintained, the nexus >> for development is often the Module::Build list. >> >> I'll apply this patch and make a new release. >> >> -Ken >> >> >> On Mar 12, 2006, at 6:01 PM, Craig A. Berry wrote: >> >>> The attached provides the special handling needed for C compiler >>> defines >>> in ExtUtils::CBuilder. This is against blead but I'm hoping the right >>> number after -p supplied to patch will apply cleanly to the CPAN >>> version >>> (which is separately maintained, right?). >>> --- lib/ExtUtils/CBuilder/Platform/VMS.pm;-0 Wed Sep 28 19:54:07 2005 >>> +++ lib/ExtUtils/CBuilder/Platform/VMS.pm Sat Mar 11 17:53:09 2006 >>> @@ -9,6 +9,21 @@ $VERSION = '0.12'; >>> >>> sub need_prelink { 0 } >>> >>> +sub arg_defines { >>> + my ($self, %args) = @_; >>> + >>> + s/"/""/g foreach values %args; >>> + >>> + my $config_defines = ''; >>> + >>> + # VMS can only have one define qualifier; add the one from >>> config, if any. >>> + if ($self->{config}{ccflags} =~ s{/def[^=]+(?:=)+(?:\()?([^\/\)] >>> *)} {}i) { >>> + $config_defines = "$1,"; >>> + } >>> + >>> + return ('/define=(' . $config_defines . join(',', map "\"$_= >>> $args{$_}\"", keys %args) . ')'); >>> +} >>> + >>> sub arg_include_dirs { >>> my ($self, @dirs) = @_; >>> >> > > >