// Copyright (C) 2019 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. java_library { name: "icing-java-proto-lite", proto: { // If you change the proto type, also update jarjar-rules.txt to match // the corresponding proto lib's package path. type: "lite", include_dirs: ["external/protobuf/src"], canonical_path_from_root: false, }, srcs: ["icing/proto/*.proto"], jarjar_rules: "jarjar-rules.txt", sdk_version: "core_current", } cc_defaults { name: "libicing_defaults", // For debug / treemap purposes. //strip: { // keep_symbols: true, //}, cflags: [ "-Wall", "-Werror", "-Wextra", "-Wno-deprecated-declarations", "-Wno-ignored-qualifiers", "-Wno-missing-field-initializers", "-Wno-sign-compare", "-Wno-tautological-constant-out-of-range-compare", "-Wno-undefined-var-template", "-Wno-unused-function", "-Wno-unused-parameter", "-Wno-extern-c-compat", "-funsigned-char", "-fvisibility=hidden", ], } cc_library_static { name: "icing-c-proto", defaults: ["libicing_defaults"], proto: { type: "lite", // Find protos relative from where they're specified (useful for external protos) canonical_path_from_root: false, // Need to be able to see the .pb.h files that are generated export_proto_headers: true, }, srcs: ["icing/**/*.proto"], } cc_library_shared { name: "libicing_jni", defaults: ["libicing_defaults"], srcs: [ "icing/**/*.cc", ], exclude_srcs: [ // Tests "icing/**/*_test.cc", // Benchmarks "icing/**/*_benchmark.cc", // Test-only related files (i.e. utils) "icing/testing/**/*", // Tools for manual debugging/investigating "icing/tools/**/*", ], static_libs: [ "icing-c-proto", "libutf", ], shared_libs: [ "libandroidicu", "liblog", // TODO(b/147509515): We only need the full version for GzipStream. If we can remove // that dependency, then we can just use libprotobuf-cpp-lite "libprotobuf-cpp-full", "libz", ], version_script: "icing/jni.lds", } // TODO(cassiewang): Add build rules and a TEST_MAPPING for cc_tests