对于python2和python3,AM_PATH_PYTHON

时间:2013-07-09 06:14:15

标签: autotools autoconf automake m4

我正在使用automake的宏AM_PATH_PYTHON来查找pythondir变量。

直到现在我一直在调用它而没有在Ubuntu上默认为python 2.7的参数。现在我也想为python3.x(具体为3.3)构建它。

有没有办法可以调用AM_PATH_PYTHON([3])来获取python3.3,使用AC_SUBST将所有生成的变量存储在python3特定变量中,然后调用{{1 } AM_PATH_PYTHON([2])

我这样做

python2

即使在完成所有这些后,第二个AM_PATH_PYTHON([3]) AC_SUBST(PYTHON3,$PYTHON) AC_SUBST(HAVE_PYTHON3,$HAVE_PYTHON) AC_SUBST(PYTHON3_VERSION,$PYTHON_VERSION) AC_SUBST(PYTHON3_PREFIX,$PYTHON_PREFIX) AC_SUBST(PYTHON3_EXEC_PREFIX,$PYTHON_EXEC_PREFIX) AC_SUBST(PYTHON3_PLATFORM,$PYTHON_PLATFORM) AC_SUBST(python3dir,$pythondir) AC_SUBST(pkgpython3dir,$pkgpythondir) AC_SUBST(py3execdir,$pyexecdir) AC_SUBST(pkgpy3execdir,$pkgpyexecdir) unset PYTHON unset HAVE_PYTHON unset PYTHON_VERSION unset PYTHON_PREFIX unset PYTHON_EXEC_PREFIX unset PYTHON_PLATFORM unset pythondir unset pkgpythondir unset pyexecdir unset pkgpyexecdir AM_PATH_PYTHON([2]) 也不会重写变量。我知道这些是宏,但应该有办法做到这一点。 Makefile显示

AM_PATH_PYTHON

1 个答案:

答案 0 :(得分:3)

如果您最终使用重写宏路径,您可能希望使用变量_AM_PYTHON_INTERPRETER_LIST来编写仅设置{{AM_PATH_PYTHON2AM_PATH_PYTHON3的包装器宏1}}并使用额外的后缀参数调用_AM_PYTHON_INTERPRETER_LIST