],
)
-PLATFORM_BASE_HDRS = [
- "platform/env_time.h",
- "platform/logging.h",
- "platform/macros.h",
- "platform/types.h",
- "platform/byte_order.h",
-]
-
-PLATFORM_OTHER_HDRS = [
- "platform/abi.h",
- "platform/stacktrace.h",
- "platform/stacktrace_handler.h",
- "platform/context.h",
- "platform/cpu_info.h",
- "platform/cpu_feature_guard.h",
- "platform/dynamic_annotations.h",
- "platform/error.h",
- "platform/env.h",
- "platform/file_system.h",
- "platform/file_system_helper.h",
- "platform/fingerprint.h",
- "platform/init_main.h",
- "platform/mem.h",
- "platform/mutex.h",
- "platform/net.h",
- "platform/notification.h",
- "platform/null_file_system.h",
- "platform/prefetch.h",
- "platform/profile_utils/clock_cycle_profiler.h",
- "platform/profile_utils/cpu_utils.h",
- "platform/protobuf.h",
- "platform/strong_hash.h",
- "platform/subprocess.h",
- "platform/thread_annotations.h",
-]
+filegroup(
+ name = "platform_base_hdrs",
+ srcs = [
+ "platform/byte_order.h",
+ "platform/env_time.h",
+ "platform/logging.h",
+ "platform/macros.h",
+ "platform/types.h",
+ ],
+ visibility = ["//visibility:private"],
+)
-# Smaller platform libraries that don't depend on "lib" or "lib_internal".
cc_library(
name = "platform_base",
srcs = tf_platform_hdrs([
]) + [
"platform/env_time.cc",
],
- hdrs = PLATFORM_BASE_HDRS,
+ hdrs = [":platform_base_hdrs"],
copts = tf_copts(),
- # TODO(ahentz): remove use of this library so we can move it into 'platform'
tags = ["avoid_dep"],
+ visibility = ["//tensorflow/core:__subpackages__"],
deps = [
":lib_platform",
"//tensorflow/core/platform/default/build_config:base",
],
)
+filegroup(
+ name = "platform_port_hdrs",
+ srcs = [
+ "platform/cpu_info.h",
+ "platform/dynamic_annotations.h",
+ "platform/init_main.h",
+ "platform/mem.h",
+ "platform/mutex.h",
+ "platform/thread_annotations.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+# Headers that are not exported as part of ":lib".
+filegroup(
+ name = "platform_port_internal_hdrs",
+ srcs = [
+ "platform/demangle.h",
+ "platform/host_info.h",
+ "platform/snappy.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+cc_library(
+ name = "platform_port",
+ srcs = tf_platform_hdrs([
+ "cpu_info.h",
+ "dynamic_annotations.h",
+ "thread_annotations.h",
+ "mutex.h",
+ ]) + tf_platform_srcs([
+ "port.cc",
+ ]) + [
+ "platform/cpu_info.cc",
+ ],
+ hdrs = [
+ ":platform_port_hdrs",
+ ":platform_port_internal_hdrs",
+ ],
+ copts = tf_copts(),
+ visibility = ["//tensorflow/core:__subpackages__"],
+ deps = [
+ ":lib_platform",
+ ":platform_base",
+ "//tensorflow/core/platform/default/build_config:port",
+ "@snappy",
+ ],
+)
+
+filegroup(
+ name = "platform_protobuf_hdrs",
+ srcs = [
+ "platform/protobuf.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+# Headers that are not exported as part of ":lib".
+filegroup(
+ name = "platform_protobuf_internal_hdrs",
+ srcs = [
+ "platform/protobuf_internal.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+cc_library(
+ name = "platform_protobuf",
+ srcs = tf_platform_hdrs([
+ "protobuf.h",
+ ]) + tf_platform_srcs([
+ "protobuf.cc",
+ ]) + [
+ "platform/protobuf_util.cc",
+ ],
+ hdrs = [
+ ":platform_protobuf_hdrs",
+ ":platform_protobuf_internal_hdrs",
+ ],
+ copts = tf_copts(),
+ visibility = ["//tensorflow/core:__subpackages__"],
+ deps = [
+ ":lib_platform",
+ ":platform_base",
+ ":platform_port",
+ "//tensorflow/core/platform/default/build_config:protobuf",
+ "@protobuf_archive//:protobuf",
+ ],
+)
+
+filegroup(
+ name = "platform_env_hdrs",
+ srcs = [
+ "platform/env.h",
+ "platform/file_statistics.h",
+ "platform/file_system.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+# Headers that are not exported as part of ":lib".
+filegroup(
+ name = "platform_env_internal_hdrs",
+ srcs = [
+ "platform/load_library.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+cc_library(
+ name = "platform_env",
+ srcs = tf_platform_srcs([
+ "env.cc",
+ "load_library.cc",
+ ]) + tf_platform_hdrs([
+ ]) + [
+ "platform/env.cc",
+ "platform/file_system.cc",
+ ],
+ hdrs = [
+ ":platform_env_hdrs",
+ ":platform_env_internal_hdrs",
+ ],
+ copts = tf_copts(),
+ visibility = ["//tensorflow/core:__subpackages__"],
+ deps = [
+ ":error_codes_proto_cc",
+ ":lib",
+ ":lib_internal",
+ ":lib_platform",
+ ":platform_base",
+ ":platform_port",
+ ":platform_protobuf",
+ "//tensorflow/core/platform/default/build_config:env",
+ ],
+)
+
+filegroup(
+ name = "platform_file_system_hdrs",
+ srcs = [
+ "platform/file_system_helper.h",
+ "platform/null_file_system.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+cc_library(
+ name = "platform_file_system",
+ srcs = tf_platform_srcs([
+ ]) + tf_platform_hdrs([
+ "windows_file_system.h",
+ ]) + [
+ "platform/file_system_helper.cc",
+ ],
+ hdrs = [
+ ":platform_file_system_hdrs",
+ ],
+ copts = tf_copts(),
+ visibility = ["//tensorflow/core:__subpackages__"],
+ deps = [
+ ":lib",
+ ":lib_platform",
+ ":platform_env",
+ ],
+)
+
+filegroup(
+ name = "platform_other_hdrs",
+ srcs = [
+ "platform/abi.h",
+ "platform/context.h",
+ "platform/cpu_feature_guard.h",
+ "platform/error.h",
+ "platform/fingerprint.h",
+ "platform/net.h",
+ "platform/notification.h",
+ "platform/prefetch.h",
+ "platform/profile_utils/android_armv7a_cpu_utils_helper.h",
+ "platform/profile_utils/clock_cycle_profiler.h",
+ "platform/profile_utils/cpu_utils.h",
+ "platform/profile_utils/i_cpu_utils_helper.h",
+ "platform/stacktrace.h",
+ "platform/stacktrace_handler.h",
+ "platform/strong_hash.h",
+ "platform/subprocess.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+# Headers that are not exported as part of ":lib".
+filegroup(
+ name = "platform_other_internal_hdrs",
+ srcs = [
+ "platform/denormal.h",
+ "platform/setround.h",
+ "platform/tracing.h",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+cc_library(
+ name = "platform_other",
+ srcs = tf_platform_srcs([
+ "subprocess.cc",
+ "net.cc",
+ "tracing.cc",
+ ]) + tf_platform_hdrs([
+ "tracing.h",
+ "error.h",
+ "context.h",
+ "fingerprint.h",
+ "notification.h",
+ "stacktrace.h",
+ "strong_hash.h",
+ "subprocess.h",
+ "tracing_impl.h",
+ ]) + [
+ "platform/cpu_feature_guard.cc",
+ "platform/setround.cc",
+ "platform/tracing.cc",
+ "platform/denormal.cc",
+ "platform/profile_utils/android_armv7a_cpu_utils_helper.cc",
+ "platform/profile_utils/clock_cycle_profiler.cc",
+ "platform/profile_utils/cpu_utils.cc",
+ ],
+ hdrs = [
+ ":platform_other_hdrs",
+ ":platform_other_internal_hdrs",
+ ],
+ copts = tf_copts(),
+ visibility = ["//tensorflow/core:__subpackages__"],
+ deps = [
+ ":lib",
+ ":lib_platform",
+ ":platform_base",
+ ":platform_env",
+ ":platform_port",
+ ":platform_protobuf",
+ "//tensorflow/core/platform/default/build_config:other",
+ "//tensorflow/core/platform/default/build_config:platformlib",
+ "//tensorflow/core/platform/default/build_config:port",
+ ],
+)
+
# Minimal lib so that tools used for mobile compilation
# don't have to depend on lib/platformlib.
cc_library(
# tf_cc_test and tf_cc_binary will include the necessary symbols.
cc_library(
name = "lib",
- hdrs = PLATFORM_BASE_HDRS +
- PLATFORM_OTHER_HDRS + [
+ hdrs = [
"lib/bfloat16/bfloat16.h",
"lib/core/arena.h",
"lib/core/bitmap.h",
"lib/strings/str_util.h",
"lib/strings/strcat.h",
"lib/strings/stringprintf.h",
+ ":platform_base_hdrs",
+ ":platform_env_hdrs",
+ ":platform_file_system_hdrs",
+ ":platform_other_hdrs",
+ ":platform_port_hdrs",
+ ":platform_protobuf_hdrs",
],
visibility = ["//visibility:public"],
deps = [