// Copyright (C) 2017 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. package { default_applicable_licenses: ["external_tensorflow_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. // // large-scale-change included anything that looked like it might be a license // text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. // // Please consider removing redundant or irrelevant files from 'license_text:'. // // large-scale-change filtered out the below license kinds as false-positives: // SPDX-license-identifier-CC-BY-SA // SPDX-license-identifier-MPL-2.0 // See: http://go/android-license-faq license { name: "external_tensorflow_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-BSD", "SPDX-license-identifier-MIT", "legacy_unencumbered", ], license_text: [ "LICENSE", "NOTICE", ], } cc_library_headers { name: "tensorflow_headers", export_include_dirs: ["."], vendor_available: true, host_supported: true, sdk_version: "current", min_sdk_version: "apex_inherit", apex_available: [ "//apex_available:platform", "com.android.extservices", "com.android.neuralnetworks", "test_com.android.neuralnetworks", "com.android.adservices", ], } genrule { name: "libtflite_mutable_schema", tools: ["flatc"], cmd: "$(location flatc) --cpp --no-union-value-namespacing --gen-object-api --gen-mutable --keep-prefix -o $$(dirname $(out)) $(in)", srcs: [ "tensorflow/lite/schema/schema.fbs" ], out: [ "tensorflow/lite/schema/mutable/schema_generated.h" ], } subdirs = ["tensorflow/lite"] filegroup { name: "tensorflow_tsl_logging_srcs", srcs: [ "tensorflow/tsl/platform/default/logging.cc", "tensorflow/tsl/platform/default/env_time.cc", ], } cc_library_static { name: "TfliteNnapiDelegateTests_static", srcs: [ "tensorflow/lite/delegates/nnapi/nnapi_delegate_test.cc", "tensorflow/lite/kernels/test_delegate_providers.cc", "tensorflow/lite/kernels/test_util.cc", "tensorflow/lite/kernels/acceleration_test_util.cc", "tensorflow/lite/kernels/acceleration_test_util_internal.cc", "tensorflow/lite/delegates/nnapi/acceleration_test_list.cc", "tensorflow/lite/delegates/nnapi/acceleration_test_util.cc", ], include_dirs: [ "external/flatbuffers/include", "external/tensorflow", "external/ruy", ], cflags: [ "-DPLATFORM_POSIX_ANDROID", "-Wextra", "-Wno-extern-c-compat", "-Wno-sign-compare", "-Wno-unused-parameter", "-Wno-unused-private-field", ], shared_libs: [ "libandroid", "liblog", "libneuralnetworks", ], static_libs: [ "libgtest_ndk_c++", "libgmock_ndk", "libtflite_static", "tensorflow_abseil", ], header_libs: [ "libeigen", "gemmlowp_headers", "libtflite_schema_headers", ], sdk_version: "current", stl: "c++_static", } cc_library_static { name: "libtensorflow_core_mobile_srcs_only_runtime", srcs: [ ":tensorflow_c_srcs", ":tensorflow_c_eager_srcs", ":tensorflow_core_common_runtime_mobile_srcs_only_runtime", ":tensorflow_core_framework_mobile_srcs_only_runtime", ":tensorflow_core_framework_mobile_srcs_no_runtime", ":tensorflow_core_graph_mobile_srcs_only_runtime", ":tensorflow_core_util_mobile_srcs_no_runtime", ":tensorflow_core_util_mobile_srcs_only_runtime", ":tensorflow_core_platform_mobile_srcs_no_runtime", ":tensorflow_core_platform_mobile_srcs_only_runtime", ":tensorflow_core_profiler_mobile_srcs_no_runtime", ":tensorflow_core_tfrt_fallback_op_kernel_runner", ":tensorflow_tsl_platform_default_mobile_srcs_no_runtime", ":tensorflow_tsl_platform_default_mobile_srcs_only_runtime", ":tensorflow_core_lib_io_mobile_src_only_runtime", ":tensorflow_core_lib_mobile_src_only_runtime", ":tensorflow_core_lib_mobile_src_no_runtime", "tensorflow/core/nccl/collective_communicator.cc", "tensorflow/core/example/feature_util.cc", "tensorflow/core/lib/wav/wav_io.cc", "tensorflow/compiler/jit/defs.cc", ], export_include_dirs: ["."], static_libs: [ "tensorflow_abseil", ], whole_static_libs: [ "libdoubleconversion", "tensorflow_core_proto_cpp_lite", ], shared_libs: [ "libz", ], header_libs: [ "libtextclassifier_hash_headers", "libeigen", "tensorflow_headers", ], cflags: [ "-DNAMESPACE_FOR_HASH_FUNCTIONS=farmhash", "-DTF_ANDROID_ENABLE_LOGSINK", "-DPLATFORM_POSIX_ANDROID", "-DENABLE_ABSL_IN_TENSORFLOW", "-DIS_MOBILE_PLATFORM", "-DTF_ANDROID_ENABLE_LOG_EVERY_N_SECONDS", "-Wno-deprecated-builtins", "-Wno-deprecated-declarations", "-Wno-expansion-to-defined", "-Wno-ignored-qualifiers", "-Wno-missing-field-initializers", "-Wno-mismatched-tags", "-Wno-unused-const-variable", "-Wno-unused-but-set-variable", "-Wno-unused-parameter", ], stl: "libc++_static", } cc_library_static { name: "tflite_configuration_proto", proto: { type: "lite", canonical_path_from_root: false, export_proto_headers: true, }, stl: "libc++", srcs: ["tensorflow/lite/experimental/acceleration/configuration/**/*.proto"], sdk_version: "current", min_sdk_version: "30", apex_available: [ "com.android.adservices", "com.android.extservices", ], } filegroup( name = "tensorflow_core_protobuf_src", srcs = [ "tensorflow/core/protobuf/bfc_memory_map.proto", "tensorflow/core/protobuf/config.proto", "tensorflow/core/protobuf/coordination_config.proto", "tensorflow/core/protobuf/coordination_service.proto", "tensorflow/core/protobuf/cluster.proto", "tensorflow/core/protobuf/debug.proto", "tensorflow/core/protobuf/device_filters.proto", "tensorflow/core/protobuf/device_properties.proto", "tensorflow/core/protobuf/data_service.proto", "tensorflow/core/protobuf/debug_event.proto", "tensorflow/core/protobuf/eager_service.proto", "tensorflow/core/protobuf/graph_debug_info.proto", "tensorflow/core/protobuf/queue_runner.proto", "tensorflow/core/protobuf/rewriter_config.proto", "tensorflow/core/protobuf/tensor_bundle.proto", "tensorflow/core/protobuf/saver.proto", "tensorflow/core/protobuf/verifier_config.proto", "tensorflow/core/protobuf/error_codes.proto", "tensorflow/core/protobuf/composite_tensor_variant.proto", "tensorflow/core/protobuf/master.proto", "tensorflow/core/protobuf/meta_graph.proto", "tensorflow/core/protobuf/named_tensor.proto", "tensorflow/core/protobuf/remote_tensor_handle.proto", "tensorflow/core/protobuf/saved_model.proto", "tensorflow/core/protobuf/saved_object_graph.proto", "tensorflow/core/protobuf/status.proto", "tensorflow/core/protobuf/struct.proto", "tensorflow/core/protobuf/worker.proto", "tensorflow/core/protobuf/tensorflow_server.proto", "tensorflow/core/protobuf/trackable_object_graph.proto", "tensorflow/core/protobuf/transport_options.proto", "tensorflow/core/grappler/costs/op_performance_data.proto", "tensorflow/compiler/xla/pjrt/distributed/protocol.proto", "tensorflow/compiler/xla/stream_executor/dnn.proto", ], ) cc_library { name: "tensorflow_core_proto_cpp_lite", proto: { export_proto_headers: true, canonical_path_from_root: false, type: "lite", include_dirs: ["external/protobuf/src"], }, srcs: [ "tensorflow/core/framework/*.proto", "tensorflow/core/example/example.proto", "tensorflow/core/example/feature.proto", "tensorflow/core/example/example_parser_configuration.proto", "tensorflow/core/profiler/protobuf/xplane.proto", "tensorflow/core/profiler/profiler_options.proto", "tensorflow/core/util/saved_tensor_slice.proto", "tensorflow/core/util/event.proto", ":tensorflow_core_protobuf_src", ":libprotobuf-internal-protos", ], shared_libs: [ "libprotobuf-cpp-lite", ], export_include_dirs: ["."], } java_library_static { name: "tensorflow_core_proto_java_lite", srcs: [ "tensorflow/core/framework/*.proto", "tensorflow/core/example/example.proto", "tensorflow/core/example/feature.proto", "tensorflow/core/example/example_parser_configuration.proto", "tensorflow/core/profiler/protobuf/xplane.proto", "tensorflow/core/profiler/profiler_options.proto", "tensorflow/core/util/saved_tensor_slice.proto", "tensorflow/core/util/event.proto", ":tensorflow_core_protobuf_src", ":libprotobuf-internal-protos", ], proto: { canonical_path_from_root: false, include_dirs: [ "external/protobuf/src", "external/protobuf/java", ], type: "lite", }, static_libs: ["libprotobuf-java-lite"], sdk_version: "current", min_sdk_version: "33", apex_available: ["com.android.ondevicepersonalization"], }