blob: 733fe023563262193bb4479000c9378d80b26055 [file] [log] [blame]
# Description: this package contains shim library targets that forward
# to the TF Lite C and C++ API targets. See README.md.
load("//tensorflow/lite:build_def.bzl", "tflite_copts", "tflite_copts_warnings")
load("//tensorflow/lite:special_rules.bzl", "tflite_portable_test_suite")
load(":build_defs.bzl", "build_test")
package(
default_visibility = ["//visibility:private"],
licenses = ["notice"], # Apache 2.0
)
#------------------------------------------------------------------------------
# C++ API
FRAMEWORK_LIB_HDRS = [
"//tensorflow/lite:allocation.h",
"//tensorflow/lite:context.h",
"//tensorflow/lite:context_util.h",
"//tensorflow/lite:core/macros.h",
"//tensorflow/lite:core/subgraph.h",
"//tensorflow/lite:error_reporter.h",
"//tensorflow/lite:graph_info.h",
"//tensorflow/lite:mutable_op_resolver.h",
"//tensorflow/lite:op_resolver.h",
"//tensorflow/lite:optional_debug_tools.h",
"//tensorflow/lite:stderr_reporter.h",
]
CC_API_HDRS = [
"cc/interpreter.h",
"cc/interpreter_builder.h",
"cc/model.h",
"cc/model_builder.h",
]
cc_library(
name = "framework",
srcs = [],
hdrs = FRAMEWORK_LIB_HDRS + CC_API_HDRS,
copts = tflite_copts() + tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = [
"//tensorflow/lite:allocation",
"//tensorflow/lite:arena_planner",
"//tensorflow/lite:external_cpu_backend_context",
"//tensorflow/lite:framework_lib",
"//tensorflow/lite:graph_info",
"//tensorflow/lite:kernel_api",
"//tensorflow/lite:memory_planner",
"//tensorflow/lite:minimal_logging",
"//tensorflow/lite:simple_memory_arena",
"//tensorflow/lite:string",
"//tensorflow/lite:type_to_tflitetype",
"//tensorflow/lite:util",
"//tensorflow/lite:version",
"//tensorflow/lite/c:common",
"//tensorflow/lite/core/api",
"//tensorflow/lite/core/api:verifier",
"//tensorflow/lite/experimental/resource",
"//tensorflow/lite/schema:schema_fbs",
],
)
cc_library(
name = "cc_api",
srcs = [],
hdrs = CC_API_HDRS,
copts = tflite_copts() + tflite_copts_warnings(),
visibility = ["//tensorflow/lite:__pkg__"],
deps = [
"//tensorflow/lite:allocation",
"//tensorflow/lite:arena_planner",
"//tensorflow/lite:cc_api",
"//tensorflow/lite:external_cpu_backend_context",
"//tensorflow/lite:graph_info",
"//tensorflow/lite:kernel_api",
"//tensorflow/lite:macros",
"//tensorflow/lite:memory_planner",
"//tensorflow/lite:minimal_logging",
"//tensorflow/lite:simple_memory_arena",
"//tensorflow/lite:string",
"//tensorflow/lite:type_to_tflitetype",
"//tensorflow/lite:util",
"//tensorflow/lite:version",
"//tensorflow/lite/c:common",
"//tensorflow/lite/core/api",
"//tensorflow/lite/core/api:verifier",
"//tensorflow/lite/experimental/resource",
"//tensorflow/lite/schema:schema_fbs",
],
)
cc_library(
name = "builtin_ops",
hdrs = [
"cc/kernels/builtin_op_kernels.h",
"cc/kernels/register.h",
# TODO(b/161243354): remove the line below when clients no
# longer depend on it.
"//tensorflow/lite/kernels:builtin_op_kernels.h",
"//tensorflow/lite/kernels:fully_connected.h",
],
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = [
":builtin_ops_list",
"//tensorflow/lite:cc_api",
"//tensorflow/lite/c:common",
"//tensorflow/lite/kernels:builtin_ops",
],
)
build_test(
name = "cc_api_build_test",
targets = [
":builtin_ops",
":cc_api",
":framework",
],
)
cc_library(
name = "delegate_registry",
hdrs = ["cc/experimental/acceleration/configuration/delegate_registry.h"],
copts = tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = [
"//tensorflow/lite/experimental/acceleration/configuration:delegate_registry",
],
)
build_test(
name = "delegate_registry_build_test",
targets = [
":delegate_registry",
],
)
cc_library(
name = "verifier",
hdrs = ["cc/tools/verifier.h"],
copts = tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = [
"//tensorflow/lite/tools:verifier",
],
)
build_test(
name = "verifier_build_test",
targets = [
":verifier",
],
)
#------------------------------------------------------------------------------
# C API
cc_library(
name = "c_api",
hdrs = ["c/c_api.h"],
copts = tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = ["//tensorflow/lite/c:c_api"],
)
cc_library(
name = "c_api_experimental",
hdrs = ["c/c_api_experimental.h"],
copts = tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = ["//tensorflow/lite/c:c_api_experimental"],
)
cc_library(
name = "common",
hdrs = ["c/common.h"],
copts = tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = ["//tensorflow/lite/c:common"],
)
cc_library(
name = "builtin_op_data",
hdrs = ["c/builtin_op_data.h"],
copts = tflite_copts_warnings(),
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = ["//tensorflow/lite/c:common"],
)
build_test(
name = "c_api_build_test",
targets = [
":builtin_op_data",
":c_api",
":c_api_experimental",
":common",
],
)
cc_library(
name = "builtin_ops_list",
textual_hdrs = ["builtin_ops_list.inc"],
visibility = ["//tensorflow/lite:__subpackages__"],
)
exports_files(
srcs = ["builtin_ops_list.inc"],
visibility = ["//tensorflow/lite:__subpackages__"],
)
#------------------------------------------------------------------------------
# Testing infrastructure
cc_library(
name = "c_shims_test_util",
testonly = True,
srcs = ["c/shims_test_util.cc"],
hdrs = ["c/shims_test_util.h"],
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
)
cc_library(
name = "cc_shims_test_util",
testonly = True,
hdrs = ["cc/shims_test_util.h"],
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
deps = [
":c_shims_test_util",
"@com_google_googletest//:gtest",
],
)
build_test(
name = "shims_test_util_build_test",
targets = [
":c_shims_test_util",
":cc_shims_test_util",
],
)
#------------------------------------------------------------------------------
# JNI bindings (Java API and Java Tasks library)
# Contains code to initialize TFLite through JNI in the internal version.
cc_library(
name = "jni_initialization",
srcs = [],
# Prevent automated tools from removing this target as a dependency due to
# it being empty.
tags = ["keep_dep"],
visibility = [
"//tensorflow/lite:__subpackages__",
"@org_tensorflow_lite_support//tensorflow_lite_support:__subpackages__",
],
)
#------------------------------------------------------------------------------
tflite_portable_test_suite()