+licenses(["notice"])
+
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
+
package(
default_visibility = ["//visibility:public"],
- features = [
- "-layering_check",
- "-parse_headers",
- ],
)
exports_files([
"LICENSE",
])
-FLATBUFFERS_COPTS = [
- "-Wno-implicit-fallthrough",
- "-linclude",
-]
-
# Public flatc library to compile flatbuffer files at runtime.
cc_library(
name = "flatbuffers",
- srcs = [
- "src/code_generators.cpp",
- "src/idl_gen_fbs.cpp",
- "src/idl_gen_general.cpp",
- "src/idl_gen_text.cpp",
- "src/idl_parser.cpp",
- "src/reflection.cpp",
- "src/util.cpp",
- ],
- hdrs = [":public_headers"],
- copts = FLATBUFFERS_COPTS,
- includes = ["include/"],
+ hdrs = ["//:public_headers"],
linkstatic = 1,
+ strip_include_prefix = "/include",
+ deps = ["//src:flatbuffers"],
)
# Public C++ headers for the Flatbuffers library.
"include/flatbuffers/code_generators.h",
"include/flatbuffers/flatbuffers.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/util.h",
],
# Public flatc compiler library.
cc_library(
name = "flatc_library",
- srcs = [
- "src/code_generators.cpp",
- "src/flatc.cpp",
- "src/idl_gen_fbs.cpp",
- "src/idl_parser.cpp",
- "src/reflection.cpp",
- "src/util.cpp",
- ],
- hdrs = [
- "include/flatbuffers/flatc.h",
- ":public_headers",
- ],
- copts = FLATBUFFERS_COPTS,
- includes = [
- "grpc/",
- "include/",
+ linkstatic = 1,
+ deps = [
+ "//src:flatc_library",
],
)
# Public flatc compiler.
cc_binary(
name = "flatc",
- srcs = [
- "grpc/src/compiler/config.h",
- "grpc/src/compiler/cpp_generator.cc",
- "grpc/src/compiler/cpp_generator.h",
- "grpc/src/compiler/go_generator.cc",
- "grpc/src/compiler/go_generator.h",
- "grpc/src/compiler/java_generator.cc",
- "grpc/src/compiler/java_generator.h",
- "grpc/src/compiler/schema_interface.h",
- "src/flatc_main.cpp",
- "src/idl_gen_cpp.cpp",
- "src/idl_gen_general.cpp",
- "src/idl_gen_go.cpp",
- "src/idl_gen_grpc.cpp",
- "src/idl_gen_js.cpp",
- "src/idl_gen_json_schema.cpp",
- "src/idl_gen_php.cpp",
- "src/idl_gen_python.cpp",
- "src/idl_gen_text.cpp",
- ],
- copts = FLATBUFFERS_COPTS,
- includes = [
- "grpc/",
- "include/",
- ],
deps = [
- ":flatc_library",
+ "//src:flatc",
],
)
-# Test binary.
-cc_test(
- name = "flatbuffers_test",
- testonly = 1,
+filegroup(
+ name = "flatc_headers",
srcs = [
- "include/flatbuffers/minireflect.h",
- "include/flatbuffers/registry.h",
- "src/code_generators.cpp",
- "src/idl_gen_fbs.cpp",
- "src/idl_gen_general.cpp",
- "src/idl_gen_text.cpp",
- "src/idl_parser.cpp",
- "src/reflection.cpp",
- "src/util.cpp",
- "tests/monster_test_generated.h",
- "tests/namespace_test/namespace_test1_generated.h",
- "tests/namespace_test/namespace_test2_generated.h",
- "tests/test.cpp",
- "tests/union_vector/union_vector_generated.h",
- ":public_headers",
- ],
- copts = FLATBUFFERS_COPTS + [
- "-DFLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE",
+ "include/flatbuffers/flatc.h",
],
- data = [
- ":tests/include_test/include_test1.fbs",
- ":tests/include_test/sub/include_test2.fbs",
- ":tests/monster_test.bfbs",
- ":tests/monster_test.fbs",
- ":tests/monsterdata_test.golden",
- ":tests/prototest/imported.proto",
- ":tests/prototest/test.golden",
- ":tests/prototest/test.proto",
- ":tests/prototest/test_union.golden",
- ":tests/union_vector/union_vector.fbs",
+ 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",
],
- includes = ["include/"],
+ linkstatic = 1,
+ strip_include_prefix = "/include",
)