// // Copyright (C) 2018 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_defaults { name: "simpleperf_defaults", cflags: [ "-Wall", "-Wextra", "-Werror", // Try some more extreme warnings. "-Wpedantic", "-Wunreachable-code-aggressive", // And disable some dumb things. "-Wno-zero-length-array", "-Wno-c99-extensions", "-Wno-language-extension-token", "-Wno-gnu-zero-variadic-macro-arguments", "-Wno-nested-anon-types", "-Wno-gnu-statement-expression", "-Wno-vla-extension", "-Wno-extended-offsetof", ], cppflags: [ "-Wno-sign-compare", "-Wno-unused-parameter", ], } cc_library_static { name: "libsimpleperf_elf_read", defaults: [ "simpleperf_defaults", ], host_supported: true, export_include_dirs: [ ".", ], // TODO: fix or workaround this. cflags: [ "-DSIMPLEPERF_REVISION=\"dummy\"", ], static_libs: [ "libbase", ], // Use whole-static to avoid having to pull this in later. whole_static_libs: [ "libLLVMObject", "libLLVMBitReader", "libLLVMMC", "libLLVMMCParser", "libLLVMCore", "libLLVMSupport", "liblog", "liblzma", "libz", "libziparchive", ], target: { // Required for LLVM. linux_glibc: { host_ldlibs: [ "-lncurses", ], }, }, srcs: [ "read_apk.cpp", "read_elf.cpp", "utils.cpp", ], group_static_libs: true, }