1load("@aspect_rules_js//npm:defs.bzl", "npm_link_package")
2load("@npm//:defs.bzl", "npm_link_all_packages")
3load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
4
5licenses(["notice"])
6
7package(
8 default_visibility = ["//visibility:public"],
9)
10
11npm_link_all_packages(name = "node_modules")
12
13npm_link_package(
14 name = "node_modules/flatbuffers",
15 src = "//ts:flatbuffers",
16)
17
18exports_files([
19 "LICENSE",
20 "tsconfig.json",
21])
22
23config_setting(
24 name = "platform_freebsd",
25 constraint_values = [
26 "@platforms//os:freebsd",
27 ],
28)
29
30config_setting(
31 name = "platform_openbsd",
32 constraint_values = [
33 "@platforms//os:openbsd",
34 ],
35)
36
37filegroup(
38 name = "distribution",
39 srcs = [
40 "BUILD.bazel",
41 "WORKSPACE",
42 "build_defs.bzl",
43 "typescript.bzl",
44 "//grpc/src/compiler:distribution",
45 "//reflection:distribution",
46 "//src:distribution",
47 "//ts:distribution",
48 ] + glob([
49 "include/flatbuffers/*.h",
50 ]),
51 visibility = ["//visibility:public"],
52)
53
54# Public flatc library to compile flatbuffer files at runtime.
55cc_library(
56 name = "flatbuffers",
57 hdrs = ["//:public_headers"],
58 linkstatic = 1,
59 strip_include_prefix = "/include",
60 deps = ["//src:flatbuffers"],
61)
62
63# Public C++ headers for the Flatbuffers library.
64filegroup(
65 name = "public_headers",
66 srcs = [
67 "include/flatbuffers/allocator.h",
68 "include/flatbuffers/array.h",
69 "include/flatbuffers/base.h",
70 "include/flatbuffers/buffer.h",
71 "include/flatbuffers/buffer_ref.h",
72 "include/flatbuffers/code_generator.h",
73 "include/flatbuffers/code_generators.h",
74 "include/flatbuffers/default_allocator.h",
75 "include/flatbuffers/detached_buffer.h",
76 "include/flatbuffers/file_manager.h",
77 "include/flatbuffers/flatbuffer_builder.h",
78 "include/flatbuffers/flatbuffers.h",
79 "include/flatbuffers/flex_flat_util.h",
80 "include/flatbuffers/flexbuffers.h",
81 "include/flatbuffers/grpc.h",
82 "include/flatbuffers/hash.h",
83 "include/flatbuffers/idl.h",
84 "include/flatbuffers/minireflect.h",
85 "include/flatbuffers/reflection.h",
86 "include/flatbuffers/reflection_generated.h",
87 "include/flatbuffers/registry.h",
88 "include/flatbuffers/stl_emulation.h",
89 "include/flatbuffers/string.h",
90 "include/flatbuffers/struct.h",
91 "include/flatbuffers/table.h",
92 "include/flatbuffers/util.h",
93 "include/flatbuffers/vector.h",
94 "include/flatbuffers/vector_downward.h",
95 "include/flatbuffers/verifier.h",
96 ],
97)
98
99# Public flatc compiler library.
100cc_library(
101 name = "flatc_library",
102 linkstatic = 1,
103 deps = [
104 "//src:flatc_library",
105 ],
106)
107
108# Public flatc compiler.
109cc_binary(
110 name = "flatc",
111 data = ["//reflection:reflection_fbs_schema"],
112 deps = [
113 "//src:flatc",
114 ],
115)
116
117filegroup(
118 name = "flatc_headers",
119 srcs = [
120 "include/flatbuffers/flatc.h",
121 ],
122 visibility = ["//:__subpackages__"],
123)
124
125# Library used by flatbuffer_cc_library rules.
126cc_library(
127 name = "runtime_cc",
128 hdrs = [
129 "include/flatbuffers/base.h",
130 "include/flatbuffers/flatbuffers.h",
131 "include/flatbuffers/flexbuffers.h",
132 "include/flatbuffers/stl_emulation.h",
133 "include/flatbuffers/util.h",
134 "include/flatbuffers/vector.h",
135 "include/flatbuffers/verifier.h",
136 ],
137 linkstatic = 1,
138 strip_include_prefix = "/include",
139)
View as plain text