Fildc


The FIDL compiler

Usage: fidlc [--json JSON_PATH]
             [--available PLATFORM:VERSION]
             [--versioned PLATFORM[:VERSION]]
             [--name LIBRARY_NAME]
             [--experimental FLAG_NAME]
             [--werror]
             [--format=[text|json]]
             [--json-schema]
             [--depfile DEPFILE_PATH]
             [--files [FIDL_FILE...]...]
             [--help]

All of the arguments can also be provided via a response file, denoted as
`@responsefile`. The contents of the file at `responsefile` will be interpreted
as a whitespace-delimited list of arguments. Response files cannot be nested.

See <https://fuchsia.dev/fuchsia-src/development/languages/fidl/reference/compiler>
for more information.


选项

  • --json JSON_PATH。如果存在,此标记指示 fidlc 输出给定路径中库的中间表示法。中间表示形式是符合通过 --json-schema 提供的架构的 JSON。 中间表示法用作各个后端的输入。

  • --available PLATFORM:VERSION。如果存在,此标志会指示 fidlc 根据 @available 属性编译在 PLATFORM 下版本为 VERSION 的库。PLATFORM 对应于库的 @available(platform="PLATFORM") 属性,如果省略 platform 参数,则对应于库名称的第一个组件。

  • --versioned PLATFORM[:VERSION]。如果存在,此标记会指示 fidlc 验证所编译的主库是否在 PLATFORM 下进行版本控制。如果提供 VERSION,还会验证相应库是否已在 VERSION 中添加。 库平台确定如下:

    • 如果没有 @available 属性,则平台将“无版本控制”。
    • 平台可通过 @available(platform="PLATFORM") 明确指定。
    • 否则,平台是库名称的第一个组成部分。
  • --name LIBRARY_NAME。如果存在,此标记会指示 fidlc 验证要编译的主库是否具有给定名称。此标志有助于在构建系统中的库声明与库的实际内容之间进行交叉检查。

  • --experimental FLAG_NAME。如果存在,此标志将启用 fidlc 的实验性功能。

  • --depfile DEPFILE_PATHfidlc 生成的 depfile 的路径。该 depfile 用于获取正确的增量编译规则。此文件由 fidlc 填充,表示方式是 Line1: out1: in1 in2 in3、Line2: out2: in2 in2 in3 ... 其中 out[1-2] 是 fidlc 生成的所有输出,in[1-3] 是读取的文件。输入文件是由 --files 传递的内容。输出文件是由 fidlc 生成的文件。

  • --files [FIDL_FILE...]...。每个 --files [FIDL_FILE...] 参数块描述一个库,所有这些库都必须共用相同的顶级库名称声明。库必须按依赖关系顺序呈现,后面的库能够使用前面库中的声明,但反之则不行。系统仅会为最终库生成输出,而不会为其每个依赖项生成输出。

  • --json-schema。如果存在,此标志会指示 fidlc 输出中间表示法的 JSON 架构。

  • --format=[text|json]。如果存在,此标志将设置 fidlc 的输出模式。该参数用于指定在编译失败时是输出错误和警告,还是以纯文本(默认)或 JSON 格式输出。

  • --werror:将警告视为错误。

  • --help。输出此帮助,并立即退出。