Fix some faults in util/mk1mf.pl
authorRichard Levitte <levitte@openssl.org>
Fri, 27 Mar 2015 00:41:00 +0000 (01:41 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 31 Mar 2015 13:21:18 +0000 (15:21 +0200)
When building on Unix, there are times when the 'EX_LIB' MINFO variable
contains valuable information.  Make sure to take care of it.

fixrules in util/pl/unix.pl was previously changed with a simpler fix of
rules, with a comment claiming that's compatible with -j.  Unfortunately,
this breaks multiline rules and doesn't change anything for single line
rules.  While at it, do not prefix pure echo lines with a 'cd $(TEST_D) &&',
as that's rather silly.

Reviewed-by: Andy Polyakov <appro@openssl.org>
util/mk1mf.pl
util/pl/unix.pl

index d3379d2..3ad17f6 100755 (executable)
@@ -393,6 +393,9 @@ for (;;)
        if ($key eq "LIBKRB5")
                { $ex_libs .= " $val" if $val ne "";}
 
+       if ($key eq "EX_LIBS")
+               { $ex_libs .= " $val" if $val ne "";}
+
        if ($key eq "TEST" && (!$fipscanisteronly || $dir =~ /^fips/ ))
                { $test.=&var_add($dir,$val, 0); }
 
index df4de71..c4b7e8e 100644 (file)
@@ -230,8 +230,8 @@ sub fixrules
   my ($str) = @_;
 
   # Compatible with -j...
-  $str =~ s/^(\s+@?)/$1cd \$(TEST_D) && /;
-  return $str;
+#  $str =~ s/^(\s+@?)/$1cd \$(TEST_D) && /;
+#  return $str;
 
   # Compatible with not -j.
   my @t = split("\n", $str);
@@ -243,11 +243,11 @@ sub fixrules
     if (!$prev)
       {
       if ($t =~ /^@/)
-       {
+        {
         $t =~ s/^@/\@cd \$(TEST_D) && /;
         }
-      elsif ($t !~ /^\s*#/)
-       {
+      elsif ($t !~ /^\s*#/ && $t !~ /^echo/)
+        {
         $t = 'cd $(TEST_D) && ' . $t;
         }
       }