빠른 시작
이 문서는 컴파일러를 실행하는 방법을 다루는 빠른 시작 안내서입니다. 각 단계에 대한 자세한 내용은 이 장의 다른 페이지를 참고하십시오.
먼저 저장소를 클론하십시오:
git clone https://github.com/rust-lang/rust.git
cd rust
컴파일러를 빌드할 때는 cargo를 직접 사용하지 않습니다. 대신 ./x로 실행하는 “x“라는 래퍼를 사용합니다.
빌드를 위한 설정을 만들어야 합니다. ./x setup을 사용하여 적절한 기본 설정을 만드십시오.
./x setup
그런 다음 컴파일러를 빌드할 수 있습니다. ./x build를 사용하여 컴파일러, 표준 라이브러리 및 몇 가지 도구를 빌드하십시오. ./x check로 검사만 할 수도 있습니다. 이 모든 명령은 특정 구성 요소/경로를 인자로 받을 수 있습니다. 예를 들어 컴파일러만 검사하려면 ./x check compiler를 사용하십시오.
./x build
컴파일러가 표준 라이브러리를 컴파일하는 방식에 영향을 주지 않는 변경(예를 들어 오류 메시지 변경)을 할 때는
--keep-stage-std 1을 사용하여 표준 라이브러리를 다시 컴파일하지 않도록 하십시오.
컴파일러와 표준 라이브러리를 빌드하고 나면 작동하는 컴파일러 툴체인이 준비됩니다. 이 툴체인을 링크하면 rustup과 함께 사용할 수 있습니다.
rustup toolchain link stage1 build/host/stage1
참고: ./x setup tools를 사용하면 기본 스테이지가 1이 아니라 2로 설정됩니다. 이에 맞게 명령을 조정하십시오:
rustup toolchain link stage2 build/host/stage2
이제 빌드에 링크된 stage1이라는 툴체인이 생겼습니다. 이 툴체인으로 컴파일러를 테스트할 수 있습니다.
rustc +stage1 testfile.rs
변경을 한 후에는 ./x test로 컴파일러 테스트 스위트를 실행할 수 있습니다.
./x test는 전체 테스트 스위트를 실행하므로 느리며, 이것이 필요한 경우는 드뭅니다. 컴파일러를 변경한 후에는 보통 ./x test tests/ui가 적합합니다. 이 명령은 특정 테스트 파일에 대해 컴파일러를 실행하고 출력을 확인하는 모든 UI 테스트를 수행합니다.
./x test tests/ui
변경을 한 뒤 .stderr 파일을 새 출력으로 갱신하려면 --bless를 사용하십시오.
축하합니다. 이제 컴파일러를 변경할 준비가 되었습니다! 궁금한 점이 더 있다면 전체 장에서 답을 찾을 수 있을 것이며, 답이 없다면 언제든 Zulip에서 도움을 요청하십시오.
VSCode, Vim, Emacs, Helix 또는 Zed를 사용한다면 ./x setup이 편집기 설정을 구성할지 묻습니다. 자세한 내용은 권장 워크플로를 확인하십시오.