اختبار Autofoo لأقصى إصدار من Python
-
30-09-2019 - |
سؤال
أحاول الحصول على autofoo لاختبار ملف أقصى نسخة من بيثون بدلا من الحد الأدنى. مثال:
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, ، لتشمل فقط ثنائيات بيثون 2.