diff options
Diffstat (limited to 'build_extra/flatbuffers/flatbuffer.gni')
-rw-r--r-- | build_extra/flatbuffers/flatbuffer.gni | 239 |
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 - } - } -} |