summaryrefslogtreecommitdiff
path: root/wscript
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2018-03-26 15:14:52 +1100
committerChristian Mauderer <christian.mauderer@embedded-brains.de>2018-03-26 15:08:08 +0200
commit9502a6f6bbb86362501cf97b1d26c626b7956b3b (patch)
treebb434aba066f8ce2350d7da07a9835856c50dac2 /wscript
parent7ec935e03f13baa899ab62f5c8348eec5ca35e5c (diff)
waf: Support building from libbsd.py directly from waf.
Remove the need to generate a waf script. Move various pieces of data from the builder code to libbsd.py and make it configuration data. Update #3351
Diffstat (limited to 'wscript')
-rw-r--r--wscript28
1 files changed, 22 insertions, 6 deletions
diff --git a/wscript b/wscript
index f176cbb9..6c063965 100644
--- a/wscript
+++ b/wscript
@@ -41,13 +41,26 @@ except:
import sys
sys.exit(1)
-import libbsd_waf
+#import libbsd_waf
+import libbsd
+import waf_libbsd
+
+builder = None
+
+def create_builder():
+ global builder
+ if builder is None:
+ builder = waf_libbsd.Builder()
+ libbsd.load(builder)
+ builder.generate(rtems_version)
def init(ctx):
+ create_builder();
rtems.init(ctx, version = rtems_version, long_commands = True)
- libbsd_waf.init(ctx)
+ builder.init(ctx)
def options(opt):
+ create_builder();
rtems.options(opt)
opt.add_option("--enable-auto-regen",
action = "store_true",
@@ -73,18 +86,20 @@ def options(opt):
default = "2",
dest = "optimization",
help = "Set optimization level to OPTIMIZATION (-On compiler flag). Default is 2 (-O2).")
- libbsd_waf.options(opt)
+ builder.options(opt)
def bsp_configure(conf, arch_bsp):
+ create_builder();
conf.check(header_name = "dlfcn.h", features = "c")
conf.check(header_name = "rtems/pci.h", features = "c", mandatory = False)
if not rtems.check_posix(conf):
conf.fatal("RTEMS kernel POSIX support is disabled; configure RTEMS with --enable-posix")
if rtems.check_networking(conf):
conf.fatal("RTEMS kernel contains the old network support; configure RTEMS with --disable-networking")
- libbsd_waf.bsp_configure(conf, arch_bsp)
+ builder.bsp_configure(conf, arch_bsp)
def configure(conf):
+ create_builder();
if conf.options.auto_regen:
conf.find_program("lex", mandatory = True)
conf.find_program("rpcgen", mandatory = True)
@@ -95,8 +110,9 @@ def configure(conf):
conf.env.FREEBSD_OPTIONS =conf.options.freebsd_options
conf.env.OPTIMIZATION = conf.options.optimization
rtems.configure(conf, bsp_configure)
- libbsd_waf.configure(conf)
+ builder.configure(conf)
def build(bld):
+ create_builder();
rtems.build(bld)
- libbsd_waf.build(bld)
+ builder.build(bld)