Adding env target to tensorflow/core/platform/BUILD.
The rationale for this giant target is due to the following cycle in the build graph:
env -> file_system -> file_system_helper -> threadpool -> env
This CL also continues the refactoring started in previous commits of removing the posix/ subfolder, and merging its contents with the default/ subfolder.
PiperOrigin-RevId: 269439489
diff --git a/tensorflow/contrib/makefile/proto_text_cc_files.txt b/tensorflow/contrib/makefile/proto_text_cc_files.txt
index 5dbae8b..c07a979 100644
--- a/tensorflow/contrib/makefile/proto_text_cc_files.txt
+++ b/tensorflow/contrib/makefile/proto_text_cc_files.txt
@@ -33,11 +33,13 @@
tensorflow/core/lib/strings/proto_text_util.cc
tensorflow/core/lib/wav/wav_io.cc
tensorflow/core/platform/cpu_info.cc
+tensorflow/core/platform/default/env.cc
tensorflow/core/platform/default/env_time.cc
tensorflow/core/platform/default/load_library.cc
tensorflow/core/platform/default/logging.cc
tensorflow/core/platform/default/mutex.cc
tensorflow/core/platform/default/port.cc
+tensorflow/core/platform/default/posix_file_system.cc
tensorflow/core/platform/default/tracing.cc
tensorflow/core/platform/denormal.cc
tensorflow/core/platform/env.cc
@@ -45,8 +47,6 @@
tensorflow/core/platform/file_system.cc
tensorflow/core/platform/file_system_helper.cc
tensorflow/core/platform/numbers.cc
-tensorflow/core/platform/posix/env.cc
-tensorflow/core/platform/posix/posix_file_system.cc
tensorflow/core/platform/protobuf.cc
tensorflow/core/platform/protobuf_util.cc
tensorflow/core/platform/scanner.cc
diff --git a/tensorflow/core/platform/BUILD b/tensorflow/core/platform/BUILD
index 900d4dc..2ba0bc6 100644
--- a/tensorflow/core/platform/BUILD
+++ b/tensorflow/core/platform/BUILD
@@ -56,6 +56,7 @@
"cord",
"cuda_libdevice_path",
"dynamic_annotations",
+ "env",
"env_time",
"human_readable_json",
"load_library",
@@ -178,6 +179,17 @@
)
cc_library(
+ name = "env",
+ textual_hdrs = [
+ "env.h",
+ "file_system.h",
+ "file_system_helper.h",
+ "threadpool.h",
+ ],
+ deps = tf_platform_helper_deps("env_impl"),
+)
+
+cc_library(
name = "env_time",
textual_hdrs = ["env_time.h"],
deps = tf_platform_helper_deps("env_time_impl"),
diff --git a/tensorflow/core/platform/default/build_config.bzl b/tensorflow/core/platform/default/build_config.bzl
index 467dd3b..880df2c 100644
--- a/tensorflow/core/platform/default/build_config.bzl
+++ b/tensorflow/core/platform/default/build_config.bzl
@@ -491,6 +491,7 @@
"posix/error.h",
], exclude = exclude + [
"default/subprocess.h",
+ "default/posix_file_system.h",
])
return select({
"//tensorflow:windows": windows_hdrs,
@@ -506,10 +507,12 @@
"windows/*.cc",
"posix/error.cc",
], exclude = exclude + [
+ "default/env.cc",
"default/env_time.cc",
"default/load_library.cc",
"default/net.cc",
"default/port.cc",
+ "default/posix_file_system.cc",
"default/subprocess.cc",
])
return select({
diff --git a/tensorflow/core/platform/default/build_refactor.bzl b/tensorflow/core/platform/default/build_refactor.bzl
index 87e0b28..7ef5002 100644
--- a/tensorflow/core/platform/default/build_refactor.bzl
+++ b/tensorflow/core/platform/default/build_refactor.bzl
@@ -34,20 +34,6 @@
"visibility": ["//visibility:private"],
"tags": ["no_oss", "manual"],
},
- "env_time": {
- "name": "env_time_impl",
- "hdrs": [
- "//tensorflow/core/platform:env_time.h",
- ],
- "srcs": [
- "//tensorflow/core/platform:default/env_time.cc",
- ],
- "deps": [
- "//tensorflow/core/platform:types",
- ],
- "visibility": ["//visibility:private"],
- "tags": ["no_oss", "manual"],
- },
"cuda_libdevice_path": {
"name": "cuda_libdevice_path_impl",
"hdrs": [
@@ -72,6 +58,70 @@
"visibility": ["//visibility:private"],
"tags": ["no_oss", "manual"],
},
+ "env": {
+ "name": "env_impl",
+ "hdrs": [
+ "//tensorflow/core/platform:env.h",
+ "//tensorflow/core/platform:file_system.h",
+ "//tensorflow/core/platform:file_system_helper.h",
+ "//tensorflow/core/platform:threadpool.h",
+ ],
+ "srcs": [
+ "//tensorflow/core/platform:env.cc",
+ "//tensorflow/core/platform:file_system_helper.cc",
+ "//tensorflow/core/platform:threadpool.cc",
+ "//tensorflow/core/platform:default/env.cc",
+ "//tensorflow/core/platform:default/posix_file_system.h",
+ "//tensorflow/core/platform:default/posix_file_system.cc",
+ ],
+ "deps": [
+ "@com_google_absl//absl/time",
+ "@com_google_absl//absl/types:optional",
+ "//third_party/eigen3",
+ "//tensorflow/core/lib/core:blocking_counter",
+ "//tensorflow/core/lib/core:error_codes_proto_cc",
+ "//tensorflow/core/lib/core:errors",
+ "//tensorflow/core/lib/core:status",
+ "//tensorflow/core/lib/core:stringpiece",
+ "//tensorflow/core/lib/gtl:stl_util",
+ "//tensorflow/core/lib/io:path",
+ "//tensorflow/core/lib/strings:string_utils",
+ "//tensorflow/core/lib/strings:stringprintf",
+ "//tensorflow/core/platform",
+ "//tensorflow/core/platform:context",
+ "//tensorflow/core/platform:cord",
+ "//tensorflow/core/platform:denormal",
+ "//tensorflow/core/platform:error",
+ "//tensorflow/core/platform:env_time",
+ "//tensorflow/core/platform:file_statistics",
+ "//tensorflow/core/platform:load_library",
+ "//tensorflow/core/platform:logging",
+ "//tensorflow/core/platform:macros",
+ "//tensorflow/core/platform:mutex",
+ "//tensorflow/core/platform:platform_port",
+ "//tensorflow/core/platform:protobuf",
+ "//tensorflow/core/platform:setround",
+ "//tensorflow/core/platform:threadpool_interface",
+ "//tensorflow/core/platform:tracing",
+ "//tensorflow/core/platform:types",
+ ],
+ "visibility": ["//visibility:private"],
+ "tags": ["no_oss", "manual"],
+ },
+ "env_time": {
+ "name": "env_time_impl",
+ "hdrs": [
+ "//tensorflow/core/platform:env_time.h",
+ ],
+ "srcs": [
+ "//tensorflow/core/platform:default/env_time.cc",
+ ],
+ "deps": [
+ "//tensorflow/core/platform:types",
+ ],
+ "visibility": ["//visibility:private"],
+ "tags": ["no_oss", "manual"],
+ },
"human_readable_json": {
"name": "human_readable_json_impl",
"hdrs": [
@@ -232,6 +282,57 @@
}
TF_WINDOWS_PLATFORM_LIBRARIES = {
+ "env": {
+ "name": "windows_env_impl",
+ "hdrs": [
+ "//tensorflow/core/platform:env.h",
+ "//tensorflow/core/platform:file_system.h",
+ "//tensorflow/core/platform:file_system_helper.h",
+ "//tensorflow/core/platform:threadpool.h",
+ ],
+ "srcs": [
+ "//tensorflow/core/platform:env.cc",
+ "//tensorflow/core/platform:file_system_helper.cc",
+ "//tensorflow/core/platform:threadpool.cc",
+ "//tensorflow/core/platform:windows/env.cc",
+ "//tensorflow/core/platform:windows/windows_file_system.h",
+ "//tensorflow/core/platform:windows/windows_file_system.cc",
+ ],
+ "deps": [
+ "@com_google_absl//absl/time",
+ "@com_google_absl//absl/types:optional",
+ "//third_party/eigen3",
+ "//tensorflow/core/lib/core:blocking_counter",
+ "//tensorflow/core/lib/core:error_codes_proto_cc",
+ "//tensorflow/core/lib/core:errors",
+ "//tensorflow/core/lib/core:status",
+ "//tensorflow/core/lib/core:stringpiece",
+ "//tensorflow/core/lib/gtl:stl_util",
+ "//tensorflow/core/lib/io:path",
+ "//tensorflow/core/lib/strings:string_utils",
+ "//tensorflow/core/lib/strings:stringprintf",
+ "//tensorflow/core/platform",
+ "//tensorflow/core/platform:context",
+ "//tensorflow/core/platform:cord",
+ "//tensorflow/core/platform:denormal",
+ "//tensorflow/core/platform:error",
+ "//tensorflow/core/platform:env_time",
+ "//tensorflow/core/platform:file_statistics",
+ "//tensorflow/core/platform:load_library",
+ "//tensorflow/core/platform:logging",
+ "//tensorflow/core/platform:macros",
+ "//tensorflow/core/platform:mutex",
+ "//tensorflow/core/platform:platform_port",
+ "//tensorflow/core/platform:protobuf",
+ "//tensorflow/core/platform:setround",
+ "//tensorflow/core/platform:threadpool_interface",
+ "//tensorflow/core/platform:tracing",
+ "//tensorflow/core/platform:types",
+ "//tensorflow/core/platform:windows_wide_char_impl",
+ ],
+ "visibility": ["//visibility:private"],
+ "tags": ["no_oss", "manual"],
+ },
"env_time": {
"name": "windows_env_time_impl",
"hdrs": [
diff --git a/tensorflow/core/platform/posix/env.cc b/tensorflow/core/platform/default/env.cc
similarity index 98%
rename from tensorflow/core/platform/posix/env.cc
rename to tensorflow/core/platform/default/env.cc
index ba2a979..b025e9c 100644
--- a/tensorflow/core/platform/posix/env.cc
+++ b/tensorflow/core/platform/default/env.cc
@@ -33,11 +33,11 @@
#include <vector>
#include "tensorflow/core/lib/core/error_codes.pb.h"
+#include "tensorflow/core/platform/default/posix_file_system.h"
#include "tensorflow/core/platform/env.h"
#include "tensorflow/core/platform/load_library.h"
#include "tensorflow/core/platform/logging.h"
#include "tensorflow/core/platform/mutex.h"
-#include "tensorflow/core/platform/posix/posix_file_system.h"
namespace tensorflow {
diff --git a/tensorflow/core/platform/posix/posix_file_system.cc b/tensorflow/core/platform/default/posix_file_system.cc
similarity index 99%
rename from tensorflow/core/platform/posix/posix_file_system.cc
rename to tensorflow/core/platform/default/posix_file_system.cc
index c99f655..2c3512a 100644
--- a/tensorflow/core/platform/posix/posix_file_system.cc
+++ b/tensorflow/core/platform/default/posix_file_system.cc
@@ -31,11 +31,11 @@
#include "tensorflow/core/lib/core/error_codes.pb.h"
#include "tensorflow/core/lib/core/status.h"
#include "tensorflow/core/lib/strings/strcat.h"
+#include "tensorflow/core/platform/default/posix_file_system.h"
#include "tensorflow/core/platform/env.h"
#include "tensorflow/core/platform/error.h"
#include "tensorflow/core/platform/file_system_helper.h"
#include "tensorflow/core/platform/logging.h"
-#include "tensorflow/core/platform/posix/posix_file_system.h"
namespace tensorflow {
diff --git a/tensorflow/core/platform/posix/posix_file_system.h b/tensorflow/core/platform/default/posix_file_system.h
similarity index 100%
rename from tensorflow/core/platform/posix/posix_file_system.h
rename to tensorflow/core/platform/default/posix_file_system.h
diff --git a/tensorflow/core/platform/env.cc b/tensorflow/core/platform/env.cc
index c38d0be..495f1ad 100644
--- a/tensorflow/core/platform/env.cc
+++ b/tensorflow/core/platform/env.cc
@@ -13,10 +13,22 @@
limitations under the License.
==============================================================================*/
+#include "tensorflow/core/platform/env.h"
+
#include <sys/stat.h>
+
#include <deque>
#include <utility>
#include <vector>
+
+#include "tensorflow/core/lib/core/errors.h"
+#include "tensorflow/core/lib/io/path.h"
+#include "tensorflow/core/lib/strings/stringprintf.h"
+#include "tensorflow/core/platform/env_time.h"
+#include "tensorflow/core/platform/host_info.h"
+#include "tensorflow/core/platform/platform.h"
+#include "tensorflow/core/platform/protobuf.h"
+
#if defined(__APPLE__)
#include <mach-o/dyld.h>
#endif
@@ -25,6 +37,8 @@
#endif
#if defined(PLATFORM_WINDOWS)
#include <windows.h>
+#undef DeleteFile
+#undef CopyFile
#include "tensorflow/core/platform/windows/wide_char.h"
#define PATH_MAX MAX_PATH
#else
@@ -34,14 +48,6 @@
#include <unistd.h>
#endif
-#include "tensorflow/core/lib/core/errors.h"
-#include "tensorflow/core/lib/io/path.h"
-#include "tensorflow/core/lib/strings/stringprintf.h"
-#include "tensorflow/core/platform/env.h"
-#include "tensorflow/core/platform/env_time.h"
-#include "tensorflow/core/platform/host_info.h"
-#include "tensorflow/core/platform/protobuf.h"
-
namespace tensorflow {
// 128KB copy buffer
diff --git a/tensorflow/core/platform/env.h b/tensorflow/core/platform/env.h
index f7a91c7..39f5fc5 100644
--- a/tensorflow/core/platform/env.h
+++ b/tensorflow/core/platform/env.h
@@ -17,10 +17,12 @@
#define TENSORFLOW_CORE_PLATFORM_ENV_H_
#include <stdint.h>
+
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
+
#include "tensorflow/core/lib/core/errors.h"
#include "tensorflow/core/lib/core/status.h"
#include "tensorflow/core/lib/core/stringpiece.h"
@@ -29,6 +31,7 @@
#include "tensorflow/core/platform/macros.h"
#include "tensorflow/core/platform/mutex.h"
#include "tensorflow/core/platform/numa.h"
+#include "tensorflow/core/platform/platform.h"
#include "tensorflow/core/platform/protobuf.h"
#include "tensorflow/core/platform/types.h"
diff --git a/tensorflow/core/platform/file_system_helper.cc b/tensorflow/core/platform/file_system_helper.cc
index 0c4c9aa..5ec3971 100644
--- a/tensorflow/core/platform/file_system_helper.cc
+++ b/tensorflow/core/platform/file_system_helper.cc
@@ -20,12 +20,12 @@
#include <vector>
#include "tensorflow/core/lib/core/status.h"
-#include "tensorflow/core/lib/core/threadpool.h"
#include "tensorflow/core/lib/io/path.h"
#include "tensorflow/core/lib/strings/str_util.h"
#include "tensorflow/core/platform/env.h"
#include "tensorflow/core/platform/file_system.h"
#include "tensorflow/core/platform/platform.h"
+#include "tensorflow/core/platform/threadpool.h"
namespace tensorflow {
namespace internal {
diff --git a/tensorflow/core/platform/windows/windows_file_system.h b/tensorflow/core/platform/windows/windows_file_system.h
index 1f4c535..255f6d5 100644
--- a/tensorflow/core/platform/windows/windows_file_system.h
+++ b/tensorflow/core/platform/windows/windows_file_system.h
@@ -18,6 +18,7 @@
#include "tensorflow/core/lib/io/path.h"
#include "tensorflow/core/platform/file_system.h"
+#include "tensorflow/core/platform/platform.h"
#ifdef PLATFORM_WINDOWS
#undef DeleteFile