rust - 誰もが信頼できる効率的なソフトウェアを構築できるようにします。

(Empowering everyone to build reliable and efficient software.)

Created at: 2010-06-17 04:39:03
Language: Rust
License: NOASSERTION

Rust プログラミング言語

これはRustのメイン ソース コード リポジトリです。これには、コンパイラ、標準ライブラリ、およびドキュメントが含まれています。

注: この README は、貢献者ではなくユーザー向けです。コンパイラ に貢献したい場合は、代わりにrustc-dev-guideのはじめにセクションを読んでください。#new members Zulip ストリームで助けを求めることができます。

クイックスタート

The Book の「Installation」を読んでください。

ソースからのインストール

Rust ビルド システムは

x.py
、ブートストラップ プロセスを管理するコンパイラをビルドするために呼び出される Python スクリプトを使用します。プロジェクトのルートに存在します。

この

x.py
コマンドは、ほとんどのシステムで次の形式で直接実行できます。

./x.py <subcommand> [flags]

これは、ドキュメンテーションと例が実行していることを前提としている方法です

x.py

Ubuntu 20.04 LTS などのシステムは

python
、Python がインストールされている場合、デフォルトでは、
x.py
直接実行できる必要なコマンドを作成しません。その場合、シンボリックリンクを作成するか
python
(Ubuntu は
python-is-python3
このためのパッケージを提供します)、
x.py
Python 自体を使用して実行できます。

# Python 3
python3 x.py <subcommand> [flags]

# Python 2.7
python2.7 x.py <subcommand> [flags]

詳細については、フラグ

x.py
を指定して実行するか、 rustc dev guideを参照してください。
--help

Unix ライクなシステムでの構築

  1. 依存関係がインストールされていることを確認してください。

    • g++
      5.1以降または
      clang++
      3.5以降
    • python
      3 または 2.7
    • GNU
      make
      3.81 以降
    • cmake
      3.13.4 以降
    • ninja
    • curl
    • git
    • ssl
      どちらが入ってくる
      libssl-dev
      openssl-devel
    • pkg-config
      Linux でコンパイルし、Linux をターゲットにしている場合
  2. ソース

    git
    次のように複製します。

    git clone https://github.com/rust-lang/rust.git
    cd rust
  1. ビルド設定を構成します。

    Rust ビルド システムは、ソース ツリーのルートにある名前のファイルを使用して

    config.toml
    、ビルドのさまざまな構成設定を決定します。
    config.toml.example
    デフォルトをコピーし
    config.toml
    て開始します。

    cp config.toml.example config.toml

    を使用

    x.py install
    してインストールを作成する場合は、セクションの
    prefix
    値をディレクトリに設定することをお勧めします。
    [install]

    デフォルト ディレクトリにインストールしない場合は、インストール ディレクトリを作成します。

  2. ビルドしてインストールします。

    ./x.py build && ./x.py install

    完了すると、

    ./x.py install
    いくつかのプログラムが
    $PREFIX/bin
    :
    rustc
    、Rust コンパイラ、および
    rustdoc
    、API ドキュメント ツールに配置されます。このインストールには、Rust のパッケージ マネージャーであるCargoは含まれていません。Cargo をビルドしてインストールするには、すべてのツールをビルドしてインストールするためにキーを 実行または
    ./x.py install cargo
    設定します。
    build.extended
    config.toml
    true

Windows でのビルド

Windows では、Visual Studio で使用されるネイティブ (MSVC) ABI と、GCC ツールチェーンで使用される GNU ABI の 2 つの主要な ABI が使用されています。必要な Rust のバージョンは、相互運用する C/C++ ライブラリによって大きく異なります。Visual Studio で作成されたソフトウェアとの相互運用には、Rust の MSVC ビルドを使用します。MinGW/MSYS2 ツールチェーンを使用してビルドされた GNU ソフトウェアとの相互運用には、GNU ビルドを使用します。

MinGW

MSYS2を使用して、Windows で Rust を簡単にビルドできます。

  1. 最新のMSYS2 インストーラーを入手して、インストーラーを実行します。

  2. 32 ビットまたは 64 ビットの Rust が必要かどうかに応じて、MSYS2 をインストールした場所 (つまり ) から

    mingw32_shell.bat
    実行します。(MSYS2の最新バージョンでは、代わりにコマンドラインから実行するか、コマンドラインから実行する必要があります)
    mingw64_shell.bat
    C:\msys64
    msys2_shell.cmd -mingw32
    msys2_shell.cmd -mingw64

  3. このターミナルから、必要なツールをインストールします。

    # Update package mirrors (may be needed if you have a fresh install of MSYS2)
    pacman -Sy pacman-mirrors
    
    # Install build tools needed for Rust. If you're building a 32-bit compiler,
    # then replace "x86_64" below with "i686". If you've already got git, python,
    # or CMake installed and in PATH you can remove them from this list. Note
    # that it is important that you do **not** use the 'python2', 'cmake' and 'ninja'
    # packages from the 'msys2' subsystem. The build has historically been known
    # to fail with these packages.
    pacman -S git \
                make \
                diffutils \
                tar \
                mingw-w64-x86_64-python \
                mingw-w64-x86_64-cmake \
                mingw-w64-x86_64-gcc \
                mingw-w64-x86_64-ninja
  4. Rust のソース コードに移動 (またはクローン) し、ビルドします。

    ./x.py build && ./x.py install

