我正在尝试让AutOfoo测试 最大 Python的版本而不是最低。例子:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

...将测试python> = 2.7,并可能与/usr/bin/python3一起出现。但是,我希望它比Python2.7更大。

有什么直接的方法吗?我四处问,到目前为止,我得到的最好的反应是,“重写宏”。

提前致谢!

有帮助吗?

解决方案

1)。添加 acinclude.m4

`# my_CHECK_MAJOR_VERSION(VARIABLE, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])`  
`# ---------------------------------------------------------------------------`  
`# Run ACTION-IF-TRUE if the VAR has a major version >= VERSION.`  
`# Run ACTION-IF-FALSE otherwise.`  
AC_DEFUN([my_CHECK_MAJOR_VERSION],  
[AC_MSG_CHECKING([whether $1 $$1 major version == $2])  
case $$1 in  
$2*)  
  AC_MSG_RESULT([yes])  
  ifelse([$3], [$3], [:])  
  ;;  
*)  
  AC_MSG_RESULT([no])  
  ifelse([$4], , [AC_MSG_ERROR([$$1 differs from $2])], [$4])  
  ;;  
esac])  

2.)添加到 zconfigure.inz

my_CHECK_MAJOR_VERSION([PYTHON_VERSION], [2])  

3.) aclocal, automake, autoconf

就是这样。

其他提示

版本参数到 AM_PATH_PYTHON 是可选的。如果需要Python,请这样称呼:

AM_PATH_PYTHON

如果不需要,请这样称呼:

AM_PATH_PYTHON(,, [:])

现在, AM_PATH_PYTHON 设置外壳变量 $PYTHON_VERSION 达到价值 sys.version[:3], ,您可以测试自己。

替代解决方案可以为 _AM_PYTHON_INTERPRETER_LIST, ,仅包括Python 2个二进制文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top