diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl index ee1817926c6..08fccaa91d3 100644 --- a/tensorflow/tensorflow.bzl +++ b/tensorflow/tensorflow.bzl @@ -407,6 +407,24 @@ def tf_binary_additional_srcs(fullversion = False): ], ) +def tf_binary_additional_data_deps(): + longsuffix = "." + VERSION + suffix = "." + VERSION.split(".")[0] + + return if_static( + extra_deps = [], + macos = [ + clean_dep("//tensorflow:libtensorflow_framework.dylib"), + clean_dep("//tensorflow:libtensorflow_framework%s.dylib" % suffix), + clean_dep("//tensorflow:libtensorflow_framework%s.dylib" % longsuffix), + ], + otherwise = [ + clean_dep("//tensorflow:libtensorflow_framework.so"), + clean_dep("//tensorflow:libtensorflow_framework.so%s" % suffix), + clean_dep("//tensorflow:libtensorflow_framework.so%s" % longsuffix), + ], + ) + # Helper function for the per-OS tensorflow libraries and their version symlinks def tf_shared_library_deps(): longsuffix = "." + VERSION @@ -421,6 +439,7 @@ def tf_shared_library_deps(): clean_dep("//tensorflow:macos"): [], clean_dep("//tensorflow:windows"): [ clean_dep("//tensorflow:tensorflow.dll"), + clean_dep("//tensorflow:tensorflow_dll_import_lib"), ], clean_dep("//tensorflow:framework_shared_object"): [ clean_dep("//tensorflow:libtensorflow.so"), @@ -519,12 +538,16 @@ def tf_cc_shared_object( soname = name_os_major.split("/")[-1] + data_extra = [] + if framework_so != []: + data_extra = tf_binary_additional_data_deps() + native.cc_binary( name = name_os_full, srcs = srcs + framework_so, deps = deps, linkshared = 1, - data = data, + data = data + data_extra, linkopts = linkopts + _rpath_linkopts(name_os_full) + select({ clean_dep("//tensorflow:macos"): [ "-Wl,-install_name,@rpath/" + soname, @@ -1923,7 +1946,6 @@ def tf_py_wrap_cc( linkopts = extra_linkopts, linkstatic = 1, deps = deps + extra_deps, - data = tf_binary_additional_srcs() + tf_binary_additional_srcs(fullversion = True), **kwargs ) native.genrule( diff --git a/tensorflow/tools/lib_package/BUILD b/tensorflow/tools/lib_package/BUILD index 049654dff3d..d37d9fc2687 100644 --- a/tensorflow/tools/lib_package/BUILD +++ b/tensorflow/tools/lib_package/BUILD @@ -5,9 +5,10 @@ package(default_visibility = ["//visibility:private"]) load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar") load("@local_config_syslibs//:build_defs.bzl", "if_not_system_lib") -load("//tensorflow:tensorflow.bzl", "tf_binary_additional_srcs") load("//tensorflow:tensorflow.bzl", "if_cuda") load("//tensorflow:tensorflow.bzl", "if_not_windows") +load("//tensorflow:tensorflow.bzl", "tf_binary_additional_data_deps") +load("//tensorflow:tensorflow.bzl", "tf_shared_library_deps") load("//third_party/mkl:build_defs.bzl", "if_mkl") genrule( @@ -54,7 +55,7 @@ pkg_tar( # Shared objects that all TensorFlow libraries depend on. pkg_tar( name = "common_deps", - files = tf_binary_additional_srcs(), + files = tf_binary_additional_data_deps(), tags = ["manual"], ) @@ -88,16 +89,7 @@ pkg_tar( pkg_tar( name = "clib", - files = select({ - "//tensorflow:macos": [ - "//tensorflow:libtensorflow.dylib", - ], - "//tensorflow:windows": [ - "//tensorflow:tensorflow.dll", - "//tensorflow:tensorflow_dll_import_lib", - ], - "//conditions:default": ["//tensorflow:libtensorflow.so"], - }), + srcs = tf_shared_library_deps(), package_dir = "lib", # Mark as "manual" till # https://github.com/bazelbuild/bazel/issues/2352