אפשר ליצור קבצים בינאריים של 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
, וכברירת מחדל הם יעדיפו ספריות של dylib
לתלות שמופיעה ב-rustlibs
, אלא אם prefer_rlib
הוא true
. אם נדרשים קבצים בינאריים סטטיים לחלוטין, אפשר לעיין במאפיין static_executable
.
מודולים של מארחים תמיד מקושרים באופן סטטי ל-libstd
, ובאופן אוטומטי מעדיפים ספריות של rlib
לתלויות שמופיעות ב-rustlibs
.