他のプラットフォームでの Swift のビルド プロセスに混乱しています。
Swift を使用すると、OS X で Linux プロジェクトをビルドできますか? または、Linux で使用する予定のものをビルドするには、特に Linux で Swift を使用する必要がありますか?
ドキュメントを見ましたが、このトピックについてはあまり明確ではありません...
フレームワークをインポートしていない純粋な Swift アプリケーションを、iOS、OS X、および Linux 用にコンパイルできるようになりました。
プラットフォームが異なるため、異なる実行可能ファイルを生成しますが、コード ソースは同じにすることができます。それぞれのプラットフォーム用にコンパイルする必要があります。
違いは、フレームワークをインポートするときです。
UIKit をインポートして iOS アプリケーションを作成する場合、明らかにこれを Linux でコンパイルすることはできません。Linux にはこれらの iOS UIKit ライブラリがなく、Xcode を介して Mac でのみ使用できるからです。
Cocoa をインポートして OS X アプリケーションを作成する場合、同じロジックが適用され、OS X でのみ機能します。
同じように、Glibc など、Mac では動作しない特定の Linux ライブラリをインポートすると、Linux でのみ動作する Swift コードを作成できます。
などなど
覚えておく必要があるのは、プラットフォーム用のアプリケーションを作成する場合、プログラミング言語はそれほど重要ではないということです。決定的なのは、リンクしているフレームワークとライブラリです。
異なる Swift バージョンには異なるコンパイラ (実際には異なるツールチェーン) が付属しているため、直接答えるには、通常の OS X Swift コンパイラを使用して Linux Swift 用にコンパイルすることはできません。Swift.org のものを使用する必要があります。
Swift Package Manager は 、2017 年 4 月末のPR-1098を介してカスタム ツールチェーンのサポートを取得しました。
これにより、クロス コンパイラ ツールチェーン (macOS から Ubuntu、さらにはその逆) をセットアップできます。SwiftPM リポジトリには、Intel-macOS => Intel-Ubuntu ツールチェーンをセットアップするサンプル スクリプトが含まれています。
Eric が言うように、もちろん、ターゲット プラットフォームで利用可能なフレームワークしか使用できません。しかし、はい、macOS で Linux Swift プロジェクトをビルドできるようになりました。(コメントでjoelsが述べたように、Dockerを介してこれを非常に簡単に行うこともできます)
関連: (クロス) Raspberry PI 用の Swift のコンパイル
2021 年 10 月 19 日更新: Homebrew タップとして利用可能な既製のクロス コンパイラがあります: SPMDestinations