Вопрос

Я пытаюсь получить 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 двоичных файлов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top