blob: 3d731f6b063ad83693a55cb46961d9eeaada6e8c [file] [log] [blame]
# Copyright 2024 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
load("@org_tensorflow//tensorflow/lite/core/shims:cc_library_with_tflite.bzl", "cc_library_with_tflite")
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
package(
default_visibility = ["//:__subpackages__"],
)
cc_library(
name = "log",
srcs = ["log.cc"],
hdrs = ["log.h"],
# For program_invocation_short_name in <errno.h>
local_defines = ["_GNU_SOURCE"],
deps = [
"@com_google_absl//absl/log:absl_log",
"@com_google_absl//absl/strings:str_format",
],
)
cc_binary(
name = "log_test",
testonly = True,
srcs = ["log_test.cc"],
deps = [
":log",
"@com_google_googletest//:gtest",
],
)
cc_library(
name = "dbg",
hdrs = ["dbg.h"],
# Uncomment this to enable DBG() macro for debugging.
# defines = ["DBG_FORCE_ENABLE"],
deps = [
"@com_google_absl//absl/strings",
],
)
cc_binary(
name = "dbg_test",
testonly = True,
srcs = ["dbg_test.cc"],
local_defines = ["DBG_FORCE_ENABLE"],
deps = [
":dbg",
"@com_google_googletest//:gtest",
],
)
cc_library(
name = "android_hardware_buffer",
hdrs = ["android_hardware_buffer.h"],
)
cc_binary(
name = "libnativewindow.so",
srcs = ["android_hardware_buffer.cc"],
linkopts = [
# Expose necessary symbols only.
"-Wl,--version-script=$(location :libnativewindow.lds)",
],
linkshared = True,
deps = [
":android_hardware_buffer",
":libnativewindow.lds",
":log",
],
)
cc_binary(
name = "android_hardware_buffer_test",
testonly = True,
srcs = [
"android_hardware_buffer_test.cc",
"libnativewindow.so",
],
deps = [
":android_hardware_buffer",
"@com_google_googletest//:gtest",
],
)
cc_library(
name = "simple_model_builder",
srcs = ["simple_model_builder.cc"],
hdrs = ["simple_model_builder.h"],
deps = [
"@org_tensorflow//tensorflow/lite/c:c_api",
"@org_tensorflow//tensorflow/lite/c:c_api_experimental",
"@org_tensorflow//tensorflow/lite/c:c_api_types",
"@org_tensorflow//tensorflow/lite/c:common",
"@org_tensorflow//tensorflow/lite/tools/serialization:writer_lib",
],
)
cc_binary(
name = "simple_model_builder_test",
testonly = True,
srcs = ["simple_model_builder_test.cc"],
deps = [
":simple_model_builder",
"@com_google_absl//absl/random",
"@com_google_googletest//:gtest",
],
)
cc_library(
name = "async_driver",
srcs = ["async_driver.cc"],
hdrs = ["async_driver.h"],
deps = [
":android_hardware_buffer",
"@com_google_absl//absl/cleanup",
"@org_tensorflow//tensorflow/lite:framework",
"@org_tensorflow//tensorflow/lite/core/async/c:task",
"@org_tensorflow//tensorflow/lite/delegates/utils:async_type_helpers",
"@org_tensorflow//tensorflow/lite/kernels:builtin_ops",
],
)
cc_binary(
name = "async_delegate_test",
srcs = [
"async_delegate_test.cc",
":libnativewindow.so",
],
deps = [
":async_driver",
":simple_model_builder",
"@com_google_absl//absl/random",
"@com_google_googletest//:gtest",
"@org_tensorflow//tensorflow/lite:framework",
"@org_tensorflow//tensorflow/lite/core/async/interop/c:attribute_map",
"@org_tensorflow//tensorflow/lite/kernels:builtin_ops",
"@org_tensorflow//tensorflow/lite/tools/delegates:delegate_provider_lib",
"@org_tensorflow//tensorflow/lite/tools/delegates/experimental/stable_delegate:delegate_provider",
],
)
cc_library_with_tflite(
name = "simple_async_delegate",
srcs = ["simple_async_delegate.cc"],
hdrs = ["simple_async_delegate.h"],
generate_opaque_delegate_target = True,
tflite_deps = [
"@org_tensorflow//tensorflow/lite/c:c_api",
"@org_tensorflow//tensorflow/lite/c:c_api_experimental",
"@org_tensorflow//tensorflow/lite/c:c_api_types",
"@org_tensorflow//tensorflow/lite/c:common",
],
deps = [
"@org_tensorflow//tensorflow/lite:array",
"@org_tensorflow//tensorflow/lite/kernels/internal:compatibility",
],
)