When we are using compiled languages – we are usually depending on pkg-config files. For example, “PKG_CHECK_MODULES(GLIB, glib2)”, but what if we are using Python?
Autoconf Archive has AX_PYTHON_MODULE macros. We can use it very easy.
How about Python + GObject Introspection? Let’s take GTK+ as an example. I wrote special m4 file (see below), you can place it in “m4” directory. Then you just need add “AX_PYTHON_GI(Gtk, 3.0)” into “configure.ac” and autoconf will check if GI works and Gtk-3.0.typelib is usable.
P.S. note that I’m not m4 expert, but it works for me.
# SYNOPSIS # # AX_PYTHON_GI(gi_module, version[, python]) # # DESCRIPTION # # Checks for Python GObject Introspection and GI module with the given # version. # # LICENSE # # Copyright (C) 2015 Igor Gnatenko <ignatenko@src.gnome.org> # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. AC_DEFUN([AX_PYTHON_GI], [ AC_MSG_CHECKING([for bindings for GObject Introspection]) AX_PYTHON_MODULE([gi], [required], [$3]) AC_MSG_CHECKING([for version $2 of $1 GObject Introspection module]) $PYTHON -c "import gi; gi.require_version('$1', '$2')" 2> /dev/null AS_IF([test $? -eq 0], [], [ AC_MSG_RESULT([no]) AC_MSG_ERROR([You need version $2 of the $1 GObject Introspection module.]) ]) AC_MSG_RESULT([yes]) ])
Comments are closed.
Planning on submitting this to autoconf-archive? π
Don’t have time for this. You can do this for me π
The contribution process is pretty easy. Just checkout autoconf-archive, create the new m4 file, ensure the documentation and copyrights are correct, commit it, then send a push request.
I canβt really submit your work for you!
When I again read documentation it should add “install-exec-hook”, not just check for something. I will try to make this m4 better and will submit to upstream. Thanks!