在GRUB2/grub-core的Makefile.core.def中,
module = {
name = regexp;
common = commands/regexp.c;
common = commands/wildcard.c
ldadd = libgnulib.a;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)'
};ldadd做了什么?libgnulib.a住在哪里?我试图在grub目录中搜索libgnulib.a,但没有找到。我也试着在网上搜索,但找不到任何信息。
谢谢,马特
发布于 2014-10-08 15:58:45
您所指的构造实际上在去年11月的上游项目中消失了,使用this commit。regexp模块现在简单地直接包含gnulib/regex.c。
在此之前,它是作为构建的一部分生成的库,并放入grub-core目录中。ldadd指令只是使生成的Makefile将指定的库添加到当前模块的链接步骤中。
https://stackoverflow.com/questions/26245759
复制相似问题