1// 2// Copyright (C) 2015 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 17libbase_cppflags = [ 18 "-Wall", 19 "-Wextra", 20 "-Werror", 21] 22 23cc_library_headers { 24 name: "libbase_headers", 25 vendor_available: true, 26 host_supported: true, 27 export_include_dirs: ["include"], 28 29 header_libs: ["libutils_headers"], 30 export_header_lib_headers: ["libutils_headers"], 31 32 target: { 33 linux_bionic: { 34 enabled: true, 35 }, 36 windows: { 37 enabled: true, 38 }, 39 }, 40} 41 42cc_library { 43 name: "libbase", 44 vendor_available: true, 45 clang: true, 46 host_supported: true, 47 srcs: [ 48 "file.cpp", 49 "logging.cpp", 50 "parsenetaddress.cpp", 51 "quick_exit.cpp", 52 "stringprintf.cpp", 53 "strings.cpp", 54 "test_utils.cpp", 55 ], 56 57 header_libs: ["libbase_headers"], 58 export_header_lib_headers: ["libbase_headers"], 59 60 cppflags: libbase_cppflags, 61 shared_libs: ["liblog"], 62 target: { 63 android: { 64 srcs: [ 65 "errors_unix.cpp", 66 "properties.cpp", 67 ], 68 cppflags: ["-Wexit-time-destructors"], 69 sanitize: { 70 misc_undefined: ["integer"], 71 }, 72 }, 73 darwin: { 74 srcs: ["errors_unix.cpp"], 75 cppflags: ["-Wexit-time-destructors"], 76 }, 77 linux_bionic: { 78 srcs: ["errors_unix.cpp"], 79 cppflags: ["-Wexit-time-destructors"], 80 enabled: true, 81 }, 82 linux: { 83 srcs: ["errors_unix.cpp"], 84 cppflags: ["-Wexit-time-destructors"], 85 }, 86 windows: { 87 srcs: [ 88 "errors_windows.cpp", 89 "utf8.cpp", 90 ], 91 enabled: true, 92 }, 93 }, 94} 95 96// Tests 97// ------------------------------------------------------------------------------ 98cc_test { 99 name: "libbase_test", 100 host_supported: true, 101 clang: true, 102 srcs: [ 103 "endian_test.cpp", 104 "errors_test.cpp", 105 "file_test.cpp", 106 "logging_test.cpp", 107 "parsedouble_test.cpp", 108 "parseint_test.cpp", 109 "parsenetaddress_test.cpp", 110 "quick_exit_test.cpp", 111 "stringprintf_test.cpp", 112 "strings_test.cpp", 113 "test_main.cpp", 114 ], 115 target: { 116 android: { 117 srcs: ["properties_test.cpp"], 118 sanitize: { 119 misc_undefined: ["integer"], 120 }, 121 }, 122 windows: { 123 srcs: ["utf8_test.cpp"], 124 enabled: true, 125 }, 126 }, 127 local_include_dirs: ["."], 128 cppflags: libbase_cppflags, 129 shared_libs: ["libbase"], 130 compile_multilib: "both", 131 multilib: { 132 lib32: { 133 suffix: "32", 134 }, 135 lib64: { 136 suffix: "64", 137 }, 138 }, 139} 140