summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2019-01-25 03:14:53 +0100
committerNao Pross <naopross@thearcway.org>2019-01-25 03:14:53 +0100
commit4b37688381107aeaa89806e5978db9ef6477cc97 (patch)
treebe145622bf8deb798dc18e3a91998d638116972a
parentIt compiles! Probably super broken, but compiles! (diff)
downloadflatland-4b37688381107aeaa89806e5978db9ef6477cc97.tar.gz
flatland-4b37688381107aeaa89806e5978db9ef6477cc97.zip
Update to make configure.py to build deps, instead of build.ninja
-rwxr-xr-xconfigure.py29
1 files changed, 20 insertions, 9 deletions
diff --git a/configure.py b/configure.py
index bc04690..b14369e 100755
--- a/configure.py
+++ b/configure.py
@@ -2,7 +2,22 @@
import os
import re
+# -- helper functions --
+
+def build_library(path, commands):
+ print("building library under {}".format(path))
+
+ old_path = os.getcwd()
+ os.chdir(path)
+ for cmd in commands:
+ print("running {}".format(cmd))
+ print(os.popen(cmd).read())
+
+ os.chdir(old_path)
+
def find_sources(path):
+ print("searching sources under {}".format(path))
+
sources = tuple(filter(lambda f: f.endswith(".cpp"), os.listdir(path)))
objects = tuple(map(lambda f: re.sub(".cpp$", ".o", f), sources))
@@ -13,21 +28,17 @@ def find_sources(path):
return sources, objects
+# -- prepare build.ninja --
+
with open("build.ninja", "w") as bf:
# include rules
print("include ninja/rules.ninja", file=bf)
print("\n", file=bf)
- # build libmm dependencies
- print("build lib/libmm/build/libmm.so: ninja lib/libmm", file=bf)
- print("build lib/libmm/build/libmm.a: ninja lib/libmm", file=bf)
- print("\n", file=bf)
-
- # build libwsdl2 dependencies
- print("build lib/libwsdl2/build/libwsdl2.so: ninja lib/libmm", file=bf)
- print("build lib/libwsdl2/build/libwsdl2.a: ninja lib/libmm", file=bf)
- print("\n", file=bf)
+ # build dependencies
+ build_library("lib/libmm", ["ninja"])
+ build_library("lib/libwsdl2", ["./configure.py", "ninja"])
# find engine sources
sources, objects = find_sources("engine")