GNUとMicrosoftの両方のツールチェーンを使用して、すべての主流OS用のドライバー、ライブラリ、コマンドラインツール、GUI、およびOSインストールパッケージを生成する100万行を超えるマルチプラットフォームプロジェクトのビルドシステムの最良の選択は何でしょうか?
私たちのソースコードは主にCで、Python、C#、GNU makefile、そして少しのC++とbashが含まれています。これは主に1つのリポジトリにありますが、ソースコードをさまざまなサードパーティにプッシュします。サードパーティはすべて、ソースコードコードリポジトリを持っています。ビルドを高速に保つことにも関心があります。これには、プロジェクトの分割が含まれる場合があります。
現在、GNU make、bash、python、およびMicrosoftのDDKBUILDを組み合わせて使用しています。主な問題は、makeの上に複雑なスクリプトのセットを維持していて、サードパーティ(できればオープンソース)のツールを使用することを好むことと、cygwinがWindowsで堅牢であることが証明されていないことです(たとえば、フォークが常に可能であるとは限りません) )、および現在のビルドシステムはツールチェーンをビルドまたはインストールしないため、ツールチェーンのバージョン変更に対して脆弱です。