aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tensorflow/tensorflow.bzl22
-rw-r--r--tensorflow/tf_exported_symbols.lds1
-rw-r--r--tensorflow/tf_version_script.lds6
3 files changed, 27 insertions, 2 deletions
diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl
index 8c92443d11..0254f5139b 100644
--- a/tensorflow/tensorflow.bzl
+++ b/tensorflow/tensorflow.bzl
@@ -9,7 +9,7 @@ def _parse_bazel_version(bazel_version):
# as a tuple of integers.
parts = version.split('-', 1)
- # Turn "release" into a tuple of strings
+ # Turn "release" into a tuple of strings
version_tuple = ()
for number in parts[0].split('.'):
version_tuple += (str(number),)
@@ -543,12 +543,30 @@ def tf_py_wrap_cc(name, srcs, swig_includes=[], deps=[], copts=[], **kwargs):
deps=deps + extra_deps,
module_name=module_name,
py_module_name=name)
+ extra_linkopts = select({
+ "//third_party/gpus/cuda:darwin": [
+ "-Wl,-exported_symbols_list",
+ "//tensorflow:tf_exported_symbols.lds"
+ ],
+ "//conditions:default": [
+ "-Wl,--version-script",
+ "//tensorflow:tf_version_script.lds"
+ ]})
+ extra_deps += select({
+ "//third_party/gpus/cuda:darwin": [
+ "//tensorflow:tf_exported_symbols.lds"
+ ],
+ "//conditions:default": [
+ "//tensorflow:tf_version_script.lds"
+ ]
+ })
+
native.cc_binary(
name=cc_library_name,
srcs=[module_name + ".cc"],
copts=(copts + ["-Wno-self-assign", "-Wno-write-strings"]
+ tf_extension_copts()),
- linkopts=tf_extension_linkopts(),
+ linkopts=tf_extension_linkopts() + extra_linkopts,
linkstatic=1,
linkshared=1,
deps=deps + extra_deps)
diff --git a/tensorflow/tf_exported_symbols.lds b/tensorflow/tf_exported_symbols.lds
new file mode 100644
index 0000000000..e02e51eae0
--- /dev/null
+++ b/tensorflow/tf_exported_symbols.lds
@@ -0,0 +1 @@
+*tensorflow*
diff --git a/tensorflow/tf_version_script.lds b/tensorflow/tf_version_script.lds
new file mode 100644
index 0000000000..61ffb8d29a
--- /dev/null
+++ b/tensorflow/tf_version_script.lds
@@ -0,0 +1,6 @@
+tensorflow {
+ global:
+ *tensorflow*;
+ local:
+ *;
+};