def go_local_libs(self): names = self.to_list(getattr(self, 'use', [])) #print ('== go-local-libs == [%s] == use: %s' % (self.name, names)) for name in names: tg = self.bld.get_tgen_by_name(name) if not tg: raise Utils.WafError('no target of name %r necessary for %r in go uselib local' % (name, self)) tg.post() #print ("-- tg[%s]: %s" % (self.name,name)) lnk_task = getattr(tg, 'link_task', None) if lnk_task: for tsk in self.tasks: if isinstance(tsk, (go, gopackage, cgopackage)): tsk.set_run_after(lnk_task) tsk.dep_nodes.extend(lnk_task.outputs) path = lnk_task.outputs[0].parent.abspath() if isinstance(lnk_task, (go, gopackage)): # handle hierarchical packages path = lnk_task.generator.path.get_bld().abspath() elif isinstance(lnk_task, (cgopackage,)): # handle hierarchical cgopackages cgo_obj_dir = lnk_task.outputs[1].find_or_declare('_obj') path = cgo_obj_dir.abspath() # recursively add parent GOCFLAGS... self.env.append_unique('GOCFLAGS', getattr(lnk_task.env, 'GOCFLAGS',[])) # ditto for GOLFLAGS... self.env.append_unique('GOLFLAGS', getattr(lnk_task.env, 'GOLFLAGS',[])) self.env.append_unique('GOCFLAGS', ['-I%s' % path]) self.env.append_unique('GOLFLAGS', ['-L%s' % path]) for n in getattr(tg, 'includes_nodes', []): self.env.append_unique('GOCFLAGS', ['-I%s' % n.abspath()]) pass pass
def configure(conf): cc = conf.env['COMPILER_CC'] or None cxx = conf.env['COMPILER_CXX'] or None if not (cc or cxx): raise Utils.WafError( "neither COMPILER_CC nor COMPILER_CXX are defined; " "maybe the compiler_cc or compiler_cxx tool has not been configured yet?" ) try: compiler = compiler_mapping[cc] except KeyError: try: compiler = compiler_mapping[cxx] except KeyError: Logs.warn("No compiler flags support for compiler %r or %r" % (cc, cxx)) return opt_level, warn_level, dbg_level = profiles[Options.options.build_profile] optimizations = compiler.get_optimization_flags(opt_level) debug, debug_defs = compiler.get_debug_flags(dbg_level) warnings = compiler.get_warnings_flags(warn_level) if cc and not conf.env['CCFLAGS']: conf.env.append_value('CCFLAGS', optimizations) conf.env.append_value('CCFLAGS', debug) conf.env.append_value('CCFLAGS', warnings) conf.env.append_value('CCDEFINES', debug_defs) if cxx and not conf.env['CXXFLAGS']: conf.env.append_value('CXXFLAGS', optimizations) conf.env.append_value('CXXFLAGS', debug) conf.env.append_value('CXXFLAGS', warnings) conf.env.append_value('CXXDEFINES', debug_defs)
def go_local_libs(self): names = self.to_list(getattr(self, 'use', [])) for name in names: tg = self.bld.get_tgen_by_name(name) if not tg: raise Utils.WafError('no target of name %r necessary for %r in go uselib local' % (name, self)) tg.post() for tsk in self.tasks: if isinstance(tsk, go): tsk.set_run_after(tg.link_task) tsk.dep_nodes.extend(tg.link_task.outputs) path = tg.link_task.outputs[0].parent.abspath() self.env.append_unique('GOCFLAGS', ['-I%s' % path]) self.env.append_unique('GOLFLAGS', ['-L%s' % path])