用于 C、C++ 和 Objective C 的分布式构建
与其他分布式构建系统不同,distcc 不需要所有机器共享一个文件系统,同步时钟,或安装相同的库或头文件。这些机器可以运行不同的操作系统,只要它们具有兼容的二进制格式或交叉编译器即可。默认情况下,distcc 会为每个作业在网络上传输完整的预处理源代码,因此它只要求志愿者机器运行 distccd 守护程序,并安装适当的编译器。
在 distcc 3.0 中添加的 distcc "pump" 功能,通过将编译和预处理分发到 distcc 服务器来改进了 distcc。这要求服务器和客户端具有相同的系统头文件(客户端负责传输应用程序特定的头文件)。 考虑到这一点,在 pump 模式下的 distcc 产生的结果与非 pump 模式下的 distcc 相同,但速度更快,因为预处理器不再在本地运行。有关 pump 功能的更多详细信息,请参阅 README.pump。
distcc 旨在与 GNU make 的并行构建功能 (-j) 结合使用。通过网络传输文件需要时间,但对客户机的周期要求很少。任何可以远程构建的文件在客户机 CPU 方面基本上都是"免费"的。在"泵"模式下,这种情况更是如此,因为客户机甚至不需要花时间对源文件进行预处理。distcc 已在具有数百个客户机的环境中成功应用。
暂无开放 Issues,或尚未同步最近议题。