load("@aspect_rules_js//npm:defs.bzl", "npm_link_package") load("@npm//:defs.bzl", "npm_link_all_packages") load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") licenses(["notice"]) package( default_visibility = ["//visibility:public"], ) npm_link_all_packages(name = "node_modules") npm_link_package( name = "node_modules/flatbuffers", src = "//ts:flatbuffers", ) 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", ], ) filegroup( name = "distribution", srcs = [ "BUILD.bazel", "WORKSPACE", "build_defs.bzl", "typescript.bzl", "//grpc/src/compiler:distribution", "//reflection:distribution", "//src:distribution", "//ts:distribution", ] + glob([ "include/flatbuffers/*.h", ]), visibility = ["//visibility:public"], ) # Public flatc library to compile flatbuffer files at runtime. cc_library( name = "flatbuffers", hdrs = ["//:public_headers"], 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/buffer.h", "include/flatbuffers/buffer_ref.h", "include/flatbuffers/code_generator.h", "include/flatbuffers/code_generators.h", "include/flatbuffers/default_allocator.h", "include/flatbuffers/detached_buffer.h", "include/flatbuffers/file_manager.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", )