Автофу тест на максимальную версию Python - PullRequest
3 голосов
/ 06 января 2011

Я пытаюсь заставить autoofoo проверять максимальную версию Python, а не минимум.Пример:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

... проверит Python> = 2.7 и, вероятно, включит / usr / bin / python3.Однако я хочу, чтобы он не возвращал ничего большего, чем python2.7.

Есть ли прямой способ сделать это?Я спросил, и пока лучший ответ, который я получил, это «переписать макрос».

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 20 сентября 2012

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

Вот и все.

2 голосов
/ 28 января 2011

Аргумент версии для AM_PATH_PYTHON является необязательным. Если требуется python, назовите его так:

AM_PATH_PYTHON

Если это не требуется, назовите это так:

AM_PATH_PYTHON(,, [:])

Теперь AM_PATH_PYTHON задает для переменной оболочки $PYTHON_VERSION значение sys.version[:3], которое вы можете проверить самостоятельно.

0 голосов
/ 04 октября 2013

Альтернативным решением может быть установка по умолчанию для _AM_PYTHON_INTERPRETER_LIST , чтобы включить только двоичные файлы Python 2.

...