Re: [GtkGLExt] GObject Introspection



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

next try

Am 24.05.2012 17:56, schrieb Thomas Zimmermann:
> Hi,
> 
> and thanks again.
> 
>>> 
>>> Why is this empty? Either this is missing a value, or it
>>> shouldn't be here at all. If you need to clear CLEANFILES here,
>>> put a comment above that says why.
>> This is a matter of style. Either empty it at beginning and fill
>> it with += later as gtk does [1][2] or set it with = when is
>> first used. Now I've done the latter.
> 
> Ok. If GTK does it this way, it's probably best to do so as well.
> 
I moved the line
CLEANFILES =
back to top.

> 
> I had a look at one of the headers you cited and there the version
> is hard-coded to 3.0. Could you change this again please to
> GdkGLExt_3_0, etc? Sorry for the inconvenience.
> 
done

>>> I don't like patches that touch too many unrelated files.
>>> There should be separate patch for the C file before the
>>> build-system patch.
>>> 
>> This one line was just to get the Python example running, but I
>> will fix more annotations.
> 
> I still don't like mixing C and the build-system stuff, because
> it's mostly unrelated.
> 
> I've spend a lot of time with setting up the tree's history to go
> from GTK 2 to GTK 3 without breakages or major inconsistencies. If
> you've ever tried bisection with a history full of broken commits,
> you know why.
> 
I'm sorry if I've expressed myself unclear, but I meant that I would
do it in a separate patch together with additional annotations. Of
course it should not be in this patch and it is not.

> The goal is thus to keep the source tree in a good and consistent
> state. Enabling introspection now would probably leave out most of
> the C interface's functions (and thus make the tree inconsistent).
> 
> In an ideal world, all functions would be annotated first, and
> then introspection would be enabled. However, I realize that this
> might not be feasible in practice. If you're going to submit more
> patches, is there a way for grouping C-related changes into
> meaningful chunks? Something like 'one-patch-per-Glib-object'? So I
> could take the build-system patch first and then all C stuff.
> 
> Best regards Thomas
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJPwOa+AAoJEEDg0A3D0GN449MQAMT9LLcpEbBnElch+wRQLNie
mBpjCeI7vTgivg9MIYzz3CUoKE/lyYhe5YI9Up8u3hdS2MQNFRFiLSP+VuxlDtpF
8qpITfuCxCepp+WORI8ncZK3QGjXOxwPgglAgwFu0Yb2IZNaSL+mWEu6R6L3eoiZ
xDrozr4cCMD88GeLptW6vPF8Plum91yeGX10bls01jN45O1BxN8nb8CWnLqTrkuc
skz03airW30FFl9reqmXOs1eMPOebrODLdRVgaKmLO3iGtYyqD62/eFqdBt3Cjug
9M09/NCcWyPdTbZyKC1fYXVGHlLsyREfheGIsc5PpcS6TQ6BZBk2Rq5gxx12cA+m
k8L5HrblmBXLNh2/0V40f3Wd1fBuQ/IqkfNC7LPHf4oWsjb4zlihNATCaaEktMtk
lEfjhBe99fvaNFOQfoOMn36bqfE3WfWe5LAXYhnOkHQx1CUwExZcrKPAeao6UbeK
mqZjFbTxHGlo8JcfzrSaHma1wmSygYcwZv/sp80cYVH0IMBN3vu1bZrirFnL8K/9
zJCg+nzkQD/qlf8zC5+e10RB7mKH890Y4DswaI3c7jUOBh0ghzDRpgVKXbB2HFEa
VhA3ZL5bjEv5K4d1ulUOosnSKfINuKahuxuGkygpQv0lI5vQ8h1aooO1sVdUVc0U
NEGIo2+alNnR2eP3Mtg4
=8Jsc
-----END PGP SIGNATURE-----
>From a4839709005a7d1ee7d54823ad8cb59959815c55 Mon Sep 17 00:00:00 2001
From: "B. Clausius" <barcc gmx de>
Date: Wed, 23 May 2012 23:27:57 +0200
Subject: [PATCH] added gobject-introspection support

These files are built:
gdk/GdkGLExt-3.0.gir
gdk/GdkGLExt-3.0.typelib
gtk/GtkGLExt-3.0.gir
gtk/GtkGLExt-3.0.typelib
---
 Makefile.am     |    2 +-
 configure.ac    |    6 ++++++
 gdk/Makefile.am |   45 +++++++++++++++++++++++++++++++++++++++++++++
 gtk/Makefile.am |   36 ++++++++++++++++++++++++++++++++++++
 4 files changed, 88 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 1dcce16..dfce0b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@
 SUBDIRS = gdk gtk docs examples
 
 ACLOCAL_AMFLAGS = -I m4macros
