blob: 32f1d39085d2f354734c9962c0262378c284661e [file] [log] [blame]
load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
cc_library(
name = "static_flatbuffers",
srcs = ["static_flatbuffers.cc"],
hdrs = ["static_flatbuffers.h"],
deps = [
":static_table",
":static_vector",
"//aos:json_to_flatbuffer",
"@com_github_google_flatbuffers//:flatbuffers",
"@com_github_google_glog//:glog",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
],
)
cc_library(
name = "base",
srcs = ["base.cc"],
hdrs = ["base.h"],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
deps = [
"@com_github_google_flatbuffers//:flatbuffers",
"@com_github_google_glog//:glog",
],
)
cc_test(
name = "base_test",
srcs = ["base_test.cc"],
deps = [
":base",
"//aos/testing:googletest",
],
)
cc_library(
name = "static_table",
hdrs = ["static_table.h"],
visibility = ["//visibility:public"],
deps = [
":base",
"@com_github_google_flatbuffers//:flatbuffers",
"@com_github_google_glog//:glog",
],
)
cc_library(
name = "static_vector",
hdrs = ["static_vector.h"],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
deps = [
"//aos/containers:inlined_vector",
"//aos/containers:sized_array",
"@com_github_google_flatbuffers//:flatbuffers",
"@com_github_google_glog//:glog",
],
)
cc_library(
name = "builder",
hdrs = ["builder.h"],
visibility = ["//visibility:public"],
deps = [
":static_table",
"//aos:flatbuffers",
],
)
cc_static_flatbuffer(
name = "test_schema",
function = "aos::fbs::testing::TestTableSchema",
target = ":test_fbs_fbs_reflection_out",
)
cc_static_flatbuffer(
name = "interesting_schemas",
function = "aos::fbs::testing::UnsupportedSchema",
target = ":interesting_schemas_fbs_reflection_out",
)
flatbuffer_cc_library(
name = "interesting_schemas_fbs",
srcs = ["interesting_schemas.fbs"],
gen_reflections = True,
)
cc_test(
name = "static_flatbuffers_test",
srcs = ["static_flatbuffers_test.cc"],
data = ["//aos/flatbuffers/test_dir:test_data"],
deps = [
":builder",
":interesting_schemas",
":static_flatbuffers",
":test_fbs",
":test_schema",
"//aos:flatbuffers",
"//aos:json_to_flatbuffer",
"//aos/flatbuffers/test_dir:include_reflection_fbs",
"//aos/flatbuffers/test_dir:type_coverage_fbs",
"//aos/testing:googletest",
"//aos/testing:path",
"@com_github_google_flatbuffers//src:flatc_library",
],
)
cc_test(
name = "static_flatbuffers_fuzz_test",
# This does a combinatoric sweep over a variety of things, and can end up taking a while.
timeout = "eternal",
srcs = ["static_flatbuffers_fuzz_test.cc"],
data = ["//aos/flatbuffers/test_dir:test_data"],
deps = [
":builder",
":static_flatbuffers",
":test_fbs",
"//aos:flatbuffers",
"//aos:json_to_flatbuffer",
"//aos/flatbuffers/test_dir:type_coverage_fbs",
"//aos/testing:googletest",
"//aos/testing:path",
],
)
cc_binary(
name = "generate",
srcs = ["generate.cc"],
visibility = ["//visibility:public"],
deps = [
":static_flatbuffers",
"//aos:flatbuffers",
"//aos:init",
"//aos:json_to_flatbuffer",
"//aos/util:file",
"@com_github_google_flatbuffers//:flatbuffers",
],
)
sh_binary(
name = "generate_wrapper",
srcs = ["generate.sh"],
data = [
":generate",
"//:.clang-format",
"@llvm_k8//:bin",
],
visibility = ["//visibility:public"],
deps = ["@bazel_tools//tools/bash/runfiles"],
)
static_flatbuffer(
name = "test_fbs",
srcs = ["test.fbs"],
deps = ["//aos/flatbuffers/test_dir:include_fbs"],
)
filegroup(
name = "test_static_file",
srcs = ["test_static.h"],
visibility = [":__subpackages__"],
)