Rust バイナリは、rust_binary モジュール タイプを使用して生成できます。以下の例をご覧ください。
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
同様に、rust_binary_host を使用してホスト専用モジュールを用意できます。
重要な rust_binary プロパティ
重要な共通プロパティに加えて、以下のプロパティも重要です。また、rust_binary モジュール タイプに固有の動作を示します。
- static_executable: このバイナリを静的バイナリとしてビルドし、
prefer_rlibがtrueであることを示します。完全に静的な実行可能ファイルは、bionic ターゲットに対してのみ生成できます。非 Bionic ターゲットの場合、これはprefer_rlibがtrueであることを示すだけですが、その場合もlibcとlibdlを動的にリンクします。 - prefer_rlib:
rustlibsリンクを変更して、デバイス ターゲットに対してデフォルトでrlibリンクを選択し、libstdをデバイス ターゲットのrlibとしてリンクします。これはホスト ターゲットのデフォルトの動作であり、ホスト ターゲットには影響しません。
リンク
デフォルトでは、デバイスをターゲットとする rust_binary モジュールは常に libstd に対して動的にリンクされます。デフォルトでは、prefer_rlib が true の場合を除き、rustlibs に挙げられる依存関係の dylib ライブラリが優先されます。完全に静的なバイナリが必要な場合は、static_executable プロパティをご覧ください。
ホスト モジュールは常に libstd に対して静的にリンクされ、デフォルトでは、rustlibs に挙げられている依存関係の rlib ライブラリが優先されます。