aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp381
1 files changed, 380 insertions, 1 deletions
diff --git a/Android.bp b/Android.bp
index 4b012533..a0fb7f15 100644
--- a/Android.bp
+++ b/Android.bp
@@ -16,6 +16,9 @@ package {
// 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__"],
@@ -29,6 +32,16 @@ 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",
@@ -65,11 +78,377 @@ cc_library_static {
apex_available: [
"//apex_available:platform",
"com.android.extservices",
+ "com.android.adservices",
],
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",
+ ],
+}
+
+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",
+ ],
+}
+
+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",
+ ],
+}
+
+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",
+ ],
+}
+
+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/builtin_op_resolver.cc",
+ "tensorflow_lite_support/cc/utils/jni_utils.cc",
+ ],
+ 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",
+ "liblog_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",
+ ],
+}
+
+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",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.adservices",
+ ],
+}
+
+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",
+ ],
+}
+
+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",
+ ],
+}
+
+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",
+ ],
+}
+
+// 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.
@@ -95,4 +474,4 @@ genrule {
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"],
-}
+} \ No newline at end of file