Autofoo Test для максимальной версии 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., включить только питон 2 двоичных файлов.