gobject-introspection boilerplate
- From: Behdad Esfahbod <behdad behdad org>
- To: gtk+ dev <gtk-devel-list gnome org>
- Subject: gobject-introspection boilerplate
- Date: Mon, 02 Feb 2009 10:57:03 -0500
Hi,
I'm trying to make a pango devel release but I can't get the
gobject-introspection stuff happy. Main reason is that it requires 0.6.2 but
rawhide only has 0.6.1, but there's also a bunch of autotools-related
improvements that can be made. Since this stuff is copied in more than one
module I'm writing here. I can make the changes to pango tonight if that helps.
First, the following innocent-looking line in configure is wrong:
if test $have_introspection; then
That always passes. It should be:
if $have_introspection; then
Moreover, it would be a good idea to add --enable-introspection with a default
value of auto, to give people (distros, etc) full control on whether to
(re)build the introspection stuff.
Next to the Makefile.am's. If I try "make distcheck" without introspection
enabled I get a weirdo error because the .gir files are tried to be built but
fail:
Pango-1.0.gir: $(G_IR_SCANNER)
$(G_IR_SCANNER) -v --namespace Pango --nsversion=1.0 \
...
Normally the solution to a missing tool is to run it with
"$(top_srcdir)/missing", such that it correctly errs. However, since you are
expanding a variable here and configure should be rerun to pick it up in case
you install it, it's better to condition on HAVE_INTROSPECTION and write an
error message. Bonus points for doing that for all four pango libraries
without too much duplication.
Finally, when I try to "make dist" or "make distcheck", I should get an error
if introspection is not enabled. Otherwise I may make a release with stale
.git files. To do that check how gtk-doc does it:
if ENABLE_GTK_DOC
dist-check-gtkdoc:
else
dist-check-gtkdoc:
@echo "*** gtk-doc must be installed and enabled in order to make dist"
@false
endif
dist-hook: dist-check-gtkdoc
And, one last point, we should advise automake that distcheck should enable
introspection. This is done in the toplevel Makefile.am:
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
Cheers,
behdad
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]