检查宏文本处理器安装脚本上的python标头

时间:2019-06-09 09:36:42

标签: makefile macros mingw autotools mingw-w64

头文件通常与Python一起安装。在Unix上,它们位于目录$ prefix / include / pythonversion /和$ exec_prefix / include / pythonversion /中,其中$ prefix和$ exec_prefix由Python的配置脚本的相应参数定义,版本为sys.version。在Windows上,标头安装在$ prefix / include中,其中$ prefix是为安装程序指定的安装目录。 所以我有这个宏

Macro

问题出在这段代码上

if test "$PYTHON_PLATFORM" != "win32"; then
   py_versiondir="/python${PYTHON_VERSION}"
else
   py_versiondir=
fi

例如,MinGW(在Windows上)可以具有版本化的标头python文件夹,因此脚本不起作用。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

由于您正在编写Autoconf,因此应该考虑将AX_PYTHON中的the Autoconf Archive宏添加到程序包中并使用它。 (请注意许可要求。)

或者,如果出于某种原因,您不想使用AX_PYTHON,那么至少可以通过让Python告诉它答案来看看它是否有效。这是它的核心:

 ax_python_header=`$ax_python_bin -c "from distutils.sysconfig import *; print(get_config_var('CONFINCLUDEPY'))"`

({$ax_python_bin先前已设置为Python可执行文件的路径。)