BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Rustup、Rustコードのクロスコンパイルを簡単にする

Rustup、Rustコードのクロスコンパイルを簡単にする

原文(投稿日:2016/05/20)へのリンク

Rust 1.8で導入されたRustupは、Rustのためのツールチェーンマネージャーだ。Rustコードのクロスコンパイルを簡単にすることを目的としている。MozillaのエンジニアBrian Anderson氏が詳しく説明した

Rustupはコマンドラインアプリケーションであり、サポートする多数のプラットフォーム向けのRustツールチェーン(すなわち、コンパイラ、rustc、標準ライブラリ)のバージョンをダウンロードして、切り替えることができる。実際、rustc自体はおよそ56プラットフォームで利用できるが、rustupはそのうち、コンパイラで14、標準ライブラリで30を管理できる。

さらにrustupは、nightly、beta、releaseチャンネルを含む、特定のバージョンのツールチェーンをトラッキングすることができる。一例としては、次のリリースで自分のプログラムがどのように振る舞うか、rustupを使ってチェックすることができる。これをやるには、現在のプラットフォーム向けのbetaツールチェーンをインストールし、それを使ってユニットテストを実行する必要がある。rustupを使えば、次のように実現できる。

$ rustup install beta
$ rustup run beta cargo test

Anderson氏はもう一つの例として、rustupを使って、通常のglibcの代わりにmusl標準ライブラリを使ったLinux用の静的バイナリを作成する方法を紹介した。

$ rustup target add x86_64-unknown-linux-musl
$ cargo run --target=x86_64-unknown-linux-musl

rustupはまだ開発中で、サポートするプラットフォームの拡大に努めているところだ。具体的には、Android向けのシームレスなクロスコンパイルはまだできない。手動でAndroid NDKをダウンロードして、“standalone toolchain”を作成する必要がある。これはrustupの将来のバージョンで修正される予定だ。Anderson氏によると、必要なリンカとCツールチェーンの取得と設定へと機能拡張されるようだ。rustupは今後、Emscriptenを通してWebもターゲットにすることを目指している。

rustupはAnderson氏のmultirustの後継で、それに取って代わるものだ。まだベータだが、すぐにインストールして試すことができる。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT