xref: /aosp_15_r20/external/tflite-support/third_party/flatbuffers/BUILD.bazel (revision b16991f985baa50654c05c5adbb3c8bbcfb40082)
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