|
@@ -647,3 +647,43 @@ m4_ifnblank([$1], [
|
647
|
647
|
])
|
648
|
648
|
AS_IF([test "$[pc_cv_python_func_]pc_python_safe_mod[_$2]" = "no"], [$5], [$4])
|
649
|
649
|
])# PC_PYTHON_CHECK_FUNC
|
|
650
|
+
|
|
651
|
+# PC_PYTHON_CHECK_MODULE_VERSION(LIBRARY, VERSION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND)
|
|
652
|
+# -------------------------------------------------
|
|
653
|
+# Macro for checking if a Python library with this version is installed
|
|
654
|
+#
|
|
655
|
+AC_DEFUN([PC_PYTHON_CHECK_MODULE_VERSION],
|
|
656
|
+[AC_REQUIRE([PC_PROG_PYTHON])[]dnl
|
|
657
|
+m4_define([pc_python_safe_mod], m4_bpatsubsts($1, [\.], [_]))
|
|
658
|
+AC_CACHE_CHECK([for Python '$1' library version '$2'],
|
|
659
|
+ [[pc_cv_python_module_version]pc_python_safe_mod],
|
|
660
|
+ [AC_LANG_PUSH(Python)[]dnl
|
|
661
|
+ AC_LINK_IFELSE(
|
|
662
|
+ [AC_LANG_PROGRAM([dnl
|
|
663
|
+import sys
|
|
664
|
+try:
|
|
665
|
+ import $1
|
|
666
|
+except:
|
|
667
|
+ version='no'
|
|
668
|
+else:
|
|
669
|
+ for vers_attr in ('__version__', 'version', 'version_info'):
|
|
670
|
+ if hasattr($1, vers_attr):
|
|
671
|
+ version = getattr($1, vers_attr)
|
|
672
|
+ break
|
|
673
|
+ else:
|
|
674
|
+ version = 'unknown'
|
|
675
|
+sys.stdout.write(version)
|
|
676
|
+], [])],
|
|
677
|
+ [[pc_cv_python_module_version]pc_python_safe_mod=`./conftest`],
|
|
678
|
+ [AC_MSG_FAILURE([failed to run Python program])])
|
|
679
|
+ AC_LANG_POP(Python)[]dnl
|
|
680
|
+ ])
|
|
681
|
+
|
|
682
|
+AS_IF([test "x$[pc_cv_python_module_version]pc_python_safe_mod" = "x$2" ],
|
|
683
|
+ [$3],
|
|
684
|
+ [ AS_IF(
|
|
685
|
+ [test "x$[pc_cv_python_module_version]pc_python_safe_mod" = 'unknown'],
|
|
686
|
+ AC_MSG_WARN([Unable to fetch version of Python module $1]))
|
|
687
|
+ [$4]
|
|
688
|
+ ])
|
|
689
|
+])# PC_PYTHON_CHECK_MODULE_VERSION
|