Frage

Ich versuche autofoo zu Test für einen max Version von Python anstatt ein Minimum zu bekommen. Beispiel:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

... testen für Python> = 2.7, und wird wahrscheinlich mit / usr / bin / python3 aufdrehen. Ich will nichts mehr als python2.7 zurückzukehren, aber.

Gibt es eine einfache Möglichkeit, dies zu tun? Ich fragte herum, und so weit die beste Antwort, die ich bekommen habe, ist, „das Makro neu zu schreiben.“

Vielen Dank im Voraus!

War es hilfreich?

Lösung

1). In den 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.) In dem zconfigure.inz

my_CHECK_MAJOR_VERSION([PYTHON_VERSION], [2])  

3.) aclocal, automake, autoconf

Das ist es.

Andere Tipps

Die Version Argument AM_PATH_PYTHON ist optional. Wenn Python erforderlich ist, nennen Sie es wie folgt aus:

AM_PATH_PYTHON

Wenn es nicht erforderlich ist, nennen Sie es wie folgt aus:

AM_PATH_PYTHON(,, [:])

Nun AM_PATH_PYTHON setzt die Shell-Variable $PYTHON_VERSION auf den Wert von sys.version[:3], die Sie selbst testen können.

Eine alternative Lösung kann den Standard wird Einstellung für _AM_PYTHON_INTERPRETER_LIST , enthält Python nur 2 Binärdateien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top