質問

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, 、Python 2バイナリのみを含める。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top