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 17// host + device static lib 18cc_library_static { 19 name: "libc++_static", 20 host_supported: true, 21 vendor_available: true, 22 clang: true, 23 srcs: [ 24 "src/algorithm.cpp", 25 "src/any.cpp", 26 "src/bind.cpp", 27 "src/chrono.cpp", 28 "src/condition_variable.cpp", 29 "src/debug.cpp", 30 "src/exception.cpp", 31 "src/future.cpp", 32 "src/hash.cpp", 33 "src/ios.cpp", 34 "src/iostream.cpp", 35 "src/locale.cpp", 36 "src/memory.cpp", 37 "src/mutex.cpp", 38 "src/new.cpp", 39 "src/optional.cpp", 40 "src/random.cpp", 41 "src/regex.cpp", 42 "src/shared_mutex.cpp", 43 "src/stdexcept.cpp", 44 "src/string.cpp", 45 "src/strstream.cpp", 46 "src/system_error.cpp", 47 "src/thread.cpp", 48 "src/typeinfo.cpp", 49 "src/utility.cpp", 50 "src/valarray.cpp", 51 "src/variant.cpp", 52 ], 53 local_include_dirs: ["include"], 54 export_include_dirs: ["include"], 55 cppflags: [ 56 "-std=c++14", 57 "-nostdinc++", 58 "-fexceptions", 59 "-DLIBCXX_BUILDING_LIBCXXABI", 60 "-D_LIBCPP_BUILDING_LIBRARY", 61 ], 62 rtti: true, 63 whole_static_libs: [ 64 "libc++abi", 65 ], 66 stl: "none", 67 target: { 68 linux_bionic: { 69 enabled: true, 70 }, 71 }, 72} 73 74// host + device dynamic lib 75cc_library_shared { 76 name: "libc++", 77 host_supported: true, 78 vendor_available: true, 79 clang: true, 80 whole_static_libs: ["libc++_static"], 81 stl: "none", 82 83 target: { 84 android: { 85 shared_libs: ["libdl"], 86 }, 87 android_arm: { 88 static_libs: ["libunwind_llvm"], 89 ldflags: ["-Wl,--exclude-libs,libunwind_llvm.a"], 90 }, 91 darwin: { 92 unexported_symbols_list: "lib/libc++unexp.exp", 93 force_symbols_not_weak_list: "lib/notweak.exp", 94 force_symbols_weak_list: "lib/weak.exp", 95 ldflags: [ 96 "-nodefaultlibs", 97 "-Wl,-undefined,dynamic_lookup", 98 ], 99 }, 100 101 linux: { 102 ldflags: ["-nodefaultlibs"], 103 host_ldlibs: [ 104 "-lrt", 105 "-lpthread", 106 "-ldl", 107 ], 108 }, 109 linux_bionic: { 110 enabled: true, 111 static_libs: ["libunwindbacktrace"], 112 shared_libs: [ 113 "libdl", 114 "liblzma", 115 ], 116 }, 117 }, 118} 119 120 121// ANDROIDMK TRANSLATION ERROR: unsupported conditional 122// ifdef LIBCXX_TESTING 123// ANDROIDMK TRANSLATION ERROR: unsupported include 124// include $(LOCAL_PATH)/buildcmds/Android.mk 125 126// ANDROIDMK TRANSLATION ERROR: endif from unsupported contitional 127// endif 128// TARGET_BUILD_APPS 129 130