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
라이브러리를 선호합니다.