1// 2// Copyright (C) 2014 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17cc_library_static { 18 name: "libc++abi", 19 host_supported: true, 20 clang: true, 21 srcs: [ 22 "src/abort_message.cpp", 23 "src/cxa_aux_runtime.cpp", 24 "src/cxa_default_handlers.cpp", 25 "src/cxa_demangle.cpp", 26 "src/cxa_exception.cpp", 27 "src/cxa_exception_storage.cpp", 28 "src/cxa_guard.cpp", 29 "src/cxa_handlers.cpp", 30 "src/cxa_new_delete.cpp", 31 "src/cxa_personality.cpp", 32 "src/cxa_thread_atexit.cpp", 33 "src/cxa_unexpected.cpp", 34 "src/cxa_vector.cpp", 35 "src/cxa_virtual.cpp", 36 "src/exception.cpp", 37 "src/private_typeinfo.cpp", 38 "src/stdexcept.cpp", 39 "src/typeinfo.cpp", 40 ], 41 include_dirs: ["external/libcxx/include"], 42 local_include_dirs: ["include"], 43 export_include_dirs: ["include"], 44 cppflags: [ 45 "-std=c++14", 46 "-fexceptions", 47 "-Wall", 48 "-Wextra", 49 "-Wno-unused-function", 50 "-Werror", 51 ], 52 sanitize: ["never"], 53 stl: "none", 54 rtti: true, 55 arch: { 56 arm: { 57 include_dirs: ["external/libunwind_llvm/include"], 58 cppflags: ["-DLIBCXXABI_USE_LLVM_UNWINDER=1"], 59 }, 60 arm64: { 61 cppflags: ["-DLIBCXXABI_USE_LLVM_UNWINDER=0"], 62 }, 63 mips: { 64 cppflags: ["-DLIBCXXABI_USE_LLVM_UNWINDER=0"], 65 }, 66 mips64: { 67 cppflags: ["-DLIBCXXABI_USE_LLVM_UNWINDER=0"], 68 }, 69 x86: { 70 cppflags: ["-DLIBCXXABI_USE_LLVM_UNWINDER=0"], 71 }, 72 x86_64: { 73 cppflags: ["-DLIBCXXABI_USE_LLVM_UNWINDER=0"], 74 }, 75 }, 76 target: { 77 android: { 78 cppflags: ["-DHAVE___CXA_THREAD_ATEXIT_IMPL"], 79 }, 80 darwin: { 81 // libcxxabi really doesn't like the non-LLVM assembler on Darwin 82 asflags: ["-integrated-as"], 83 cflags: ["-integrated-as"], 84 cppflags: ["-integrated-as"], 85 }, 86 }, 87 88} 89