python: Rework callbacks.
[gpgme.git] / configure.ac
index 798a396..4269540 100644 (file)
@@ -67,7 +67,7 @@ LIBGPGMEPP_LT_REVISION=0
 
 LIBQGPGME_LT_CURRENT=6
 LIBQGPGME_LT_AGE=0
-LIBQGPGME_LT_REVISION=0
+LIBQGPGME_LT_REVISION=1
 
 # If the API is changed in an incompatible way: increment the next counter.
 GPGME_CONFIG_API_VERSION=1
@@ -160,8 +160,8 @@ have_w32_system=no
 have_w64_system=no
 build_w32_glib=no
 build_w32_qt=no
-available_languages="cpp cl qt"
-default_languages="cpp cl qt"
+available_languages="cl cpp python qt"
+default_languages="cl cpp python qt"
 case "${host}" in
     x86_64-*mingw32*)
         have_w64_system=yes
@@ -308,14 +308,17 @@ if test "$found" = "1"; then
     enabled_languages=$(echo $enabled_languages | sed 's/qt//')
     LIST_MEMBER("cpp", $enabled_languages)
     if test "$found" = "0"; then
-        AC_MSG_ERROR([qt binding depends on cpp language binding])
+        AC_MSG_ERROR([[
+***
+*** Qt language binding depends on cpp binding.
+***]])
     fi
     FIND_QT
     if test "$have_qt5_libs" != "yes"; then
         if test "$explicit_languages" = "1"; then
         AC_MSG_ERROR([[
 ***
-*** Qt5 (Qt5Core) is required for qt binding.
+*** Qt5 (Qt5Core) is required for Qt binding.
 ***]])
         else
            AC_MSG_WARN([[
@@ -331,10 +334,49 @@ if test "$found" = "1"; then
             # This is not highlighted becase it's not really important.
             then AC_MSG_WARN([Doxygen not found - Qt binding doc will not be built.])
         fi
+        AC_CHECK_PROGS([GRAPHVIZ], [dot])
+        if test -z "$GRAPHVIZ";
+            then AC_MSG_WARN([Graphviz not found - Qt binding doc will not have diagrams.])
+        fi
     fi
 fi
 AM_CONDITIONAL([HAVE_DOXYGEN],
                [test -n "$DOXYGEN"])
+if test -n "$GRAPHVIZ"; then
+    HAVE_DOT="YES"
+else
+    HAVE_DOT="NO"
+fi
+AC_SUBST(HAVE_DOT)
+
+# Python bindings.
+LIST_MEMBER("python", $enabled_languages)
+if test "$found" = "1"; then
+    AX_PKG_SWIG
+    if test -z "$SWIG"; then
+        if test "$explicit_languages" = "1"; then
+            AC_MSG_ERROR([[
+***
+*** You need SWIG to build the Python bindings.
+***]])
+        else
+            enabled_languages=$(echo $enabled_languages | sed 's/python//')
+        fi
+    else
+        AM_PATH_PYTHON([3.3])
+        AX_SWIG_PYTHON
+       if test -z "$PYTHON_VERSION"; then
+           if test "$explicit_languages" = "1"; then
+              AC_MSG_ERROR([[
+***
+*** Please install the python development packages.
+***]])
+           else
+                enabled_languages=$(echo $enabled_languages | sed 's/python//')
+            fi
+       fi
+    fi
+fi
 
 AC_SUBST(ENABLED_LANGUAGES, $enabled_languages)
 
@@ -679,7 +721,6 @@ AC_SUBST(emacs_local_vars_begin, [['Local][ ][Variables:']])
 AC_SUBST(emacs_local_vars_read_only, ['buffer-read-only: t'])
 AC_SUBST(emacs_local_vars_end, ['End:'])
 
-
 # Last check.
 die=no
 if test "$have_gpg_error" = "no"; then
@@ -734,6 +775,10 @@ AC_CONFIG_FILES(lang/qt/tests/Makefile)
 AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpgme.asd])
 AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([lang/qt/doc/Doxyfile])])
 AC_CONFIG_FILES(lang/qt/doc/Makefile)
+AC_CONFIG_FILES([lang/python/Makefile
+                lang/python/setup.py
+                lang/python/pyme/version.py
+                lang/python/tests/Makefile])
 AC_OUTPUT
 
 echo "