diff options
author | Chris Johns <chrisj@rtems.org> | 2018-03-26 15:14:52 +1100 |
---|---|---|
committer | Christian Mauderer <christian.mauderer@embedded-brains.de> | 2018-04-10 08:54:52 +0200 |
commit | f7a09b59853bae31861e572f5d5cde42f762c233 (patch) | |
tree | 2f86dc472e682a018d6c6d27daba65a6649c0ed4 /wscript | |
parent | CRYPTO(4): Port to RTEMS (diff) | |
download | rtems-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-- | wscript | 27 |
1 files changed, 21 insertions, 6 deletions
@@ -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) |