| # @unused | |
| load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") | |
| package( | |
| default_visibility = ["//visibility:private"], | |
| ) | |
| filegroup( | |
| name = "distribution", | |
| srcs = [ | |
| "BUILD.bazel", | |
| ] + glob([ | |
| "*.cpp", | |
| "*.h", | |
| ]), | |
| visibility = ["//visibility:public"], | |
| ) | |
| cc_library( | |
| name = "code_generators", | |
| srcs = ["code_generators.cpp"], | |
| hdrs = [ | |
| "//:public_headers", | |
| ], | |
| strip_include_prefix = "/include", | |
| visibility = ["//:__subpackages__"], | |
| ) | |
| cc_library( | |
| name = "generate_fbs", | |
| srcs = ["idl_gen_fbs.cpp"], | |
| hdrs = ["idl_gen_fbs.h"], | |
| strip_include_prefix = "/src", | |
| visibility = ["//:__subpackages__"], | |
| deps = [":code_generators"], | |
| ) | |
| # Public flatc library to compile flatbuffer files at runtime. | |
| cc_library( | |
| name = "flatbuffers", | |
| srcs = [ | |
| "idl_gen_text.cpp", | |
| "idl_gen_text.h", | |
| "idl_parser.cpp", | |
| "reflection.cpp", | |
| "util.cpp", | |
| ], | |
| hdrs = [ | |
| "//:public_headers", | |
| ], | |
| linkopts = select({ | |
| # TODO: Bazel uses `clang` instead of `clang++` to link | |
| # C++ code on BSD. Temporarily adding these linker flags while | |
| # we wait for Bazel to resolve | |
| # https://github.com/bazelbuild/bazel/issues/12023. | |
| "//:platform_freebsd": ["-lm"], | |
| "//:platform_openbsd": ["-lm"], | |
| "//conditions:default": [], | |
| }), | |
| strip_include_prefix = "/include", | |
| visibility = ["//:__subpackages__"], | |
| deps = [ | |
| ":code_generators", | |
| ":generate_fbs", | |
| ], | |
| ) | |
| # Public flatc compiler library. | |
| cc_library( | |
| name = "flatc_library", | |
| srcs = [ | |
| "annotated_binary_text_gen.cpp", | |
| "annotated_binary_text_gen.h", | |
| "bfbs_gen.h", | |
| "bfbs_gen_lua.cpp", | |
| "bfbs_gen_lua.h", | |
| "bfbs_gen_nim.cpp", | |
| "bfbs_gen_nim.h", | |
| "bfbs_namer.h", | |
| "binary_annotator.cpp", | |
| "binary_annotator.h", | |
| "flatc.cpp", | |
| "namer.h", | |
| ], | |
| hdrs = [ | |
| "//:flatc_headers", | |
| ], | |
| strip_include_prefix = "/include", | |
| visibility = ["//:__pkg__"], | |
| deps = [ | |
| ":flatbuffers", | |
| "//include/codegen:namer", | |
| ], | |
| ) | |
| # Public flatc compiler. | |
| cc_library( | |
| name = "flatc", | |
| srcs = [ | |
| "bfbs_gen.h", | |
| "bfbs_gen_lua.cpp", | |
| "bfbs_gen_lua.h", | |
| "bfbs_gen_nim.cpp", | |
| "bfbs_gen_nim.h", | |
| "bfbs_namer.h", | |
| "file_manager.cpp", | |
| "file_name_manager.cpp", | |
| "flatc_main.cpp", | |
| "idl_gen_binary.cpp", | |
| "idl_gen_binary.h", | |
| "idl_gen_cpp.cpp", | |
| "idl_gen_cpp.h", | |
| "idl_gen_csharp.cpp", | |
| "idl_gen_csharp.h", | |
| "idl_gen_dart.cpp", | |
| "idl_gen_dart.h", | |
| "idl_gen_go.cpp", | |
| "idl_gen_go.h", | |
| "idl_gen_grpc.cpp", | |
| "idl_gen_java.cpp", | |
| "idl_gen_java.h", | |
| "idl_gen_json_schema.cpp", | |
| "idl_gen_json_schema.h", | |
| "idl_gen_kotlin.cpp", | |
| "idl_gen_kotlin.h", | |
| "idl_gen_kotlin_kmp.cpp", | |
| "idl_gen_lobster.cpp", | |
| "idl_gen_lobster.h", | |
| "idl_gen_php.cpp", | |
| "idl_gen_php.h", | |
| "idl_gen_python.cpp", | |
| "idl_gen_python.h", | |
| "idl_gen_rust.cpp", | |
| "idl_gen_rust.h", | |
| "idl_gen_swift.cpp", | |
| "idl_gen_swift.h", | |
| "idl_gen_text.cpp", | |
| "idl_gen_text.h", | |
| "idl_gen_ts.cpp", | |
| "idl_gen_ts.h", | |
| "idl_namer.h", | |
| "namer.h", | |
| "util.cpp", | |
| ], | |
| hdrs = [ | |
| "//:flatc_headers", | |
| ], | |
| strip_include_prefix = "/include", | |
| visibility = ["//:__pkg__"], | |
| deps = [ | |
| ":flatc_library", | |
| "//grpc/src/compiler:cpp_generator", | |
| "//grpc/src/compiler:go_generator", | |
| "//grpc/src/compiler:java_generator", | |
| "//grpc/src/compiler:python_generator", | |
| "//grpc/src/compiler:swift_generator", | |
| "//grpc/src/compiler:ts_generator", | |
| "//include/codegen:namer", | |
| "//include/codegen:python", | |
| ], | |
| ) |