def __init__(self, name, srcs, deps, optimize, extra_cppflags, blade, kwargs): """Init method. Init the cc target. """ CcTarget.__init__(self, name, 'resource_library', srcs, deps, None, '', [], [], [], optimize, extra_cppflags, [], blade, kwargs)
def __init__(self, name, srcs, deps, optimize, deprecated, blade, kwargs): """Init method. Init the thrift target. """ srcs = var_to_list(srcs) self._check_thrift_srcs_name(srcs) CcTarget.__init__(self, name, 'fbthrift_library', srcs, deps, None, '', [], [], [], optimize, [], [], blade, kwargs) fbthrift_config = config.get_section('fbthrift_config') fbthrift_libs = var_to_list(fbthrift_config['fbthrift_libs']) fbthrift1_bin = fbthrift_config['fbthrift1'] fbthrift2_bin = fbthrift_config['fbthrift2'] # Hardcode deps rule to thrift libraries. self._add_hardcode_library(fbthrift_libs) # Link all the symbols by default self.data['link_all_symbols'] = True # For each thrift file initialize a FBThriftHelper, which will be used # to get the source files generated from thrift file. self.fbthrift_helpers = {} for src in srcs: self.fbthrift_helpers[src] = FBThriftHelper( os.path.join(self.path, src))
def __init__(self, name, target_type, srcs, deps, warning, defs, incs, extra_cppflags, extra_linkflags, blade, kwargs): srcs = var_to_list(srcs) deps = var_to_list(deps) extra_cppflags = var_to_list(extra_cppflags) extra_linkflags = var_to_list(extra_linkflags) CcTarget.__init__(self, name, target_type, srcs, deps, None, warning, defs, incs, [], [], extra_cppflags, extra_linkflags, blade, kwargs)
def __init__(self, name, srcs, deps, optimize, deprecated, generate_descriptors, target_languages, plugins, source_encoding, blade, kwargs): """Init method. Init the proto target. """ # pylint: disable=too-many-locals srcs = var_to_list(srcs) CcTarget.__init__(self, name, 'proto_library', srcs, deps, None, '', [], [], [], optimize, [], [], blade, kwargs) self._check_proto_srcs_name(srcs) if srcs: self.data['public_protos'] = [ self._source_file_path(s) for s in srcs ] proto_config = config.get_section('proto_library_config') protobuf_libs = var_to_list(proto_config['protobuf_libs']) protobuf_java_libs = var_to_list(proto_config['protobuf_java_libs']) protobuf_python_libs = var_to_list( proto_config['protobuf_python_libs']) # Hardcode deps rule to thirdparty protobuf lib. self._add_hardcode_library(protobuf_libs) self._add_hardcode_java_library(protobuf_java_libs) self._add_hardcode_library(protobuf_python_libs) # Normally a proto target depends on another proto target when # it references a message defined in that target. Then in the # generated code there is public API with return type/arguments # defined outside and in java it needs to export that dependency, # which is also the case for java protobuf library. self.data['exported_deps'] = self._unify_deps(var_to_list(deps)) self.data['exported_deps'] += self._unify_deps(protobuf_java_libs) self._handle_protoc_plugins(var_to_list(plugins)) # Link all the symbols by default self.data['link_all_symbols'] = True self.data['deprecated'] = deprecated self.data['source_encoding'] = source_encoding self.data['java_sources_explict_dependency'] = [] self.data['python_vars'] = [] self.data['python_sources'] = [] self.data['generate_descriptors'] = generate_descriptors # TODO(chen3feng): Change the values to a `set` rather than separated attributes target_languages = set(var_to_list(target_languages)) self.data['generate_java'] = 'java' in target_languages self.data['generate_python'] = 'python' in target_languages self.data['generate_go'] = 'go' in target_languages
def __init__(self, name, srcs, deps, warning, java_package, java_lib_packed, optimize, extra_swigflags, blade, kwargs): CcTarget.__init__(self, name, 'swig_library', srcs, deps, None, warning, [], [], [], optimize, extra_swigflags, [], blade, kwargs) self.data['cpperraswarn'] = warning self.data['java_package'] = java_package self.data['java_lib_packed'] = java_lib_packed self.data['java_dep_var'] = [] self.data['java_sources_explict_dependency'] = [] self.data['python_vars'] = [] self.data['python_sources'] = [] build_platform = self.blade.get_build_platform() self.php_inc_list = build_platform.get_php_include() self.options = self.blade.get_options()
def __init__(self, name, srcs, deps, warning, defs, incs, allow_undefined, recursive, prefix, lexflags, yaccflags, blade, kwargs): """Init method. Init the cc lex yacc target """ if (len(srcs) != 2 or (not (srcs[0].endswith('.l') or srcs[0].endswith('.ll'))) or (not (srcs[1].endswith('.y') or srcs[1].endswith('.yy')))): self.error_exit('srcs for lex_yacc_library must be a pair of [lex_file, yacc_file]') CcTarget.__init__(self, name, 'lex_yacc_library', srcs, deps, None, warning, defs, incs, [], [], [], [], blade, kwargs) self.data['recursive'] = recursive self.data['prefix'] = prefix self.data['lexflags'] = var_to_list(lexflags) self.data['yaccflags'] = var_to_list(yaccflags) self.data['prefix'] = prefix self.data['allow_undefined'] = allow_undefined self.data['link_all_symbols'] = True
def __init__(self, name, srcs, deps, optimize, deprecated, blade, kwargs): """Init method. Init the thrift target. """ srcs = var_to_list(srcs) self._check_thrift_srcs_name(srcs) CcTarget.__init__(self, name, 'thrift_library', srcs, deps, None, '', [], [], [], optimize, [], [], blade, kwargs) self.data['python_vars'] = [] self.data['python_sources'] = [] thrift_libs = config.get_item('thrift_config', 'thrift_libs') # Hardcode deps rule to thrift libraries. self._add_hardcode_library(thrift_libs) # Link all the symbols by default self.data['link_all_symbols'] = True self.data['deprecated'] = deprecated self.data['java_sources_explict_dependency'] = [] # For each thrift file initialize a ThriftHelper, which will be used # to get the source files generated from thrift file. self.thrift_helpers = {} for src in srcs: self.thrift_helpers[src] = ThriftHelper(self.path, src)
def __init__(self, name, srcs, deps, warning, defs, incs, allow_undefined, recursive, prefix, blade, kwargs): """Init method. Init the cc lex yacc target """ if (len(srcs) != 2 or (not (srcs[0].endswith('.l') or srcs[0].endswith('.ll'))) or (not (srcs[1].endswith('.y') or srcs[1].endswith('.yy')))): console.error_exit('%s: srcs for lex_yacc_library should be ' 'a pair of (lex_source, yacc_source)' % self.fullname) CcTarget.__init__(self, name, 'lex_yacc_library', srcs, deps, None, warning, defs, incs, [], [], [], [], blade, kwargs) self.data['recursive'] = recursive self.data['prefix'] = prefix self.data['allow_undefined'] = allow_undefined self.data['link_all_symbols'] = True
def __init__(self, name, srcs, deps, optimize, deprecated, blade, kwargs): srcs = var_to_list(srcs) self._check_thrift_srcs_name(srcs) CcTarget.__init__(self, name, 'thrift_library', srcs, deps, None, '', [], [], [], optimize, [], [], blade, kwargs) self.data['python_vars'] = [] self.data['python_sources'] = [] thrift_libs = config.get_item('thrift_config', 'thrift_libs') # Hardcode deps rule to thrift libraries. self._add_hardcode_library(thrift_libs) # Link all the symbols by default self.data['link_all_symbols'] = True self.data['deprecated'] = deprecated self.data['java_sources_explict_dependency'] = [] # For each thrift file initialize a ThriftHelper, which will be used # to get the source files generated from thrift file. self.thrift_helpers = {} for src in srcs: self.thrift_helpers[src] = ThriftHelper(self.path, src)
def __init__(self, name, srcs, deps, warning, java_package, java_lib_packed, optimize, extra_swigflags, blade, kwargs): """Init method. Init the cc target. """ CcTarget.__init__(self, name, 'swig_library', srcs, deps, None, warning, [], [], [], optimize, extra_swigflags, [], blade, kwargs) self.data['cpperraswarn'] = warning self.data['java_package'] = java_package self.data['java_lib_packed'] = java_lib_packed self.data['java_dep_var'] = [] self.data['java_sources_explict_dependency'] = [] self.data['python_vars'] = [] self.data['python_sources'] = [] scons_platform = self.blade.get_scons_platform() self.php_inc_list = scons_platform.get_php_include() self.options = self.blade.get_options()
def __init__(self, name, srcs, deps, optimize, deprecated, blade, kwargs): srcs = var_to_list(srcs) self._check_thrift_srcs_name(srcs) CcTarget.__init__(self, name, 'fbthrift_library', srcs, deps, None, '', [], [], [], optimize, [], [], blade, kwargs) fbthrift_config = config.get_section('fbthrift_config') fbthrift_libs = var_to_list(fbthrift_config['fbthrift_libs']) # Hardcode deps rule to thrift libraries. self._add_hardcode_library(fbthrift_libs) # Link all the symbols by default self.data['link_all_symbols'] = True # For each thrift file initialize a FBThriftHelper, which will be used # to get the source files generated from thrift file. self.fbthrift_helpers = {} for src in srcs: self.fbthrift_helpers[src] = FBThriftHelper( os.path.join(self.path, src))
def _prepare_to_generate_rule(self): CcTarget._prepare_to_generate_rule(self) self._check_proto_deps()
def __init__(self, name, srcs, deps, optimize, deprecated, generate_descriptors, plugins, source_encoding, blade, kwargs): """Init method. Init the proto target. """ # pylint: disable=too-many-locals srcs = var_to_list(srcs) self._check_proto_srcs_name(srcs) proto_config = config.get_section('proto_library_config') protobuf_extra_cppflags = var_to_list( proto_config['protobuf_extra_cppflags']) CcTarget.__init__(self, name, 'proto_library', srcs, deps, None, '', [], [], [], optimize, proto_extra_cppflags, [], blade, kwargs) if srcs: self.data['public_protos'] = [ self._source_file_path(s) for s in srcs ] protobuf_libs = var_to_list(proto_config['protobuf_libs']) protobuf_java_libs = var_to_list(proto_config['protobuf_java_libs']) protobuf_python_libs = var_to_list( proto_config['protobuf_python_libs']) # Hardcode deps rule to thirdparty protobuf lib. self._add_hardcode_library(protobuf_libs) self._add_hardcode_java_library(protobuf_java_libs) self._add_hardcode_library(protobuf_python_libs) plugins = var_to_list(plugins) self.data['protoc_plugins'] = plugins # Handle protoc plugin deps according to the language protoc_plugin_config = config.get_section('protoc_plugin_config') protoc_plugin_deps = set() protoc_plugin_java_deps = set() for plugin in plugins: if plugin not in protoc_plugin_config: console.error_exit('%s: Unknown plugin %s' % (self.fullname, plugin)) p = protoc_plugin_config[plugin] for language, v in p.code_generation.iteritems(): for key in v['deps']: if key not in self.deps: self.deps.append(key) if key not in self.expanded_deps: self.expanded_deps.append(key) protoc_plugin_deps.add(key) if language == 'java': protoc_plugin_java_deps.add(key) self.data['protoc_plugin_deps'] = list(protoc_plugin_deps) # Normally a proto target depends on another proto target when # it references a message defined in that target. Then in the # generated code there is public API with return type/arguments # defined outside and in java it needs to export that dependency, # which is also the case for java protobuf library. self.data['exported_deps'] = self._unify_deps(var_to_list(deps)) self.data['exported_deps'] += self._unify_deps(protobuf_java_libs) self.data['exported_deps'] += list(protoc_plugin_java_deps) # Link all the symbols by default self.data['link_all_symbols'] = True self.data['deprecated'] = deprecated self.data['source_encoding'] = source_encoding self.data['java_sources_explict_dependency'] = [] self.data['python_vars'] = [] self.data['python_sources'] = [] self.data['generate_descriptors'] = generate_descriptors
def __init__(self, name, srcs, deps, optimize, deprecated, generate_descriptors, plugins, source_encoding, blade, kwargs): """Init method. Init the proto target. """ # pylint: disable=too-many-locals srcs = var_to_list(srcs) self._check_proto_srcs_name(srcs) CcTarget.__init__(self, name, 'proto_library', srcs, deps, None, '', [], [], [], optimize, [], [], blade, kwargs) if srcs: self.data['public_protos'] = [self._source_file_path(s) for s in srcs] proto_config = config.get_section('proto_library_config') protobuf_libs = var_to_list(proto_config['protobuf_libs']) protobuf_java_libs = var_to_list(proto_config['protobuf_java_libs']) protobuf_python_libs = var_to_list(proto_config['protobuf_python_libs']) # Hardcode deps rule to thirdparty protobuf lib. self._add_hardcode_library(protobuf_libs) self._add_hardcode_java_library(protobuf_java_libs) self._add_hardcode_library(protobuf_python_libs) plugins = var_to_list(plugins) self.data['protoc_plugins'] = plugins # Handle protoc plugin deps according to the language protoc_plugin_config = config.get_section('protoc_plugin_config') protoc_plugin_deps = set() protoc_plugin_java_deps = set() for plugin in plugins: if plugin not in protoc_plugin_config: console.error_exit('%s: Unknown plugin %s' % (self.fullname, plugin)) p = protoc_plugin_config[plugin] for language, v in p.code_generation.iteritems(): for key in v['deps']: if key not in self.deps: self.deps.append(key) if key not in self.expanded_deps: self.expanded_deps.append(key) protoc_plugin_deps.add(key) if language == 'java': protoc_plugin_java_deps.add(key) self.data['protoc_plugin_deps'] = list(protoc_plugin_deps) # Normally a proto target depends on another proto target when # it references a message defined in that target. Then in the # generated code there is public API with return type/arguments # defined outside and in java it needs to export that dependency, # which is also the case for java protobuf library. self.data['exported_deps'] = self._unify_deps(var_to_list(deps)) self.data['exported_deps'] += self._unify_deps(protobuf_java_libs) self.data['exported_deps'] += list(protoc_plugin_java_deps) # Link all the symbols by default self.data['link_all_symbols'] = True self.data['deprecated'] = deprecated self.data['source_encoding'] = source_encoding self.data['java_sources_explict_dependency'] = [] self.data['python_vars'] = [] self.data['python_sources'] = [] self.data['generate_descriptors'] = generate_descriptors