バイナリ モジュール

Rust バイナリは、rust_binary モジュール タイプを使用して生成できます。以下の例をご覧ください。

rust_binary {
    name: "hello_rust",
    srcs: ["src/hello_rust.rs"],
}

同様に、rust_binary_host を使用してホスト専用モジュールを用意できます。

重要な rust_binary プロパティ

重要な共通プロパティに加えて、以下のプロパティも重要です。また、rust_binary モジュール タイプに固有の動作を示します。

  • static_executable: このバイナリを静的バイナリとしてビルドし、prefer_rlibtrue であることを示します。完全に静的な実行可能ファイルは、bionic ターゲットに対してのみ生成できます。非 Bionic ターゲットの場合、これは prefer_rlibtrue であることを示すだけですが、その場合も libclibdl を動的にリンクします。
  • prefer_rlib: rustlibs リンクを変更して、デバイス ターゲットに対してデフォルトで rlib リンクを選択し、libstd をデバイス ターゲットの rlib としてリンクします。これはホスト ターゲットのデフォルトの動作であり、ホスト ターゲットには影響しません。

リンク

デフォルトでは、デバイスをターゲットとする rust_binary モジュールは常に libstd に対して動的にリンクされます。デフォルトでは、prefer_rlibtrue の場合を除き、rustlibs に挙げられる依存関係の dylib ライブラリが優先されます。完全に静的なバイナリが必要な場合は、static_executable プロパティをご覧ください。

ホスト モジュールは常に libstd に対して静的にリンクされ、デフォルトでは、rustlibs に挙げられている依存関係の rlib ライブラリが優先されます。