[mutter] Use standard introspection configure/Makefile bits
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] Use standard introspection configure/Makefile bits
- Date: Mon, 7 Mar 2011 23:35:45 +0000 (UTC)
commit a66ae4ad551b6b9778d790dd66842a186cae129a
Author: Dan Winship <danw gnome org>
Date: Sat Mar 5 15:01:33 2011 -0500
Use standard introspection configure/Makefile bits
This changes the introspection configure flag from
--with/--without-introspection to --enable/--disable-introspection,
and changes it so that trying to enable introspection when g-i is not
installed results in an error, rather than being silently ignored.
https://bugzilla.gnome.org/show_bug.cgi?id=643959
configure.in | 32 +++++++++-----------------------
src/Makefile.am | 42 +++++++++++++++---------------------------
2 files changed, 24 insertions(+), 50 deletions(-)
---
diff --git a/configure.in b/configure.in
index 17c571b..3682388 100644
--- a/configure.in
+++ b/configure.in
@@ -96,11 +96,6 @@ AC_ARG_ENABLE(startup-notification,
[disable mutter's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
enable_startup_notification=auto)
-AC_ARG_WITH(introspection,
- AC_HELP_STRING([--without-introspection],
- [disable the use of GObject introspection]),,
- with_introspection=auto)
-
AC_ARG_WITH(libcanberra,
AC_HELP_STRING([--without-libcanberra],
[disable the use of libcanberra for playing sounds]),,
@@ -214,24 +209,15 @@ else
AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
fi
-if test x$with_introspection != xno; then
- PKG_CHECK_MODULES(INTROSPECTION, gobject-introspection-1.0 >= 0.9.5, have_introspection=yes, have_introspection=no)
- if test x$have_introspection=xyes; then
- MUTTER_PC_MODULES="$MUTTER_PC_MODULES gobject-introspection-1.0"
- AC_DEFINE(HAVE_INTROSPECTION, 1, [Define if GObject introspection is available])
- G_IR_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
- AC_SUBST(G_IR_SCANNER)
- G_IR_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
- AC_SUBST(G_IR_COMPILER)
- G_IR_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
- AC_SUBST(G_IR_GENERATE)
- GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
- AC_SUBST(GIRDIR)
- TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
- AC_SUBST(TYPELIBDIR)
- fi
+INTROSPECTION_VERSION=0.9.5
+GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
+
+if test x$found_introspection != xno; then
+ AC_DEFINE(HAVE_INTROSPECTION, 1, [Define if GObject introspection is available])
+ MUTTER_PC_MODULES="$MUTTER_PC_MODULES gobject-introspection-1.0"
+ META_GIR=[Meta_]mutter_major_version[_]mutter_minor_version[_gir]
+ AC_SUBST(META_GIR)
fi
-AM_CONDITIONAL(WITH_INTROSPECTION, test "$have_introspection" = "yes")
AC_MSG_CHECKING([Xcursor])
if $PKG_CONFIG xcursor; then
@@ -561,7 +547,7 @@ mutter-$VERSION
Solaris Xinerama: ${use_solaris_xinerama}
Startup notification: ${have_startup_notification}
libcanberra: ${have_libcanberra}
- Introspection: ${have_introspection}
+ Introspection: ${found_introspection}
Session management: ${found_sm}
Shape extension: ${found_shape}
Xsync: ${found_xsync}
diff --git a/src/Makefile.am b/src/Makefile.am
index eedecff..4740fcc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -196,9 +196,11 @@ mutter_theme_viewer_SOURCES= \
bin_PROGRAMS=mutter mutter-theme-viewer
+if HAVE_INTROSPECTION
+include $(INTROSPECTION_MAKEFILE)
+
api_version = $(MUTTER_MAJOR_VERSION).$(MUTTER_MINOR_VERSION)
-if WITH_INTROSPECTION
# These files are in package-private directories, even though they may be used
# by plugins. If you're writing a plugin, use g-ir-compiler --add-include-path
# and g-ir-compiler --includedir.
@@ -208,33 +210,19 @@ gir_DATA = Meta-$(api_version).gir
typelibdir = $(pkglibdir)
typelib_DATA = Meta-$(api_version).typelib
-# We need to strip out the attribute that would point back to libmutter-introspect
-# so that libgirepository looks for symbols in the executable instead
-Meta-$(api_version).gir: $(G_IR_SCANNER) mutter $(libmutterinclude_HEADERS) $(mutter_SOURCES) Makefile
- $(AM_V_GEN) pwd=`pwd` ; \
- cd $(srcdir) && \
- $(G_IR_SCANNER) \
- --namespace=Meta \
- --nsversion=$(api_version) \
- --warn-all \
- --warn-error \
- --include=GObject-2.0 \
- --include=Gdk-3.0 \
- --include=Gtk-3.0 \
- --include=Clutter-1.0 \
- --pkg=clutter-1.0 \
- --pkg=gtk+-3.0 \
- --include=xlib-2.0 \
- --include=xfixes-4.0 \
- --program=$$pwd/mutter \
- mutter-enum-types.h \
- $(filter %.c,$(mutter_SOURCES)) \
- $(libmutterinclude_base_headers) \
- $(INCLUDES) \
- -o $$pwd/$@
-
-Meta-$(api_version).typelib: $(G_IR_COMPILER) Meta-$(api_version).gir
- $(AM_V_GEN) LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}. $(G_IR_COMPILER) Meta-$(api_version).gir -o $@
+INTROSPECTION_GIRS = Meta-$(api_version).gir
+
+Meta-$(api_version).gir: mutter
+ META_GIR@_INCLUDES = GObject-2.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0
+ META_GIR@_PACKAGES = clutter-1.0 gtk+-3.0
+ META_GIR@_CFLAGS = $(INCLUDES)
+ META_GIR@_PROGRAM = $(builddir)/mutter
+ META_GIR@_FILES = \
+ mutter-enum-types.h \
+ $(libmutterinclude_base_headers) \
+ $(filter %.c,$(mutter_SOURCES))
+ META_GIR@_SCANNERFLAGS = --warn-all --warn-error
+
endif
EFENCE=
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]