diff --git a/Misc/NEWS b/Misc/NEWS index d9f8a949023..68403c695ba 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -222,6 +222,8 @@ Tests Build ----- +- Issue #9552: Avoid unnecessary rebuild of OpenSSL. (Windows) + - Issue #1633863: Don't ignore $CC under AIX. - Issue #9810: Compile bzip2 source files in python's project file diff --git a/PC/VS8.0/build_ssl.py b/PC/VS8.0/build_ssl.py index 867fd4c4a3f..5a08a016af6 100644 --- a/PC/VS8.0/build_ssl.py +++ b/PC/VS8.0/build_ssl.py @@ -141,8 +141,8 @@ def fix_makefile(makefile): fout.write(line) def run_configure(configure, do_script): - print("perl Configure "+configure) - os.system("perl Configure "+configure) + print("perl Configure "+configure+" no-idea no-mdc2") + os.system("perl Configure "+configure+" no-idea no-mdc2") print(do_script) os.system(do_script) @@ -161,12 +161,14 @@ def main(): do_script = "ms\\do_nasm" makefile="ms\\nt.mak" m32 = makefile + dirsuffix = "32" elif sys.argv[2] == "x64": arch="amd64" configure = "VC-WIN64A" do_script = "ms\\do_win64a" makefile = "ms\\nt64.mak" m32 = makefile.replace('64', '') + dirsuffix = "64" #os.environ["VSEXTCOMP_USECL"] = "MS_OPTERON" else: raise ValueError(str(sys.argv)) @@ -223,6 +225,15 @@ def main(): shutil.copy(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch) shutil.copy(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch) + # If the assembler files don't exist in tmpXX, copy them there + if perl is None: + if not os.path.exists("tmp"+dirsuffix): + os.mkdir("tmp"+dirsuffix) + for f in os.listdir("asm"+dirsuffix): + if not f.endswith(".asm"): continue + if os.path.isfile(r"tmp%s\%s" % (dirsuffix, f)): continue + shutil.copy(r"asm%s\%s" % (dirsuffix, f), "tmp"+dirsuffix) + # Now run make. if arch == "amd64": rc = os.system("ml64 -c -Foms\\uptable.obj ms\\uptable.asm") diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py index a75c1fbef3e..cfcb0ac8f1c 100644 --- a/PCbuild/build_ssl.py +++ b/PCbuild/build_ssl.py @@ -228,11 +228,13 @@ def main(): shutil.copy(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch) # If the assembler files don't exist in tmpXX, copy them there - if not os.path.exists("tmp"+dirsuffix): - os.mkdir("tmp"+dirsuffix) - for f in os.listdir("asm"+dirsuffix): - if not f.endswith(".asm"): continue - shutil.copy(r"asm%s\%s" % (dirsuffix, f), "tmp"+dirsuffix) + if perl is None: + if not os.path.exists("tmp"+dirsuffix): + os.mkdir("tmp"+dirsuffix) + for f in os.listdir("asm"+dirsuffix): + if not f.endswith(".asm"): continue + if os.path.isfile(r"tmp%s\%s" % (dirsuffix, f)): continue + shutil.copy(r"asm%s\%s" % (dirsuffix, f), "tmp"+dirsuffix) # Now run make. if arch == "amd64":