From 63ad7054ad3fc223f94bbb5d7a203b6d08eceb07 Mon Sep 17 00:00:00 2001 From: Manjunath Kudlur Date: Fri, 10 Feb 2017 17:47:06 -0800 Subject: Replace dependency on entire proto library with just the headers for contrib. - Linking a version of the entire proto library with every .so is wasteful. - Causes duplicate destruction of the static initialized objects causing non-deterministic crashes. Change: 147220106 --- BUILD | 28 +++++++++++++++++++++++++ tensorflow/contrib/factorization/kernels/BUILD | 8 +++---- tensorflow/contrib/ffmpeg/default/BUILD | 2 +- tensorflow/contrib/input_pipeline/kernels/BUILD | 2 +- tensorflow/contrib/layers/kernels/BUILD | 4 ++-- tensorflow/contrib/tensor_forest/BUILD | 4 ++-- tensorflow/contrib/tensor_forest/hybrid/BUILD | 2 +- tensorflow/python/BUILD | 2 +- tensorflow/tensorflow.bzl | 2 +- tensorflow/tools/pip_package/BUILD | 1 + 10 files changed, 42 insertions(+), 13 deletions(-) diff --git a/BUILD b/BUILD index e69de29bb2..bfdd4772ff 100644 --- a/BUILD +++ b/BUILD @@ -0,0 +1,28 @@ +# Description: +# TensorFlow is an open source software library for numerical computation using +# data flow graphs. + +package( + default_visibility = [ + "//tensorflow:internal", + "//tensorflow_models:__subpackages__", + ], +) + +licenses(["notice"]) # Apache 2.0 + +exports_files(["LICENSE"]) + +load( + "//tensorflow:tensorflow.bzl", + "cc_header_only_library", +) + +cc_header_only_library( + name = "protobuf_headers", + includes = ["external/protobuf/src"], + visibility = ["//visibility:public"], + deps = [ + "@protobuf//:protobuf", + ], +) diff --git a/tensorflow/contrib/factorization/kernels/BUILD b/tensorflow/contrib/factorization/kernels/BUILD index 594eab4c16..6d815a67e7 100644 --- a/tensorflow/contrib/factorization/kernels/BUILD +++ b/tensorflow/contrib/factorization/kernels/BUILD @@ -14,7 +14,7 @@ cc_library( ":clustering_ops", ":masked_matmul_ops", ":wals_solver_ops", - "@protobuf//:protobuf", + "//:protobuf_headers", ], ) @@ -22,9 +22,9 @@ cc_library( name = "wals_solver_ops", srcs = ["wals_solver_ops.cc"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], alwayslink = 1, ) @@ -33,9 +33,9 @@ cc_library( name = "clustering_ops", srcs = ["clustering_ops.cc"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], alwayslink = 1, ) @@ -44,9 +44,9 @@ cc_library( name = "masked_matmul_ops", srcs = ["masked_matmul_ops.cc"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], alwayslink = 1, ) diff --git a/tensorflow/contrib/ffmpeg/default/BUILD b/tensorflow/contrib/ffmpeg/default/BUILD index 584f9eb654..2024bbda70 100644 --- a/tensorflow/contrib/ffmpeg/default/BUILD +++ b/tensorflow/contrib/ffmpeg/default/BUILD @@ -16,8 +16,8 @@ cc_library( "//tensorflow/contrib/ffmpeg:ffmpeg_lib.h", ], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", - "@protobuf//:protobuf", ], ) diff --git a/tensorflow/contrib/input_pipeline/kernels/BUILD b/tensorflow/contrib/input_pipeline/kernels/BUILD index e22e16eef2..c47ba37e26 100644 --- a/tensorflow/contrib/input_pipeline/kernels/BUILD +++ b/tensorflow/contrib/input_pipeline/kernels/BUILD @@ -11,9 +11,9 @@ cc_library( name = "input_pipeline_kernels", srcs = ["input_pipeline_kernels.cc"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], alwayslink = 1, ) diff --git a/tensorflow/contrib/layers/kernels/BUILD b/tensorflow/contrib/layers/kernels/BUILD index b2bc8a4ce7..827a9d206e 100644 --- a/tensorflow/contrib/layers/kernels/BUILD +++ b/tensorflow/contrib/layers/kernels/BUILD @@ -11,9 +11,9 @@ cc_library( name = "bucketization_kernel", srcs = ["bucketization_kernel.cc"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], alwayslink = 1, ) @@ -22,10 +22,10 @@ cc_library( name = "sparse_feature_cross_kernel", srcs = ["sparse_feature_cross_kernel.cc"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", "@farmhash_archive//:farmhash", - "@protobuf//:protobuf", ], alwayslink = 1, ) diff --git a/tensorflow/contrib/tensor_forest/BUILD b/tensorflow/contrib/tensor_forest/BUILD index 7400466538..2de4ae6bc2 100644 --- a/tensorflow/contrib/tensor_forest/BUILD +++ b/tensorflow/contrib/tensor_forest/BUILD @@ -50,9 +50,9 @@ cc_library( srcs = [":custom_op_sources"], hdrs = [":custom_op_headers"], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], alwayslink = 1, ) @@ -191,9 +191,9 @@ cc_library( "kernels/tree_utils.h", ], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], ) diff --git a/tensorflow/contrib/tensor_forest/hybrid/BUILD b/tensorflow/contrib/tensor_forest/hybrid/BUILD index 579fcb57f9..81090a947c 100644 --- a/tensorflow/contrib/tensor_forest/hybrid/BUILD +++ b/tensorflow/contrib/tensor_forest/hybrid/BUILD @@ -66,9 +66,9 @@ cc_library( "core/ops/utils.h", ], deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", "//third_party/eigen3", - "@protobuf//:protobuf", ], ) diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD index 9d518bf7e6..1ab468ab2f 100644 --- a/tensorflow/python/BUILD +++ b/tensorflow/python/BUILD @@ -253,8 +253,8 @@ cc_binary( }), linkshared = 1, deps = [ + "//:protobuf_headers", "//tensorflow/core:framework_headers_lib", - "@protobuf//:protobuf", ], ) diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl index 0d5c83dcb7..b35a4fe725 100644 --- a/tensorflow/tensorflow.bzl +++ b/tensorflow/tensorflow.bzl @@ -671,7 +671,7 @@ def cc_header_only_library(name, deps=[], **kwargs): def tf_custom_op_library_additional_deps(): return [ - "@protobuf//:protobuf", + "//:protobuf_headers", "//third_party/eigen3", "//tensorflow/core:framework_headers_lib", ] diff --git a/tensorflow/tools/pip_package/BUILD b/tensorflow/tools/pip_package/BUILD index 6a3f66b0fa..b318fd6ead 100644 --- a/tensorflow/tools/pip_package/BUILD +++ b/tensorflow/tools/pip_package/BUILD @@ -77,6 +77,7 @@ py_binary( filegroup( name = "licenses", data = [ + "//:LICENSE", "//third_party/eigen3:LICENSE", "//third_party/hadoop:LICENSE.txt", "@boringssl//:LICENSE", -- cgit v1.2.3