blob: 729d57c23be25e99dbb798d41fd2116df2e12409 [file] [log] [blame]
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
package(default_visibility = ["//visibility:public"])
cc_library(
name = "runtime",
srcs = [
"config/config.h",
"src/runtime/builder.c",
"src/runtime/emitter.c",
"src/runtime/json_parser.c",
"src/runtime/json_printer.c",
"src/runtime/refmap.c",
"src/runtime/verifier.c",
],
hdrs = [
"include/flatcc/flatcc_accessors.h",
"include/flatcc/flatcc_alloc.h",
"include/flatcc/flatcc_assert.h",
"include/flatcc/flatcc_builder.h",
"include/flatcc/flatcc_emitter.h",
"include/flatcc/flatcc_endian.h",
"include/flatcc/flatcc_epilogue.h",
"include/flatcc/flatcc_flatbuffers.h",
"include/flatcc/flatcc_identifier.h",
"include/flatcc/flatcc_iov.h",
"include/flatcc/flatcc_portable.h",
"include/flatcc/flatcc_prologue.h",
"include/flatcc/flatcc_refmap.h",
"include/flatcc/flatcc_rtconfig.h",
"include/flatcc/flatcc_types.h",
"include/flatcc/flatcc_unaligned.h",
"include/flatcc/flatcc_verifier.h",
"include/flatcc/reflection/flatbuffers_common_builder.h",
"include/flatcc/reflection/flatbuffers_common_reader.h",
] + glob(["include/flatcc/portable/**/*.h"]),
textual_hdrs = [
"include/flatcc/flatcc_json_parser.h",
"include/flatcc/flatcc_json_printer.h",
],
copts = [
"-Iexternal/com_github_dvidelabs_flatcc/config/",
"-Iexternal/com_github_dvidelabs_flatcc/include/",
] + select({
"@bazel_tools//src/conditions:windows": [],
"//conditions:default": [
"-Wno-implicit-fallthrough",
],
}),
includes = [
"include/",
],
strip_include_prefix = "include",
)
cc_library(
name = "compiler",
srcs = glob([
"external/**/*.c",
"external/**/*.h",
"src/compiler/**/*.c",
"src/compiler/**/*.h",
], exclude = [
"external/lex/luthor.c",
"**/*_test.c",
]),
hdrs = glob([
"config/config.h",
"include/**/*.h",
]),
textual_hdrs = [
"external/lex/luthor.c",
] + glob([
"external/**/*.h",
]),
copts = [
"-Iexternal/com_github_dvidelabs_flatcc/config/",
"-Iexternal/com_github_dvidelabs_flatcc/external/",
"-Iexternal/com_github_dvidelabs_flatcc/include/",
],
)
cc_binary(
name = "flatcc",
srcs = [
"src/cli/flatcc_cli.c",
],
deps = [
":compiler",
":runtime",
],
copts = [
"-Iexternal/com_github_dvidelabs_flatcc/config/",
"-Iexternal/com_github_dvidelabs_flatcc/external/",
"-Iexternal/com_github_dvidelabs_flatcc/include/",
],
)