github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/third_party/flatbuffers/BUILD.bazel (about)

     1  package(
     2      default_visibility = ["//visibility:public"],
     3  )
     4  
     5  licenses(["notice"])  # Apache 2.0
     6  
     7  exports_files(["LICENSE.txt"])
     8  
     9  config_setting(
    10      name = "freebsd",
    11      values = {"cpu": "freebsd"},
    12      visibility = ["//visibility:public"],
    13  )
    14  
    15  config_setting(
    16      name = "windows",
    17      values = {"cpu": "x64_windows"},
    18  )
    19  
    20  FLATBUFFERS_COPTS = select({
    21      ":windows": [],
    22      "//conditions:default": [
    23          "-Wno-implicit-fallthrough",
    24          "-fexceptions",
    25      ],
    26  })
    27  
    28  # Public flatc library to compile flatbuffer files at runtime.
    29  cc_library(
    30      name = "flatbuffers",
    31      srcs = [
    32          "include/flatbuffers/code_generators.h",
    33          "include/flatbuffers/reflection_generated.h",
    34          "src/code_generators.cpp",
    35          "src/idl_gen_fbs.cpp",
    36          "src/idl_gen_general.cpp",
    37          "src/idl_gen_text.cpp",
    38          "src/idl_parser.cpp",
    39          "src/reflection.cpp",
    40          "src/util.cpp",
    41      ],
    42      hdrs = [
    43          "include/flatbuffers/base.h",
    44          "include/flatbuffers/flatbuffers.h",
    45          "include/flatbuffers/flexbuffers.h",
    46          "include/flatbuffers/hash.h",
    47          "include/flatbuffers/idl.h",
    48          "include/flatbuffers/reflection.h",
    49          "include/flatbuffers/stl_emulation.h",
    50          "include/flatbuffers/util.h",
    51      ],
    52      copts = FLATBUFFERS_COPTS,
    53      includes = ["include/"],
    54  )
    55  
    56  # Public flatc compiler library.
    57  cc_library(
    58      name = "flatc_library",
    59      srcs = [
    60          "grpc/src/compiler/config.h",
    61          "grpc/src/compiler/go_generator.h",
    62          "grpc/src/compiler/schema_interface.h",
    63          "include/flatbuffers/base.h",
    64          "include/flatbuffers/code_generators.h",
    65          "include/flatbuffers/flatbuffers.h",
    66          "include/flatbuffers/flatc.h",
    67          "include/flatbuffers/flexbuffers.h",
    68          "include/flatbuffers/hash.h",
    69          "include/flatbuffers/idl.h",
    70          "include/flatbuffers/reflection.h",
    71          "include/flatbuffers/reflection_generated.h",
    72          "include/flatbuffers/stl_emulation.h",
    73          "include/flatbuffers/util.h",
    74          "src/code_generators.cpp",
    75          "src/flatc.cpp",
    76          "src/idl_gen_fbs.cpp",
    77          "src/idl_parser.cpp",
    78          "src/reflection.cpp",
    79          "src/util.cpp",
    80      ],
    81      hdrs = [
    82          "include/flatbuffers/base.h",
    83          "include/flatbuffers/code_generators.h",
    84          "include/flatbuffers/flatbuffers.h",
    85          "include/flatbuffers/flatc.h",
    86          "include/flatbuffers/idl.h",
    87          "include/flatbuffers/reflection.h",
    88          "include/flatbuffers/stl_emulation.h",
    89          "include/flatbuffers/util.h",
    90      ],
    91      copts = FLATBUFFERS_COPTS,
    92      includes = [
    93          "grpc/",
    94          "include/",
    95      ],
    96  )
    97  
    98  # Public flatc compiler.
    99  cc_binary(
   100      name = "flatc",
   101      srcs = [
   102          "grpc/src/compiler/cpp_generator.cc",
   103          "grpc/src/compiler/cpp_generator.h",
   104          "grpc/src/compiler/go_generator.cc",
   105          "grpc/src/compiler/go_generator.h",
   106          "grpc/src/compiler/java_generator.cc",
   107          "grpc/src/compiler/java_generator.h",
   108          "grpc/src/compiler/schema_interface.h",
   109          "src/flatc_main.cpp",
   110          "src/idl_gen_cpp.cpp",
   111          "src/idl_gen_dart.cpp",
   112          "src/idl_gen_general.cpp",
   113          "src/idl_gen_go.cpp",
   114          "src/idl_gen_grpc.cpp",
   115          "src/idl_gen_js_ts.cpp",
   116          "src/idl_gen_json_schema.cpp",
   117          "src/idl_gen_lobster.cpp",
   118          "src/idl_gen_lua.cpp",
   119          "src/idl_gen_php.cpp",
   120          "src/idl_gen_python.cpp",
   121          "src/idl_gen_rust.cpp",
   122          "src/idl_gen_text.cpp",
   123      ],
   124      copts = FLATBUFFERS_COPTS,
   125      includes = [
   126          "grpc/",
   127          "include/",
   128      ],
   129      linkopts = select({
   130          ":freebsd": [
   131              "-lm",
   132          ],
   133          ":windows": [],
   134          "//conditions:default": [
   135              "-lm",
   136              "-ldl",
   137          ],
   138      }),
   139      deps = [
   140          ":flatc_library",
   141      ],
   142  )
   143  
   144  filegroup(
   145      name = "runtime_cc_srcs",
   146      srcs = [
   147          "include/flatbuffers/base.h",
   148          "include/flatbuffers/flatbuffers.h",
   149          "include/flatbuffers/minireflect.h",
   150          "include/flatbuffers/stl_emulation.h",
   151          "include/flatbuffers/util.h",
   152      ],
   153  )
   154  
   155  cc_library(
   156      name = "runtime_cc",
   157      hdrs = ["runtime_cc_srcs"],
   158      includes = ["include"],
   159      linkstatic = 1,
   160  )