From ef75444d0873ab4b35070b6362867b7b712515e6 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sat, 12 Mar 2016 01:06:48 +0100 Subject: [PATCH] Avoid sed for dependency post-processing It turns out that different sed implementations treat -i differently to cause issues. make it simpler by avoiding it entirely and give perl the trust to be consistent enough. Reviewed-by: Rich Salz --- Configurations/unix-Makefile.tmpl | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index e6dba5d21a..ffe7551a7d 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -868,11 +868,6 @@ EOF } } - # The combination of perl and sed takes advantage of their respective - # capabilities. Some sed implementations aren't greedy (enough), which - # is problematic with the some regexps. However, the sed d command is - # simply easier in sed. - # # Should one wonder about the end of the Perl snippet, it's because this # second regexp eats up line endings as well, if the removed path is the # last in the line. We may therefore need to put back a line ending. @@ -894,8 +889,9 @@ $obj$depext: $deps rm -f \$\@.tmp; touch \$\@.tmp -\$(MAKEDEPEND) -f\$\@.tmp -o"|$obj$objext" -- \$(CFLAGS) $ecflags$incs -- $srcs \\ 2>/dev/null - perl -i -pe 's/^.*\\|//; s/ \\/(\\\\.|[^ ])*//; \$\$_.="\\n" unless /\\R\$\$/g' \$\@.tmp - sed -i -e '/: *\$\$/d' -e '/^\\(#.*\\| *\\)\$\$/d' \$\@.tmp + perl -i -pe 's/^.*\\|//; s/ \\/(\\\\.|[^ ])*//; #\\ + \$\$_ = undef if (/: *\$\$/ || /^(#.*| *)\$\$/); #\\ + \$\$_.="\\n" unless !defined(\$\$_) or /\\R\$\$/g;' \$\@.tmp \@if ! cmp \$\@.tmp \$\@ > /dev/null 2> /dev/null; then \\ mv \$\@.tmp \$\@; \\ else \\ -- 2.25.1