aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Lichtenheld2022-11-11 13:12:12 +0100
committerGert Doering2022-11-11 13:47:39 +0100
commit2086517693f68a3b8fe10d79b5e193868b94adf4 (patch)
tree4ab80de879077fdc26e177cdc6a80301c7577736
parent0357ceb877687faa2f3c671fcb8bc88b5a69b449 (diff)
downloadopenvpn-2086517693f68a3b8fe10d79b5e193868b94adf4.zip
openvpn-2086517693f68a3b8fe10d79b5e193868b94adf4.tar.gz
msvc: always call git-version.py
There is no way to detect whether this information is outdated in nmake itself. So leave it up to the Python script to decide. While here, change some leading whitespace to tabs as expected in Makefile. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com> Signed-off-by: Lev Stipakov <lev@openvpn.net> Acked-by: Lev Stipakov <lstipakov@gmail.com> Message-Id: <20221111121212.25167-1-frank@lichtenheld.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg25508.html Signed-off-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit 3951ed8479c01e79bd8fae5c7d4b5f6b07d1f0fb)
-rw-r--r--build/msvc/msvc-generate/Makefile.mak9
-rw-r--r--build/msvc/msvc-generate/git-version.py21
2 files changed, 24 insertions, 6 deletions
diff --git a/build/msvc/msvc-generate/Makefile.mak b/build/msvc/msvc-generate/Makefile.mak
index ae8b084..1c1c4ba 100644
--- a/build/msvc/msvc-generate/Makefile.mak
+++ b/build/msvc/msvc-generate/Makefile.mak
@@ -51,10 +51,13 @@ $(OUTPUT_PLUGIN): $(INPUT_PLUGIN) $(OUTPUT_PLUGIN_CONFIG)
cscript //nologo msvc-generate.js --config="$(OUTPUT_PLUGIN_CONFIG)" --input="$(INPUT_PLUGIN)" --output="$(OUTPUT_PLUGIN)"
$(OUTPUT_MAN): $(INPUT_MAN)
- -FOR /F %i IN ('where rst2html.py') DO python %i "$(INPUT_MAN)" "$(OUTPUT_MAN)"
+ -FOR /F %i IN ('where rst2html.py') DO python %i "$(INPUT_MAN)" "$(OUTPUT_MAN)"
-$(OUTPUT_MSVC_GIT_CONFIG):
- python git-version.py $(SOLUTIONDIR)
+# Force regeneration because we can't detect whether it is outdated
+$(OUTPUT_MSVC_GIT_CONFIG): FORCE
+ python git-version.py $(SOLUTIONDIR)
+
+FORCE:
clean:
-del "$(OUTPUT_MSVC_VER)"
diff --git a/build/msvc/msvc-generate/git-version.py b/build/msvc/msvc-generate/git-version.py
index b6037e1..814dc86 100644
--- a/build/msvc/msvc-generate/git-version.py
+++ b/build/msvc/msvc-generate/git-version.py
@@ -41,10 +41,25 @@ def main():
except:
branch, commit_id = "unknown", "unknown"
+ prev_content = ""
+
name = os.path.join("%s" % (sys.argv[1] if len(sys.argv) > 1 else "."), "config-version.h")
- with open(name, "w") as f:
- f.write("#define CONFIGURE_GIT_REVISION \"%s/%s\"\n" % (branch, commit_id))
- f.write("#define CONFIGURE_GIT_FLAGS \"\"\n")
+ try:
+ with open(name, "r") as f:
+ prev_content = f.read()
+ except:
+ # file doesn't exist
+ pass
+
+ content = "#define CONFIGURE_GIT_REVISION \"%s/%s\"\n" % (branch, commit_id)
+ content += "#define CONFIGURE_GIT_FLAGS \"\"\n"
+
+ if prev_content != content:
+ print("Writing %s" % name)
+ with open(name, "w") as f:
+ f.write(content)
+ else:
+ print("Content of %s hasn't changed" % name)
if __name__ == "__main__":
main()