9

尤其是标签部分。

这个决定背后的理由是什么?合并是否会影响构建最新 binutils 和 GDB 的建议方式?(事实上​​,当我检查binutils-2_25_1并运行时make all && make install,我也得到了gdb。)

4

1 回答 1

18

我做了转换。我将它们作为联合存储库的原因部分是历史性的,部分是实用的。

从历史上看,gdb 和 binutils 几乎一直在一起。当它们在 Cygnus 中维护时,它们位于单个源代码树(称为“devo”)中。然后,后来,当 sourceware.org 建立时,他们共享了一个存储库(称为“src”)。您可能没有注意到这一点,因为存储库使用 CVS 模块让开发人员只检查树的一部分。

实际上,gdb 和 binutils 共享大量代码。他们共享他们的构建基础设施(configure等等);他们共享支持库(libibertyinclude)目录;他们共享 BFD 库;他们共享操作码库。对我来说,将它们放在一起更有意义,既可以避免不断地来回合并(这已经为使用 GCC 的某些组件完成,这是一个真正的痛苦),也可以尽量减少对一个项目产生负面影响的问题影响对方。例如,至少在理论上,在 BFD 上进行常规开发的人应该同时构建 gdbbinutils。

共享存储库使用的顶级configure脚本允许开发人员使用--disable-DIR. 例如,如果您不想构建 gdb,则通过--disable-gdb.

于 2015-12-02T14:40:17.337 回答