// // Copyright (C) 2014 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_library { name: "libsigchain", cpp_std: "gnu++17", host_supported: true, defaults: ["art_defaults"], target: { linux: { shared: { srcs: ["sigchain_dummy.cc"], }, static: { srcs: ["sigchain.cc"], }, }, darwin: { srcs: ["sigchain_dummy.cc"], }, android: { shared_libs: ["liblog"], }, }, // Sigchainlib is whole-statically linked into binaries. For Android.mk-based binaries, // this will drag ASAN symbols into the binary, even for modules using LOCAL_SANITIZE := never. // So disable sanitization for now. b/38456126 sanitize: { never: true, }, } // Create a dummy version of libsigchain which expose the necessary symbols // but throws when called. This can be used to get static binaries which don't // need the real functionality of the sig chain but need to please the linker. cc_library_static { name: "libsigchain_dummy", host_supported: true, defaults: ["art_defaults"], srcs: ["sigchain_dummy.cc"], target: { android: { shared_libs: ["liblog"], }, }, } art_cc_test { name: "art_sigchain_tests", defaults: [ "art_gtest_defaults", ], srcs: ["sigchain_test.cc"], whole_static_libs: ["libsigchain"], }