diff --git a/tensorflow/core/BUILD b/tensorflow/core/BUILD index 32334a71742a4a72fe46dc9323aaf478023ea299..1b493f2ef5b2e87c5b9837acac6a06dddaf36368 100644 --- a/tensorflow/core/BUILD +++ b/tensorflow/core/BUILD @@ -537,6 +537,8 @@ tf_cuda_library( # Android-specific BUILD targets load("//tensorflow:tensorflow.bzl", "tf_android_core_proto_sources") +load("//tensorflow:tensorflow.bzl", "tf_android_core_proto_sources_relative") +load("//tensorflow:tensorflow.bzl", "tf_android_core_proto_headers") # List of protos we want on android filegroup( @@ -620,6 +622,16 @@ ANDROID_TF_COPTS = [ "-DTF_LEAN_BINARY", ] +ANDROID_TF_LITE_HDRS = [ + "framework/tensor.h", + "platform/default/integral_types.h", + "platform/env.h", + "platform/logging.h", + "platform/platform.h", + "platform/types.h", + "public/session.h", +] + # Native library support for Android applications. # Does not contain operators, use :android_tensorflow_lib if you want full # operator support. @@ -633,19 +645,12 @@ ANDROID_TF_COPTS = [ # --host_crosstool_top=@bazel_tools//tools/cpp:toolchain cc_library( name = "android_tensorflow_lib_lite", - srcs = select({ - ":android": ["//tensorflow/core:android_srcs"], - "//conditions:default": [], - }), - hdrs = [ - "framework/tensor.h", - "platform/default/integral_types.h", - "platform/env.h", - "platform/logging.h", - "platform/platform.h", - "platform/types.h", - "public/session.h", - ], + srcs = + select({ + ":android": ["//tensorflow/core:android_srcs"], + "//conditions:default": [], + }), + hdrs = ANDROID_TF_LITE_HDRS, copts = select({ ":android": ANDROID_TF_COPTS + ["-Os"], "//conditions:default": [], diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl index f7b0786de7ba5a857d2c4e22036b419ee2095520..09f29bd0e0042ac389b782852aa728410302c46f 100644 --- a/tensorflow/tensorflow.bzl +++ b/tensorflow/tensorflow.bzl @@ -8,31 +8,43 @@ load("//tensorflow/core:platform/default/build_config_root.bzl", # List of proto files for android builds def tf_android_core_proto_sources(): + return ["//tensorflow/core:" + p + for p in tf_android_core_proto_sources_relative()] + +# As tf_android_core_proto_sources, but paths relative to +# //third_party/tensorflow/core. +def tf_android_core_proto_sources_relative(): return [ - "//tensorflow/core:example/example.proto", - "//tensorflow/core:example/feature.proto", - "//tensorflow/core:framework/allocation_description.proto", - "//tensorflow/core:framework/attr_value.proto", - "//tensorflow/core:framework/device_attributes.proto", - "//tensorflow/core:framework/function.proto", - "//tensorflow/core:framework/graph.proto", - "//tensorflow/core:framework/kernel_def.proto", - "//tensorflow/core:framework/log_memory.proto", - "//tensorflow/core:framework/op_def.proto", - "//tensorflow/core:framework/step_stats.proto", - "//tensorflow/core:framework/summary.proto", - "//tensorflow/core:framework/tensor.proto", - "//tensorflow/core:framework/tensor_description.proto", - "//tensorflow/core:framework/tensor_shape.proto", - "//tensorflow/core:framework/tensor_slice.proto", - "//tensorflow/core:framework/types.proto", - "//tensorflow/core:framework/versions.proto", - "//tensorflow/core:lib/core/error_codes.proto", - "//tensorflow/core:protobuf/config.proto", - "//tensorflow/core:protobuf/saver.proto", - "//tensorflow/core:util/saved_tensor_slice.proto", + "example/example.proto", + "example/feature.proto", + "framework/allocation_description.proto", + "framework/attr_value.proto", + "framework/device_attributes.proto", + "framework/function.proto", + "framework/graph.proto", + "framework/kernel_def.proto", + "framework/log_memory.proto", + "framework/op_def.proto", + "framework/step_stats.proto", + "framework/summary.proto", + "framework/tensor.proto", + "framework/tensor_description.proto", + "framework/tensor_shape.proto", + "framework/tensor_slice.proto", + "framework/types.proto", + "framework/versions.proto", + "lib/core/error_codes.proto", + "protobuf/config.proto", + "protobuf/saver.proto", + "util/saved_tensor_slice.proto", ] +# Returns the list of pb.h headers that are generated for +# tf_android_core_proto_sources(). +def tf_android_core_proto_headers(): + return ["//tensorflow/core/" + p.replace(".proto", ".pb.h") + for p in tf_android_core_proto_sources_relative()] + def if_cuda(a, b=[]): return select({