From 0a533084bbae633b066bfbc27925442fd9506832 Mon Sep 17 00:00:00 2001 From: Chase Latta Date: Thu, 16 Jun 2022 17:04:57 +0000 Subject: [PATCH] [fuchsia] add support for api level when calling fidlc --- build/fuchsia/fidl_gen_cpp.py | 7 +++++++ build/fuchsia/sdk.gni | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/build/fuchsia/fidl_gen_cpp.py b/build/fuchsia/fidl_gen_cpp.py index f95f6b74fe..b70677bdd4 100755 --- a/build/fuchsia/fidl_gen_cpp.py +++ b/build/fuchsia/fidl_gen_cpp.py @@ -42,6 +42,7 @@ def main(): parser.add_argument('--json', dest='json', action='store', required=True) parser.add_argument('--fidlgen-output-root', dest='fidlgen_output_root', action='store', required=False) parser.add_argument('--output-c-tables', dest='output_c_tables', action='store', required=True) + parser.add_argument('--target-api-level', dest='target_api_level', action='store', required=False) args = parser.parse_args() @@ -59,6 +60,12 @@ def main(): args.json ] + if args.target_api_level: + fidlc_command += [ + '--available', + 'fuchsia:{api_level}'.format(api_level=args.target_api_level), + ] + # Create an iterator that works on both python3 and python2 try: fidl_files_by_name_iter = list(fidl_files_by_name.items()) diff --git a/build/fuchsia/sdk.gni b/build/fuchsia/sdk.gni index 9c8ba70e0d..2edfb5eca5 100644 --- a/build/fuchsia/sdk.gni +++ b/build/fuchsia/sdk.gni @@ -2,6 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/fuchsia/config.gni") + declare_args() { # The path to where GN targets derived from the Fuchsia SDK are instantiated. fuchsia_sdk_root = "//build/fuchsia" @@ -113,6 +115,13 @@ template("_fuchsia_fidl_library") { rebase_path("$target_gen_dir/$library_name_slashes/cpp/tables.c"), ] + if (fuchsia_target_api_level != -1) { + args += [ + "--target-api-level", + "${fuchsia_target_api_level}", + ] + } + if (!defined(invoker.only_generate_tables) || !invoker.only_generate_tables) { outputs += [