我正在使用 automake 的宏AM_PATH_PYTHON
来查找pythondir
变量。
到目前为止,我一直在不带参数地调用它,在 Ubuntu 上默认为 python 2.7。现在我也想为python3.x
(特别是3.3)构建它。
有没有一种方法可以调用AM_PATH_PYTHON([3])
get python3.3
,将所有生成的变量存储AC_SUBST
在python3
特定变量中,然后调用AM_PATH_PYTHON([2])
for 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])
即使在完成所有这些之后,第二个AM_PATH_PYTHON
也不会重写变量。我知道这些是宏,但应该有办法做到这一点。Makefile 显示
py3execdir = ${exec_prefix}/lib/python3.3/site-packages
pyexecdir = ${exec_prefix}/lib/python3.3/site-packages
python3dir = ${prefix}/lib/python3.3/site-packages
pythondir = ${prefix}/lib/python3.3/site-packages