blob: 936ef9df47b2e4eaf9ca7515f60f848489717e2b [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001licenses(["notice"])
2
Austin Schuh272c6132020-11-14 16:37:52 -08003load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
4
Austin Schuhe89fa2d2019-08-14 20:24:23 -07005package(
6 default_visibility = ["//visibility:public"],
Austin Schuhe89fa2d2019-08-14 20:24:23 -07007)
8
9exports_files([
10 "LICENSE",
11])
12
Austin Schuhe89fa2d2019-08-14 20:24:23 -070013# Public flatc library to compile flatbuffer files at runtime.
14cc_library(
15 name = "flatbuffers",
Austin Schuh272c6132020-11-14 16:37:52 -080016 hdrs = ["//:public_headers"],
Austin Schuhe89fa2d2019-08-14 20:24:23 -070017 linkstatic = 1,
Austin Schuh272c6132020-11-14 16:37:52 -080018 strip_include_prefix = "/include",
19 deps = ["//src:flatbuffers"],
Austin Schuhe89fa2d2019-08-14 20:24:23 -070020)
21
22# Public C++ headers for the Flatbuffers library.
23filegroup(
24 name = "public_headers",
25 srcs = [
26 "include/flatbuffers/base.h",
27 "include/flatbuffers/code_generators.h",
28 "include/flatbuffers/flatbuffers.h",
29 "include/flatbuffers/flexbuffers.h",
Austin Schuh272c6132020-11-14 16:37:52 -080030 "include/flatbuffers/grpc.h",
Austin Schuhe89fa2d2019-08-14 20:24:23 -070031 "include/flatbuffers/hash.h",
32 "include/flatbuffers/idl.h",
33 "include/flatbuffers/minireflect.h",
34 "include/flatbuffers/reflection.h",
35 "include/flatbuffers/reflection_generated.h",
Austin Schuh272c6132020-11-14 16:37:52 -080036 "include/flatbuffers/registry.h",
Austin Schuhe89fa2d2019-08-14 20:24:23 -070037 "include/flatbuffers/stl_emulation.h",
38 "include/flatbuffers/util.h",
39 ],
40)
41
42# Public flatc compiler library.
43cc_library(
44 name = "flatc_library",
Austin Schuh272c6132020-11-14 16:37:52 -080045 linkstatic = 1,
46 deps = [
47 "//src:flatc_library",
Austin Schuhe89fa2d2019-08-14 20:24:23 -070048 ],
49)
50
51# Public flatc compiler.
52cc_binary(
53 name = "flatc",
Austin Schuhe89fa2d2019-08-14 20:24:23 -070054 deps = [
Austin Schuh272c6132020-11-14 16:37:52 -080055 "//src:flatc",
Austin Schuhe89fa2d2019-08-14 20:24:23 -070056 ],
57)
58
Austin Schuh272c6132020-11-14 16:37:52 -080059filegroup(
60 name = "flatc_headers",
61 srcs = [
62 "include/flatbuffers/flatc.h",
63 ],
64 visibility = ["//:__subpackages__"],
65)
66
67# Library used by flatbuffer_cc_library rules.
Austin Schuhe89fa2d2019-08-14 20:24:23 -070068cc_library(
69 name = "runtime_cc",
70 hdrs = [
71 "include/flatbuffers/base.h",
72 "include/flatbuffers/flatbuffers.h",
73 "include/flatbuffers/flexbuffers.h",
74 "include/flatbuffers/stl_emulation.h",
75 "include/flatbuffers/util.h",
76 ],
Austin Schuhe89fa2d2019-08-14 20:24:23 -070077 linkstatic = 1,
Austin Schuh272c6132020-11-14 16:37:52 -080078 strip_include_prefix = "/include",
Austin Schuhe89fa2d2019-08-14 20:24:23 -070079)