// // Copyright (C) 2015 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. // libbase_cppflags = [ "-Wall", "-Wextra", "-Werror", ] cc_library_headers { name: "libbase_headers", vendor_available: true, host_supported: true, export_include_dirs: ["include"], target: { linux_bionic: { enabled: true, }, windows: { enabled: true, }, }, } cc_library { name: "libbase", vendor_available: true, clang: true, host_supported: true, srcs: [ "file.cpp", "logging.cpp", "parsenetaddress.cpp", "quick_exit.cpp", "stringprintf.cpp", "strings.cpp", "test_utils.cpp", ], header_libs: [ "libbase_headers", ], export_header_lib_headers: ["libbase_headers"], cppflags: libbase_cppflags, shared_libs: ["liblog"], target: { android: { srcs: [ "errors_unix.cpp", "properties.cpp", "chrono_utils.cpp", ], cppflags: ["-Wexit-time-destructors"], sanitize: { misc_undefined: ["integer"], }, }, darwin: { srcs: [ "chrono_utils.cpp", "errors_unix.cpp", ], cppflags: ["-Wexit-time-destructors"], }, linux_bionic: { srcs: [ "chrono_utils.cpp", "errors_unix.cpp", ], cppflags: ["-Wexit-time-destructors"], enabled: true, }, linux: { srcs: [ "chrono_utils.cpp", "errors_unix.cpp", ], cppflags: ["-Wexit-time-destructors"], host_ldlibs: ["-lrt"], }, windows: { srcs: [ "errors_windows.cpp", "utf8.cpp", ], enabled: true, }, }, } // Tests // ------------------------------------------------------------------------------ cc_test { name: "libbase_test", host_supported: true, clang: true, srcs: [ "endian_test.cpp", "errors_test.cpp", "file_test.cpp", "logging_test.cpp", "parsedouble_test.cpp", "parseint_test.cpp", "parsenetaddress_test.cpp", "quick_exit_test.cpp", "scopeguard_test.cpp", "stringprintf_test.cpp", "strings_test.cpp", "test_main.cpp", ], target: { android: { srcs: [ "chrono_utils_test.cpp", "properties_test.cpp" ], sanitize: { misc_undefined: ["integer"], }, }, linux: { srcs: ["chrono_utils_test.cpp"], host_ldlibs: ["-lrt"], }, windows: { srcs: ["utf8_test.cpp"], enabled: true, }, }, local_include_dirs: ["."], cppflags: libbase_cppflags, shared_libs: ["libbase"], compile_multilib: "both", multilib: { lib32: { suffix: "32", }, lib64: { suffix: "64", }, }, }