import os import sys from bento.commands import hooks import waflib @hooks.post_configure def configure(context): conf = context.waf_context conf.env.USE_WINCRYPT = False if conf.check_declaration("_WIN32", mandatory=False): conf.env.USE_WINCRYPT = True conf.env.NEEDS_MINGW32_WORKAROUND = False if sys.platform == "win32" and conf.check_declaration("__GNUC__", mandatory=False): conf.env.NEEDS_MINGW32_WORKAROUND = True @hooks.pre_build def build(context): bld = context.waf_context if bld.env.NEEDS_MINGW32_WORKAROUND: raise NotImplementedError("Check for mingw time workaround stuff") def builder(extension): includes = ["../core/include", "../core/include/numpy", "../core", "../core/src/private"] kw = {} if bld.env.USE_WINCRYPT: kw["lib"] = "ADVAPI32" return context.default_builder(extension, includes=includes, **kw) context.register_builder("mtrand", builder)