-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection
 
 EXTRA_DIST = \
 	README.win32			\
diff --git a/configure.ac b/configure.ac
index 4683250..80d85b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -114,6 +114,12 @@ AC_PROG_LN_S
 AC_PATH_PROGS([PERL], [perl5 perl])
 
 ##################################################
+# GObject introspection
+##################################################
+
+GOBJECT_INTROSPECTION_CHECK([1.30.0])
+
+##################################################
 # Checks for gtk-doc and docbook-tools
 ##################################################
 
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index b74c8ec..b8b469a 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -4,6 +4,8 @@
 SUBDIRS = $(GDKGLEXT_BACKENDS)
 DIST_SUBDIRS = x11 win32
 
+CLEANFILES =
+
 EXTRA_DIST = \
 	gdkglversion.h.in	\
 	gdkglext.def
@@ -177,5 +179,48 @@ EXTRA_DIST += \
   gtkglenumtypes.c.template
 
 #
+# Introspection
+#
+
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --warn-all
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+
+if HAVE_INTROSPECTION
+introspection_sources = \
+	$(filter-out gdkgldebug.h gdkglglext.h, $(gdkglext_headers)) \
+	$(gdkglext_c_sources) \
+	$(gdkglext_built_c_sources)
+
+if USE_X11
+introspection_sources += \
+	x11/gdkglconfig-x11.c	\
+	x11/gdkglcontext-x11.c	\
+	x11/gdkglquery-x11.c	\
+	x11/gdkglwindow-x11.c
+endif # USE_X11
+
+GdkGLExt-3.0.gir: $(gdkglext_targetlib) Makefile
+GdkGLExt_3_0_gir_SCANNERFLAGS = \
+	--identifier-prefix=GdkGL \
+	--symbol-prefix=gdk_gl \
+	--symbol-prefix=gdk
+GdkGLExt_3_0_gir_INCLUDES = Gdk-3.0
+GdkGLExt_3_0_gir_LIBS = $(gdkglext_targetlib)
+GdkGLExt_3_0_gir_FILES = $(introspection_sources)
+GdkGLExt_3_0_gir_CFLAGS = $(AM_CPPFLAGS)
+INTROSPECTION_GIRS += GdkGLExt-3.0.gir
+
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibdir = $(libdir)/girepository-1.0
+typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES += $(gir_DATA) $(typelib_DATA)
+endif # HAVE_INTROSPECTION
+
+#
 # Extra rules
 #
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index fe41c27..207ccbc 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1,6 +1,8 @@
 ## -*- Makefile -*-
 ## Makefile.am for gtkglext/gtk
 
+CLEANFILES =
+
 EXTRA_DIST = \
 	gtkglversion.h.in	\
 	gtkglext.def
@@ -84,3 +86,37 @@ lib_LTLIBRARIES = libgtkglext-@API_MJ@.@API_MI@.la
 libgtkglext_@API_MJ@_@API_MI@_la_SOURCES = $(gtkglext_sources)
 libgtkglext_@API_MJ@_@API_MI@_la_LDFLAGS = $(common_ldflags)
 libgtkglext_@API_MJ@_@API_MI@_la_LIBADD = $(common_libadd)
+
+#
+# Introspection
+#
+
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --add-include-path=../gdk --warn-all
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=../gdk
+
+if HAVE_INTROSPECTION
+introspection_sources = \
+	$(gtkglext_public_h_sources) \
+	$(gtkglext_c_sources)
+
+GtkGLExt-3.0.gir: $(gtkglext_targetlib) Makefile
+GtkGLExt_3_0_gir_SCANNERFLAGS = \
+	--identifier-prefix=GtkGL \
+	--symbol-prefix=gtk_gl \
+	--symbol-prefix=gtk
+GtkGLExt_3_0_gir_INCLUDES = Gtk-3.0 GdkGLExt-3.0
+GtkGLExt_3_0_gir_LIBS = $(gtkglext_targetlib)
+GtkGLExt_3_0_gir_FILES = $(introspection_sources)
+GtkGLExt_3_0_gir_CFLAGS = $(AM_CPPFLAGS)
+INTROSPECTION_GIRS += GtkGLExt-3.0.gir
+
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibdir = $(libdir)/girepository-1.0
+typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES += $(gir_DATA) $(typelib_DATA)
+endif # HAVE_INTROSPECTION
-- 
1.7.9.5



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]