Re: [GtkGLExt] GObject Introspection
- From: "B. Clausius" <barcc gmx de>
- To: gtkglext-list gnome org
- Subject: Re: [GtkGLExt] GObject Introspection
- Date: Sat, 26 May 2012 16:20:47 +0200
-----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]