blob: 647efc8de1828b9f60500c94484b195de2d90184 [file] [log] [blame]
# Description:
# TensorFlow Base libraries.
# This package contains the following libraries:
# - Platform dependent libraries that require different implementations
# across different OSs or environments.
# - STL replacement libraries rest of TensorFlow should depend on.
#
# The libraries in this package are not allowed to have ANY dependencies
# to any TensorFlow code outside this package.
load(
"//tensorflow/core/platform:default/build_config.bzl",
"tf_additional_device_tracer_srcs",
"tf_additional_lib_hdrs",
"tf_additional_lib_srcs",
"tf_additional_libdevice_srcs",
"tf_additional_minimal_lib_srcs",
"tf_additional_monitoring_srcs",
"tf_additional_proto_hdrs",
"tf_additional_rocdl_deps",
"tf_additional_rocdl_srcs",
"tf_additional_test_srcs",
"tf_env_time_srcs",
"tf_logging_absl_deps",
"tf_platform_hdrs",
"tf_platform_srcs",
)
load(
"//tensorflow:tensorflow.bzl",
"tf_copts",
)
package(
default_visibility = [
"//tensorflow:__subpackages__",
],
licenses = ["notice"], # Apache 2.0
)
cc_library(
name = "abi",
srcs = ["abi.cc"],
hdrs = ["abi.h"],
deps = [":types"],
)
cc_library(
name = "annotation",
srcs = ["annotation.cc"],
hdrs = ["annotation.h"],
visibility = [
"//perftools/accelerators/xprof:__subpackages__",
"//tensorflow:__subpackages__",
],
deps = [
":macros",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "byte_order",
hdrs = ["byte_order.h"],
)
cc_library(
name = "cpu_feature_guard",
srcs = ["cpu_feature_guard.cc"],
hdrs = ["cpu_feature_guard.h"],
deps = [
":byte_order",
":cpu_info",
":logging",
],
)
cc_library(
name = "cpu_info",
srcs = ["cpu_info.cc"] + tf_platform_srcs([
"cpu_info.h",
]),
hdrs = ["cpu_info.h"],
copts = tf_copts(),
deps = [
":byte_order",
":logging",
":platform",
":types",
],
)
cc_library(
name = "denormal",
srcs = ["denormal.cc"],
hdrs = ["denormal.h"],
deps = [
":byte_order",
":cpu_info",
":logging",
":macros",
":platform",
],
)
cc_library(
name = "env_time",
srcs = ["env_time.cc"] + tf_env_time_srcs(),
hdrs = ["env_time.h"],
deps = [
":types",
],
)
cc_library(
name = "file_statistics",
hdrs = ["file_statistics.h"],
deps = [":types"],
)
cc_library(
name = "host_info",
hdrs = ["host_info.h"],
deps = [":types"],
)
cc_library(
name = "logging",
srcs = tf_platform_hdrs(["logging.h"]) + tf_platform_srcs(["logging.cc"]),
hdrs = ["logging.h"],
deps = [
":env_time",
":macros",
":platform",
":types",
"//tensorflow/core/platform/default/build_config:base",
] + tf_logging_absl_deps(),
)
cc_library(
name = "macros",
hdrs = ["macros.h"],
)
cc_library(
name = "rocm_rocdl_path",
srcs = ["rocm_rocdl_path.cc"] + tf_additional_rocdl_srcs(),
hdrs = ["rocm_rocdl_path.h"],
deps = [
":types",
"//tensorflow/core:lib",
] + tf_additional_rocdl_deps(),
)
cc_library(
name = "platform",
hdrs = ["platform.h"],
)
cc_library(
name = "prefetch",
hdrs = ["prefetch.h"],
deps = [":platform"],
)
cc_library(
name = "stacktrace",
srcs = glob(["*/stacktrace.h"]),
hdrs = ["stacktrace.h"],
deps = [
":abi",
":platform",
"//tensorflow/core/platform/default/build_config:stacktrace",
],
)
cc_library(
name = "setround",
srcs = ["setround.cc"],
hdrs = ["setround.h"],
deps = [
":logging",
":macros",
],
)
cc_library(
name = "stringpiece",
hdrs = ["stringpiece.h"],
deps = [
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "stringprintf",
srcs = ["stringprintf.cc"],
hdrs = ["stringprintf.h"],
deps = [
":macros",
":types",
],
)
cc_library(
name = "tstring",
hdrs = ["tstring.h"],
)
cc_library(
name = "types",
srcs = tf_platform_hdrs(["integral_types.h"]),
hdrs = ["types.h"],
deps = [
":platform",
":tstring",
"//tensorflow/core/platform/default/build_config:base",
],
)
# --------------------------------------------------------------------------
# Below libraries are here only to make sure the legacy build rules
# in tensorflow/core/BUILD are working!
#
# DO NOT add any new dependencies on these rules!
#
# --------------------------------------------------------------------------
filegroup(
name = "legacy_platform_lib_hdrs",
srcs = tf_additional_lib_hdrs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_platform_lib_srcs",
srcs = tf_additional_lib_srcs(
exclude = [
"*test*",
"**/*test*",
"**/cuda.h",
"**/cuda_libdevice_path.cc",
"**/rocm.h",
"**/monitoring.cc",
"**/stream_executor.h",
"**/env_time.cc",
"**/device_tracer.cc",
"**/logger.cc",
"**/logging.cc",
"**/human_readable_json.cc",
"**/rocm.h",
"**/rocm_rocdl_path.cc",
"abi.cc",
"cpu_info.cc",
"platform_strings.cc",
"protobuf.cc",
"stringprintf.cc",
],
),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_proto_hdrs",
srcs = tf_additional_proto_hdrs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_srcs_no_runtime",
srcs = glob(
[
"**/*.h",
"**/*.cc",
],
exclude = [
"*test.*",
"*testutil*",
"*testlib*",
"*main.cc",
"**/*test.*",
"**/*testutil*",
"**/*testlib*",
"**/*main.cc",
"**/cuda_libdevice_path.*",
"**/logger.cc",
# Exclude env_time and logging to avoid collisions with
# :platform_base, a common dependency for downstream targets.
"**/env_time.cc",
"**/logging.cc",
"**/rocm_rocdl_path.*",
"default/test_benchmark.*",
"cuda.h",
"rocm.h",
"google/**/*",
"hadoop/**/*",
"gif.h",
"jpeg.h",
"png.h",
"stream_executor.*",
"windows/**/*",
],
),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_lib_internal_headers",
srcs = glob(
[
"*.h",
"profile_utils/**/*.h",
],
exclude = [
"annotation.h",
"gif.h",
"jpeg.h",
"png.h",
"stringprintf.h",
"**/cuda.h",
"**/rocm.h",
"**/stream_executor.h",
],
),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_lib_internal_srcs",
srcs = glob(
[
"*.cc",
"profile_utils/**/*.cc",
],
exclude = [
"*test*",
"**/*test*",
"**/env_time.cc",
"**/monitoring.cc",
"**/cuda_libdevice_path.cc",
"**/device_tracer.cc",
"**/logger.cc",
"**/logging.cc",
"**/human_readable_json.cc",
"**/rocm_rocdl_path.cc",
"abi.cc",
"annotation.cc",
"cpu_info.cc",
"platform_strings.cc",
"protobuf.cc",
"stringprintf.cc",
],
),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_test_srcs",
srcs = tf_additional_test_srcs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_device_tracer_srcs",
srcs = tf_additional_device_tracer_srcs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_minimal_lib_srcs",
srcs = tf_additional_minimal_lib_srcs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_libdevice_srcs",
srcs = tf_additional_libdevice_srcs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_monitoring_srcs",
srcs = tf_additional_monitoring_srcs(),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_platform_port_srcs",
srcs = tf_platform_hdrs([
"cpu_info.h",
"dynamic_annotations.h",
"thread_annotations.h",
"mutex.h",
]) + tf_platform_srcs([
"port.cc",
]),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_platform_env_srcs",
srcs = tf_platform_srcs([
"env.cc",
"load_library.cc",
]) + tf_platform_hdrs([
"wide_char.h",
]),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_file_system_hdrs",
srcs = tf_platform_hdrs([
"windows_file_system.h",
]),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_platform_other_srcs",
srcs = tf_platform_srcs([
"subprocess.cc",
"net.cc",
"tracing.cc",
]) + tf_platform_hdrs([
"tracing.h",
"error.h",
"context.h",
"fingerprint.h",
"notification.h",
"strong_hash.h",
"subprocess.h",
"tracing_impl.h",
]),
visibility = ["//tensorflow/core:__pkg__"],
)
filegroup(
name = "legacy_human_readable_json_src",
srcs = tf_platform_srcs(["human_readable_json.cc"]),
visibility = ["//tensorflow/core:__pkg__"],
)
# TODO(gunan): Remove the following once references in core/BUILD is removed.
exports_files(
glob(
[
"*",
"**",
],
exclude = [
"abi.h",
"byte_order.h",
"cpu_info.cc",
"cpu_info.h",
"logging.h",
"macros.h",
"platform.h",
"types.h",
"stacktrace.h",
],
),
)