[openssl-commits] [openssl] OpenSSL_1_0_2-stable update
Richard Levitte
levitte at openssl.org
Wed Nov 16 23:34:59 UTC 2016
The branch OpenSSL_1_0_2-stable has been updated
via f4ef1c53486d378ab2e2ef3427c0eb1c2fea358f (commit)
via 7a9d7128d87d1572a0b7f99ff7b19d704395c8db (commit)
via 62f16de2d17af4ac1f3df4622b7bec850b60820a (commit)
via 22cc44d6b63e070cbff9770497f4fe6b3fa8d2a5 (commit)
via ecc955157af5f0fa19bcd74caaf52ec3fa18f755 (commit)
from 8ac70bef694e733cec0f19a9438af98991cb5fa3 (commit)
- Log -----------------------------------------------------------------
commit f4ef1c53486d378ab2e2ef3427c0eb1c2fea358f
Author: Orgad Shaneh <orgads at gmail.com>
Date: Mon Sep 19 15:12:08 2016 +0300
domd: Preserve Makefile time when it is unchanged
also on systems with makedepend that does not report its version, or that
its version does not contain "gcc" or "clang".
Some versions of makedepends just overwrite Makefile. Preserve the
timestamp of the previous Makefile, and copy it back if it is unchanged.
Reviewed-by: Rich Salz <rsalz at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1370)
commit 7a9d7128d87d1572a0b7f99ff7b19d704395c8db
Author: Orgad Shaneh <orgads at gmail.com>
Date: Sun Jul 31 09:18:22 2016 +0300
mklink: Do not needlessly overwrite linked files...
... on systems with symlinks.
Creating or overwriting a symlink sets the file ctime to the current time.
This causes needless rebuilds because the time of all the headers is
changed, and apparently make considers the link's time rather than the
time of the target.
Reviewed-by: Rich Salz <rsalz at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1370)
commit 62f16de2d17af4ac1f3df4622b7bec850b60820a
Author: Orgad Shaneh <orgads at gmail.com>
Date: Sun Jul 31 15:34:57 2016 +0300
domd: Do not needlessly overwrite Makefiles
Reviewed-by: Rich Salz <rsalz at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1370)
commit 22cc44d6b63e070cbff9770497f4fe6b3fa8d2a5
Author: Orgad Shaneh <orgads at gmail.com>
Date: Sun Jul 31 09:18:22 2016 +0300
mklink: Do not needlessly overwrite linked files...
... on systems without symlinks.
Overwriting all the headers on each Configure causes full rebuild even if
nothing has changed.
Reviewed-by: Rich Salz <rsalz at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1370)
commit ecc955157af5f0fa19bcd74caaf52ec3fa18f755
Author: Orgad Shaneh <orgads at gmail.com>
Date: Sun Jul 31 09:13:13 2016 +0300
Configure: Improve incremental build time
When Makefile/opensslconf.h is unchanged, don't write it at all.
Currently every time Configure is executed, these files are overwritten.
Makefile leads to regeneration of buildinf.h, and opensslconf.h is itself
a central header.
As a result, Configure triggers full rebuild, even if nothing is changed.
Reviewed-by: Rich Salz <rsalz at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1370)
-----------------------------------------------------------------------
Summary of changes:
Configure | 29 ++++++++++++++++++++++++-----
util/domd | 11 +++++++++--
util/mklink.pl | 8 +++++---
3 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/Configure b/Configure
index c39f71a..c26c9d7 100755
--- a/Configure
+++ b/Configure
@@ -7,6 +7,7 @@ eval 'exec perl -S $0 ${1+"$@"}'
require 5.000;
use strict;
+use File::Compare;
# see INSTALL for instructions.
@@ -1792,8 +1793,16 @@ while (<IN>)
}
close(IN);
close(OUT);
-rename($Makefile,"$Makefile.bak") || die "unable to rename $Makefile\n" if -e $Makefile;
-rename("$Makefile.new",$Makefile) || die "unable to rename $Makefile.new\n";
+if ((compare($Makefile, "$Makefile.new"))
+ or file_newer('Configure', $Makefile)
+ or file_newer('config', $Makefile)
+ or file_newer('Makefile.org', $Makefile))
+ {
+ rename($Makefile,"$Makefile.bak") || die "unable to rename $Makefile\n" if -e $Makefile;
+ rename("$Makefile.new",$Makefile) || die "unable to rename $Makefile.new\n";
+ }
+else
+ { unlink("$Makefile.new"); }
print "CC =$cc\n";
print "CFLAG =$cflags\n";
@@ -1985,9 +1994,13 @@ print OUT "#ifdef __cplusplus\n";
print OUT "}\n";
print OUT "#endif\n";
close(OUT);
-rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h";
-rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n";
-
+if (compare("crypto/opensslconf.h.new","crypto/opensslconf.h"))
+ {
+ rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h";
+ rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n";
+ }
+else
+ { unlink("crypto/opensslconf.h.new"); }
# Fix the date
@@ -2289,3 +2302,9 @@ sub test_sanity
print STDERR "No sanity errors detected!\n" if $errorcnt == 0;
return $errorcnt;
}
+
+sub file_newer
+ {
+ my ($file1, $file2) = @_;
+ return (stat($file1))[9] > (stat($file2))[9]
+ }
diff --git a/util/domd b/util/domd
index 95bb1b0..bc2a85f 100755
--- a/util/domd
+++ b/util/domd
@@ -11,7 +11,9 @@ if [ "$1" = "-MD" ]; then
fi
if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
-cp Makefile Makefile.save
+# Preserve Makefile timestamp by moving instead of copying (cp -p is GNU only)
+mv Makefile Makefile.save
+cp Makefile.save Makefile
# fake the presence of Kerberos
touch $TOP/krb5.h
if ${MAKEDEPEND} --version 2>&1 | grep "clang" > /dev/null ||
@@ -32,7 +34,12 @@ else
${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
RC=$?
fi
-mv Makefile.new Makefile
+if ! cmp -s Makefile.save Makefile.new; then
+ mv Makefile.new Makefile
+else
+ mv Makefile.save Makefile
+ rm -f Makefile.new
+fi
# unfake the presence of Kerberos
rm $TOP/krb5.h
diff --git a/util/mklink.pl b/util/mklink.pl
index 61db12c..a937606 100755
--- a/util/mklink.pl
+++ b/util/mklink.pl
@@ -55,9 +55,11 @@ if ($^O eq "msys") { $symlink_exists=0 };
foreach $file (@files) {
my $err = "";
if ($symlink_exists) {
- unlink "$from/$file";
- symlink("$to/$file", "$from/$file") or $err = " [$!]";
- } else {
+ if (!-l "$from/$file") {
+ unlink "$from/$file";
+ symlink("$to/$file", "$from/$file") or $err = " [$!]";
+ }
+ } elsif (-d "$from" && (!-f "$from/$file" || ((stat("$file"))[9] > (stat("$from/$file"))[9]))) {
unlink "$from/$file";
open (OLD, "<$file") or die "Can't open $file: $!";
open (NEW, ">$from/$file") or die "Can't open $from/$file: $!";
More information about the openssl-commits
mailing list