[PATCH] wscript: Add post-build processing support
Kinsey Moore
kinsey.moore at oarcorp.com
Thu Mar 4 16:18:09 UTC 2021
This allows packaging of the compiled binaries to occur automatically
and be bundled with other scripts and build items as convenient.
---
wscript | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/wscript b/wscript
index 6626fafb74..e263681716 100755
--- a/wscript
+++ b/wscript
@@ -223,6 +223,12 @@ class Item(object):
p.build(bld, bic)
self.do_build(bld, bic)
+ def post_build(self, bld, bic):
+ if _is_enabled(bld.env.ENABLE, self.get_enabled_by()):
+ for p in self.links():
+ p.post_build(bld, bic)
+ self.do_post_build(bld, bic)
+
def do_defaults(self, variant):
return
@@ -238,6 +244,9 @@ class Item(object):
def do_build(self, bld, bic):
return
+ def do_post_build(self, bld, bic):
+ return
+
def substitute(self, ctx, value):
if isinstance(value, str):
try:
@@ -1074,6 +1083,15 @@ class ScriptItem(Item):
if script:
exec(script)
+ def do_post_build(self, bld, bic):
+ script = False
+ try:
+ script = self.data["do-post-build"]
+ except KeyError:
+ pass
+ if script:
+ exec(script)
+
class ConfigItemContext(object):
def __init__(self, cp, path_list):
@@ -1485,6 +1503,10 @@ def build(bld):
bsps[bld.env.ARCH][bld.env.BSP_BASE].build(bld, bic)
items[bld.env.TOPGROUP].build(bld, bic)
+ def post_build(bld):
+ bsps[bld.env.ARCH][bld.env.BSP_BASE].post_build(bld, bic)
+ bld.add_post_fun(post_build)
+
def add_log_filter(name):
msg = "'" + name + "' finished successfully"
--
2.20.1
More information about the devel
mailing list