def __init__(self, cmd_argv, options_context, pkg, run_node): super(BuildWafContext, self).__init__(cmd_argv, options_context, pkg, run_node) o, a = options_context.parser.parse_args(cmd_argv) if o.jobs: jobs = int(o.jobs) else: jobs = 1 if o.verbose: verbose = int(o.verbose) zones = ["runner"] else: verbose = 0 zones = [] if o.inplace: self.inplace = 1 else: self.inplace = 0 if o.progress_bar: self.progress_bar = True else: self.progress_bar = False Logs.verbose = verbose Logs.init_log() if zones is None: Logs.zones = [] else: Logs.zones = zones run_path = self.run_node.abspath() source_path = self.top_node.abspath() build_path = self.build_node.abspath() _init(run_path=run_path, source_path=source_path, build_path=build_path) waf_context = create_context("build") waf_context.restore() if not waf_context.all_envs: waf_context.load_envs() waf_context.jobs = jobs waf_context.timer = Utils.Timer() if self.progress_bar: waf_context.progress_bar = 1 waf_context.bento_context = self self.waf_context = waf_context def _default_extension_builder(extension): # FIXME: should be handled in the waf builder itself maybe ? target = extension.name.replace(".", os.sep) return self.waf_context(features='c cshlib pyext bento', source=extension.sources, target=target, name=extension.name) def _default_library_builder(library): # FIXME: should be handled in the waf builder itself maybe ? target = library.name.replace(".", os.sep) return self.waf_context(features='c cstlib pyext bento', source=library.sources, target=target, name=library.name) self.builder_registry.register_category("extensions", _default_extension_builder) self.builder_registry.register_category("compiled_libraries", _default_library_builder)
def __init__(self, global_context, cmd_argv, options_context, pkg, run_node): super(ConfigureWafContext, self).__init__(global_context, cmd_argv, options_context, pkg, run_node) run_path = self.run_node.abspath() source_path = self.top_node.abspath() build_path = self.build_node.abspath() _init(run_path=run_path, source_path=source_path, build_path=build_path) opts = OptionsContext() opts.load("compiler_c") opts.load("custom_python", tooldir=[WAF_TOOLDIR]) opts.parse_args([]) self.waf_options_context = opts waf_context = create_context("configure", run_dir=source_path) waf_context.options = Options.options waf_context.init_dirs() waf_context.cachedir = waf_context.bldnode.make_node(Build.CACHE_DIR) waf_context.cachedir.mkdir() path = os.path.join(waf_context.bldnode.abspath(), WAF_CONFIG_LOG) waf_context.logger = Logs.make_logger(path, 'cfg') self.waf_context = waf_context self._old_path = None
def __init__(self, cmd_argv, options_context, pkg, run_node): super(ConfigureWafContext, self).__init__(cmd_argv, options_context, pkg, run_node) run_path = self.run_node.abspath() source_path = self.top_node.abspath() build_path = self.build_node.abspath() _init(run_path=run_path, source_path=source_path, build_path=build_path) opts = OptionsContext() opts.parse_args([]) opts.load("compiler_c") Options.options.check_c_compiler = "gcc" self.waf_options_context = opts waf_context = create_context("configure", run_dir=source_path) waf_context.options = Options.options waf_context.init_dirs() waf_context.cachedir = waf_context.bldnode.make_node(Build.CACHE_DIR) waf_context.cachedir.mkdir() path = os.path.join(waf_context.bldnode.abspath(), WAF_CONFIG_LOG) waf_context.logger = Logs.make_logger(path, 'cfg') self.waf_context = waf_context # FIXME: this is wrong (not taking into account sub packages) has_compiled_code = len(pkg.extensions) > 0 or len(pkg.compiled_libraries) > 0 if not has_compiled_code: if pkg.subpackages: for v in pkg.subpackages.values(): if len(v.extensions) > 0 or len(v.compiled_libraries) > 0: has_compiled_code = True break conf = self.waf_context if has_compiled_code: conf.load("compiler_c") conf.load("python") conf.check_python_version((2,4,2)) conf.check_python_headers() # HACK for mac os x if sys.platform == "darwin": conf.env["CC"] = ["/usr/bin/gcc-4.0"] self._old_path = None
def __init__(self, global_context, cmd_argv, options_context, pkg, run_node): super(BuildWafContext, self).__init__(global_context, cmd_argv, options_context, pkg, run_node) o, a = options_context.parser.parse_args(cmd_argv) if o.jobs: jobs = int(o.jobs) else: jobs = 1 if o.verbose: verbose = int(o.verbose) zones = ["runner"] else: verbose = 0 zones = [] if o.inplace: self.inplace = 1 else: self.inplace = 0 if o.progress_bar: self.progress_bar = True else: self.progress_bar = False Logs.verbose = verbose Logs.init_log() if zones is None: Logs.zones = [] else: Logs.zones = zones run_path = self.run_node.abspath() source_path = self.top_node.abspath() build_path = self.build_node.abspath() _init(run_path=run_path, source_path=source_path, build_path=build_path) create_context("options").parse_args([]) waf_context = create_context("build") waf_context.restore() if not waf_context.all_envs: waf_context.load_envs() waf_context.jobs = jobs waf_context.timer = Utils.Timer() if self.progress_bar: waf_context.progress_bar = 1 waf_context.bento_context = self self.waf_context = waf_context def _default_extension_builder(extension, **kw): if not "features" in kw: kw["features"] = "c cshlib pyext bento" if not "source" in kw: kw["source"] = extension.sources[:] if not "name" in kw: kw["name"] = extension.name return self.waf_context(**kw) def _default_library_builder(library, **kw): if not "features" in kw: kw["features"] = "c cstlib pyext bento" if not "source" in kw: kw["source"] = library.sources[:] if not "name" in kw: kw["name"] = library.name return self.waf_context(**kw) self.builder_registry.register_category("extensions", _default_extension_builder) self.builder_registry.register_category("compiled_libraries", _default_library_builder)