如何将额外的自定义 ./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 包? 的相关文章

  • 编译gdb进行远程调试

    我正在尝试远程调试在arm9上运行的应用程序 到目前为止 我已经能够在我的设备上交叉编译和执行 gdbserver 获取 gdb 7 2 源代码并提取它们 configure target arm none linux gnueabi wi
  • buildroot - 如何更改内核版本字符串

    我使用 buildroot 和 Armstrong linux Linux4sam 开发 SAM9G25 EK 板 我的脚本正在创建linux版本 2 6 39 这个 令人困惑 lib modules文件夹等 我想删除它 我发现只有两个文件
  • GNU Autotools:无需版本信息即可重建

    我需要构建一个配置有自动工具的库 通常configure make make install步骤生成版本化共享库 例如libfoo so x x是否可以修改configure ac或Makefile am 当然还有autoreconf 以便
  • 使用 clang++ 在 Eclipse 中的 Autotools 项目中进行代码分析

    我在 Mac OS 10 8 上使用 Eclipse 4 2 并安装了命令行工具 Xcode 4 6 3 clang 编译器通过使用以下标志来支持 C 11 std c 11 stdlib libc 我在 Eclipse 中有一个 Auto
  • Automake 将两个静态库合并为一个

    我正在尝试将预构建静态库中的符号包含到我正在构建的静态库中 然后 我正在构建的静态库将在可执行文件内部使用 我遇到的问题是我的静态库中从其他静态库获取了未定义的符号 这意味着我从预构建的静态库中需要的符号没有包含在我的静态库中 使用自动工具
  • Autoconf 子目录与子包相互依赖吗?

    我手上有一个大型项目 master 它被分成几个组件 liba b c d 以方便构建和维护 在构建整个包时 必须按顺序构建所有子组件 并且其中一些包相互依赖 更明确地说 liba 是 b c 和 d 的先决条件 并且 liba 的存在由配
  • 简约 Qt 构建的推荐标志

    我正在尝试构建 Qt 因为 Visual Studio 2010 需要它 构建脚本 configure exe 非常简单 但默认情况下需要很长时间才能编译 在配备 SSD 的快速笔记本电脑上等待了一个小时后 我放弃了 不使用任何标志 仅使用
  • 使用arm-linux-androideabi-4.4.3编译ICU

    我想使用 Cygwin 交叉编译 Android 的 ICU 静态库 到目前为止 我已经能够配置和制作 Cygwin MSVC 和 Cygwin 版本 我已经安装了android ndk r7 并且可以在toolchains目录中看到gcc
  • 使用 PKG_CHECK_MODULES 时,autoconf 生成的 Makefile 不会传递库头的标志

    我的项目依赖于一个库 更准确地说 GTK 所以我在我的项目中添加了以下配置configure ac PKG CHECK MODULES GTK gtk 2 0 AC SUBST GTK CFLAGS AC SUBST GTK LIBS My
  • 配置:错误:leptonica 库丢失(在 MinGW 上构建 tesseract-ocr-3.01 时)

    运行配置时失败 checking for leptonica yes checking for pixCreate in llept no configure error leptonica library missing 但我已经构建了l
  • arecord 创建的多个文件

    我使用 buildroot 进行了自定义分发 并为 ARMv7 处理器提供了硬流 一切正常 除了 arecord D hw 0 0 fdat d 5 test wav 这会生成多个文件 其中有数千人 rw r r 1 root root 9
  • numpy.distutils.system_info.NotFoundError:未找到 BLAS/LAPACK 库

    我在 buildroot 中添加 scikit learn 包 但它在构建步骤中需要 scipy 依赖项 所以我添加host python scipy in python scipy mk如下 HOST PYTHON SCIPY DEPEN
  • Autoconf 和 A​​utotools 的替代品? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何控制rpmbuild的buildroot和安装目录

    我对 rpmbuild 中的一些目录感到困惑 1 buildroot 用于存储最终用户安装二进制包时应安装的文件 问题 如何控制这个目录 构建根是什么意思 cat 3 spec BuildRoot opt abc prep echo bui
  • 如何获取 autoconf configure.ac 中顶级构建目录的绝对路径?

    我正在开发一个项目 该项目需要一个具有自己的 makefile 和 configure ac 的子项目 子项目是用于为主项目生成源文件的程序 有一个选项可以禁用该项目的构建并尝试使用已安装的版本 无论哪种情况 我都会创建一个在 Makefi
  • 内核源码位置在Buildroot中

    我是 Buildroot 的新人 我有 P2041RDB NXP 板的 Linux 内核源代码 那么我应该将其放置在哪里以及如何在配置中设置此位置 目前无法从 Buildroot 配置中设置内核源代码的路径 您有两种选择 创建文件local
  • 使用 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
  • 配置:错误:找不到 CGAL 库

    我的最终目标就是获取python包graph tool在我的系统上工作 如果可能的话 也在 ipynb 上工作 我已经brew install graph tool 如此处所示 https git skewed de count0 grap

随机推荐