summaryrefslogtreecommitdiff
path: root/build_extra/flatbuffers/flatbuffer.gni
diff options
context:
space:
mode:
Diffstat (limited to 'build_extra/flatbuffers/flatbuffer.gni')
-rw-r--r--build_extra/flatbuffers/flatbuffer.gni239
1 files changed, 0 insertions, 239 deletions
diff --git a/build_extra/flatbuffers/flatbuffer.gni b/build_extra/flatbuffers/flatbuffer.gni
deleted file mode 100644
index ff4a48dfa..000000000
--- a/build_extra/flatbuffers/flatbuffer.gni
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import("//build/compiled_action.gni")
-
-declare_args() {
- # Location of flatbuffers source code.
- flatbuffers_source_location = "//third_party/flatbuffers/"
-
- # Absolute location flatbuffers BUILD.gn file.
- flatbuffers_build_location = "//build_extra/flatbuffers/"
-}
-
-# Compile a flatbuffer for C++.
-#
-# flatc_out_dir (optional)
-# Specifies the path suffix that output files are generated under. This
-# path will be appended to root_gen_dir.
-#
-# Targets that depend on the flatbuffer target will be able to include
-# the resulting FlatBuffers header with an include like:
-# #include "dir/for/my_flatbuffer/buffer_generated.h"
-# If undefined, this defaults to matchign the input directory for each
-# .fbs file (you should almost always use the default mode).
-#
-# flatc_include_dirs (optional)
-# Specifies the directories which FlatBuffers compiler uses to find
-# included .fbs files in. Almost always should be empty.
-#
-# The list always has an implicit first item corresponding to the root of
-# the source tree. This enables including .fbs files by absolute path.
-#
-# The compiler will try the directories in the order given, and if all
-# fail it will try to load relative to the directory of the schema file
-# being parsed.
-#
-# deps (optional)
-# Additional dependencies.
-#
-# Parameters for compiling the generated code:
-#
-# defines (optional)
-# Defines to supply to the source set that compiles the generated source
-# code.
-#
-# extra_configs (optional)
-# A list of config labels that will be appended to the configs applying
-# to the source set.
-#
-# testonly (optional)
-# Boolean to indicate whether the generated source sets should be labeled
-# as testonly.
-#
-# Example:
-# flatbuffer("mylib") {
-# sources = [
-# "foo.fbs",
-# ]
-# }
-template("flatbuffer") {
- assert(defined(invoker.sources), "Need sources for flatbuffers_library")
-
- # Don't apply OS-specific sources filtering to the assignments later on.
- # Platform files should have gotten filtered out in the sources assignment
- # when this template was invoked. If they weren't, it was on purpose and
- # this template shouldn't re-apply the filter.
- set_sources_assignment_filter([])
-
- action_name = "${target_name}_gen"
- source_set_name = target_name
- compiled_action_foreach(action_name) {
- visibility = [ ":$source_set_name" ]
-
- tool = "$flatbuffers_build_location:flatc"
-
- sources = invoker.sources
- deps = []
-
- if (defined(invoker.flatc_out_dir)) {
- out_dir = "$root_gen_dir/" + invoker.flatc_out_dir
- } else {
- out_dir = "{{source_gen_dir}}"
- }
-
- outputs = [
- "$out_dir/{{source_name_part}}_generated.h",
- ]
-
- args = [
- "-c",
- "--keep-prefix",
- "-o",
- "$out_dir",
- "-I",
- rebase_path("//", root_build_dir),
- ]
-
- if (defined(invoker.flatc_include_dirs)) {
- foreach(include_dir, invoker.flatc_include_dirs) {
- args += [
- "-I",
- rebase_path(include_dir, root_build_dir),
- ]
- }
- }
-
- args += [ "{{source}}" ]
-
- # The deps may have steps that have to run before running flatc.
- if (defined(invoker.deps)) {
- deps += invoker.deps
- }
- }
-
- source_set(target_name) {
- forward_variables_from(invoker,
- [
- "visibility",
- "defines",
- ])
-
- sources = get_target_outputs(":$action_name")
-
- if (defined(invoker.extra_configs)) {
- configs += invoker.extra_configs
- }
-
- if (defined(invoker.testonly)) {
- testonly = invoker.testonly
- }
-
- public_configs = [ "$flatbuffers_build_location:flatbuffers_config" ]
-
- public_deps = [
- # The generated headers reference headers within FlatBuffers, so
- # dependencies must be able to find those headers too.
- flatbuffers_build_location,
- ]
- deps = [
- ":$action_name",
- ]
-
- # This will link any libraries in the deps (the use of invoker.deps in the
- # action won't link it).
- if (defined(invoker.deps)) {
- deps += invoker.deps
- }
-
- # Same for public_deps.
- if (defined(invoker.public_deps)) {
- public_deps += invoker.public_deps
- }
- }
-}
-
-# Compile a flatbuffer to typescript.
-#
-# flatc_include_dirs (optional)
-# Specifies the directories which FlatBuffers compiler uses to find
-# included .fbs files in. Almost always should be empty.
-#
-# The list always has an implicit first item corresponding to the root of
-# the source tree. This enables including .fbs files by absolute path.
-#
-# The compiler will try the directories in the order given, and if all
-# fail it will try to load relative to the directory of the schema file
-# being parsed.
-#
-# deps (optional)
-# Additional dependencies.
-#
-# Example:
-# ts_flatbuffer("foo_ts") {
-# sources = [
-# "foo.fbs",
-# ]
-# }
-template("ts_flatbuffer") {
- assert(defined(invoker.sources), "Need sources for flatbuffers_library")
-
- # Don't apply OS-specific sources filtering to the assignments later on.
- # Platform files should have gotten filtered out in the sources assignment
- # when this template was invoked. If they weren't, it was on purpose and
- # this template shouldn't re-apply the filter.
- set_sources_assignment_filter([])
-
- copy_name = target_name + "_copy"
-
- copy(copy_name) {
- sources = [
- "$flatbuffers_source_location/js/flatbuffers.js",
- ]
- outputs = [
- "$target_gen_dir/flatbuffers.js",
- ]
- }
-
- compiled_action_foreach(target_name) {
- tool = "$flatbuffers_build_location:flatc"
-
- sources = invoker.sources
- deps = [
- ":" + copy_name,
- ]
-
- out_dir = target_gen_dir
-
- outputs = [
- "$out_dir/{{source_name_part}}_generated.ts",
- ]
-
- args = [
- "--ts",
- "--no-fb-import",
- "--gen-mutable",
- "-o",
- rebase_path(out_dir, root_build_dir),
- "-I",
- rebase_path("//", root_build_dir),
- ]
-
- if (defined(invoker.flatc_include_dirs)) {
- foreach(include_dir, invoker.flatc_include_dirs) {
- args += [
- "-I",
- rebase_path(include_dir, root_build_dir),
- ]
- }
- }
-
- args += [ "{{source}}" ]
-
- # The deps may have steps that have to run before running flatc.
- if (defined(invoker.deps)) {
- deps += invoker.deps
- }
- }
-}