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 屬性,編譯 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_PATH。由 fidlc 產生的依附元件檔案路徑。此解壓縮檔案可用來取得正確的漸進式編譯規則。這個檔案會由 fidlc 填入為 Line1: out1: in1 in3, Line2: out2: in1 in2 in3 ... 其中 [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。列印這則說明,然後立即退出。