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 )