Recorded merge of revisions 84902 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84902 | hirokazu.yamamoto | 2010-09-19 18:24:20 +0900 | 1 line

  Issue #9552: Avoid unnecessary rebuild of OpenSSL. (Windows)
........
diff --git a/Misc/NEWS b/Misc/NEWS
index 0c4678b..8a8dcb4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -332,6 +332,8 @@
 Build
 -----
 
+- Issue #9552: Avoid unnecessary rebuild of OpenSSL. (Windows)
+
 - Issue #9810: Compile bzip2 source files in python's project file
   directly. It used to be built with bzip2's makefile.
 
diff --git a/PC/VC6/build_ssl.py b/PC/VC6/build_ssl.py
index 3e96a5b..c78a465 100644
--- a/PC/VC6/build_ssl.py
+++ b/PC/VC6/build_ssl.py
@@ -173,12 +173,12 @@
             #    os.system("perl util\mk1mf.pl debug "+configure+" >"+makefile)
 
             fix_makefile(makefile)
-            shutil.copy(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
-            shutil.copy(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
+            shutil.copy2(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
+            shutil.copy2(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
 
         # Now run make.
-        shutil.copy(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
-        shutil.copy(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
+        shutil.copy2(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
+        shutil.copy2(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
 
         #makeCommand = "nmake /nologo PERL=\"%s\" -f \"%s\"" %(perl, makefile)
         makeCommand = "nmake /nologo -f \"%s\"" % makefile
diff --git a/PC/VS8.0/build_ssl.py b/PC/VS8.0/build_ssl.py
index ab5fcea..58de423 100644
--- a/PC/VS8.0/build_ssl.py
+++ b/PC/VS8.0/build_ssl.py
@@ -220,8 +220,8 @@
             if arch == "amd64":
                 create_makefile64(makefile, m32)
             fix_makefile(makefile)
-            shutil.copy(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
-            shutil.copy(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
+            shutil.copy2(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
+            shutil.copy2(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
 
         # Now run make.
         if arch == "amd64":
@@ -230,8 +230,8 @@
                 print("ml64 assembler has failed.")
                 sys.exit(rc)
 
-        shutil.copy(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
-        shutil.copy(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
+        shutil.copy2(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
+        shutil.copy2(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
 
         #makeCommand = "nmake /nologo PERL=\"%s\" -f \"%s\"" %(perl, makefile)
         makeCommand = "nmake /nologo -f \"%s\"" % makefile
diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py
index 7fbacaf..42c0017 100644
--- a/PCbuild/build_ssl.py
+++ b/PCbuild/build_ssl.py
@@ -226,8 +226,8 @@
             if arch == "amd64":
                 create_makefile64(makefile, m32)
             fix_makefile(makefile)
-            shutil.copy(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
-            shutil.copy(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
+            shutil.copy2(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
+            shutil.copy2(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
 
         # Now run make.
         if arch == "amd64":
@@ -236,8 +236,8 @@
                 print("ml64 assembler has failed.")
                 sys.exit(rc)
 
-        shutil.copy(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
-        shutil.copy(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
+        shutil.copy2(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
+        shutil.copy2(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
 
         #makeCommand = "nmake /nologo PERL=\"%s\" -f \"%s\"" %(perl, makefile)
         makeCommand = "nmake /nologo -f \"%s\"" % makefile