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
ライブラリが優先されます。