Swift コンパイラーのビルドパスを変更する

Swift プログラミング

Open Source な Swift コンパイラーをビルドするときに、成果物を出力するフォルダーを変更してみました。


SWIFT_BUILD_ROOT

Open Source 版の Swift の Swift コンパイラーをビルドするときの出力先は、環境変数 SWIFT_BUILD_ROOT で指定できるようになっています。

これを任意の絶対パス指定にすることで、そのフォルダーへ成果物が出力されるようになります。 ここで相対パスを指定すると、Swift コンパイラーをビルドしたときに build-dir must be an absolute path というエラーが表示される様子でした。

A. ビルド時にフォルダーを指定する方法

この環境変数を書き換えることでビルド先を変更できるので、Swift コンパイラーののビルド時に 出力先を変更したい場合には、次のように env コマンドを使って build-script を実行します。

env SWIFT_BUILD_ROOT=/tmp/swift-build ./swift/utils/build-script

たとえばこのようにすることで、Swift コンパイラーのビルド先を /tmp/swift-build に変更することができます。

B. 既定のフォルダーを変更する方法

ビルド先を毎回指定しなくても変更させたい場合は、あらかじめ次のようにして環境変数 SWIFT_BUILD_ROOT を書き換えておきます。

export SWIFT_BUILD_ROOT=/tmp/swift-build

こうすることで、これ以降に build-script を普通に実行すると、あらかじめ書き換えておいた出力先が採用されるようになります。

macOS 起動時など、もっと恒久的に出力先を変更したい場合には、export 命令を .zshrc などの起動スクリプトに記載しておくようにすると、ターミナルを起動した直後から出力先を変更しておくことが可能です。