]> err.no Git - libchamplain/commitdiff
Fix up the bindings a little
authorMichael Sheldon <mike@mikeasoft.com>
Thu, 26 Feb 2009 17:59:52 +0000 (19:59 +0200)
committerPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Sun, 1 Mar 2009 20:47:52 +0000 (22:47 +0200)
bindings/python/champlain-gtk/Makefile.am
bindings/python/champlain-gtk/pychamplaingtkmodule.c [new file with mode: 0644]
configure.ac

index e231aa23e5e3200f3347d69209d20f293fcbfb50..f620a53ab37becf9de76f4c871825e1b5690aae1 100644 (file)
@@ -14,17 +14,18 @@ BUILT_SOURCES =                                     \
        pychamplaingtk.c                                        
 
 pychamplaingtkdir = $(pyexecdir)
-pychamplaingtk_LTLIBRARIES = champlain-gtk.la
+pychamplaingtk_LTLIBRARIES = champlaingtk.la
 
-champlain_gtk_la_SOURCES =                                     \
+champlaingtk_la_SOURCES =                      \
+       pychamplaingtkmodule.c                  \
        pychamplaingtk.c
 
-champlain_gtk_la_LIBADD =                                      \
+champlaingtk_la_LIBADD =                                       \
        $(PYTHON_BINDING_LIBS)                          \
        $(top_builddir)/champlain/libchamplain-0.3.la   \
        $(top_builddir)/champlain-gtk/libchamplain-gtk-0.3.la
 
-champlain_gtk_la_LDFLAGS =                                     \
+champlaingtk_la_LDFLAGS =                                      \
        -module -avoid-version
 
 pychamplaingtk.c: pychamplaingtk.override pychamplaingtk.defs
diff --git a/bindings/python/champlain-gtk/pychamplaingtkmodule.c b/bindings/python/champlain-gtk/pychamplaingtkmodule.c
new file mode 100644 (file)
index 0000000..c4ba665
--- /dev/null
@@ -0,0 +1,26 @@
+#define NO_IMPORT_PYGOBJECT
+
+#include <pygobject.h>
+
+void champlain_register_classes (PyObject *d);
+DL_EXPORT(void) initchamplaingtk(void);
+extern PyMethodDef champlain_functions[];
+
+DL_EXPORT(void)
+initchamplaingtk(void)
+{
+       PyObject *m, *d;
+
+       init_pygobject ();
+       
+       m = Py_InitModule ("champlaingtk", champlain_functions);
+       d = PyModule_GetDict (m);
+       
+       champlain_register_classes (d);
+       
+       if (PyErr_Occurred ()) {
+               PyErr_Print();
+               Py_FatalError ("can't initialise module champlaingtk");
+       }
+}
+
index cd3f6d101ab03f1e7bd9c99633327c9e07110024..b39a6fbf56a026e1583cd893bf411ad3e909ef92 100644 (file)
@@ -150,6 +150,7 @@ if test x$enable_python = xyes; then
   PKG_CHECK_MODULES(PYTHON_BINDING,
    [
       pygtk-2.0,
+      pygobject-2.0,
       glib-2.0,
       gobject-2.0,
       clutter-0.8,