autotools:将常量从 configure.ac 传递给 python 脚本

Posted

技术标签:

【中文标题】autotools:将常量从 configure.ac 传递给 python 脚本【英文标题】:autotools: pass constant from configure.ac to python script 【发布时间】:2017-03-31 09:20:13 【问题描述】:

我想以 C 预处理器样式但使用 Python 脚本传递一个常量。

这个常量已经在我的configure.ac 文件中用AC_DEFINE 声明并在我的C 程序中使用,现在我也需要将它传递给Python 脚本。

我尝试在我的Makefile.am 中使用自定义目标并调用sed 来预处理我的 Python 脚本中的特定符号,但对我来说这似乎是脏编码。

我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

创建一个config.py.in,其中包含MYVAR = '''@MYVAR@''' 之类的内容,并将其添加到configure.ac 中的AC_CONFIG_FILES。然后,您可以在其他 Python 脚本中导入 config

这实现了与config.h 为 C 程序实现的功能大致相同的功能。

【讨论】:

以上是关于autotools:将常量从 configure.ac 传递给 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章

Autotools:将 -D 与变量一起使用适用于除一个编译之外的所有编译(C 编程)

利用autotool工具编译和安装

使用 Autotools 调用外部脚本

Yocto,从(userspace)包构建过程中删除autotools

GNU autotools自动生成Makefile 介绍

autotools:C 编译器无法创建可执行文件