1*b16991f9SAndroid Build Coastguard Workerload("@build_bazel_rules_android//android:rules.bzl", "android_library") 2*b16991f9SAndroid Build Coastguard Worker 3*b16991f9SAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 4*b16991f9SAndroid Build Coastguard Worker 5*b16991f9SAndroid Build Coastguard Workerlicenses(["notice"]) # Apache 2.0 6*b16991f9SAndroid Build Coastguard Worker 7*b16991f9SAndroid Build Coastguard Workerexports_files(["LICENSE.txt"]) 8*b16991f9SAndroid Build Coastguard Worker 9*b16991f9SAndroid Build Coastguard Workerlicenses(["notice"]) 10*b16991f9SAndroid Build Coastguard Worker 11*b16991f9SAndroid Build Coastguard Workerconfig_setting( 12*b16991f9SAndroid Build Coastguard Worker name = "freebsd", 13*b16991f9SAndroid Build Coastguard Worker values = {"cpu": "freebsd"}, 14*b16991f9SAndroid Build Coastguard Worker) 15*b16991f9SAndroid Build Coastguard Worker 16*b16991f9SAndroid Build Coastguard Workerconfig_setting( 17*b16991f9SAndroid Build Coastguard Worker name = "windows", 18*b16991f9SAndroid Build Coastguard Worker values = {"cpu": "x64_windows"}, 19*b16991f9SAndroid Build Coastguard Worker) 20*b16991f9SAndroid Build Coastguard Worker 21*b16991f9SAndroid Build Coastguard Workerload("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") 22*b16991f9SAndroid Build Coastguard Worker 23*b16991f9SAndroid Build Coastguard Worker# Public flatc library to compile flatbuffer files at runtime. 24*b16991f9SAndroid Build Coastguard Workercc_library( 25*b16991f9SAndroid Build Coastguard Worker name = "flatbuffers", 26*b16991f9SAndroid Build Coastguard Worker hdrs = ["//:public_headers"], 27*b16991f9SAndroid Build Coastguard Worker linkstatic = 1, 28*b16991f9SAndroid Build Coastguard Worker strip_include_prefix = "/include", 29*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 30*b16991f9SAndroid Build Coastguard Worker deps = ["//src:flatbuffers"], 31*b16991f9SAndroid Build Coastguard Worker) 32*b16991f9SAndroid Build Coastguard Worker 33*b16991f9SAndroid Build Coastguard Worker# Public C++ headers for the Flatbuffers library. 34*b16991f9SAndroid Build Coastguard Workerfilegroup( 35*b16991f9SAndroid Build Coastguard Worker name = "public_headers", 36*b16991f9SAndroid Build Coastguard Worker srcs = [ 37*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/base.h", 38*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/code_generators.h", 39*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/flatbuffers.h", 40*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/flexbuffers.h", 41*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/hash.h", 42*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/idl.h", 43*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/minireflect.h", 44*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/reflection.h", 45*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/reflection_generated.h", 46*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/registry.h", 47*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/stl_emulation.h", 48*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/util.h", 49*b16991f9SAndroid Build Coastguard Worker ], 50*b16991f9SAndroid Build Coastguard Worker visibility = ["//:__subpackages__"], 51*b16991f9SAndroid Build Coastguard Worker) 52*b16991f9SAndroid Build Coastguard Worker 53*b16991f9SAndroid Build Coastguard Worker# Public flatc compiler library. 54*b16991f9SAndroid Build Coastguard Workercc_library( 55*b16991f9SAndroid Build Coastguard Worker name = "flatc_library", 56*b16991f9SAndroid Build Coastguard Worker linkstatic = 1, 57*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 58*b16991f9SAndroid Build Coastguard Worker deps = [ 59*b16991f9SAndroid Build Coastguard Worker "@flatbuffers//src:flatc_library", 60*b16991f9SAndroid Build Coastguard Worker ], 61*b16991f9SAndroid Build Coastguard Worker) 62*b16991f9SAndroid Build Coastguard Worker 63*b16991f9SAndroid Build Coastguard Worker# Public flatc compiler. 64*b16991f9SAndroid Build Coastguard Workercc_binary( 65*b16991f9SAndroid Build Coastguard Worker name = "flatc", 66*b16991f9SAndroid Build Coastguard Worker linkopts = select({ 67*b16991f9SAndroid Build Coastguard Worker ":freebsd": [ 68*b16991f9SAndroid Build Coastguard Worker "-lm", 69*b16991f9SAndroid Build Coastguard Worker ], 70*b16991f9SAndroid Build Coastguard Worker ":windows": [], 71*b16991f9SAndroid Build Coastguard Worker "//conditions:default": [ 72*b16991f9SAndroid Build Coastguard Worker "-lm", 73*b16991f9SAndroid Build Coastguard Worker "-ldl", 74*b16991f9SAndroid Build Coastguard Worker ], 75*b16991f9SAndroid Build Coastguard Worker }), 76*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 77*b16991f9SAndroid Build Coastguard Worker deps = [ 78*b16991f9SAndroid Build Coastguard Worker "@flatbuffers//src:flatc", 79*b16991f9SAndroid Build Coastguard Worker ], 80*b16991f9SAndroid Build Coastguard Worker) 81*b16991f9SAndroid Build Coastguard Worker 82*b16991f9SAndroid Build Coastguard Workerfilegroup( 83*b16991f9SAndroid Build Coastguard Worker name = "flatc_headers", 84*b16991f9SAndroid Build Coastguard Worker srcs = [ 85*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/flatc.h", 86*b16991f9SAndroid Build Coastguard Worker ], 87*b16991f9SAndroid Build Coastguard Worker visibility = ["//:__subpackages__"], 88*b16991f9SAndroid Build Coastguard Worker) 89*b16991f9SAndroid Build Coastguard Worker 90*b16991f9SAndroid Build Coastguard Worker# Library used by flatbuffer_cc_library rules. 91*b16991f9SAndroid Build Coastguard Workercc_library( 92*b16991f9SAndroid Build Coastguard Worker name = "runtime_cc", 93*b16991f9SAndroid Build Coastguard Worker hdrs = [ 94*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/base.h", 95*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/flatbuffers.h", 96*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/flexbuffers.h", 97*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/stl_emulation.h", 98*b16991f9SAndroid Build Coastguard Worker "include/flatbuffers/util.h", 99*b16991f9SAndroid Build Coastguard Worker ], 100*b16991f9SAndroid Build Coastguard Worker linkstatic = 1, 101*b16991f9SAndroid Build Coastguard Worker strip_include_prefix = "/include", 102*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 103*b16991f9SAndroid Build Coastguard Worker) 104*b16991f9SAndroid Build Coastguard Worker 105*b16991f9SAndroid Build Coastguard Workerfilegroup( 106*b16991f9SAndroid Build Coastguard Worker name = "runtime_py_srcs", 107*b16991f9SAndroid Build Coastguard Worker srcs = [ 108*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/__init__.py", 109*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/builder.py", 110*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/compat.py", 111*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/encode.py", 112*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/number_types.py", 113*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/packer.py", 114*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/table.py", 115*b16991f9SAndroid Build Coastguard Worker "python/flatbuffers/util.py", 116*b16991f9SAndroid Build Coastguard Worker ], 117*b16991f9SAndroid Build Coastguard Worker) 118*b16991f9SAndroid Build Coastguard Worker 119*b16991f9SAndroid Build Coastguard Workerpy_library( 120*b16991f9SAndroid Build Coastguard Worker name = "runtime_py", 121*b16991f9SAndroid Build Coastguard Worker srcs = [":runtime_py_srcs"], 122*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 123*b16991f9SAndroid Build Coastguard Worker) 124*b16991f9SAndroid Build Coastguard Worker 125*b16991f9SAndroid Build Coastguard Workerfilegroup( 126*b16991f9SAndroid Build Coastguard Worker name = "runtime_java_srcs", 127*b16991f9SAndroid Build Coastguard Worker srcs = glob(["java/com/google/flatbuffers/**/*.java"]), 128*b16991f9SAndroid Build Coastguard Worker) 129*b16991f9SAndroid Build Coastguard Worker 130*b16991f9SAndroid Build Coastguard Workerjava_library( 131*b16991f9SAndroid Build Coastguard Worker name = "runtime_java", 132*b16991f9SAndroid Build Coastguard Worker srcs = [":runtime_java_srcs"], 133*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 134*b16991f9SAndroid Build Coastguard Worker) 135*b16991f9SAndroid Build Coastguard Worker 136*b16991f9SAndroid Build Coastguard Workerandroid_library( 137*b16991f9SAndroid Build Coastguard Worker name = "runtime_android", 138*b16991f9SAndroid Build Coastguard Worker srcs = [":runtime_java_srcs"], 139*b16991f9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 140*b16991f9SAndroid Build Coastguard Worker) 141