STT-tensorflow/tensorflow/lite/experimental/acceleration/compatibility/BUILD
Alexander Grund 956025aa53 Rename exec_tools to tools
Follow up to #43156
Based on
https://github.com/bazelbuild/bazel/issues/12059#issuecomment-725641997
exec_tools might no longer be needed and hence can be replaced by tools.
This fixes various build failures caused by missing environment
variables in environments where they are required, e.g. using custom
compilers.
2020-11-23 15:41:54 -08:00

191 lines
5.0 KiB
Python

# Copyright 2019 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
load("@flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_java_library")
load("//tensorflow/lite:special_rules.bzl", "tflite_extra_gles_deps", "tflite_portable_test_suite")
package(
default_visibility = [
"//visibility:public",
],
licenses = ["notice"], # Apache 2.0
)
flatbuffer_cc_library(
name = "database_fbs",
srcs = ["database.fbs"],
)
exports_files(srcs = ["database.fbs"])
flatbuffer_java_library(
name = "database_fbs_java",
srcs = ["database.fbs"],
package_prefix = "org.tensorflow",
)
cc_library(
name = "devicedb",
srcs = [
"devicedb.cc",
],
hdrs = [
"devicedb.h",
"variables.h",
],
deps = [
":database_fbs",
],
)
cc_binary(
name = "json_to_fb",
srcs = ["json_to_fb.cc"],
deps = [
"//tensorflow/lite/tools:command_line_flags",
"@flatbuffers",
],
)
genrule(
name = "devicedb-sample_bin",
srcs = [
"database.fbs",
"devicedb-sample.json",
],
outs = ["devicedb-sample.bin"],
cmd = """
$(location :json_to_fb) \
--fbs=$(location :database.fbs) \
--json_input=$(location :devicedb-sample.json) \
--fb_output=$(@)
""",
tools = [":json_to_fb"],
)
py_binary(
name = "convert_binary_to_cc_source",
srcs = ["convert_binary_to_cc_source.py"],
python_version = "PY3",
srcs_version = "PY2AND3",
visibility = ["//visibility:public"],
)
genrule(
name = "devicedb-sample_cc",
srcs = ["devicedb-sample.bin"],
outs = [
"devicedb-sample.cc",
"devicedb-sample.h",
],
# convert_file_to_c_source for some reason doesn't define the global with
# 'extern', which is needed for global const variables in C++.
cmd = """
$(location :convert_binary_to_cc_source) \
--input_binary_file $(location :devicedb-sample.bin) \
--output_header_file $(location :devicedb-sample.h) \
--output_source_file $(location :devicedb-sample.cc) \
--array_variable_name g_tflite_acceleration_devicedb_sample_binary
""",
tools = [":convert_binary_to_cc_source"],
)
cc_library(
name = "devicedb_sample",
srcs = ["devicedb-sample.cc"],
hdrs = ["devicedb-sample.h"],
deps = [":database_fbs"],
)
cc_test(
name = "devicedb_test",
srcs = [
"devicedb_test.cc",
],
deps = [
":database_fbs",
":devicedb",
":devicedb_sample",
"//tensorflow/lite/testing:util",
"@com_google_googletest//:gtest",
"@flatbuffers",
],
)
exports_files(["gpu_compatibility.bin"])
genrule(
name = "gpu_compatibility_binary",
srcs = ["gpu_compatibility.bin"],
outs = [
"gpu_compatibility_binary.h",
"gpu_compatibility_binary.cc",
],
# convert_file_to_c_source for some reason doesn't define the global with
# 'extern', which is needed for global const variables in C++.
cmd = """
$(location :convert_binary_to_cc_source) \
--input_binary_file $(location :gpu_compatibility.bin) \
--output_header_file $(location :gpu_compatibility_binary.h) \
--output_source_file $(location :gpu_compatibility_binary.cc) \
--array_variable_name g_tflite_acceleration_gpu_compatibility_binary
""",
tools = [":convert_binary_to_cc_source"],
)
cc_library(
name = "android_info",
srcs = ["android_info.cc"],
hdrs = ["android_info.h"],
deps = [
"@com_google_absl//absl/status",
],
)
cc_library(
name = "gpu_compatibility",
srcs = [
"gpu_compatibility.cc",
"gpu_compatibility_binary.cc",
"gpu_compatibility_binary.h",
],
hdrs = [
"gpu_compatibility.h",
],
deps = [
":android_info",
":database_fbs",
":devicedb",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
"@flatbuffers",
"//tensorflow/lite/delegates/gpu:delegate",
"//tensorflow/lite/delegates/gpu/common:gpu_info",
] + tflite_extra_gles_deps(),
)
cc_test(
name = "gpu_compatibility_test",
srcs = ["gpu_compatibility_test.cc"],
tags = ["no_mac"], # b/163222453
deps = [
":devicedb_sample",
":gpu_compatibility",
"@com_google_googletest//:gtest_main",
],
)
tflite_portable_test_suite()