Not all shells understand !
authorRichard Levitte <levitte@openssl.org>
Tue, 15 Mar 2016 08:05:20 +0000 (09:05 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 15 Mar 2016 21:28:16 +0000 (22:28 +0100)
In unix-Makefile.tmpl, this construction has been used a few times

if ! something; then ...

It seems, though, that some shells do not understand !, so these need
to be changed.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Configurations/unix-Makefile.tmpl

index e9288dc3de2441b4e128a90d1265bb2c76cf4587..da6b880bd2eae0e4fae62784d3072c0a099a0342 100644 (file)
@@ -283,10 +283,10 @@ depend:
            for d in $(DEPS); do \
              if [ -f $$d ]; then cat $$d; fi; \
            done ) > Makefile.new; \
-         if ! cmp Makefile.new Makefile >/dev/null 2>&1; then \
-           mv -f Makefile.new Makefile; \
-         else \
+         if cmp Makefile.new Makefile >/dev/null 2>&1; then \
            rm -f Makefile.new; \
+         else \
+           mv -f Makefile.new Makefile; \
          fi; \
        fi
        @: {- output_on() if $disabled{makedepend}; "" -}
@@ -895,10 +895,10 @@ $obj$depext: $deps
        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 \\
+       \@if cmp \$\@.tmp \$\@ > /dev/null 2> /dev/null; then \\
                rm -f \$\@.tmp; \\
+       else \\
+               mv \$\@.tmp \$\@; \\
        fi
 EOF
           $deps = $obj.$depext;
@@ -914,10 +914,10 @@ EOF
 $obj$objext: $deps
        \$(CC) \$(CFLAGS) $ecflags$incs -MMD -MF $obj$depext.tmp -MT \$\@ -c -o \$\@ $srcs
        \@touch $obj$depext.tmp
-       \@if ! cmp $obj$depext.tmp $obj$depext > /dev/null 2> /dev/null; then \\
-               mv $obj$depext.tmp $obj$depext; \\
-       else \\
+       \@if cmp $obj$depext.tmp $obj$depext > /dev/null 2> /dev/null; then \\
                rm -f $obj$depext.tmp; \\
+       else \\
+               mv $obj$depext.tmp $obj$depext; \\
        fi
 EOF
       }