Allow modules to specify defines

The modules.yaml now has an optional defines: list per module that adds
preprocessor definitions to the build scripts. Also added a --debug flag
to qemu.sh to run QEMU's debugger host.
This commit is contained in:
Justin C. Miller
2019-02-08 21:21:11 -08:00
parent aca442ee87
commit 29747f4891
3 changed files with 11 additions and 1 deletions

View File

@@ -33,6 +33,7 @@ class Module:
self.target = kwargs.get("target", None)
self.deps = kwargs.get("deps", tuple())
self.includes = kwargs.get("includes", tuple())
self.defines = kwargs.get("defines", tuple())
self.depmods = []
sources = [join(root, f) for f in kwargs.get("source", tuple())]

View File

@@ -1,5 +1,11 @@
#!/usr/bin/env bash
debug=""
if [[ $1 = "--debug" ]]; then
debug="-s"
shift
fi
build=${1:-"$(dirname $0)/build"}
kvm=""
@@ -19,4 +25,4 @@ exec qemu-system-x86_64 \
-M q35 \
-no-reboot \
-nographic \
$kvm
$kvm $debug

View File

@@ -10,6 +10,9 @@ ccflags = $ccflags $
{%- for inc in module.includes %}
-I${srcroot}/{{ inc }} $
{%- endfor %}
{%- for define in module.defines %}
-D{{ define }} $
{%- endfor %}
{% endblock %}
{% for source in module.sources %}