【问题标题】:How to pass extra custom ./configure autotools options to a Buildroot package?如何将额外的自定义 ./configure autotools 选项传递给 Buildroot 包?
【发布时间】:2017-11-04 14:07:47
【问题描述】:

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

许多./configure 选项可以通过BR2_ 配置间接设置,但是许多软件的选项太多,以至于不可能为每个可能的./configure 选项设置一个BR2_ 配置。

是否有适用于所有 autotools 包的通用机制?

【问题讨论】:

    标签: autotools configure buildroot


    【解决方案1】:

    我认为截至 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 上使用 += 而不是 =

    Thomas 在https://stackoverflow.com/a/49570825/895245 的回答还表明,如果不破解新的配置选项,这是不可能的。

    【讨论】:

      【解决方案2】:

      您可以定义 BR2_EXTERNAL 树,并在 external.mk 中覆盖您喜欢的任何包变量(当然,也有一些例外,例如 <PKG>_VERSION)。您可以附加到变量或覆盖它们。

      【讨论】:

      • 您好,请问有没有适用于配置的变量?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多