From 1aa99df99bb9ffcd9a6bd5af4c0f16c99c499d54 Mon Sep 17 00:00:00 2001 From: Jon Kunkee Date: Thu, 2 May 2019 12:12:28 -0700 Subject: [PATCH] deps: make VC-WIN config generation deterministic This change adds a clean target to the VC-WIN* Makefiles, then adjusts the config generation script to call it before config file generation as well as after. This prevents files from previous configurations from causing make to incorrectly assume the files are up to date. PR-URL: https://github.com/nodejs/node/pull/27543 Reviewed-By: Sam Roberts Reviewed-By: Rich Trott --- deps/openssl/config/Makefile_VC-WIN32 | 4 +++- deps/openssl/config/Makefile_VC-WIN64-ARM | 5 ++++- deps/openssl/config/Makefile_VC-WIN64A | 4 +++- deps/openssl/config/generate_gypi.pl | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/deps/openssl/config/Makefile_VC-WIN32 b/deps/openssl/config/Makefile_VC-WIN32 index f7debe23833036..96610567469082 100644 --- a/deps/openssl/config/Makefile_VC-WIN32 +++ b/deps/openssl/config/Makefile_VC-WIN32 @@ -5678,8 +5678,10 @@ engines/padlock-dso-e_padlock.obj: engines/padlock-dso-e_padlock.d engines/padlock.def: util/engines.num util/mkdef.pl $(PERL) util/mkdef.pl --ordinals util/engines.num --name padlock --OS windows > engines/padlock.def -distclean: +clean: + $(RM) $(GENERATED_MANDATORY) $(RM) $(GENERATED) +distclean: $(RM) configdata.pm $(RM) makefile $(RM) NUL diff --git a/deps/openssl/config/Makefile_VC-WIN64-ARM b/deps/openssl/config/Makefile_VC-WIN64-ARM index 9937bd5492a39b..03eaba0b078188 100644 --- a/deps/openssl/config/Makefile_VC-WIN64-ARM +++ b/deps/openssl/config/Makefile_VC-WIN64-ARM @@ -17,6 +17,7 @@ MINOR=1.1 SHLIB_VERSION_NUMBER=1.1 GENERATED_MANDATORY=crypto/include/internal/bn_conf.h crypto/include/internal/dso_conf.h include/openssl/opensslconf.h +GENERATED=crypto/buildinf.h apps/progs.h INSTALL_LIBS="libcrypto.lib" "libssl.lib" INSTALL_SHLIBS="libcrypto-1_1-arm64.dll" "libssl-1_1-arm64.dll" @@ -141,7 +142,9 @@ include/openssl/opensslconf.h: "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ "-omakefile" "include/openssl/opensslconf.h.in" > $@ -distclean: +clean: + $(RM) $(GENERATED_MANDATORY) $(RM) $(GENERATED) +distclean: $(RM) /Q /F configdata.pm $(RM) /Q /F makefile diff --git a/deps/openssl/config/Makefile_VC-WIN64A b/deps/openssl/config/Makefile_VC-WIN64A index fa66acfd517dfb..3e4adce958e409 100644 --- a/deps/openssl/config/Makefile_VC-WIN64A +++ b/deps/openssl/config/Makefile_VC-WIN64A @@ -2950,7 +2950,9 @@ engines/e_padlock.d: "engines/e_padlock.c" engines/e_padlock.obj: engines/e_padlock.d $(CC) $(DSO_CFLAGS) /I "include" $(DSO_CPPFLAGS) -c $(COUTFLAG)$@ "engines/e_padlock.c" -distclean: +clean: + $(RM) $(GENERATED_MANDATORY) $(RM) $(GENERATED) +distclean: $(RM) /Q /F configdata.pm $(RM) /Q /F makefile diff --git a/deps/openssl/config/generate_gypi.pl b/deps/openssl/config/generate_gypi.pl index 891ccb62bbf6d4..978ddbb3b3504a 100755 --- a/deps/openssl/config/generate_gypi.pl +++ b/deps/openssl/config/generate_gypi.pl @@ -46,7 +46,7 @@ # Generate arch dependent header files with Makefile my $buildinf = "crypto/buildinf.h"; my $progs = "apps/progs.h"; -my $cmd1 = "cd ../openssl; make -f $makefile build_generated $buildinf $progs;"; +my $cmd1 = "cd ../openssl; make -f $makefile clean build_generated $buildinf $progs;"; system($cmd1) == 0 or die "Error in system($cmd1)"; # Copy and move all arch dependent header files into config/archs