aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/DepGen.py
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-04-01 14:30:32 +1100
committerNeil <nyamatongwe@gmail.com>2019-04-01 14:30:32 +1100
commit6009be9e63f175479df01cd64d3ef6e0724afd6c (patch)
treedb5a082eb22829ea778b33d02c3c28aa4976339e /win32/DepGen.py
parent283bc84712cc1046be6d7393998d499b09bb4538 (diff)
downloadscintilla-mirror-6009be9e63f175479df01cd64d3ef6e0724afd6c.tar.gz
Backport: Switch generation of make dependencies to Python scripts DepGen.py.
Dependencies files deps.mak and nmdeps.mak are formatted with one file per line as that makes it easier to examine differences between versions. Backport of changeset 7397:997e6203e270.
Diffstat (limited to 'win32/DepGen.py')
-rw-r--r--win32/DepGen.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/win32/DepGen.py b/win32/DepGen.py
new file mode 100644
index 000000000..c43d2f66c
--- /dev/null
+++ b/win32/DepGen.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+# DepGen.py - produce a make dependencies file for Scintilla
+# Copyright 2019 by Neil Hodgson <neilh@scintilla.org>
+# The License.txt file describes the conditions under which this software may be distributed.
+# Requires Python 2.7 or later
+
+import sys
+
+sys.path.append("../")
+
+import scripts.Dependencies as Dependencies
+
+topComment = "# Created by DepGen.py. To recreate, run 'python DepGen.py'.\n"
+
+def Generate():
+ sources = ["../src/*.cxx", "../lexlib/*.cxx", "../lexers/*.cxx"]
+ includes = ["../include", "../src", "../lexlib"]
+
+ # Create the dependencies file for g++
+ deps = Dependencies.FindDependencies(["../win32/*.cxx"] + sources, ["../win32"] + includes, ".o", "../win32/")
+
+ # Add ScintillaBaseL as the same as ScintillaBase
+ deps = Dependencies.InsertSynonym(deps, "ScintillaBase.o", "ScintillaBaseL.o")
+
+ # Add ScintillaWinL as the same as ScintillaWin
+ deps = Dependencies.InsertSynonym(deps, "ScintillaWin.o", "ScintillaWinL.o")
+
+ Dependencies.UpdateDependencies("../win32/deps.mak", deps, topComment)
+
+ # Create the dependencies file for MSVC
+
+ # Place the objects in $(DIR_O) and change extension from ".o" to ".obj"
+ deps = [["$(DIR_O)/"+Dependencies.PathStem(obj)+".obj", headers] for obj, headers in deps]
+
+ Dependencies.UpdateDependencies("../win32/nmdeps.mak", deps, topComment)
+
+if __name__ == "__main__":
+ Generate() \ No newline at end of file