summaryrefslogtreecommitdiffstats
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-04-10 08:54:52 +0200
commitf7a09b59853bae31861e572f5d5cde42f762c233 (patch)
tree2f86dc472e682a018d6c6d27daba65a6649c0ed4 /wscript
parentCRYPTO(4): Port to RTEMS (diff)
downloadrtems-libbsd-f7a09b59853bae31861e572f5d5cde42f762c233.tar.bz2
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--wscript27
1 files changed, 21 insertions, 6 deletions
diff --git a/wscript b/wscript
index f176cbb9..9b026163 100644
--- a/wscript
+++ b/wscript
@@ -41,13 +41,25 @@ except:
import sys
sys.exit(1)
-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 +85,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 +109,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)