blob: 8de5f74823e180eb2b7dec783b88d1408e02ca02 [file] [log] [blame]
load(
"//tensorflow/core/platform:build_config.bzl",
"tf_kernel_tests_linkstatic",
"tf_proto_library",
"tf_pyclif_proto_library",
)
load(
"//tensorflow:tensorflow.bzl",
"tf_cc_tests",
"tf_copts",
"tf_cuda_library",
"tf_generate_proto_text_sources",
)
load(
"//tensorflow/core/platform:build_config_root.bzl",
"if_static",
)
load(
"//tensorflow/core/platform:rules_cc.bzl",
"cc_library",
)
# buildifier: disable=same-origin-load
load("//tensorflow:tensorflow.bzl", "tf_selective_registration_deps")
package(
default_visibility = [
"//tensorflow/core:__subpackages__",
],
licenses = ["notice"], # Apache 2.0
)
# Export all header files for which we do not yet provide a dedicated build
# rule. This avoids breading all the rules in tensorflow/core/BUILD.
exports_files(
srcs = [
"allocator_registry.h",
"cancellation.h",
"collective.h",
"control_flow.h",
"dataset.h",
"dataset_stateful_op_whitelist.h",
"device_base.h",
"function.h",
"function_handle_cache.h",
"graph_def_util.h",
"graph_to_functiondef.h",
"kernel_def_builder.h",
"kernel_def_util.h",
"logging.h",
"lookup_interface.h",
"memory_types.h",
"metrics.h",
"model.h",
"node_def_builder.h",
"numeric_op.h",
"numeric_op_base.h",
"op_kernel.h",
"op_requires.h",
"op_segment.h",
"ops_util.h",
"partial_tensor_shape.h",
"queue_interface.h",
"reader_interface.h",
"reader_op_kernel.h",
"register_types_traits.h",
"rendezvous.h",
"resource_mgr.h",
"resource_op_kernel.h",
"resource_var.h",
"run_handler.h",
"run_handler_util.h",
"session_state.h",
"shared_ptr_variant.h",
"stats_aggregator.h",
"tensor_reference.h",
"tensor_slice.h",
"tensor_util.h",
"thread_factory.h",
"tracking_allocator.h",
"versions.h",
],
visibility = [
"//tensorflow/core:__pkg__",
"//tensorflow/core/common_runtime:__pkg__",
],
)
# List of exported test source files that do not yet have local build rules.
exports_files(
srcs = [
"op_gen_lib_test.cc",
"op_segment_test.cc",
"run_handler_test.cc",
"run_handler_util_test.cc",
"variant_op_copy_test.cc",
],
visibility = ["//tensorflow/core:__pkg__"],
)
# List of exported proto source files.
exports_files(
srcs = [
"allocation_description.proto",
"api_def.proto",
"attr_value.proto",
"cost_graph.proto",
"device_attributes.proto",
"function.proto",
"graph.proto",
"graph_transfer_info.proto",
"kernel_def.proto",
"log_memory.proto",
"node_def.proto",
"op_def.proto",
"reader_base.proto",
"remote_fused_graph_execute_info.proto",
"resource_handle.proto",
"step_stats.proto",
"summary.proto",
"tensor.proto",
"tensor_description.proto",
"tensor_shape.proto",
"tensor_slice.proto",
"types.proto",
"variable.proto",
"versions.proto",
],
visibility = [
"//tensorflow:internal",
"//tensorflow/core:__pkg__",
],
)
exports_files(
[
"attr_value_util.h",
"common_shape_fns.h",
"kernel_shape_util.h",
"node_def_util.h",
"node_properties.h",
"op.h",
"op_def_builder.h",
"op_def_util.h",
"selective_registration.h",
"shape_inference.h",
],
visibility = ["//tensorflow/core:__subpackages__"],
)
# The following filegroups are needed since globbing across packages boundaries
# will just fail silently (see 3rd caveat at
# https://docs.bazel.build/versions/master/be/functions.html#glob).
# Files needed for core:framework_internal_impl.
filegroup(
name = "framework_internal_private_hdrs",
srcs = [
"allocator.h",
"allocator_registry.h",
"attr_value_util.h",
"bfloat16.h",
"bounds_check.h",
"cancellation.h",
"collective.h",
"common_shape_fns.h",
"control_flow.h",
"dataset.h",
"dataset_stateful_op_whitelist.h",
"device_base.h",
"function.h",
"function_handle_cache.h",
"graph_def_util.h",
"graph_to_functiondef.h",
"kernel_def_builder.h",
"kernel_def_util.h",
"kernel_shape_util.h",
"local_rendezvous.h",
"log_memory.h",
"logging.h",
"lookup_interface.h",
"memory_types.h",
"metrics.h",
"model.h",
"node_def_builder.h",
"node_def_util.h",
"node_properties.h",
"numeric_op.h",
"numeric_op_base.h",
"numeric_types.h",
"op.h",
"op_def_builder.h",
"op_def_util.h",
"op_kernel.h",
"op_requires.h",
"op_segment.h",
"ops_util.h",
"partial_tensor_shape.h",
"queue_interface.h",
"reader_interface.h",
"reader_op_kernel.h",
"register_types.h",
"register_types_traits.h",
"rendezvous.h",
"resource_handle.h",
"resource_mgr.h",
"resource_op_kernel.h",
"resource_var.h",
"run_handler.h",
"run_handler_util.h",
"selective_registration.h",
"session_state.h",
"shape_inference.h",
"shared_ptr_variant.h",
"stats_aggregator.h",
"tensor.h",
"tensor_reference.h",
"tensor_shape.h",
"tensor_slice.h",
"tensor_types.h",
"tensor_util.h",
"thread_factory.h",
"tracking_allocator.h",
"type_index.h",
"type_traits.h",
"typed_allocator.h",
"types.h",
"variant.h",
"variant_encode_decode.h",
"variant_op_registry.h",
"variant_tensor_data.h",
"versions.h",
],
)
filegroup(
name = "framework_internal_impl_srcs",
srcs = [
"cancellation.cc",
"collective.cc",
"dataset.cc",
"device_base.cc",
"function.cc",
"function_handle_cache.cc",
"graph_def_util.cc",
"graph_to_functiondef.cc",
"kernel_def_builder.cc",
"kernel_def_util.cc",
"load_library.cc",
"local_rendezvous.cc",
"logging.cc",
"lookup_interface.cc",
"memory_types.cc",
"metrics.cc",
"model.cc",
"node_def_builder.cc",
"op_kernel.cc",
"op_segment.cc",
"ops_util.cc",
"rendezvous.cc",
"resource_mgr.cc",
"run_handler.cc",
"run_handler_util.cc",
"tensor_slice.cc",
"tensor_util.cc",
"versions.cc",
],
)
# Files needed for core:mobile_srcs_(no|only)_runtime.
filegroup(
name = "mobile_srcs_no_runtime",
srcs = [
"allocator.cc",
"allocator.h",
"allocator_registry.cc",
"allocator_registry.h",
"bfloat16.cc",
"bfloat16.h",
"bounds_check.h",
"cpu_allocator_impl.cc",
"kernel_shape_util.cc",
"kernel_shape_util.h",
"log_memory.cc",
"log_memory.h",
"numeric_op_base.h",
"numeric_types.h",
"op_requires.h",
"ops_util.cc",
"ops_util.h",
"register_types.h",
"resource_handle.cc",
"resource_handle.h",
"tensor.cc",
"tensor.h",
"tensor_shape.cc",
"tensor_shape.h",
"tensor_types.h",
"tracking_allocator.cc",
"tracking_allocator.h",
"type_index.h",
"type_traits.h",
"typed_allocator.cc",
"typed_allocator.h",
"types.cc",
"types.h",
"variant.cc",
"variant.h",
"variant_encode_decode.h",
"variant_op_registry.cc",
"variant_op_registry.h",
"variant_tensor_data.cc",
"variant_tensor_data.h",
],
)
filegroup(
name = "mobile_srcs_only_runtime",
srcs = [
"attr_value_util.cc",
"attr_value_util.h",
"cancellation.cc",
"cancellation.h",
"collective.cc",
"collective.h",
"common_shape_fns.cc",
"common_shape_fns.h",
"control_flow.h",
"dataset.cc",
"dataset.h",
"dataset_stateful_op_whitelist.h",
"device_base.cc",
"device_base.h",
"function.cc",
"function.h",
"function_handle_cache.cc",
"function_handle_cache.h",
"graph_def_util.cc",
"graph_def_util.h",
"graph_to_functiondef.cc",
"graph_to_functiondef.h",
"kernel_def_builder.cc",
"kernel_def_builder.h",
"kernel_def_util.cc",
"kernel_def_util.h",
"load_library.cc",
"local_rendezvous.cc",
"local_rendezvous.h",
"logging.cc",
"logging.h",
"lookup_interface.cc",
"lookup_interface.h",
"memory_types.cc",
"memory_types.h",
"metrics.cc",
"metrics.h",
"model.cc",
"model.h",
"node_def_builder.cc",
"node_def_builder.h",
"node_def_util.cc",
"node_def_util.h",
"node_properties.cc",
"node_properties.h",
"numeric_op.h",
"op.cc",
"op.h",
"op_def_builder.cc",
"op_def_builder.h",
"op_def_util.cc",
"op_def_util.h",
"op_kernel.cc",
"op_kernel.h",
"op_segment.cc",
"op_segment.h",
"partial_tensor_shape.h",
"queue_interface.h",
"reader_interface.h",
"register_types_traits.h",
"rendezvous.cc",
"rendezvous.h",
"resource_mgr.cc",
"resource_mgr.h",
"resource_op_kernel.h",
"resource_var.h",
"run_handler.cc",
"run_handler.h",
"run_handler_util.cc",
"run_handler_util.h",
"selective_registration.h",
"session_state.h",
"shape_inference.cc",
"shape_inference.h",
"stats_aggregator.h",
"tensor_reference.h",
"tensor_slice.cc",
"tensor_slice.h",
"tensor_util.cc",
"tensor_util.h",
"thread_factory.h",
"versions.cc",
"versions.h",
],
)
filegroup(
name = "android_test_hdrs",
srcs = [
"fake_input.h",
"shape_inference_testutil.h",
"tensor_testutil.h",
],
)
filegroup(
name = "android_test_srcs",
srcs = [
"fake_input.cc",
":android_test_srcs_no_core",
],
)
filegroup(
name = "android_test_srcs_no_core",
srcs = [
"shape_inference_testutil.cc",
"tensor_testutil.cc",
],
)
# Individual targets. These should be prefered over tensorflow/core:framework
# whenever possible.
# This is redundant with the "tensorflow/core:framework" target. It's useful for
# applications that want to depend on a minimal subset of TensorFlow (e.g. XLA).
cc_library(
name = "allocator",
srcs = [
"allocator.cc",
"allocator_registry.h",
"tracking_allocator.cc",
"tracking_allocator.h",
],
hdrs = [
"allocator.h",
],
features = ["parse_headers"],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":numeric_types",
":type_traits",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:optional",
] + if_static(
extra_deps = [
":allocator_registry_impl",
"//tensorflow/core/lib/gtl:inlined_vector",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/lib/strings:stringprintf",
"//tensorflow/core/platform:env",
"//tensorflow/core/platform:logging",
"//tensorflow/core/platform:macros",
"//tensorflow/core/platform:mutex",
"//tensorflow/core/platform:platform_port",
"//tensorflow/core/platform:thread_annotations",
"//tensorflow/core/platform:types",
],
otherwise = [
"//tensorflow/core:lib",
],
),
alwayslink = 1,
)
# This target will be included in libtensorflow_framework.so via the
# framework_internal_impl target.
# All other dependencies on this target need to go through if_static guard,
# as otherwise duplicate registration in the registry will cause crashes.
cc_library(
name = "allocator_registry_impl",
srcs = [
"allocator.h",
"allocator_registry.cc",
"allocator_registry.h",
"cpu_allocator_impl.cc",
"tracking_allocator.h",
],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":numeric_types",
":type_traits",
"//tensorflow/core/lib/gtl:inlined_vector",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/lib/strings:stringprintf",
"//tensorflow/core/platform:logging",
"//tensorflow/core/platform:macros",
"//tensorflow/core/platform:mutex",
"//tensorflow/core/platform:platform_port",
"//tensorflow/core/platform:thread_annotations",
"//tensorflow/core/platform:types",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/types:optional",
],
alwayslink = 1,
)
cc_library(
name = "tensor_testutil",
testonly = 1,
srcs = ["tensor_testutil.cc"],
hdrs = ["tensor_testutil.h"],
copts = tf_copts(),
visibility = ["//tensorflow:internal"],
deps = [
"//tensorflow/core:framework",
"//tensorflow/core:lib",
"//tensorflow/core:test",
],
)
cc_library(
name = "shape_inference_testutil",
testonly = 1,
srcs = ["shape_inference_testutil.cc"],
hdrs = ["shape_inference_testutil.h"],
copts = tf_copts(),
deps = [
":node_def_proto_cc",
"//tensorflow/core:framework",
"//tensorflow/core:lib",
"//tensorflow/core:lib_internal",
],
)
cc_library(
name = "reader_base",
srcs = ["reader_base.cc"],
hdrs = ["reader_base.h"],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":reader_base_proto_cc",
"//tensorflow/core:framework",
"//tensorflow/core:lib",
],
)
cc_library(
name = "op_gen_lib",
srcs = ["op_gen_lib.cc"],
hdrs = ["op_gen_lib.h"],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":api_def_proto_cc",
":attr_value_proto_cc",
":op_def_proto_cc",
"//tensorflow/core:lib",
"//tensorflow/core:lib_internal",
"//tensorflow/core/util/proto:proto_utils",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "fake_input",
testonly = 1,
srcs = ["fake_input.cc"],
hdrs = ["fake_input.h"],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":attr_value_proto_cc",
":op_def_proto_cc",
"//tensorflow/core:framework",
"//tensorflow/core:lib",
],
)
cc_library(
name = "function_testlib",
testonly = 1,
srcs = ["function_testlib.cc"],
hdrs = ["function_testlib.h"],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":function_proto_cc",
":graph_proto_cc",
":node_def_proto_cc",
":tensor_testutil",
":versions_proto_cc",
"//tensorflow/core:framework",
"//tensorflow/core:lib",
],
)
cc_library(
name = "bfloat16",
srcs = ["bfloat16.cc"],
hdrs = ["bfloat16.h"],
visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":numeric_types",
"//tensorflow/core/platform:byte_order",
"//tensorflow/core/platform:types",
],
alwayslink = 1,
)
cc_library(
name = "numeric_types",
hdrs = ["numeric_types.h"],
visibility = [
"//tensorflow/compiler:__subpackages__",
"//tensorflow/core:__subpackages__",
],
deps = [
"//tensorflow/core/lib/bfloat16",
"//tensorflow/core/platform:types",
"//third_party/eigen3",
],
)
cc_library(
name = "bounds_check",
hdrs = ["bounds_check.h"],
visibility = ["//tensorflow/core/kernels:friends"],
deps = [
"//tensorflow/core/platform:macros",
"//third_party/eigen3",
],
)
cc_library(
name = "tensor_shape",
srcs = ["tensor_shape.cc"],
hdrs = [
"partial_tensor_shape.h",
"tensor_shape.h",
],
visibility = [
"//tensorflow/core:__pkg__",
"//tensorflow/core/runtime_fallback:__subpackages__",
],
deps = [
":bounds_check",
":tensor_shape_proto_cc",
":types_proto_cc",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/core:stringpiece",
"//tensorflow/core/lib/gtl:array_slice",
"//tensorflow/core/lib/gtl:inlined_vector",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/platform:logging",
"//tensorflow/core/util:overflow",
"//third_party/eigen3",
],
alwayslink = 1,
)
cc_library(
name = "resource_handle",
srcs = ["resource_handle.cc"],
hdrs = ["resource_handle.h"],
visibility = ["//tensorflow/core:__pkg__"],
deps = [
":resource_handle_proto_cc",
":tensor_shape",
":types_proto_cc",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/platform:tensor_coding",
"//tensorflow/core/platform:types",
],
alwayslink = 1,
)
cc_library(
name = "type_index",
hdrs = ["type_index.h"],
visibility = ["//visibility:private"],
deps = [
"//tensorflow/core/platform:hash",
"//tensorflow/core/platform:stringpiece",
"//tensorflow/core/platform:types",
],
)
cc_library(
name = "tensor_types",
hdrs = ["tensor_types.h"],
visibility = ["//visibility:private"],
deps = ["//third_party/eigen3"],
)
cc_library(
name = "type_traits",
hdrs = ["type_traits.h"],
visibility = ["//visibility:private"],
deps = [
":numeric_types",
"//tensorflow/core/platform:types",
],
)
tf_cuda_library(
name = "tensor",
srcs = [
"log_memory.cc",
"tensor.cc",
"typed_allocator.cc",
"types.cc",
"variant.cc",
"variant_op_registry.cc",
"variant_tensor_data.cc",
],
hdrs = [
"log_memory.h",
"register_types.h",
"tensor.h",
"typed_allocator.h",
"types.h",
"variant.h",
"variant_encode_decode.h",
"variant_op_registry.h",
"variant_tensor_data.h",
],
visibility = [
"//tensorflow/core:__pkg__",
"//tensorflow/core/util:__pkg__",
"//tensorflow/security/fuzzing:__subpackages__",
],
deps = [
":allocation_description_proto_cc",
":allocator",
":bfloat16",
":log_memory_proto_cc",
":numeric_types",
":resource_handle",
":resource_handle_proto_cc",
":tensor_description_proto_cc",
":tensor_proto_cc",
":tensor_shape",
":tensor_types",
":type_index",
":type_traits",
":types_proto_cc",
"//tensorflow/core/lib/core:coding",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:refcount",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/core:stringpiece",
"//tensorflow/core/lib/gtl:array_slice",
"//tensorflow/core/lib/gtl:flatmap",
"//tensorflow/core/lib/gtl:inlined_vector",
"//tensorflow/core/lib/hash",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/platform:abi",
"//tensorflow/core/platform:logging",
"//tensorflow/core/platform:macros",
"//tensorflow/core/platform:platform_port",
"//tensorflow/core/platform:protobuf",
"//tensorflow/core/platform:strcat",
"//tensorflow/core/platform:tensor_coding",
"//tensorflow/core/platform:types",
"//tensorflow/core/public:version",
"//third_party/eigen3",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings",
],
alwayslink = 1,
)
cc_library(
name = "shape_inference",
srcs = ["shape_inference.cc"],
hdrs = ["shape_inference.h"],
deps = [
":bounds_check",
":node_def_proto_cc",
":node_def_util",
":tensor",
":tensor_shape",
":tensor_shape_proto_cc",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/gtl:inlined_vector",
"//tensorflow/core/lib/strings:numbers",
"//tensorflow/core/lib/strings:scanner",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/platform:macros",
"@com_google_absl//absl/memory",
],
)
cc_library(
name = "kernel_shape_util",
srcs = ["kernel_shape_util.cc"],
hdrs = ["kernel_shape_util.h"],
deps = [
":tensor",
":tensor_shape",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/platform:status",
"//tensorflow/core/util:padding",
],
)
cc_library(
name = "common_shape_fns",
srcs = ["common_shape_fns.cc"],
hdrs = ["common_shape_fns.h"],
deps = [
":attr_value_proto_cc",
":shape_inference",
":tensor",
":tensor_shape",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/gtl:inlined_vector",
"//tensorflow/core/util:einsum_op_util",
"//tensorflow/core/util:padding",
"//tensorflow/core/util:tensor_format",
"@com_google_absl//absl/container:flat_hash_map",
"@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "attr_value_util",
srcs = ["attr_value_util.cc"],
hdrs = ["attr_value_util.h"],
deps = [
":attr_value_proto_text",
":tensor",
":tensor_shape",
":tensor_shape_proto_cc",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/core:stringpiece",
"//tensorflow/core/lib/gtl:array_slice",
"//tensorflow/core/lib/hash",
"//tensorflow/core/lib/strings:proto_serialization",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/platform:protobuf",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "op_def_util",
srcs = ["op_def_util.cc"],
hdrs = ["op_def_util.h"],
deps = [
":api_def_proto_cc",
":attr_value_proto_cc",
":attr_value_util",
":op_def_proto_cc",
":tensor",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/core:stringpiece",
"//tensorflow/core/lib/gtl:map_util",
"//tensorflow/core/lib/hash",
"//tensorflow/core/lib/strings:proto_serialization",
"//tensorflow/core/lib/strings:scanner",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/platform:mutex",
"//tensorflow/core/platform:protobuf",
"//tensorflow/core/platform:types",
],
)
cc_library(
name = "node_def_util",
srcs = ["node_def_util.cc"],
hdrs = ["node_def_util.h"],
deps = [
":attr_value_proto_cc",
":attr_value_util",
":node_def_proto_cc",
":op_def_proto_cc",
":op_def_util",
":tensor",
":tensor_proto_cc",
":tensor_shape",
":tensor_shape_proto_cc",
":types_proto_cc",
"//tensorflow/core/lib/core:stringpiece",
"//tensorflow/core/lib/gtl:array_slice",
"//tensorflow/core/lib/gtl:flatmap",
"//tensorflow/core/lib/gtl:map_util",
"//tensorflow/core/lib/hash",
"//tensorflow/core/platform:errors",
"//tensorflow/core/platform:hash",
"//tensorflow/core/platform:protobuf",
"//tensorflow/core/platform:scanner",
"//tensorflow/core/platform:status",
"//tensorflow/core/platform:strcat",
"//tensorflow/core/platform:stringpiece",
"//tensorflow/core/platform:types",
"//tensorflow/core/util:padding",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "node_properties",
srcs = ["node_properties.cc"],
hdrs = ["node_properties.h"],
deps = [
":node_def_proto_cc",
":node_def_util",
":op",
":op_def_proto_cc",
":tensor",
":types_proto_cc",
"//tensorflow/core/lib/core:status",
],
)
cc_library(
name = "op_def_builder",
srcs = ["op_def_builder.cc"],
hdrs = ["op_def_builder.h"],
deps = [
":attr_value_proto_cc",
":attr_value_util",
":op_def_proto_cc",
":op_def_util",
":tensor",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/core:stringpiece",
"//tensorflow/core/lib/gtl:array_slice",
"//tensorflow/core/lib/strings:scanner",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/platform:macros",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "selective_registration",
hdrs = ["selective_registration.h"],
deps = tf_selective_registration_deps(),
)
cc_library(
name = "op",
srcs = ["op.cc"],
hdrs = ["op.h"],
deps = [
":op_def_builder",
":op_def_util",
":selective_registration",
"//tensorflow/core/lib/core:errors",
"//tensorflow/core/lib/core:status",
"//tensorflow/core/lib/gtl:map_util",
"//tensorflow/core/lib/strings:str_util",
"//tensorflow/core/lib/strings:strcat",
"//tensorflow/core/platform:logging",
"//tensorflow/core/platform:macros",
"//tensorflow/core/platform:mutex",
"//tensorflow/core/platform:platform_port",
"//tensorflow/core/platform:protobuf",
"//tensorflow/core/platform:thread_annotations",
"//tensorflow/core/platform:types",
],
)
cc_library(
name = "op_requires",
hdrs = ["op_requires.h"],
deps = ["//tensorflow/core/platform:macros"],
)
# Files whose users still need to be migrated from core:framework to the
# above targets.
# TODO(gonnet): Remove these files once targets depending on them have
# been cleaned up.
exports_files(
srcs = [
"allocator.h",
"bfloat16.h",
"bounds_check.h",
"fake_input.h",
"function_testlib.h",
"log_memory.h",
"numeric_types.h",
"op_gen_lib.h",
"reader_base.h",
"register_types.h",
"resource_handle.h",
"shape_inference_testutil.h",
"tensor.h",
"tensor_interface.h",
"tensor_shape.h",
"tensor_testutil.h",
"tensor_types.h",
"type_index.h",
"type_traits.h",
"typed_allocator.h",
"types.h",
"variant.h",
"variant_encode_decode.h",
"variant_op_registry.h",
"variant_tensor_data.h",
],
)
# Framework tests.
tf_cc_tests(
name = "higher_level_tests",
size = "small",
srcs = [
"allocator_test.cc",
"attr_value_util_test.cc",
"batch_util_test.cc",
"bfloat16_test.cc",
"cancellation_test.cc",
"common_shape_fns_test.cc",
"dataset_test.cc",
"device_base_test.cc",
"function_test.cc",
"graph_def_util_test.cc",
"graph_to_functiondef_test.cc",
"kernel_def_builder_test.cc",
"kernel_def_util_test.cc",
"memory_types_test.cc",
"model_test.cc",
"node_def_builder_test.cc",
"node_def_util_test.cc",
"node_properties_test.cc",
"op_compatibility_test.cc",
"op_def_builder_test.cc",
"op_def_util_test.cc",
"op_kernel_test.cc",
"op_registration_test.cc",
"partial_tensor_shape_test.cc",
"rendezvous_test.cc",
"resource_mgr_test.cc",
"resource_op_kernel_test.cc",
"shape_inference_test.cc",
"shape_inference_testutil_test.cc",
"tensor_shape_test.cc",
"tensor_slice_test.cc",
"tensor_test.cc",
"tensor_testutil_test.cc",
"tensor_util_test.cc",
"tracking_allocator_test.cc",
"types_test.cc",
"variant_op_registry_test.cc",
"variant_test.cc",
],
create_named_test_suite = True,
linkopts = select({
"//tensorflow:macos": ["-headerpad_max_install_names"],
"//conditions:default": [],
}),
linkstatic = tf_kernel_tests_linkstatic(),
visibility = [
"//tensorflow:internal",
"//tensorflow/core:__pkg__",
],
deps = [
"//tensorflow/cc:cc_ops",
"//tensorflow/cc:cc_ops_internal",
"//tensorflow/cc:function_ops",
"//tensorflow/cc:ops",
"//tensorflow/cc:scope",
"//tensorflow/cc:sendrecv_ops",
"//tensorflow/cc:while_loop",
"//tensorflow/core",
"//tensorflow/core:core_cpu",
"//tensorflow/core:core_cpu_internal",
"//tensorflow/core:direct_session_internal",
"//tensorflow/core:framework",
"//tensorflow/core:framework_internal",
"//tensorflow/core:lib",
"//tensorflow/core:lib_internal",
"//tensorflow/core:ops",
"//tensorflow/core:protos_all_cc",
"//tensorflow/core:test",
"//tensorflow/core:test_main",
"//tensorflow/core:testlib",
"//tensorflow/core/kernels:ops_util",
"//tensorflow/core/platform:regexp",
"//tensorflow/core/util:protos_test_cc",
"//third_party/eigen3",
"@com_google_absl//absl/base",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/strings",
],
)
filegroup(
name = "pywrap_required_hdrs",
srcs = [
"op_gen_lib.h",
"rendezvous.h",
],
visibility = [
"//tensorflow/core:__pkg__",
"//tensorflow/python:__pkg__",
],
)
# All framewrok protos are self-contained, i.e. they only import other
# protos from the same package, so we can build the protos here and then
# link them from core:protos_all without circular dependencies.
# Generate the C++ sources for tsome of the protos.
tf_generate_proto_text_sources(
name = "attr_value_proto_text",
srcs = [
"attr_value.proto",
"resource_handle.proto",
"tensor.proto",
"tensor_shape.proto",
"types.proto",
],
srcs_relative_dir = "tensorflow/core/framework/",
deps = [
":attr_value_proto_cc",
":resource_handle_proto_cc",
":tensor_proto_cc",
":tensor_shape_proto_cc",
":types_proto_cc",
"//tensorflow/core/lib/strings:proto_text_util",
"//tensorflow/core/lib/strings:scanner",
"//tensorflow/core/platform:macros",
"//tensorflow/core/platform:protobuf",
"//tensorflow/core/platform:types",
],
)
tf_pyclif_proto_library(
name = "cost_graph_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "cost_graph.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "tensor_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "tensor.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "kernel_def_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "kernel_def.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "node_def_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "node_def.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "function_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "function.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "graph_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "graph.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "step_stats_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "step_stats.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "types_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "types.proto",
visibility = ["//visibility:public"],
)
tf_pyclif_proto_library(
name = "variable_pyclif",
proto_lib = "//tensorflow/core:protos_all",
proto_srcfile = "variable.proto",
visibility = ["//visibility:public"],
)
tf_proto_library(
name = "log_memory_proto",
srcs = ["log_memory.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":allocation_description_proto",
":tensor_description_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "versions_proto",
srcs = ["versions.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "graph_proto",
srcs = ["graph.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":function_proto",
":node_def_proto",
":op_def_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
":versions_proto",
],
)
tf_proto_library(
name = "node_def_proto",
srcs = ["node_def.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "allocation_description_proto",
srcs = ["allocation_description.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "tensor_slice_proto",
srcs = ["tensor_slice.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "tensor_description_proto",
srcs = ["tensor_description.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":allocation_description_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "device_attributes_proto",
srcs = ["device_attributes.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "resource_handle_proto",
srcs = ["resource_handle.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "step_stats_proto",
srcs = ["step_stats.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":allocation_description_proto",
":tensor_description_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "reader_base_proto",
srcs = ["reader_base.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "kernel_def_proto",
srcs = ["kernel_def.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "op_def_proto",
srcs = ["op_def.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "attr_value_proto",
srcs = ["attr_value.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "remote_fused_graph_execute_info_proto",
srcs = ["remote_fused_graph_execute_info.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":function_proto",
":graph_proto",
":node_def_proto",
":op_def_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
":versions_proto",
],
)
tf_proto_library(
name = "tensor_proto",
srcs = ["tensor.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":resource_handle_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "api_def_proto",
srcs = ["api_def.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "variable_proto",
srcs = ["variable.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "graph_transfer_info_proto",
srcs = ["graph_transfer_info.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":types_proto",
],
)
tf_proto_library(
name = "types_proto",
srcs = ["types.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "cost_graph_proto",
srcs = ["cost_graph.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "tensor_shape_proto",
srcs = ["tensor_shape.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "function_proto",
srcs = ["function.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":attr_value_proto",
":node_def_proto",
":op_def_proto",
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "summary_proto",
srcs = ["summary.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":resource_handle_proto",
":tensor_proto",
":tensor_shape_proto",
":types_proto",
],
)
tf_proto_library(
name = "protos_all",
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":allocation_description_proto",
":api_def_proto",
":attr_value_proto",
":cost_graph_proto",
":device_attributes_proto",
":function_proto",
":graph_proto",
":graph_transfer_info_proto",
":kernel_def_proto",
":log_memory_proto",
":node_def_proto",
":op_def_proto",
":reader_base_proto",
":remote_fused_graph_execute_info_proto",
":resource_handle_proto",
":step_stats_proto",
":summary_proto",
":tensor_description_proto",
":tensor_proto",
":tensor_shape_proto",
":tensor_slice_proto",
":types_proto",
":variable_proto",
":versions_proto",
],
)