This expands the ability to substitute variables outside the current
limitation of values in options to asflags, cflags, cppflags, cxxflags,
ldflags, and includes. It is possible for all of these flags to utilize
user-defined information in config.ini, especially for paths to external
resources.
---
wscript | 52 ++++++++++++++++++++++++++--------------------------
1 file changed, 26 insertions(+), 26 deletions(-)
diff --git a/wscript b/wscript
index 9de9d67b91..e2fc047ea8 100755
--- a/wscript
+++ b/wscript
@@ -276,10 +276,10 @@ class Item(object):
if target is None:
target = os.path.splitext(source)[0] + ".o"
bld(
- asflags=self.data["asflags"],
- cppflags=self.data["cppflags"],
+ asflags=[self.substitute(bld, asflag) for asflag in
self.data["asflags"]],
+ cppflags=[self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
features="asm_explicit_target asm c",
- includes=bic.includes + self.data["includes"],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
source=[source],
target=target,
)
@@ -289,10 +289,10 @@ class Item(object):
if target is None:
target = os.path.splitext(source)[0] + ".o"
bld(
- cflags=self.data["cflags"],
- cppflags=cppflags + self.data["cppflags"],
+ cflags=[self.substitute(bld, cflag) for cflag in
self.data["cflags"]],
+ cppflags=cppflags + [self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
features="c",
- includes=bic.includes + self.data["includes"],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
rule="${CC} ${CFLAGS} ${CPPFLAGS} ${DEFINES_ST:DEFINES}
${CPPPATH_ST:INCPATHS} -c ${SRC[0]} -o ${TGT}",
source=[source] + deps,
target=target,
@@ -303,10 +303,10 @@ class Item(object):
if target is None:
target = os.path.splitext(source)[0] + ".o"
bld(
- cppflags=cppflags + self.data["cppflags"],
- cxxflags=self.data["cxxflags"],
+ cppflags=cppflags + [self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
+ cxxflags=[self.substitute(bld, cxxflag) for cxxflag in
self.data["cxxflags"]],
features="cxx",
- includes=bic.includes + self.data["includes"],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
rule="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${DEFINES_ST:DEFINES}
${CPPPATH_ST:INCPATHS} -c ${SRC[0]} -o ${TGT}",
source=[source] + deps,
target=target,
@@ -578,11 +578,11 @@ class ObjectsItem(Item):
def do_build(self, bld, bic):
bld.objects(
- asflags=self.data["cppflags"],
- cflags=self.data["cflags"],
- cppflags=self.data["cppflags"],
- cxxflags=self.data["cxxflags"],
- includes=bic.includes + self.data["includes"],
+ asflags=[self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
+ cflags=[self.substitute(bld, cflag) for cflag in
self.data["cflags"]],
+ cppflags=[self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
+ cxxflags=[self.substitute(bld, cxxflag) for cxxflag in
self.data["cxxflags"]],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
source=self.data["source"],
target=self.uid,
)
@@ -603,10 +603,10 @@ class BSPItem(Item):
def do_build(self, bld, bic):
bld(
- cflags=self.data["cflags"],
- cppflags=self.data["cppflags"],
+ cflags=[self.substitute(bld, cflag) for cflag in
self.data["cflags"]],
+ cppflags=[self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
features="c cstlib",
- includes=bic.includes + self.data["includes"],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
install_path="${BSP_LIBDIR}",
source=self.data["source"],
target="rtemsbsp",
@@ -624,11 +624,11 @@ class LibraryItem(Item):
def do_build(self, bld, bic):
bld(
- cflags=self.data["cflags"],
- cppflags=self.data["cppflags"],
- cxxflags=self.data["cxxflags"],
+ cflags=[self.substitute(bld, cflag) for cflag in
self.data["cflags"]],
+ cppflags=[self.substitute(bld, cppflag) for cppflag in
self.data["cppflags"]],
+ cxxflags=[self.substitute(bld, cxxflag) for cxxflag in
self.data["cxxflags"]],
features="c cxx cstlib",
- includes=bic.includes + self.data["includes"],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
install_path=self.data["install-path"],
source=self.data["source"],
target=self.get(bld, "target"),
@@ -652,13 +652,13 @@ class TestProgramItem(Item):
def do_build(self, bld, bic):
bld(
- cflags=self.data["cflags"],
- cppflags=bld.env[self.cppflags] + self.data["cppflags"],
- cxxflags=self.data["cxxflags"],
+ cflags=[self.substitute(bld, cflag) for cflag in
self.data["cflags"]],
+ cppflags=bld.env[self.cppflags] + [self.substitute(bld, cppflag)
for cppflag in self.data["cppflags"]],
+ cxxflags=[self.substitute(bld, cxxflag) for cxxflag in
self.data["cxxflags"]],
features=self.data["features"],
- includes=bic.includes + self.data["includes"],
+ includes=bic.includes + [self.substitute(bld, inc) for inc in
self.data["includes"]],
install_path=None,
- ldflags=bic.ldflags + self.data["ldflags"],
+ ldflags=bic.ldflags + [self.substitute(bld, ldflag) for ldflag in
self.data["ldflags"]],
source=self.data["source"],
start_files=True,
stlib=self.data["stlib"],
--
2.30.2
_______________________________________________
devel mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/devel