Pythonの最大バージョンのオートフーテスト
-
30-09-2019 - |
質問
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バイナリのみを含める。
所属していません StackOverflow