3

Python の最小バージョンではなく最大バージョンをテストするように autofoo を取得しようとしています。例:

AC_REQUIRE([AM_PATH_PYTHON([2.7])])

... Python >= 2.7 をテストし、おそらく /usr/bin/python3 で表示されます。ただし、python2.7を超えるものは何も返さないでください。

これを行う簡単な方法はありますか?周りに尋ねたところ、これまでに得た最良の回答は「マクロを書き直してください」というものでした。

前もって感謝します!

4

3 に答える 3

2

へのバージョン引数AM_PATH_PYTHONはオプションです。Python が必要な場合は、次のように呼び出します。

AM_PATH_PYTHON

必要ない場合は、次のように呼び出します。

AM_PATH_PYTHON(,, [:])

ここでAM_PATH_PYTHON、シェル変数$PYTHON_VERSIONを の値に設定しsys.version[:3]ます。これは自分でテストできます。

于 2011-01-28T02:05:38.203 に答える
2

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.) aclocalautomakeautoconf

それでおしまい。

于 2012-09-20T08:13:34.370 に答える