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
であることを意味します。完全に静的な実行可能ファイルは、バイオニックターゲットに対してのみ生成できます。非バイオニックターゲットの場合、これは、prefer_rlib
がtrue
であることを意味するだけですが、それでもlibc
とlibdl
を動的にリンクします。 - priority_rlib: rustlibsリンケージを変更して、デバイスターゲットのデフォルトで
rustlibs
リンケージを選択し、rlib
をデバイスターゲットのlibstd
としてrlib
します。これはホストターゲットのデフォルトの動作であり、そのため、ホストターゲットに影響を与えないことに注意してください。
リンケージ
デフォルトでは、デバイスをターゲットにしているrust_binary
モジュールは常にlibstd
に対して動的にリンクされ、 prefer_rlib
がtrue
でない限り、デフォルトではrustlibs
にリストされている依存関係に対してdylib
ライブラリを優先します。完全に静的なバイナリが必要な場合は、 static_executable
プロパティを参照してください。
ホストモジュールは常にlibstd
に対して静的にリンクされており、デフォルトではrustlibs
にリストされている依存関係に対してrlib
ライブラリを優先します。