OpenSSL中的翻译单位是什么



我正在尝试了解OpenSSL(1.1.1(的构建过程。似乎./Configure将生成一个名为configdata.pm的文件,其中包含编译器标志等。还有一个Makefile可能包含一些有用的信息。为了简单起见,我启用了NO_ASM

但是,我如何知道libcryptolibssl的构建中包含哪些翻译单元?似乎抓取cryptossl目录中的每个.c文件都会导致构建错误。

如何从构建过程中提取这些信息?

要知道构建libcryptolibssl需要哪些依赖项,生成的Makefile包含您需要的所有信息。

目标有一个名为libcrypto$(SHLIB_EXT_SIMPLE)的规则,它详细说明了它的依赖关系,并有一个将所有对象文件链接到crypto库的配方。在我当前的构建中,该配方包含一行大约14000个字符长的代码。在Makefile中找到它的最简单方法是搜索表达式-o libcrypto

类似地,对于ssl库,目标被称为libssl$(SHLIB_EXT_SIMPLE),您可以通过搜索-o libssl来找到配方

现在弄清楚Makefile本身是如何生成的就另当别论了。。。据我所知,这方面的信息分散在不同子目录中的许多build.info文件中,例如crypto目录下的文件,以及Configuration目录中的一些模板。这些信息通过几个perl脚本连接在一起。

最新更新