Question

Je suis en train de se autofoo à tester pour maximale version de Python plutôt que d'un minimum. Exemple:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

... testera pour Python> = 2.7, et probablement tourner avec / usr / bin / python3. Je veux revenir plus rien que python2.7, cependant.

Yat-il un moyen simple de le faire? Je me suis renseigné, et à ce jour la meilleure réponse que j'ai obtenu est, « réécrire la macro. »

Merci à l'avance!

Était-ce utile?

La solution

1). Ajouter à 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.) Ajouter à zconfigure.inz

my_CHECK_MAJOR_VERSION([PYTHON_VERSION], [2])  

3). aclocal, automake, autoconf

Voilà.

Autres conseils

L'argument de la version à AM_PATH_PYTHON est facultative. Si python est nécessaire, appelez comme ceci:

AM_PATH_PYTHON

Si ce n'est pas nécessaire, appeler comme ceci:

AM_PATH_PYTHON(,, [:])

Maintenant, AM_PATH_PYTHON définit la $PYTHON_VERSION variable shell à la valeur de sys.version[:3], que vous pouvez vous tester.

Une autre solution peut établirons la valeur par défaut pour _AM_PYTHON_INTERPRETER_LIST , pour inclure uniquement les binaires Python 2.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top