1*9712c20fSFrederick Mayle// Copyright (C) 2015 The Android Open Source Project 2*9712c20fSFrederick Mayle// 3*9712c20fSFrederick Mayle// Licensed under the Apache License, Version 2.0 (the "License"); 4*9712c20fSFrederick Mayle// you may not use this file except in compliance with the License. 5*9712c20fSFrederick Mayle// You may obtain a copy of the License at 6*9712c20fSFrederick Mayle// 7*9712c20fSFrederick Mayle// http://www.apache.org/licenses/LICENSE-2.0 8*9712c20fSFrederick Mayle// 9*9712c20fSFrederick Mayle// Unless required by applicable law or agreed to in writing, software 10*9712c20fSFrederick Mayle// distributed under the License is distributed on an "AS IS" BASIS, 11*9712c20fSFrederick Mayle// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9712c20fSFrederick Mayle// See the License for the specific language governing permissions and 13*9712c20fSFrederick Mayle// limitations under the License. 14*9712c20fSFrederick Mayle 15*9712c20fSFrederick Mayle// Static library. 16*9712c20fSFrederick Mayle// ================================================= 17*9712c20fSFrederick Maylepackage { 18*9712c20fSFrederick Mayle default_applicable_licenses: ["external_google-breakpad_license"], 19*9712c20fSFrederick Mayle} 20*9712c20fSFrederick Mayle 21*9712c20fSFrederick Mayle// Added automatically by a large-scale-change that took the approach of 22*9712c20fSFrederick Mayle// 'apply every license found to every target'. While this makes sure we respect 23*9712c20fSFrederick Mayle// every license restriction, it may not be entirely correct. 24*9712c20fSFrederick Mayle// 25*9712c20fSFrederick Mayle// e.g. GPL in an MIT project might only apply to the contrib/ directory. 26*9712c20fSFrederick Mayle// 27*9712c20fSFrederick Mayle// Please consider splitting the single license below into multiple licenses, 28*9712c20fSFrederick Mayle// taking care not to lose any license_kind information, and overriding the 29*9712c20fSFrederick Mayle// default license using the 'licenses: [...]' property on targets as needed. 30*9712c20fSFrederick Mayle// 31*9712c20fSFrederick Mayle// For unused files, consider creating a 'fileGroup' with "//visibility:private" 32*9712c20fSFrederick Mayle// to attach the license to, and including a comment whether the files may be 33*9712c20fSFrederick Mayle// used in the current project. 34*9712c20fSFrederick Mayle// See: http://go/android-license-faq 35*9712c20fSFrederick Maylelicense { 36*9712c20fSFrederick Mayle name: "external_google-breakpad_license", 37*9712c20fSFrederick Mayle visibility: [":__subpackages__"], 38*9712c20fSFrederick Mayle license_kinds: [ 39*9712c20fSFrederick Mayle "SPDX-license-identifier-APSL-2.0", 40*9712c20fSFrederick Mayle "SPDX-license-identifier-Apache-2.0", 41*9712c20fSFrederick Mayle "SPDX-license-identifier-Artistic", 42*9712c20fSFrederick Mayle "SPDX-license-identifier-BSD", 43*9712c20fSFrederick Mayle "SPDX-license-identifier-FSFAP", 44*9712c20fSFrederick Mayle "SPDX-license-identifier-ISC", 45*9712c20fSFrederick Mayle "SPDX-license-identifier-MIT", 46*9712c20fSFrederick Mayle "SPDX-license-identifier-Unicode-DFS", 47*9712c20fSFrederick Mayle "legacy_notice", 48*9712c20fSFrederick Mayle "legacy_unencumbered", 49*9712c20fSFrederick Mayle ], 50*9712c20fSFrederick Mayle license_text: [ 51*9712c20fSFrederick Mayle "LICENSE", 52*9712c20fSFrederick Mayle ], 53*9712c20fSFrederick Mayle} 54*9712c20fSFrederick Mayle 55*9712c20fSFrederick Maylecc_library_static { 56*9712c20fSFrederick Mayle name: "breakpad_client", 57*9712c20fSFrederick Mayle host_supported: true, 58*9712c20fSFrederick Mayle srcs: [ 59*9712c20fSFrederick Mayle "src/client/linux/crash_generation/crash_generation_client.cc", 60*9712c20fSFrederick Mayle "src/client/linux/dump_writer_common/thread_info.cc", 61*9712c20fSFrederick Mayle "src/client/linux/dump_writer_common/ucontext_reader.cc", 62*9712c20fSFrederick Mayle "src/client/linux/handler/exception_handler.cc", 63*9712c20fSFrederick Mayle "src/client/linux/handler/minidump_descriptor.cc", 64*9712c20fSFrederick Mayle "src/client/linux/log/log.cc", 65*9712c20fSFrederick Mayle "src/client/linux/microdump_writer/microdump_writer.cc", 66*9712c20fSFrederick Mayle "src/client/linux/minidump_writer/linux_core_dumper.cc", 67*9712c20fSFrederick Mayle "src/client/linux/minidump_writer/linux_dumper.cc", 68*9712c20fSFrederick Mayle "src/client/linux/minidump_writer/linux_ptrace_dumper.cc", 69*9712c20fSFrederick Mayle "src/client/linux/minidump_writer/minidump_writer.cc", 70*9712c20fSFrederick Mayle "src/client/linux/minidump_writer/pe_file.cc", 71*9712c20fSFrederick Mayle "src/client/minidump_file_writer.cc", 72*9712c20fSFrederick Mayle "src/common/convert_UTF.cc", 73*9712c20fSFrederick Mayle "src/common/linux/breakpad_getcontext.S", 74*9712c20fSFrederick Mayle "src/common/linux/elf_core_dump.cc", 75*9712c20fSFrederick Mayle "src/common/linux/elfutils.cc", 76*9712c20fSFrederick Mayle "src/common/linux/file_id.cc", 77*9712c20fSFrederick Mayle "src/common/linux/guid_creator.cc", 78*9712c20fSFrederick Mayle "src/common/linux/linux_libc_support.cc", 79*9712c20fSFrederick Mayle "src/common/linux/memory_mapped_file.cc", 80*9712c20fSFrederick Mayle "src/common/linux/safe_readlink.cc", 81*9712c20fSFrederick Mayle "src/common/string_conversion.cc", 82*9712c20fSFrederick Mayle ], 83*9712c20fSFrederick Mayle export_include_dirs: ["src"], 84*9712c20fSFrederick Mayle cflags: [ 85*9712c20fSFrederick Mayle "-Wall", 86*9712c20fSFrederick Mayle "-Werror", 87*9712c20fSFrederick Mayle "-Wno-missing-field-initializers", 88*9712c20fSFrederick Mayle "-Wno-tautological-compare", 89*9712c20fSFrederick Mayle "-Wno-unused-parameter", 90*9712c20fSFrederick Mayle ], 91*9712c20fSFrederick Mayle target: { 92*9712c20fSFrederick Mayle bionic: { 93*9712c20fSFrederick Mayle local_include_dirs: [ 94*9712c20fSFrederick Mayle "src/common/android/include", 95*9712c20fSFrederick Mayle ], 96*9712c20fSFrederick Mayle }, 97*9712c20fSFrederick Mayle musl: { 98*9712c20fSFrederick Mayle local_include_dirs: [ 99*9712c20fSFrederick Mayle "src/common/musl/include", 100*9712c20fSFrederick Mayle ], 101*9712c20fSFrederick Mayle }, 102*9712c20fSFrederick Mayle }, 103*9712c20fSFrederick Mayle // Work around b/25435766 core2md segfault. 104*9712c20fSFrederick Mayle arch: { 105*9712c20fSFrederick Mayle x86: { 106*9712c20fSFrederick Mayle cflags: ["-mno-stackrealign"], 107*9712c20fSFrederick Mayle }, 108*9712c20fSFrederick Mayle }, 109*9712c20fSFrederick Mayle} 110*9712c20fSFrederick Mayle 111*9712c20fSFrederick Mayle// core2md binary. 112*9712c20fSFrederick Mayle// ================================================= 113*9712c20fSFrederick Maylecc_binary { 114*9712c20fSFrederick Mayle name: "core2md", 115*9712c20fSFrederick Mayle host_supported: true, 116*9712c20fSFrederick Mayle srcs: [ 117*9712c20fSFrederick Mayle "src/common/convert_UTF.cc", 118*9712c20fSFrederick Mayle "src/common/path_helper.cc", 119*9712c20fSFrederick Mayle "src/tools/linux/core2md/core2md.cc", 120*9712c20fSFrederick Mayle ], 121*9712c20fSFrederick Mayle static_libs: ["breakpad_client"], 122*9712c20fSFrederick Mayle // Work around b/25435766 core2md segfault. 123*9712c20fSFrederick Mayle arch: { 124*9712c20fSFrederick Mayle x86: { 125*9712c20fSFrederick Mayle cflags: ["-mno-stackrealign"], 126*9712c20fSFrederick Mayle }, 127*9712c20fSFrederick Mayle }, 128*9712c20fSFrederick Mayle cflags: [ 129*9712c20fSFrederick Mayle "-Wall", 130*9712c20fSFrederick Mayle "-Werror", 131*9712c20fSFrederick Mayle ], 132*9712c20fSFrederick Mayle} 133*9712c20fSFrederick Mayle 134*9712c20fSFrederick Mayle// dump_syms host tool. 135*9712c20fSFrederick Mayle// ================================================= 136*9712c20fSFrederick Maylecc_binary_host { 137*9712c20fSFrederick Mayle name: "dump_syms", 138*9712c20fSFrederick Mayle rtti: true, 139*9712c20fSFrederick Mayle target: { 140*9712c20fSFrederick Mayle darwin: { 141*9712c20fSFrederick Mayle enabled: false, 142*9712c20fSFrederick Mayle }, 143*9712c20fSFrederick Mayle glibc: { 144*9712c20fSFrederick Mayle cppflags: [ 145*9712c20fSFrederick Mayle "-DHAVE_A_OUT_H", 146*9712c20fSFrederick Mayle "-DSHF_COMPRESSED=0x800", 147*9712c20fSFrederick Mayle ], 148*9712c20fSFrederick Mayle }, 149*9712c20fSFrederick Mayle musl: { 150*9712c20fSFrederick Mayle local_include_dirs: [ 151*9712c20fSFrederick Mayle "src/common/musl/include", 152*9712c20fSFrederick Mayle ], 153*9712c20fSFrederick Mayle }, 154*9712c20fSFrederick Mayle host_linux: { 155*9712c20fSFrederick Mayle cppflags: [ 156*9712c20fSFrederick Mayle "-Wno-implicit-fallthrough", 157*9712c20fSFrederick Mayle "-Wno-unused-parameter", 158*9712c20fSFrederick Mayle ], 159*9712c20fSFrederick Mayle srcs: [ 160*9712c20fSFrederick Mayle "src/common/dwarf/elf_reader.cc", 161*9712c20fSFrederick Mayle "src/common/dwarf_range_list_handler.cc", 162*9712c20fSFrederick Mayle "src/common/linux/crc32.cc", 163*9712c20fSFrederick Mayle "src/common/linux/dump_symbols.cc", 164*9712c20fSFrederick Mayle "src/common/linux/elfutils.cc", 165*9712c20fSFrederick Mayle "src/common/linux/elf_symbols_to_module.cc", 166*9712c20fSFrederick Mayle "src/common/linux/file_id.cc", 167*9712c20fSFrederick Mayle "src/common/linux/linux_libc_support.cc", 168*9712c20fSFrederick Mayle "src/common/linux/memory_mapped_file.cc", 169*9712c20fSFrederick Mayle "src/common/path_helper.cc", 170*9712c20fSFrederick Mayle "src/tools/linux/dump_syms/dump_syms.cc", 171*9712c20fSFrederick Mayle ], 172*9712c20fSFrederick Mayle }, 173*9712c20fSFrederick Mayle }, 174*9712c20fSFrederick Mayle local_include_dirs: ["src"], 175*9712c20fSFrederick Mayle srcs: [ 176*9712c20fSFrederick Mayle "src/common/dwarf/bytereader.cc", 177*9712c20fSFrederick Mayle "src/common/dwarf/dwarf2diehandler.cc", 178*9712c20fSFrederick Mayle "src/common/dwarf/dwarf2reader.cc", 179*9712c20fSFrederick Mayle "src/common/dwarf_cfi_to_module.cc", 180*9712c20fSFrederick Mayle "src/common/dwarf_cu_to_module.cc", 181*9712c20fSFrederick Mayle "src/common/dwarf_line_to_module.cc", 182*9712c20fSFrederick Mayle "src/common/language.cc", 183*9712c20fSFrederick Mayle "src/common/module.cc", 184*9712c20fSFrederick Mayle "src/common/stabs_reader.cc", 185*9712c20fSFrederick Mayle "src/common/stabs_to_module.cc", 186*9712c20fSFrederick Mayle ], 187*9712c20fSFrederick Mayle shared_libs: [ 188*9712c20fSFrederick Mayle "libz", 189*9712c20fSFrederick Mayle ], 190*9712c20fSFrederick Mayle 191*9712c20fSFrederick Mayle cflags: [ 192*9712c20fSFrederick Mayle "-Wall", 193*9712c20fSFrederick Mayle "-Werror", 194*9712c20fSFrederick Mayle "-Wno-unused-local-typedef", 195*9712c20fSFrederick Mayle "-Wno-unused-private-field", 196*9712c20fSFrederick Mayle "-Wno-unused-result", 197*9712c20fSFrederick Mayle ], 198*9712c20fSFrederick Mayle} 199*9712c20fSFrederick Mayle 200*9712c20fSFrederick Mayle// sym_upload host tool. 201*9712c20fSFrederick Mayle// ================================================= 202*9712c20fSFrederick Maylecc_binary_host { 203*9712c20fSFrederick Mayle name: "sym_upload", 204*9712c20fSFrederick Mayle target: { 205*9712c20fSFrederick Mayle darwin: { 206*9712c20fSFrederick Mayle enabled: false, 207*9712c20fSFrederick Mayle }, 208*9712c20fSFrederick Mayle host_linux: { 209*9712c20fSFrederick Mayle srcs: [ 210*9712c20fSFrederick Mayle "src/common/path_helper.cc", 211*9712c20fSFrederick Mayle "src/common/linux/http_upload.cc", 212*9712c20fSFrederick Mayle "src/common/linux/libcurl_wrapper.cc", 213*9712c20fSFrederick Mayle "src/common/linux/symbol_collector_client.cc", 214*9712c20fSFrederick Mayle "src/common/linux/symbol_upload.cc", 215*9712c20fSFrederick Mayle "src/tools/linux/symupload/sym_upload.cc", 216*9712c20fSFrederick Mayle ], 217*9712c20fSFrederick Mayle }, 218*9712c20fSFrederick Mayle }, 219*9712c20fSFrederick Mayle local_include_dirs: ["src"], 220*9712c20fSFrederick Mayle cflags: [ 221*9712c20fSFrederick Mayle "-Wall", 222*9712c20fSFrederick Mayle "-Werror", 223*9712c20fSFrederick Mayle "-Wno-unused-parameter", 224*9712c20fSFrederick Mayle ], 225*9712c20fSFrederick Mayle} 226*9712c20fSFrederick Mayle 227*9712c20fSFrederick Mayle// libdisasm static library. 228*9712c20fSFrederick Mayle// ================================================= 229*9712c20fSFrederick Maylecc_library_host_static { 230*9712c20fSFrederick Mayle name: "libdisasm", 231*9712c20fSFrederick Mayle target: { 232*9712c20fSFrederick Mayle darwin: { 233*9712c20fSFrederick Mayle enabled: false, 234*9712c20fSFrederick Mayle }, 235*9712c20fSFrederick Mayle host_linux: { 236*9712c20fSFrederick Mayle cflags: [ 237*9712c20fSFrederick Mayle "-Wno-missing-field-initializers", 238*9712c20fSFrederick Mayle "-Wno-pointer-arith", 239*9712c20fSFrederick Mayle "-Wno-tautological-constant-out-of-range-compare", 240*9712c20fSFrederick Mayle "-Wno-unused-parameter", 241*9712c20fSFrederick Mayle ], 242*9712c20fSFrederick Mayle }, 243*9712c20fSFrederick Mayle }, 244*9712c20fSFrederick Mayle export_include_dirs: ["src/third_party/libdisasm"], 245*9712c20fSFrederick Mayle srcs: [ 246*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_implicit.c", 247*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_insn.c", 248*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_invariant.c", 249*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_modrm.c", 250*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_opcode_tables.c", 251*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_operand.c", 252*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_reg.c", 253*9712c20fSFrederick Mayle "src/third_party/libdisasm/ia32_settings.c", 254*9712c20fSFrederick Mayle "src/third_party/libdisasm/x86_disasm.c", 255*9712c20fSFrederick Mayle "src/third_party/libdisasm/x86_format.c", 256*9712c20fSFrederick Mayle "src/third_party/libdisasm/x86_imm.c", 257*9712c20fSFrederick Mayle "src/third_party/libdisasm/x86_insn.c", 258*9712c20fSFrederick Mayle "src/third_party/libdisasm/x86_misc.c", 259*9712c20fSFrederick Mayle "src/third_party/libdisasm/x86_operand_list.c", 260*9712c20fSFrederick Mayle ], 261*9712c20fSFrederick Mayle} 262*9712c20fSFrederick Mayle 263*9712c20fSFrederick Mayle// minidump_stackwalk host tool. 264*9712c20fSFrederick Mayle// ================================================= 265*9712c20fSFrederick Maylecc_binary_host { 266*9712c20fSFrederick Mayle name: "minidump_stackwalk", 267*9712c20fSFrederick Mayle target: { 268*9712c20fSFrederick Mayle darwin: { 269*9712c20fSFrederick Mayle enabled: false, 270*9712c20fSFrederick Mayle }, 271*9712c20fSFrederick Mayle host_linux: { 272*9712c20fSFrederick Mayle cppflags: [ 273*9712c20fSFrederick Mayle "-DHAVE_A_OUT_H", 274*9712c20fSFrederick Mayle // minidump_processor.cc:853, minidump.cc:4228 have fallthrough. 275*9712c20fSFrederick Mayle "-Wno-implicit-fallthrough", 276*9712c20fSFrederick Mayle "-Wno-missing-field-initializers", 277*9712c20fSFrederick Mayle "-Wno-unused-function", 278*9712c20fSFrederick Mayle "-Wno-unused-parameter", 279*9712c20fSFrederick Mayle ], 280*9712c20fSFrederick Mayle srcs: [ 281*9712c20fSFrederick Mayle "src/common/linux/scoped_pipe.cc", 282*9712c20fSFrederick Mayle "src/common/linux/scoped_tmpfile.cc", 283*9712c20fSFrederick Mayle "src/common/path_helper.cc", 284*9712c20fSFrederick Mayle "src/processor/basic_code_modules.cc", 285*9712c20fSFrederick Mayle "src/processor/basic_source_line_resolver.cc", 286*9712c20fSFrederick Mayle "src/processor/call_stack.cc", 287*9712c20fSFrederick Mayle "src/processor/cfi_frame_info.cc", 288*9712c20fSFrederick Mayle "src/processor/convert_old_arm64_context.cc", 289*9712c20fSFrederick Mayle "src/processor/disassembler_objdump.cc", 290*9712c20fSFrederick Mayle "src/processor/disassembler_x86.cc", 291*9712c20fSFrederick Mayle "src/processor/dump_context.cc", 292*9712c20fSFrederick Mayle "src/processor/dump_object.cc", 293*9712c20fSFrederick Mayle "src/processor/exploitability.cc", 294*9712c20fSFrederick Mayle "src/processor/exploitability_linux.cc", 295*9712c20fSFrederick Mayle "src/processor/exploitability_win.cc", 296*9712c20fSFrederick Mayle "src/processor/logging.cc", 297*9712c20fSFrederick Mayle "src/processor/microdump.cc", 298*9712c20fSFrederick Mayle "src/processor/microdump_processor.cc", 299*9712c20fSFrederick Mayle "src/processor/minidump.cc", 300*9712c20fSFrederick Mayle "src/processor/minidump_processor.cc", 301*9712c20fSFrederick Mayle "src/processor/minidump_stackwalk.cc", 302*9712c20fSFrederick Mayle "src/processor/pathname_stripper.cc", 303*9712c20fSFrederick Mayle "src/processor/process_state.cc", 304*9712c20fSFrederick Mayle "src/processor/proc_maps_linux.cc", 305*9712c20fSFrederick Mayle "src/processor/simple_symbol_supplier.cc", 306*9712c20fSFrederick Mayle "src/processor/source_line_resolver_base.cc", 307*9712c20fSFrederick Mayle "src/processor/stack_frame_symbolizer.cc", 308*9712c20fSFrederick Mayle "src/processor/stackwalk_common.cc", 309*9712c20fSFrederick Mayle "src/processor/stackwalker.cc", 310*9712c20fSFrederick Mayle "src/processor/stackwalker_amd64.cc", 311*9712c20fSFrederick Mayle "src/processor/stackwalker_arm.cc", 312*9712c20fSFrederick Mayle "src/processor/stackwalker_arm64.cc", 313*9712c20fSFrederick Mayle "src/processor/stackwalker_mips.cc", 314*9712c20fSFrederick Mayle "src/processor/stackwalker_ppc.cc", 315*9712c20fSFrederick Mayle "src/processor/stackwalker_ppc64.cc", 316*9712c20fSFrederick Mayle "src/processor/stackwalker_riscv.cc", 317*9712c20fSFrederick Mayle "src/processor/stackwalker_riscv64.cc", 318*9712c20fSFrederick Mayle "src/processor/stackwalker_sparc.cc", 319*9712c20fSFrederick Mayle "src/processor/stackwalker_x86.cc", 320*9712c20fSFrederick Mayle "src/processor/symbolic_constants_win.cc", 321*9712c20fSFrederick Mayle "src/processor/tokenize.cc", 322*9712c20fSFrederick Mayle ], 323*9712c20fSFrederick Mayle }, 324*9712c20fSFrederick Mayle }, 325*9712c20fSFrederick Mayle local_include_dirs: ["src"], 326*9712c20fSFrederick Mayle static_libs: ["libdisasm"], 327*9712c20fSFrederick Mayle} 328