integrate cfgperl contents into mainline
[p5sagit/p5-mst-13.2.git] / lib / ExtUtils / MM_VMS.pm
index 5eccf78..57a8146 100644 (file)
@@ -278,14 +278,14 @@ sub find_perl {
        print "Checking $name\n" if ($trace >= 2);
        # If it looks like a potential command, try it without the MCR
        if ($name =~ /^[\w\-\$]+$/ &&
-           `$name -e "require $ver; print ""VER_OK\n"""` =~ /VER_OK/) {
+            `$name -e "require $ver; print ""VER_OK\\n"""` =~ /VER_OK/) {
            print "Using PERL=$name\n" if $trace;
            return $name;
        }
        next unless $vmsfile = $self->maybe_command($name);
        $vmsfile =~ s/;[\d\-]*$//;  # Clip off version number; we can use a newer version as well
        print "Executing $vmsfile\n" if ($trace >= 2);
-       if (`MCR $vmsfile -e "require $ver; print ""VER_OK\n"""` =~ /VER_OK/) {
+        if (`MCR $vmsfile -e "require $ver; print ""VER_OK\\n"""` =~ /VER_OK/) {
            print "Using PERL=MCR $vmsfile\n" if $trace;
            return "MCR $vmsfile";
        }
@@ -717,7 +717,7 @@ sub cflags {
 
     $self->{OPTIMIZE} ||= $flagoptstr || $Config{'optimize'};
     if ($self->{OPTIMIZE} !~ m!/!) {
-       if    ($self->{OPTIMIZE} =~ m!\b-g\b!) { $self->{OPTIMIZE} = '/Debug/NoOptimize' }
+       if    ($self->{OPTIMIZE} =~ m!-g!) { $self->{OPTIMIZE} = '/Debug/NoOptimize' }
        elsif ($self->{OPTIMIZE} =~ /-O(\d*)/) {
            $self->{OPTIMIZE} = '/Optimize' . (defined($1) ? "=$1" : '');
        }
@@ -1182,12 +1182,18 @@ $(BASEEXT).opt : Makefile.PL
 
     push @m, ' $(PERL) -e "print ""$(INST_STATIC)/Include=';
     if ($self->{OBJECT} =~ /\bBASEEXT\b/ or
-        $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) { push @m, '$(BASEEXT)'; }
+        $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) { 
+        push @m, ($Config{d_vms_case_sensitive_symbols}
+                  ? uc($self->{BASEEXT}) :'$(BASEEXT)');
+    }
     else {  # We don't have a "main" object file, so pull 'em all in
+       # Upcase module names if linker is being case-sensitive
+       my($upcase) = $Config{d_vms_case_sensitive_symbols};
        my(@omods) = map { s/\.[^.]*$//;         # Trim off file type
                           s[\$\(\w+_EXT\)][];   # even as a macro
                           s/.*[:>\/\]]//;       # Trim off dir spec
-                          $_; } split ' ', $self->eliminate_macros($self->{OBJECT});
+                          $upcase ? uc($_) : $_;
+                        } split ' ', $self->eliminate_macros($self->{OBJECT});
        my($tmp,@lines,$elt) = '';
        my $tmp = shift @omods;
        foreach $elt (@omods) {