为什么GNU的binutils和GDB被合并成一个软件包?

12

特别是,请查看 tags 部分。

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


你有查看与binutils或gdb相关的邮件列表吗?你问过tromey@redhat.com了吗?(他是个非常友善的人,我相信他会回答你的。) - Basile Starynkevitch
@BasileStarynkevitch 非常感谢您提供的信息! - nodakai
1个回答

23

我进行了转换。我将它们合并成一个仓库的原因,一部分是历史原因,另一部分是实际原因。

从历史上看,gdb和binutils几乎总是在一起的。当它们在Cygnus内部维护时,它们在单个源代码树中(称为“devo”)。然后,稍后,在设置sourceware.org时,它们共享一个存储库(称为“src”)。您可能没有注意到这一点,因为该存储库使用CVS模块,让开发人员仅签出树的一部分。

实际上,gdb和binutils共享很多代码。它们共享构建基础设施(如configure等);它们共享支持库(libibertyinclude目录);它们共享BFD库;它们还共享操作码库。对我来说,将它们放在一起更有意义,既可以避免不断地来回合并(这已经针对GCC的某些组件执行了,并且是真正痛苦的),也可以尝试最小化一个项目的更改会对另一个项目产生负面影响的问题。例如,至少在理论上,对BFD进行常规开发的人应该同时构建gdb和binutils。

共享存储库使用的顶层configure脚本允许开发人员使用--disable-DIR禁用任何特定目录。例如,如果您不想构建gdb,请传递--disable-gdb


精彩的答案。虽然我只是很高兴同时构建两个,但知道--disable-gdb也很不错。 - nodakai
2
您介意将gcc和glibc也合并到其中吗? :-) - Ciro Santilli OurBigBook.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接