MSVC

Rust の MSVC ビルドには、さらに Visual Studio 2017 (またはそれ以降) のインストールが必要なため、

rustc
そのリンカーを使用できます。最も簡単な方法は、 Visual Studioを入手し、「C++ ビルド ツール」と「Windows 10 SDK」のワークロードを確認することです。

(cmake を自分でインストールする場合は、「C++ CMake tools for Windows」が「個別コンポーネント」に含まれていないことに注意してください。)

cmd.exe
これらの依存関係をインストールすると、次を使用してシェルでコンパイラをビルドできます。

python x.py build

現在、Rust のビルドは、Visual Studio の一部の既知のバージョンでのみ機能します。より新しいバージョンがインストールされていて、ビルド システムが理解できない場合は、rustbuild に強制的に古いバージョンを使用させる必要があるかもしれません。これは、ブートストラップを実行する前に適切な vcvars ファイルを手動で呼び出すことで実行できます。

CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
python x.py build

ABI の指定

明示的なビルド トリプルを使用して、特定の各 ABI をいずれかの環境から使用することもできます (たとえば、PowerShell で GNU ABI を使用する)。利用可能な Windows ビルド トリプルは次のとおりです。

  • GNU ABI (GCC を使用)
    • i686-pc-windows-gnu
    • x86_64-pc-windows-gnu
  • MSVC ABI
    • i686-pc-windows-msvc
    • x86_64-pc-windows-msvc

--build=<triple>
ビルド トリプルは、コマンドを呼び出すときに指定するか、ファイル
x.py
をコピーして( 「ソースからインストールする」で説明されているように)、セクションの下のオプションを変更する ことで指定できます。
config.toml
build
[build]

設定して作る

これは推奨されるビルド システムではありませんが、このプロジェクトは configure スクリプトと makefile も提供します (後者は単に を呼び出します

x.py
)。

./configure
make && sudo make install

configure スクリプトを使用すると、生成され

config.mk
たファイルがファイルをオーバーライドする場合があり
config.toml
ます。ファイルに戻るには
config.toml
、生成されたファイルを削除し
config.mk
ます。

建物のドキュメンテーション

ドキュメントを作成したい場合は、ほとんど同じです:

./x.py doc

生成されたドキュメントは、使用されている ABI

doc
のディレクトリの下に表示されます。
build
つまり、ABI が だった場合
x86_64-pc-windows-msvc
、ディレクトリは になります
build\x86_64-pc-windows-msvc\doc

ノート

Rust コンパイラは Rust で記述されているため、それ自体のプリコンパイル済み「スナップショット」バージョン (開発の初期段階で作成) によってビルドする必要があります。そのため、ソース ビルドには、スナップショットを取得するためのインターネットへの接続と、利用可能なスナップショット バイナリを実行できる OS が必要です。

スナップショット バイナリは現在、いくつかのプラットフォームでビルドおよびテストされています。

プラットフォーム / アーキテクチャ x86 x86_64
Windows (7、8、10、...)
Linux (カーネル 3.2、glibc 2.17 以降)
macOS (10.7 Lion 以降) (*)

(*): Apple は、macOS 10.15 および iOS 11 以降、32 ビット バイナリの実行のサポートを終了しました。Apple からのこの決定により、ターゲットはユーザーにとって役に立たなくなりました。詳細については、ブログ投稿をお読みください。

他のプラットフォームが機能する場合もありますが、これらは公式にサポートされているビルド環境であり、最も機能する可能性があります。

助けを求める

Rust コミュニティはいくつかの場所に集まっています。

貢献する

Rust プロジェクトへの貢献に興味がある場合は、 rustc-dev-guideのGetting Startedガイドをご覧ください。

ライセンス

Rust は、主に MIT ライセンスと Apache ライセンス (バージョン 2.0) の両方の条件の下で配布されており、一部はさまざまな BSD ライクなライセンスでカバーされています。

詳細については、 LICENSE-APACHELICENSE-MIT、および COPYRIGHTを参照してください。

商標

Rust Foundationは、Rust および Cargo の商標とロゴ (「Rust 商標」) を所有し、保護しています。

これらの名前またはブランドを使用する場合は、メディア ガイドをお読みください。

サードパーティのロゴは、サードパーティの著作権および商標の対象となる場合があります。詳細について は、ライセンスを参照してください。