Autofoo测试Python的最高版本

发布于 2024-10-10 21:42:14 字数 272 浏览 8 评论 0原文

我正在尝试让 autofoo 测试 Python 的最大版本,而不是最小版本。示例:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

...将测试 Python >= 2.7,并且可能会出现 /usr/bin/python3。然而,我希望它返回的值不大于 python2.7。

有没有一种简单的方法可以做到这一点?我到处询问,到目前为止我得到的最好的答复是“重写宏”。

提前致谢!

I'm trying to get autofoo to test for a maximum version of Python rather than a minimum. Example:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

... will test for Python >= 2.7, and will probably turn up with /usr/bin/python3. I want it to return nothing greater than python2.7, however.

Is there a straightforward way to do this? I asked around, and so far the best response I've gotten is, "rewrite the macro."

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

救赎№ 2024-10-17 21:42:14

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.) aclocalautomakeautoconf

就是这样。

1). Add to 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.) Add to zconfigure.inz

my_CHECK_MAJOR_VERSION([PYTHON_VERSION], [2])  

3.) aclocal, automake, autoconf

That's it.

落日海湾 2024-10-17 21:42:14

AM_PATH_PYTHON 的版本参数是可选的。如果需要 python,则这样调用:

AM_PATH_PYTHON

如果不需要,则这样调用:

AM_PATH_PYTHON(,, [:])

现在,AM_PATH_PYTHON 将 shell 变量 $PYTHON_VERSION 设置为 的值sys.version[:3],您可以自己测试。

The version argument to AM_PATH_PYTHON is optional. If python is required, call it like this:

AM_PATH_PYTHON

If it's not required, call it like this:

AM_PATH_PYTHON(,, [:])

Now, AM_PATH_PYTHON sets the shell variable $PYTHON_VERSION to the value of sys.version[:3], which you can test yourself.

孤独患者 2024-10-17 21:42:14

另一种解决方案可以设置 _AM_PYTHON_INTERPRETER_LIST 的默认值,以仅包含 Python 2 二进制文件。

An alternative solution can be setting the default for _AM_PYTHON_INTERPRETER_LIST, to include only Python 2 binaries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文