Hi John,

Thanks for the patch.  A couple questions:

1) I see both /include and /Include specified in various places in the source. Should your s/// be case-insensitive?

2) Would it be more appropriate to fold the include-dirs from ccflags into the user-specified ones, rather than throwing them away?

For the include-dirs issues, I'm thinking of a patch more like this instead:

=======================================================
--- lib/ExtUtils/CBuilder/Platform/VMS.pm 2005/05/20 00:50:04 1.7
+++ lib/ExtUtils/CBuilder/Platform/VMS.pm      2005/09/08 02:50:23
@@ -11,6 +11,13 @@

 sub arg_include_dirs {
-  my $self = shift;
-  return '/include=(' . join(',', @_) . ')';
+  my ($self, @dirs) = @_;
+
+  # VMS can only have one include list, remove the one from config.
+  if ($self->{config}{ccflags} =~ s{/include=\(([^\)]*)\)} {}i) {
+    unshift @dirs, $1;
+  }
+  return unless @dirs;
+
+  return ('/include=(' . join(',', @dirs) . ')');
 }

=======================================================

Thanks,

 -Ken


On Sep 7, 2005, at 6:59 PM, John E. Malmberg wrote:

This patch is needed for the lib/ExtUtils/ParseXS.t/basic.t test to pass on VMS.

In lib/ExtUtils/CBuilder/Platform/VMS.pm, VMS needs to have a pre-link file generated.

In lib/ExtUtils/CBuilder/Base.pm:

VMS can only have one /include qualifier on the CC command, and the last one wins, so if one is present in @ccflags, remove it.

VMS needs to have the executable named the same way that dynaloader will look for it.

VMS needs to have two option files specified in the link, one to indicate the exported symbols, and one to locate the PERLSHR image.

Reply via email to