diff --git a/tensorflow/lite/BUILD b/tensorflow/lite/BUILD index cadc11e227c..86eca1d14e5 100644 --- a/tensorflow/lite/BUILD +++ b/tensorflow/lite/BUILD @@ -5,7 +5,7 @@ package( licenses(["notice"]) # Apache 2.0 load("//tensorflow:tensorflow.bzl", "if_not_windows", "tf_cc_test") -load("//tensorflow/lite:build_def.bzl", "tflite_copts") +load("//tensorflow/lite:build_def.bzl", "tflite_cc_shared_object", "tflite_copts") load("//tensorflow/lite:special_rules.bzl", "tflite_portable_test_suite") exports_files(glob([ @@ -398,4 +398,30 @@ cc_test( ], ) +# Shared lib target for convenience, pulls in the core runtime and builtin ops. +# Note: This target is not yet finalized, and the exact set of exported (C/C++) +# APIs is subject to change. +tflite_cc_shared_object( + name = "libtensorflowlite.so", + linkopts = select({ + "//tensorflow:darwin": [ + "-Wl,-exported_symbols_list", # This line must be directly followed by the exported_symbols.lds file + "$(location //tensorflow/lite:tflite_exported_symbols.lds)", + "-Wl,-install_name,@rpath/libtensorflowlite.so", + ], + "//tensorflow:windows": [], + "//conditions:default": [ + "-z defs", + "-Wl,--version-script", # This line must be directly followed by the version_script.lds file + "$(location //tensorflow/lite:tflite_version_script.lds)", + ], + }), + deps = [ + ":framework", + ":tflite_exported_symbols.lds", + ":tflite_version_script.lds", + "//tensorflow/lite/kernels:builtin_ops", + ], +) + tflite_portable_test_suite() diff --git a/tensorflow/lite/tflite_exported_symbols.lds b/tensorflow/lite/tflite_exported_symbols.lds new file mode 100644 index 00000000000..b145204aa1e --- /dev/null +++ b/tensorflow/lite/tflite_exported_symbols.lds @@ -0,0 +1,3 @@ +*TfLite* +*tflite* +*TFL_* diff --git a/tensorflow/lite/tflite_version_script.lds b/tensorflow/lite/tflite_version_script.lds new file mode 100644 index 00000000000..1df70705ebf --- /dev/null +++ b/tensorflow/lite/tflite_version_script.lds @@ -0,0 +1,8 @@ +VERS_1.0 { + global: + *TfLite*; + *tflite*; + *TFL_*; + local: + *; +};