491 lines
15 KiB
Plaintext
491 lines
15 KiB
Plaintext
package {
|
|
default_applicable_licenses: ["external_tflite-support_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
// See: http://go/android-license-faq
|
|
|
|
// TODO (ag/17748161): Split into smaller localized build files as necessary.
|
|
|
|
license {
|
|
name: "external_tflite-support_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
"SPDX-license-identifier-MIT",
|
|
],
|
|
license_text: [
|
|
"LICENSE",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "tflite_support_defaults",
|
|
cflags: [
|
|
"-Wno-ignored-qualifiers",
|
|
"-Wno-missing-field-initializers",
|
|
"-Wno-unused-parameter",
|
|
"-Wno-unused-variable",
|
|
],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "tflite_support",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
stl: "libc++_static",
|
|
export_include_dirs: ["."],
|
|
srcs: [
|
|
"tensorflow_lite_support/cc/utils/common_utils.cc",
|
|
"tensorflow_lite_support/custom_ops/kernel/sentencepiece/sentencepiece_tokenizer_tflite.cc",
|
|
"tensorflow_lite_support/custom_ops/kernel/sentencepiece/optimized_encoder.cc",
|
|
"tensorflow_lite_support/custom_ops/kernel/ragged/ragged_range_tflite.cc",
|
|
"tensorflow_lite_support/custom_ops/kernel/ragged/ragged_tensor_to_tensor_tflite.cc",
|
|
],
|
|
cflags: [
|
|
"-Werror",
|
|
"-Wall",
|
|
"-O2",
|
|
"-Wno-missing-field-initializers",
|
|
"-Wno-unused-parameter",
|
|
"-Wno-unused-variable",
|
|
],
|
|
generated_headers: [
|
|
"tflite_support_spm_config",
|
|
"tflite_support_spm_encoder_config"
|
|
],
|
|
header_libs: [
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
],
|
|
static_libs: [
|
|
"libtextclassifier_abseil",
|
|
"libtflite_static",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
|
|
visibility: ["//external/libtextclassifier:__subpackages__"],
|
|
}
|
|
|
|
java_library {
|
|
name: "tflite_support_java",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
srcs: [
|
|
"tensorflow_lite_support/java/src/java/org/tensorflow/lite/support/**/*.java",
|
|
],
|
|
libs: [
|
|
"guava-android-annotation-stubs",
|
|
],
|
|
static_libs: [
|
|
"tensorflowlite_java",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "tflite_support_tokenizers",
|
|
srcs: [
|
|
"tensorflow_lite_support/cc/task/core/task_utils.cc",
|
|
"tensorflow_lite_support/cc/text/tokenizers/regex_tokenizer.cc",
|
|
"tensorflow_lite_support/cc/text/tokenizers/tokenizer_utils.cc",
|
|
"tensorflow_lite_support/cc/utils/common_utils.cc",
|
|
],
|
|
defaults: ["tflite_support_defaults"],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
export_include_dirs: ["."],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
"libtextclassifier_flatbuffer_headers",
|
|
],
|
|
generated_headers: ["tflite_support_metadata_schema"],
|
|
static_libs: [
|
|
"libtextclassifier_bert_tokenizer",
|
|
"libtextclassifier_abseil",
|
|
"libtflite_static",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
cc_test {
|
|
name: "tflite_support_tokenizer_tests",
|
|
srcs: [
|
|
"tensorflow_lite_support/cc/test/text/regex_tokenizer_test.cc",
|
|
],
|
|
defaults: ["tflite_support_defaults"],
|
|
data: ["tensorflow_lite_support/cc/test/testdata/task/text/**/*.txt"],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
static_libs: [
|
|
"tflite_support_tokenizers",
|
|
"libtextclassifier_abseil",
|
|
"libgmock_ndk",
|
|
"libbase_ndk",
|
|
],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
],
|
|
generated_headers: ["tflite_support_metadata_schema"],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "tflite_support_classifiers",
|
|
srcs: [
|
|
"tensorflow_lite_support/cc/task/text/nlclassifier/**/*.cc",
|
|
"tensorflow_lite_support/cc/common.cc",
|
|
"tensorflow_lite_support/cc/port/default/tflite_wrapper.cc",
|
|
"tensorflow_lite_support/cc/port/default/statusor.cc",
|
|
],
|
|
defaults: ["tflite_support_defaults"],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
export_include_dirs: ["."],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
],
|
|
generated_headers: ["tflite_support_metadata_schema"],
|
|
static_libs: [
|
|
"libtextclassifier_abseil",
|
|
"libtflite_static",
|
|
"tflite_configuration_proto",
|
|
"tflite_support_task_core_proto",
|
|
"tflite_support_tokenizers",
|
|
"tflite_support_metadata_extractor",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
java_library {
|
|
name: "tflite_support_classifiers_java",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
srcs: [
|
|
"tensorflow_lite_support/java/src/java/org/tensorflow/lite/task/text/nlclassifier/**/*.java",
|
|
],
|
|
static_libs: [
|
|
"auto_value_annotations",
|
|
"tflite_support_java",
|
|
"tflite_support_base_task_api_java",
|
|
],
|
|
plugins: [
|
|
"auto_value_plugin",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
cc_library_shared {
|
|
name: "libtflite_support_classifiers_native",
|
|
srcs: [
|
|
"tensorflow_lite_support/java/src/native/task/text/nlclassifier/bert_nlclassifier/bert_nl_classifier_jni.cc",
|
|
"tensorflow_lite_support/java/src/native/task/text/nlclassifier/nl_classifier_jni.cc",
|
|
"tensorflow_lite_support/java/src/native/task/text/nlclassifier/nl_classifier_jni_utils.cc",
|
|
"tensorflow_lite_support/java/src/native/task/core/rbtml_op_resolver.cc",
|
|
"tensorflow_lite_support/custom_ops/kernel/unsorted_segment.cc",
|
|
"tensorflow_lite_support/cc/utils/jni_utils.cc",
|
|
],
|
|
version_script: "tensorflow_lite_support/java/tflite_version_script.lds",
|
|
shared_libs: ["liblog"],
|
|
static_libs: [
|
|
"libprotobuf-cpp-lite-ndk",
|
|
"libtextclassifier_abseil",
|
|
"libtextclassifier_bert_tokenizer",
|
|
"libtflite_static",
|
|
"tflite_configuration_proto",
|
|
"tflite_support_classifiers",
|
|
"tflite_support_libz",
|
|
"tflite_support_metadata_extractor",
|
|
"tflite_support_task_core",
|
|
"tflite_support_task_core_proto",
|
|
"tflite_support_tokenizers",
|
|
],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
"jni_headers",
|
|
"libtextclassifier_flatbuffer_headers",
|
|
],
|
|
generated_headers: [
|
|
"libtflite_mutable_schema",
|
|
"tflite_support_metadata_schema",
|
|
],
|
|
defaults: ["tflite_support_defaults"],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
export_include_dirs: ["."],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
java_library {
|
|
name: "tflite_support_base_task_api_java",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
srcs: [
|
|
"tensorflow_lite_support/java/src/java/org/tensorflow/lite/task/core/*.java",
|
|
],
|
|
optimize: {
|
|
proguard_flags_files: ["proguard.flags"],
|
|
},
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "tflite_support_metadata_extractor",
|
|
srcs: [
|
|
"tensorflow_lite_support/metadata/cc/metadata_extractor.cc",
|
|
"tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc",
|
|
],
|
|
defaults: ["tflite_support_defaults"],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
export_include_dirs: ["."],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
"libtextclassifier_flatbuffer_headers",
|
|
],
|
|
generated_headers: [
|
|
"libtflite_mutable_schema",
|
|
"tflite_support_metadata_schema",
|
|
],
|
|
static_libs: [
|
|
"libtextclassifier_abseil",
|
|
"tflite_support_libz",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "tflite_support_task_core",
|
|
srcs: ["tensorflow_lite_support/cc/task/core/**/*.cc"],
|
|
defaults: ["tflite_support_defaults"],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
export_include_dirs: ["."],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
],
|
|
generated_headers: [
|
|
"libtflite_mutable_schema",
|
|
"tflite_support_metadata_schema",
|
|
],
|
|
static_libs: [
|
|
"libtextclassifier_abseil",
|
|
"tflite_configuration_proto",
|
|
"tflite_support_task_core_proto",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
cc_test {
|
|
name: "tflite_support_classifier_tests",
|
|
srcs: [
|
|
"tensorflow_lite_support/cc/test/task/text/bert_nl_classifier_test.cc",
|
|
],
|
|
data: ["tensorflow_lite_support/cc/test/testdata/task/text/**/*.tflite"],
|
|
defaults: [
|
|
"tflite_support_defaults",
|
|
],
|
|
stl: "libc++_static",
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
shared_libs: [
|
|
"liblog",
|
|
],
|
|
static_libs: [
|
|
"libprotobuf-cpp-lite-ndk",
|
|
"libtextclassifier_abseil",
|
|
"libtextclassifier_bert_tokenizer",
|
|
"libtflite_static",
|
|
"libgmock_ndk",
|
|
"libbase_ndk",
|
|
"tflite_configuration_proto",
|
|
"tflite_support_classifiers",
|
|
"tflite_support_libz",
|
|
"tflite_support_metadata_extractor",
|
|
"tflite_support_task_core",
|
|
"tflite_support_task_core_proto",
|
|
"tflite_support_tokenizers",
|
|
],
|
|
header_libs: [
|
|
// TODO (ag/17748161): Create target for just TFLite headers and use here.
|
|
"tensorflow_headers",
|
|
"flatbuffer_headers",
|
|
"liblog_headers",
|
|
"libtextclassifier_flatbuffer_headers",
|
|
],
|
|
generated_headers: [
|
|
"libtflite_mutable_schema",
|
|
"tflite_support_metadata_schema",
|
|
],
|
|
}
|
|
|
|
android_test {
|
|
name: "TfliteSupportClassifierTests",
|
|
srcs: [
|
|
"tensorflow_lite_support/java/src/javatests/org/tensorflow/lite/task/text/nlclassifier/BertNLClassifierTest.java",
|
|
],
|
|
asset_dirs: [
|
|
"tensorflow_lite_support/java/src/javatests/testdata/task/text",
|
|
],
|
|
defaults: ["modules-utils-testable-device-config-defaults"],
|
|
manifest: "tensorflow_lite_support/java/AndroidManifest.xml",
|
|
sdk_version: "module_current",
|
|
min_sdk_version: "30",
|
|
static_libs: [
|
|
"androidx.test.core",
|
|
"tensorflowlite_java",
|
|
"truth-prebuilt",
|
|
"tflite_support_classifiers_java",
|
|
"tflite_support_test_utils_java",
|
|
],
|
|
libs: [
|
|
"android.test.base",
|
|
"android.test.mock.stubs",
|
|
],
|
|
test_suites: [
|
|
"general-tests",
|
|
],
|
|
jni_libs: [
|
|
"libtflite_support_classifiers_native",
|
|
],
|
|
aaptflags: [
|
|
// Avoid compression on tflite files as the Interpreter
|
|
// can not load compressed flat buffer formats.
|
|
// (*appt compresses all assets into the apk by default)
|
|
// See https://elinux.org/Android_aapt for more detail.
|
|
"-0 .tflite",
|
|
],
|
|
}
|
|
|
|
java_library_static {
|
|
name: "tflite_support_test_utils_java",
|
|
sdk_version: "module_current",
|
|
min_sdk_version: "30",
|
|
srcs: [
|
|
"tensorflow_lite_support/java/src/javatests/org/tensorflow/lite/task/core/TestUtils.java",
|
|
],
|
|
static_libs: [
|
|
"apache-commons-compress",
|
|
"guava",
|
|
],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "tflite_support_task_core_proto",
|
|
proto: {
|
|
type: "lite",
|
|
canonical_path_from_root: false,
|
|
export_proto_headers: true,
|
|
},
|
|
stl: "libc++",
|
|
srcs: ["tensorflow_lite_support/cc/task/core/proto/**/*.proto"],
|
|
sdk_version: "current",
|
|
min_sdk_version: "30",
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.adservices",
|
|
"com.android.extservices",
|
|
],
|
|
}
|
|
|
|
// Add header file targets.
|
|
genrule {
|
|
name: "tflite_support_metadata_schema",
|
|
srcs: ["tensorflow_lite_support/metadata/metadata_schema.fbs"],
|
|
out: ["tensorflow_lite_support/metadata/metadata_schema_generated.h"],
|
|
defaults: ["tflite_support_fbgen"],
|
|
}
|
|
|
|
|
|
// -----------------
|
|
// Generate headers with FlatBuffer schema compiler.
|
|
// -----------------
|
|
genrule_defaults {
|
|
name: "tflite_support_fbgen",
|
|
tools: ["flatc"],
|
|
// "depfile" is used here in conjunction with flatc's -M to gather the deps
|
|
cmd: "$(location flatc) --cpp --no-union-value-namespacing --gen-object-api --keep-prefix -I external/tflite-support -M $(in) >$(depfile) && " +
|
|
"$(location flatc) --cpp --no-union-value-namespacing --gen-object-api --keep-prefix -I external/tflite-support -o $$(dirname $(out)) $(in)",
|
|
depfile: true,
|
|
}
|
|
|
|
genrule {
|
|
name: "tflite_support_spm_config",
|
|
srcs: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/config.fbs"],
|
|
out: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/config_generated.h"],
|
|
defaults: ["tflite_support_fbgen"],
|
|
}
|
|
|
|
genrule {
|
|
name: "tflite_support_spm_encoder_config",
|
|
srcs: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config.fbs"],
|
|
out: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config_generated.h"],
|
|
defaults: ["tflite_support_fbgen"],
|
|
}
|