如何将额外的自定义 ./configure autotools 选项传递给 Buildroot 包?

2024-03-10

例如,我想添加选项--enable-foo --enable-bar to a ./configure命令。

Many ./configure选项可以通过间接设置BR2_配置,但许多软件有如此多的选项,以至于不可能只有一个BR2_为每一个可能的配置./configure option.

是否有适用于所有自动工具包的通用机制?


我认为截至2017.02目前还没有通用方法,因为package/pkg-autotools.mk包含:

# Configure package for target
define $(2)_CONFIGURE_CMDS
    (cd $$($$(PKG)_SRCDIR) && rm -rf config.cache && \
    $$(TARGET_CONFIGURE_OPTS) \
    $$(TARGET_CONFIGURE_ARGS) \
    $$($$(PKG)_CONF_ENV) \
    CONFIG_SITE=/dev/null \
    ./configure \
        --target=$$(GNU_TARGET_NAME) \
        --host=$$(GNU_TARGET_NAME) \
        --build=$$(GNU_HOST_NAME) \
        --prefix=/usr \
        --exec-prefix=/usr \
        --sysconfdir=/etc \
        --localstatedir=/var \
        --program-prefix="" \
        --disable-gtk-doc \
        --disable-gtk-doc-html \
        --disable-doc \
        --disable-docs \
        --disable-documentation \
        --with-xmlto=no \
        --with-fop=no \
        --disable-dependency-tracking \
        --enable-ipv6 \
        $$(DISABLE_NLS) \
        $$(SHARED_STATIC_LIBS_OPTS) \
        $$(QUIET) $$($$(PKG)_CONF_OPTS) \
    )
endef
else

我看不到任何方法来插入任意选项,因为$$($$(PKG)_CONF_OPTS)是从设置package.mk每个包的变量,其他变量似乎也有特定的用途,不应该被搞乱。

但我认为如果我们添加以下内容,这可以很容易地修复:

$$($$(PKG)_CONF_OPTS_EXTRA)

然后从 CLI 你可以执行以下操作:

make MYPACKAGE_CONF_OPTS_EXTRA="--enable-foo --enable-bar"

最后,对于某些软件包,您可以摆脱现有的make配置,例如为了host-qemu尚未转换为自动工具,我设法通过以下方式获得额外的选项:

HOST_QEMU_OPTS="--enable-sdl --with-sdlabi=2.0"

因为幸运的是那个包碰巧使用+=代替=在 Makefile 上。

