| // Copyright (C) 2013 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| cc_library_static { |
| name: "libdwfl", |
| host_supported: true, |
| // Clang has no nested functions. |
| clang: false, |
| |
| srcs: [ |
| "core-file.c", |
| "cu.c", |
| "derelocate.c", |
| "dwfl_addrdie.c", |
| "dwfl_addrdwarf.c", |
| "dwfl_addrmodule.c", |
| "dwfl_begin.c", |
| "dwfl_build_id_find_debuginfo.c", |
| "dwfl_build_id_find_elf.c", |
| "dwfl_cumodule.c", |
| "dwfl_dwarf_line.c", |
| "dwfl_end.c", |
| "dwfl_error.c", |
| "dwfl_frame.c", |
| "dwfl_frame_pc.c", |
| "dwfl_frame_regs.c", |
| "dwfl_getdwarf.c", |
| "dwfl_getmodules.c", |
| "dwfl_getsrc.c", |
| "dwfl_getsrclines.c", |
| "dwfl_line_comp_dir.c", |
| "dwfl_linecu.c", |
| "dwfl_lineinfo.c", |
| "dwfl_linemodule.c", |
| "dwfl_module_addrdie.c", |
| "dwfl_module_addrname.c", |
| "dwfl_module_addrsym.c", |
| "dwfl_module_build_id.c", |
| "dwfl_module.c", |
| "dwfl_module_dwarf_cfi.c", |
| "dwfl_module_eh_cfi.c", |
| "dwfl_module_getdwarf.c", |
| "dwfl_module_getelf.c", |
| "dwfl_module_getsrc.c", |
| "dwfl_module_getsrc_file.c", |
| "dwfl_module_getsym.c", |
| "dwfl_module_info.c", |
| "dwfl_module_nextcu.c", |
| "dwfl_module_register_names.c", |
| "dwfl_module_report_build_id.c", |
| "dwfl_module_return_value_location.c", |
| "dwfl_nextcu.c", |
| "dwfl_onesrcline.c", |
| "dwfl_report_elf.c", |
| "dwfl_segment_report_module.c", |
| "dwfl_validate_address.c", |
| "dwfl_version.c", |
| "elf-from-memory.c", |
| "find-debuginfo.c", |
| "frame_unwind.c", |
| "gzip.c", |
| "image-header.c", |
| "libdwfl_crc32.c", |
| "libdwfl_crc32_file.c", |
| "lines.c", |
| "link_map.c", |
| "linux-core-attach.c", |
| "linux-kernel-modules.c", |
| "linux-pid-attach.c", |
| "linux-proc-maps.c", |
| "offline.c", |
| "open.c", |
| "relocate.c", |
| "segment.c", |
| ], |
| |
| local_include_dirs: [ |
| "..", |
| "../lib", |
| "../libdwelf", |
| "../libdwfl", |
| "../libebl", |
| "../libdw", |
| "../libelf", |
| ], |
| |
| cflags: [ |
| "-DHAVE_CONFIG_H", |
| "-std=gnu99", |
| "-D_GNU_SOURCE", |
| // to suppress the "pointer of type ‘void *’ used in arithmetic" warning |
| "-Wno-pointer-arith", |
| // Asserts are not compiled, so some debug variables appear unused. Rather than |
| // fix, we prefer to turn off the warning locally. |
| "-Wno-unused-but-set-variable", |
| ], |
| |
| export_include_dirs: ["."], |
| |
| static_libs: ["libz"], |
| target: { |
| darwin: { |
| disabled: true, |
| }, |
| android: { |
| local_include_dirs: ["../../bionic-fixup"], |
| cflags: [ |
| "-Werror", |
| "-include AndroidFixup.h", |
| ], |
| }, |
| }, |
| } |