distcc バージョン 3 の機能の 1 つは、スレーブ サーバーがマスターからコードを前処理およびコンパイルできるようにするポンプ モードです。シェルから、これは私にとってうまく機能します。
私の問題は、ポンプ モードを SCons ビルドに統合する信頼できる方法を見つけられないことです。したい:
- distccのinclude_serverが存在するかどうかを確認してください(質問の一部ではなく、単なる情報です)
- distcc のホストリストに.+,lzo,cppポンプに必要なホストがあるかどうかを確認します (質問ではなく、情報)
- シェルinclude_serverから実行するかのように を起動します。pump --startup
- INCLUDE_SERVER_PORT/PID/DIR をキャッチしてビルド環境に配置する必要があります
- distcc で普通にビルドする
- include_serverでas を殺します- pump --shutdown
SCons.compat._subprocessを使用するか、何らかの方法でインポートするという 2 つのアプローチがあるようですinclude_server。私は実験してググりましたが、この使用例に関するドキュメントはないようです。
注:これは、うまく機能する「プレーンな」distcc に対処します。私は特にポンプモードに取り組んでいます。