| load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") |
| load("@aspect_rules_js//npm:defs.bzl", "npm_link_package") |
| |
| package( |
| default_visibility = ["//visibility:public"], |
| ) |
| |
| licenses(["notice"]) |
| |
| npm_link_package( |
| name = "node_modules/flatbuffers", |
| src = "@com_github_google_flatbuffers//ts:flatbuffers", |
| ) |
| |
| npm_link_package( |
| name = "node_modules/flatbuffers_reflection", |
| src = "@com_github_google_flatbuffers//reflection:flatbuffers_reflection", |
| ) |
| |
| exports_files([ |
| "LICENSE", |
| "tsconfig.json", |
| ]) |
| |
| config_setting( |
| name = "platform_freebsd", |
| constraint_values = [ |
| "@platforms//os:freebsd", |
| ], |
| ) |
| |
| config_setting( |
| name = "platform_openbsd", |
| constraint_values = [ |
| "@platforms//os:openbsd", |
| ], |
| ) |
| |
| # Public flatc library to compile flatbuffer files at runtime. |
| cc_library( |
| name = "flatbuffers", |
| hdrs = ["//:public_headers"], |
| copts = ["-Wno-cast-align"], |
| defines = ["FLATBUFFERS_USE_STD_SPAN"], |
| linkstatic = 1, |
| strip_include_prefix = "/include", |
| deps = ["//src:flatbuffers"], |
| ) |
| |
| # Public C++ headers for the Flatbuffers library. |
| filegroup( |
| name = "public_headers", |
| srcs = [ |
| "include/flatbuffers/allocator.h", |
| "include/flatbuffers/array.h", |
| "include/flatbuffers/base.h", |
| "include/flatbuffers/bfbs_generator.h", |
| "include/flatbuffers/buffer.h", |
| "include/flatbuffers/buffer_ref.h", |
| "include/flatbuffers/code_generators.h", |
| "include/flatbuffers/default_allocator.h", |
| "include/flatbuffers/detached_buffer.h", |
| "include/flatbuffers/flatbuffer_builder.h", |
| "include/flatbuffers/flatbuffers.h", |
| "include/flatbuffers/flex_flat_util.h", |
| "include/flatbuffers/flexbuffers.h", |
| "include/flatbuffers/grpc.h", |
| "include/flatbuffers/hash.h", |
| "include/flatbuffers/idl.h", |
| "include/flatbuffers/minireflect.h", |
| "include/flatbuffers/reflection.h", |
| "include/flatbuffers/reflection_generated.h", |
| "include/flatbuffers/registry.h", |
| "include/flatbuffers/stl_emulation.h", |
| "include/flatbuffers/string.h", |
| "include/flatbuffers/struct.h", |
| "include/flatbuffers/table.h", |
| "include/flatbuffers/util.h", |
| "include/flatbuffers/vector.h", |
| "include/flatbuffers/vector_downward.h", |
| "include/flatbuffers/verifier.h", |
| ], |
| ) |
| |
| # Public flatc compiler library. |
| cc_library( |
| name = "flatc_library", |
| linkstatic = 1, |
| deps = [ |
| "//src:flatc_library", |
| ], |
| ) |
| |
| # Public flatc compiler. |
| cc_binary( |
| name = "flatc", |
| data = ["//reflection:reflection_fbs_schema"], |
| deps = [ |
| "//src:flatc", |
| ], |
| ) |
| |
| filegroup( |
| name = "flatc_headers", |
| srcs = [ |
| "include/flatbuffers/flatc.h", |
| ], |
| visibility = ["//:__subpackages__"], |
| ) |
| |
| # Library used by flatbuffer_cc_library rules. |
| cc_library( |
| name = "runtime_cc", |
| hdrs = [ |
| "include/flatbuffers/base.h", |
| "include/flatbuffers/flatbuffers.h", |
| "include/flatbuffers/flexbuffers.h", |
| "include/flatbuffers/stl_emulation.h", |
| "include/flatbuffers/util.h", |
| "include/flatbuffers/vector.h", |
| "include/flatbuffers/verifier.h", |
| ], |
| linkstatic = 1, |
| strip_include_prefix = "/include", |
| ) |
| |
| py_library( |
| name = "flatpy", |
| srcs = glob(["python/flatbuffers/*.py"]), |
| imports = ["python/"], |
| ) |
| |
| filegroup( |
| name = "flatjs", |
| srcs = ["js/flatbuffers.js"], |
| ) |