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
などの起動スクリプトに記載しておくようにすると、ターミナルを起動した直後から出力先を変更しておくことが可能です。