blob: 7982c4ffd4dda24fa20d05205c786d502f938b54 [file] [log] [blame]
// 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