使用 BR2_EXTERNAL 修改 Buildroot 源包的 autotools 选项的正确方法是什么?
What is the proper method to modify the autotools options of a Buildroot source package using BR2_EXTERNAL?
我想在不更改基线 <pkg>.mk
文件的情况下更改 Buildroot 中包含的软件包的 <PKG>_CONF_OPTS
配置选项。根据我正在阅读的内容,没有必要使用 BR2_PACKAGE_OVERRIDE_FILE
完全覆盖包,因为我不想更改源或任何其他重要内容。
有人建议这可以使用 BR2_EXTERNAL
和 external.mk
来完成,但我找不到任何示例,我的尝试失败了。据我所知,Buildroot 文档在这个主题上只字未提,而是只解释了新包的创建,而不是包含包的构建定制。
我试过直接向 external.mk
添加行,就像在 <PKG>_CONF_OPTS += --new-option
中一样,但这没有效果。我还尝试在 package/<pkg>/<pkg>.mk
中创建一个补充 makefile,并在 Config.in
文件中为 "new" 包填写所需的信息,但这也失败了。
我参考了几个没有给出完整答案的相关问题,所以我希望找到一般方法并在此处记录下来。
How to pass extra custom ./configure autotools options to a Buildroot package?
希望我们能通过一些提示弄清楚这一点,然后为其他人记录下来。
编辑:对此做了相当多的测试,有趣的是,即使 "sanity check" 直接在现有包中对 _CONF_OPTS 进行更改的情况也没有达到预期效果影响。在我的例子中(尝试对一个特定包进行静态链接构建,同时让其他一切保持动态)我发现 _defconfig 中 BR2_STATIC_LIBS 的存在与否控制着最终构建命令的一切,尽管在整个构建日志中都承认相反。
BR2_EXTERNAL 并不意味着调整作为 Buildroot 本身一部分的现有包的配置选项。 BR2_EXTERNAL 仅用于添加新包。
您应该改为向您感兴趣的包添加一个 Config.in 选项,并使用它来调整其配置。
似乎没有令人满意的方法来实现这一点。在更详细地完成 make 过程后,我发现顶级 defconfig BR2_
选项覆盖了各个包选项(例如,在我的例子中,存在或不存在 BR2_STATIC_LIBS
)。
我想在不更改基线 <pkg>.mk
文件的情况下更改 Buildroot 中包含的软件包的 <PKG>_CONF_OPTS
配置选项。根据我正在阅读的内容,没有必要使用 BR2_PACKAGE_OVERRIDE_FILE
完全覆盖包,因为我不想更改源或任何其他重要内容。
有人建议这可以使用 BR2_EXTERNAL
和 external.mk
来完成,但我找不到任何示例,我的尝试失败了。据我所知,Buildroot 文档在这个主题上只字未提,而是只解释了新包的创建,而不是包含包的构建定制。
我试过直接向 external.mk
添加行,就像在 <PKG>_CONF_OPTS += --new-option
中一样,但这没有效果。我还尝试在 package/<pkg>/<pkg>.mk
中创建一个补充 makefile,并在 Config.in
文件中为 "new" 包填写所需的信息,但这也失败了。
我参考了几个没有给出完整答案的相关问题,所以我希望找到一般方法并在此处记录下来。
How to pass extra custom ./configure autotools options to a Buildroot package?
希望我们能通过一些提示弄清楚这一点,然后为其他人记录下来。
编辑:对此做了相当多的测试,有趣的是,即使 "sanity check" 直接在现有包中对 _CONF_OPTS 进行更改的情况也没有达到预期效果影响。在我的例子中(尝试对一个特定包进行静态链接构建,同时让其他一切保持动态)我发现 _defconfig 中 BR2_STATIC_LIBS 的存在与否控制着最终构建命令的一切,尽管在整个构建日志中都承认相反。
BR2_EXTERNAL 并不意味着调整作为 Buildroot 本身一部分的现有包的配置选项。 BR2_EXTERNAL 仅用于添加新包。
您应该改为向您感兴趣的包添加一个 Config.in 选项,并使用它来调整其配置。
似乎没有令人满意的方法来实现这一点。在更详细地完成 make 过程后,我发现顶级 defconfig BR2_
选项覆盖了各个包选项(例如,在我的例子中,存在或不存在 BR2_STATIC_LIBS
)。