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