From: Andy Polyakov <appro@openssl.org>
Date: Mon, 2 May 2016 21:38:11 +0000 (+0200)
Subject: Configurations/unix-Makefile.tmpl: don't count on -E -P.
X-Git-Tag: OpenSSL_1_1_0-pre6~943
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=39199fb3b052bd19a5c2a65c51721222e6d856b5;p=oweals%2Fopenssl.git

Configurations/unix-Makefile.tmpl: don't count on -E -P.

Some non-Gnu compilers interpret -E -P combination differently.
some prioritize -E over -P, others -P over -E (in which case .i
file is generated and sometimes truncated because of redirection).

Reviewed-by: Richard Levitte <levitte@openssl.org>
---

diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 974a978fb3..ea3b7083e6 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -846,7 +846,9 @@ EOF
 $target: $args{generator}->[0] $deps
 	( trap "rm -f \$@.*" INT 0; \\
 	  $generator \$@.S; \\
-	  \$(CC) \$(CFLAGS) $incs -E -P \$@.S > \$@.i && mv -f \$@.i \$@ )
+	  \$(CC) \$(CFLAGS) $incs -E \$@.S | \\
+	  \$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@.i && \\
+	  mv -f \$@.i \$@ )
 EOF
               }
               # Otherwise....
@@ -857,7 +859,8 @@ EOF
           }
           return <<"EOF";
 $args{src}: $args{generator}->[0] $deps
-	\$(CC) \$(CFLAGS) $incs -E -P \$< > \$@
+	\$(CC) \$(CFLAGS) $incs -E \$< | \\
+	\$(PERL) -ne '/^#(line)?\\s*[0-9]+/ or print' > \$@
 EOF
       }
   }