def consume_object(self, obj): # Those are difficult directories, that will be handled later. if obj.relativedir in ( 'build/unix/elfhack', 'build/unix/elfhack/inject', 'build/clang-plugin', 'build/clang-plugin/tests', 'security/sandbox/win/wow_helper', 'toolkit/crashreporter/google-breakpad/src/common'): return True consumed = CommonBackend.consume_object(self, obj) if consumed: return True if isinstance(obj, DirectoryTraversal): self._envs[obj.objdir] = obj.config for var in ('STL_FLAGS', 'VISIBILITY_FLAGS', 'WARNINGS_AS_ERRORS'): value = obj.config.substs.get(var) if value: self._local_flags[obj.objdir][var] = value elif isinstance(obj, (Sources, GeneratedSources)): # For other sources, include each source file. for f in obj.files: self._build_db_line(obj.objdir, obj.relativedir, obj.config, f, obj.canonical_suffix) elif isinstance(obj, LocalInclude): self._includes[obj.objdir].append( '-I%s' % mozpath.normpath(obj.path.full_path)) elif isinstance(obj, Linkable): if isinstance(obj.defines, Defines): # As opposed to HostDefines for d in obj.defines.get_defines(): if d not in self._defines[obj.objdir]: self._defines[obj.objdir].append(d) self._defines[obj.objdir].extend(obj.lib_defines.get_defines()) if isinstance(obj, SimpleProgram) and obj.is_unit_test: if (self._dist_include_testing not in self._extra_includes[obj.objdir]): self._extra_includes[obj.objdir].append( self._dist_include_testing) elif isinstance(obj, VariablePassthru): if obj.variables.get('IS_GYP_DIR'): self._gyp_dirs.add(obj.objdir) for var in ('MOZBUILD_CFLAGS', 'MOZBUILD_CXXFLAGS', 'MOZBUILD_CMFLAGS', 'MOZBUILD_CMMFLAGS', 'RTL_FLAGS', 'VISIBILITY_FLAGS'): if var in obj.variables: self._local_flags[obj.objdir][var] = obj.variables[var] if (obj.variables.get('DISABLE_STL_WRAPPING') and 'STL_FLAGS' in self._local_flags[obj.objdir]): del self._local_flags[obj.objdir]['STL_FLAGS'] if (obj.variables.get('ALLOW_COMPILER_WARNINGS') and 'WARNINGS_AS_ERRORS' in self._local_flags[obj.objdir]): del self._local_flags[obj.objdir]['WARNINGS_AS_ERRORS'] return True
def consume_object(self, obj): consumed = CommonBackend.consume_object(self, obj) if consumed: return True if isinstance(obj, Sources) or isinstance(obj, HostSources) or \ isinstance(obj, GeneratedSources): # For other sources, include each source file. for f in obj.files: flags = self._get_dir_flags(obj.objdir) self._build_db_line(obj.objdir, self.environment, f, obj.canonical_suffix, flags, isinstance(obj, HostSources)) return True
def consume_object(self, obj): # Those are difficult directories, that will be handled later. if obj.relativedir in ('build/unix/elfhack', 'build/unix/elfhack/inject', 'build/clang-plugin', 'build/clang-plugin/tests'): return True consumed = CommonBackend.consume_object(self, obj) if consumed: return True if isinstance(obj, DirectoryTraversal): self._envs[obj.objdir] = obj.config for var in ('WARNINGS_AS_ERRORS', ): value = obj.config.substs.get(var) if value: self._local_flags[obj.objdir][var] = value elif isinstance(obj, (Sources, GeneratedSources)): # For other sources, include each source file. for f in obj.files: self._build_db_line(obj.objdir, obj.relativedir, obj.config, f, obj.canonical_suffix) elif isinstance(obj, VariablePassthru): for var in ('MOZBUILD_CFLAGS', 'MOZBUILD_CXXFLAGS', 'MOZBUILD_CMFLAGS', 'MOZBUILD_CMMFLAGS', 'RTL_FLAGS'): if var in obj.variables: self._local_flags[obj.objdir][var] = obj.variables[var] if (obj.variables.get('ALLOW_COMPILER_WARNINGS') and 'WARNINGS_AS_ERRORS' in self._local_flags[obj.objdir]): del self._local_flags[obj.objdir]['WARNINGS_AS_ERRORS'] elif isinstance(obj, PerSourceFlag): self._per_source_flags[obj.file_name].extend(obj.flags) elif isinstance(obj, ComputedFlags): for var, flags in obj.get_flags(): self._local_flags[obj.objdir]['COMPUTED_%s' % var] = flags return True
def consume_object(self, obj): # Those are difficult directories, that will be handled later. if obj.relsrcdir in ( "build/unix/elfhack", "build/unix/elfhack/inject", "build/clang-plugin", "build/clang-plugin/tests", ): return True consumed = CommonBackend.consume_object(self, obj) if consumed: return True if isinstance(obj, DirectoryTraversal): self._envs[obj.objdir] = obj.config elif isinstance(obj, (Sources, GeneratedSources)): # For other sources, include each source file. for f in obj.files: self._build_db_line( obj.objdir, obj.relsrcdir, obj.config, f, obj.canonical_suffix ) elif isinstance(obj, VariablePassthru): for var in ("MOZBUILD_CMFLAGS", "MOZBUILD_CMMFLAGS"): if var in obj.variables: self._local_flags[obj.objdir][var] = obj.variables[var] elif isinstance(obj, PerSourceFlag): self._per_source_flags[obj.file_name].extend(obj.flags) elif isinstance(obj, ComputedFlags): for var, flags in obj.get_flags(): self._local_flags[obj.objdir]["COMPUTED_%s" % var] = flags return True
def consume_object(self, obj): # Those are difficult directories, that will be handled later. if obj.relsrcdir in ( 'build/unix/elfhack', 'build/unix/elfhack/inject', 'build/clang-plugin', 'build/clang-plugin/tests'): return True consumed = CommonBackend.consume_object(self, obj) if consumed: return True if isinstance(obj, DirectoryTraversal): self._envs[obj.objdir] = obj.config elif isinstance(obj, (Sources, GeneratedSources)): # For other sources, include each source file. for f in obj.files: self._build_db_line(obj.objdir, obj.relsrcdir, obj.config, f, obj.canonical_suffix) elif isinstance(obj, VariablePassthru): for var in ('MOZBUILD_CMFLAGS', 'MOZBUILD_CMMFLAGS'): if var in obj.variables: self._local_flags[obj.objdir][var] = obj.variables[var] elif isinstance(obj, PerSourceFlag): self._per_source_flags[obj.file_name].extend(obj.flags) elif isinstance(obj, ComputedFlags): for var, flags in obj.get_flags(): self._local_flags[obj.objdir]['COMPUTED_%s' % var] = flags return True
def consume_object(self, obj): # Those are difficult directories, that will be handled later. if obj.relativedir in ( 'build/unix/elfhack', 'build/unix/elfhack/inject', 'build/clang-plugin', 'build/clang-plugin/tests', 'security/sandbox/win/wow_helper', 'toolkit/crashreporter/google-breakpad/src/common'): return True consumed = CommonBackend.consume_object(self, obj) if consumed: return True if isinstance(obj, DirectoryTraversal): self._envs[obj.objdir] = obj.config for var in ('STL_FLAGS', 'VISIBILITY_FLAGS', 'WARNINGS_AS_ERRORS'): value = obj.config.substs.get(var) if value: self._local_flags[obj.objdir][var] = value elif isinstance(obj, (Sources, GeneratedSources)): # For other sources, include each source file. for f in obj.files: self._build_db_line(obj.objdir, obj.relativedir, obj.config, f, obj.canonical_suffix) elif isinstance(obj, LocalInclude): self._includes[obj.objdir].append('-I%s' % mozpath.normpath( obj.path.full_path)) elif isinstance(obj, Linkable): if isinstance(obj.defines, Defines): # As opposed to HostDefines for d in obj.defines.get_defines(): if d not in self._defines[obj.objdir]: self._defines[obj.objdir].append(d) self._defines[obj.objdir].extend(obj.lib_defines.get_defines()) if isinstance(obj, SimpleProgram) and obj.is_unit_test: if (self._dist_include_testing not in self._extra_includes[obj.objdir]): self._extra_includes[obj.objdir].append( self._dist_include_testing) elif isinstance(obj, VariablePassthru): if obj.variables.get('IS_GYP_DIR'): self._gyp_dirs.add(obj.objdir) for var in ('MOZBUILD_CFLAGS', 'MOZBUILD_CXXFLAGS', 'MOZBUILD_CMFLAGS', 'MOZBUILD_CMMFLAGS', 'RTL_FLAGS', 'VISIBILITY_FLAGS'): if var in obj.variables: self._local_flags[obj.objdir][var] = obj.variables[var] if (obj.variables.get('DISABLE_STL_WRAPPING') and 'STL_FLAGS' in self._local_flags[obj.objdir]): del self._local_flags[obj.objdir]['STL_FLAGS'] if (obj.variables.get('ALLOW_COMPILER_WARNINGS') and 'WARNINGS_AS_ERRORS' in self._local_flags[obj.objdir]): del self._local_flags[obj.objdir]['WARNINGS_AS_ERRORS'] return True