托马斯的回答:https://stackoverflow.com/a/49570825/895245 https://stackoverflow.com/a/49570825/895245还表明,如果不修改新的配置选项,这是不可能的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将额外的自定义 ./configure autotools 选项传递给 Buildroot 包? 的相关文章

  • 如何在 C++ Autotools 项目中禁用 C 编译器

    我正处于向 C 库添加 Autotools 支持的早期阶段 此时我正在跑步autoreconf具有以下配置 cat Makefile am AUTOMAKE OPTIONS foreign bin PROGRAMS cryptest cat
  • 为旧内核设置 buildroot

    我正在尝试设置 buildroot 来交叉编译自定义应用程序 uname a Linux Venus 2 6 12 6 VENUS 323634 Wed May 25 13 40 36 CST 2011 mips unknown 到目前为止
  • 如何设置activemq的队列最大长度

    我想知道是否可以在activemq上配置队列的最大长度 以便当队列的长度达到限制时 入队操作将失败或抛出异常 有人知道这个问题吗 任何帮助将不胜感激 多谢 看一下生产者流程控制http activemq apache org Produce
  • Autoconf——包括静态库(新手)

    我正在尝试将我的应用程序从手动构建迁移到 autoconf 到目前为止 它运行得很好 但我有一个静态库 我不知道如何集成 该库不会位于通常的库位置 二进制文件 a 文件 和头文件 h 文件 的位置将作为配置参数给出 值得注意的是 即使我将
  • node.js - 配置节点将函数加载到全局范围内?

    在现实生活中 我在某个地方看到我们可以配置 Node js 在全局范围内执行加载的模块 但我现在找不到如何做到这一点 我为什么要问 我有一些遗留文件定义了我想在服务器和客户端上使用的语言实用程序 但是其中许多实用程序被定义为全局范围函数 例
  • 如何使用 qemu 编译和构建 aarch64 的 python 包?

    我正在尝试为一个包构建 python 轮子 lap https github com gatagat lap 为了aarch64建筑学 我的主机环境是 WSL2 和 Ubuntu 20 04docker 目标是BuildrootGNU Li
  • ASP.NET 的 IIS 7 中缺少 MIME 类型 - 404.17

    当获得新配置的 Windows 7 机器时 我注意到 ASP NET 默认情况下处于关闭状态 经典 ASP 也是如此 我收到 Web 应用程序的 404 17 错误 我认为这是因为我没有 aspx MIME 类型 虽然这只是一个猜测 当我在
  • 通过automake检查make中的环境变量

    有没有办法让条件通过 automake 以便稍后将其传递到生成的 Makefile in 和 Makefile 我检查 JAVA HOME 是否在 Makefile 的环境中定义 ifeq undefined origin JAVA HOM
  • 使用 freetype 编译 PHP 错误

    我自己配置 了 PHP 包含了我需要的所有库 但后来意识到我忘记了 freetype 库 所以我回到 php 5 3 2 目录并运行 configure with free type usr local lib PHP 的配置很好 没有错误
  • Autoconf 和 A​​utotools 的替代品? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我可以在 distcheck 期间使用 $dc_install_base 安装 systemd 文件吗?

    我有以下用于安装 systemd 服务文件的 Autotools 代码 该文件必须安装在外部 prefix到 pkg config 变量指定的目录 我知道这是不正确的 但我无法改变 systemd 的工作方式 配置文件 AC ARG WIT
  • Scala sbt:sbt 中的多个依赖项

    我是 Scala 的新用户 正在按照创建 scala sbt 项目的方式进行操作 https www youtube com watch v Ok7gYD1VbNw https www youtube com watch v Ok7gYD1
  • QT Creator 无法在 i.Mx6 (buildroot) 上远程运行和调试

    使用基于 Qt 5 7 0 的 Qt Creator 4 0 2 我的应用程序名称是test 主板 带有 buildroot 的 i M6Q Qt 5 9 问题 A 当我运行 qt app 时显示此错误 EGL library doesn
  • 从源代码构建 perl 时,configure 不生成 makefile

    我正在 Ubuntu 14 04 内核 3 13 0 24 generic 上从源代码构建 perl wget http www cpan org src 5 0 perl 5 22 2 tar gz tar xzf perl 5 22 2
  • CMake错误:本项目中使用了以下变量,但它们被设置为NOTFOUND

    我正在尝试配置whalebot带有 tar 文件的爬虫whalebot 0 02 00 tar gz 我已正确提取它 root Admin1 dls tar xvzf whalebot 0 02 00 tar gz 之后我想对其进行配置 r
  • 使用 libtool 和 gdb

    我正在开发一个使用 GNU 自动工具的项目 因此为了使用 gdb 调试代码 我从 libtool 中运行 gdb libtool mode execute gdbtui foobar 是否可以重新加载项目的修改版本 而不必退出 gdb li
  • Qt 的 sysroot 和前缀选项的实际示例是什么

    我正在查看可以运行的所有选项configureQt 提供的脚本 特别是 qt everywhere opensource src 5 2 0 经过大量搜索后 我确定这些东西充其量记录很少 所以我希望我能得到一些帮助 当我查看描述时prefi
  • C 预处理器“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cpp”未通过完整性检查

    在使用 Xcode 11 3 的 macOS Mojave 上 我有一个基于 Autotool 的第三方库 在终端中运行我的构建脚本时构建得很好 但在 Xcode 中运行时失败Run Script步骤为 BuildScript Showin
  • 添加AC_CHECK_LIB路径

    我的configure ac 遇到以下问题 我想添加一个库搜索路径 因为我必须使用的库位于一些疯狂的文件夹中 我的想法是通过一个选项来做到这一点 AC ARG WITH cplex lib path AS HELP STRING with
  • ./configure 使用指定版本的 g++

    如何告诉 配置 文件使用指定版本的 g 进行编译 Thanks 在 bash shell 中 您可以执行以下操作 configure CC gcc 2 95 其他 shell 也会有类似的技术 但我无法帮助您了解具体细节 如果您的项目是 C

随机推荐