0

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 を検索しようとしましたが、見つかりませんでした。私もネットで検索してみましたが、情報が見つかりませんでした。

ありがとう、マット

4

1 に答える 1

1

あなたが参照しているコンストラクトは、昨年 11 月のアップストリーム プロジェクトで、この commitで実際になくなりました。regexpモジュールは単純にgnulib/regex.c直接インクルードするようになりました。

それ以前は、ビルドの一部として生成され、grub-coreディレクトリに配置されたライブラリでした。このldaddディレクティブは、生成された Makefile によって、指定されたライブラリが現在のモジュールのリンク ステップに追加されるだけです。

于 2014-10-08T07:58:44.840 に答える