【问题标题】:How to ease support for cross-compilation with autoconf如何使用 autoconf 简化对交叉编译的支持
【发布时间】:2012-09-27 15:12:21
【问题描述】:

我维护了一个包自动配置,它使用PKG_CHECK_MODULES 来查找我的代码所依赖的库。我想让那些希望交叉编译我的包的人更容易:PKG_CHECK_MODULES 的主要问题是它获取 BUILD 系统信息而不是 HOST。

我的做法是:我不使用HOST系统的rootfs,而是分别编译我的包所依赖的每个包。然后,我希望能够在调用./configure srcipt 时强制使用DEPENDSON_LIBSDEPENDSON_CFLAGS 的值。这是一个好方法吗?如何编写 configure.in 来允许这样做?

注意:我尝试AC_ARG_VAR 没有成功...

【问题讨论】:

    标签: configuration autoconf


    【解决方案1】:

    PKG_CHECK_MODULES 首先检查<i>host-prefix</i>-pkg-config 是否存在,然后回退到无前缀的pkg-config(这可能会产生令人困惑的结果)。

    我不确定我是否理解您的方法(第二段),但无论如何我都会为用户设置正确的路径。您可以在PKG_CHECK_MODULES 之后添加AC_CHECK_LIB 以检查选择的库是否与编译器适用于同一系统。

    进行交叉编译的用户可能已经安装了<i>host-prefix</i>-pkg-config,例如一些Linux发行版除了MinGW交叉编译器之外还打包了它。 如果没有,设置适当的环境就足够了。变量。 Autotools Mythbuster 推荐wrapper that sets these variables

    万不得已,用户可以直接设置*_CFLAGS*_LIBS

    【讨论】:

      猜你喜欢
      • 2020-07-05
      • 1970-01-01
      • 2020-12-15
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      相关资源
      最近更新 更多