Implements `pywrap_tensorflow_macro_opensource` using `cc_shared_library`.
`dynamic_deps` is not used.
PiperOrigin-RevId: 465441376
diff --git a/.bazelversion b/.bazelversion
index ac14c3d..15ef874 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-5.1.1
+f440f8ec3f63e5d663e1f9d9614f05a39422102a
\ No newline at end of file
diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
index a5261c3..0ef1e3c 100644
--- a/tensorflow/python/BUILD
+++ b/tensorflow/python/BUILD
@@ -3245,11 +3245,70 @@
pywrap_tensorflow_macro(
name = "pywrap_tensorflow_internal",
srcs = ["pywrap_tensorflow_internal.cc"],
+ static_deps = [
+ "@arm_neon_2_x86_sse//:__subpackages__",
+ "@bazel_tools//:__subpackages__",
+ "@boringssl//:__subpackages__",
+ "@clog//:__subpackages__",
+ "@com_github_cares_cares//:__subpackages__",
+ "@com_github_googlecloudplatform_tensorflow_gcp_tools//:__subpackages__",
+ "@com_github_grpc_grpc//:__subpackages__",
+ "@com_google_absl//:__subpackages__",
+ "@com_google_googleapis//:__subpackages__",
+ "@com_google_protobuf//:__subpackages__",
+ "@com_googlesource_code_re2//:__subpackages__",
+ "@compute_library//:__subpackages__",
+ "@cpuinfo//:__subpackages__",
+ "@cudnn_frontend_archive//:__subpackages__",
+ "@curl//:__subpackages__",
+ "@dlpack//:__subpackages__",
+ "@double_conversion//:__subpackages__",
+ "@eigen_archive//:__subpackages__",
+ "@farmhash_archive//:__subpackages__",
+ "@farmhash_gpu_archive//:__subpackages__",
+ "@fft2d//:__subpackages__",
+ "@flatbuffers//:__subpackages__",
+ "@FP16//:__subpackages__",
+ "@FXdiv//:__subpackages__",
+ "@gemmlowp//:__subpackages__",
+ "@gif//:__subpackages__",
+ "@highwayhash//:__subpackages__",
+ "@hwloc//:__subpackages__",
+ "@icu//:__subpackages__",
+ "@jsoncpp_git//:__subpackages__",
+ "@libjpeg_turbo//:__subpackages__",
+ "@libxsmm_archive//:__subpackages__",
+ "@llvm_openmp//:__subpackages__",
+ "@llvm-project//:__subpackages__",
+ "@llvm_terminfo//:__subpackages__",
+ "@llvm_zlib//:__subpackages__",
+ "@lmdb//:__subpackages__",
+ "@local_config_cuda//:__subpackages__",
+ "@local_config_git//:__subpackages__",
+ "@local_config_nccl//:__subpackages__",
+ "@local_config_python//:__subpackages__",
+ "@local_config_rocm//:__subpackages__",
+ "@local_config_tensorrt//:__subpackages__",
+ "@local_execution_config_platform//:__subpackages__",
+ "@mkl_dnn_acl_compatible//:__subpackages__",
+ "@mkl_dnn_v1//:__subpackages__",
+ "@nccl_archive//:__subpackages__",
+ "@nsync//:__subpackages__",
+ "@org_sqlite//:__subpackages__",
+ "@platforms//:__subpackages__",
+ "@png//:__subpackages__",
+ "@pthreadpool//:__subpackages__",
+ "@pybind11//:__subpackages__",
+ "@ruy//:__subpackages__",
+ "@snappy//:__subpackages__",
+ "@sobol_data//:__subpackages__",
+ "//:__subpackages__",
+ "@upb//:__subpackages__",
+ "@XNNPACK//:__subpackages__",
+ "@zlib//:__subpackages__",
+ ],
# copybara:comment_begin(OSS Windows only: DEF file for exported symbols)
- win_def_file = select({
- "//tensorflow:windows": ":pywrap_tensorflow_filtered_def_file",
- "//conditions:default": None,
- }),
+ win_def_file = ":pywrap_tensorflow_filtered_def_file",
# copybara:comment_end
deps = [
":bfloat16_lib",
@@ -3478,7 +3537,7 @@
visibility = ["//visibility:public"],
)
-# Get the import library of _pywrap_tensorflow_internal.pyd
+# Get the import library of _pywrap_tensorflow_internal.pyd, platform-specific to Windows.
filegroup(
name = "get_pywrap_tensorflow_import_lib_file",
srcs = [":_pywrap_tensorflow_internal.so"],
diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl
index ab6e884..e341971 100644
--- a/tensorflow/tensorflow.bzl
+++ b/tensorflow/tensorflow.bzl
@@ -2082,6 +2082,8 @@
all_deps += ctx.rule.attr.deps
if hasattr(ctx.rule.attr, "data"):
all_deps += ctx.rule.attr.data
+ if hasattr(ctx.rule.attr, "roots"):
+ all_deps += ctx.rule.attr.roots
for dep in all_deps:
direct.append(dep.label)
if hasattr(dep, "tf_collected_deps"):
@@ -2089,7 +2091,7 @@
return struct(tf_collected_deps = depset(direct = direct, transitive = transitive))
collect_deps_aspect = aspect(
- attr_aspects = ["deps", "data"],
+ attr_aspects = ["deps", "data", "roots"],
implementation = _collect_deps_aspect_impl,
)
@@ -2285,10 +2287,13 @@
def pywrap_tensorflow_macro(
name,
srcs = [],
+ roots = [],
deps = [],
+ dynamic_deps = [],
+ static_deps = [],
copts = [],
version_script = None,
- **kwargs):
+ win_def_file = None):
"""Builds the pywrap_tensorflow_internal shared object."""
module_name = name.split("/")[-1]
@@ -2298,7 +2303,7 @@
# TODO(b/137885063): tf_cc_shared_object needs to be cleaned up; we really
# shouldn't be passing a name qualified with .so here.
- cc_library_name = cc_library_base + ".so"
+ cc_shared_library_name = cc_library_base + ".so"
cc_library_pyd_name = "/".join(
name.split("/")[:-1] + ["_" + module_name + ".pyd"],
)
@@ -2334,12 +2339,7 @@
"$(location %s.lds)" % vscriptname,
],
})
- extra_deps += select({
- clean_dep("//tensorflow:windows"): [],
- "//conditions:default": [
- "%s.lds" % vscriptname,
- ],
- })
+ additional_linker_inputs = if_windows([], otherwise = ["%s.lds" % vscriptname])
# Due to b/149224972 we have to add libtensorflow_framework.so
# as a dependency so the linker doesn't try and optimize and
@@ -2353,8 +2353,8 @@
],
)
- tf_cc_shared_object(
- name = cc_library_name,
+ tf_cc_shared_library(
+ name = cc_shared_library_name,
srcs = srcs,
# framework_so is no longer needed as libtf.so is included via the extra_deps.
framework_so = [],
@@ -2365,8 +2365,12 @@
]),
linkopts = extra_linkopts,
linkstatic = 1,
+ roots = roots,
deps = deps + extra_deps,
- **kwargs
+ dynamic_deps = dynamic_deps,
+ static_deps = static_deps,
+ win_def_file = win_def_file,
+ additional_linker_inputs = additional_linker_inputs,
)
# When a non-versioned .so is added as a 'src' to a bazel target, it uses
@@ -2382,14 +2386,14 @@
name_os = pattern % (cc_library_base, "")
native.genrule(
name = name_os + "_rule",
- srcs = [":" + cc_library_name],
+ srcs = [":" + cc_shared_library_name],
outs = [name_os],
cmd = "cp $< $@",
)
native.genrule(
name = "gen_" + cc_library_pyd_name,
- srcs = [":" + cc_library_name],
+ srcs = [":" + cc_shared_library_name],
outs = [cc_library_pyd_name],
cmd = "cp $< $@",
)
@@ -2414,7 +2418,7 @@
srcs_version = "PY3",
data = select({
clean_dep("//tensorflow:windows"): [":" + cc_library_pyd_name],
- "//conditions:default": [":" + cc_library_name],
+ "//conditions:default": [":" + cc_shared_library_name],
}),
)