[gnome-shell] Use standard GObject Introspection make rules
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Use standard GObject Introspection make rules
- Date: Tue, 1 Mar 2011 22:04:03 +0000 (UTC)
commit 6e3c15e2abb7a938615bfd1fb7465d6cdec32b74
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Sat Feb 26 18:29:53 2011 +0100
Use standard GObject Introspection make rules
Instead of defining rules manually, use the included make support,
which means Makefiles are less prone to API changes, support
verbosity correctly (instead of inconsistently hardcoding --quiet),
are cleaner to read, and emit GISCAN/GICOMP instead of GEN (which
is nicer).
https://bugzilla.gnome.org/show_bug.cgi?id=643371
configure.ac | 2 +
src/Makefile-gvc.am | 32 +++---------
src/Makefile.am | 116 ++++++++++++----------------------------
src/gvc/gvc-pulseaudio-fake.h | 6 +-
4 files changed, 47 insertions(+), 109 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 5c792b8..6031a53 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,6 +93,8 @@ GJS_VERSION=`$PKG_CONFIG --modversion gjs-internals-1.0`
AC_DEFINE_UNQUOTED([GJS_VERSION], ["$GJS_VERSION"], [The version of GJS we're linking to])
AC_SUBST([GJS_VERSION], ["$GJS_VERSION"])
+GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
+
saved_CFLAGS=$CFLAGS
saved_LIBS=$LIBS
CFLAGS=$MUTTER_PLUGIN_CFLAGS
diff --git a/src/Makefile-gvc.am b/src/Makefile-gvc.am
index 20dd4d8..5bedcc3 100644
--- a/src/Makefile-gvc.am
+++ b/src/Makefile-gvc.am
@@ -30,8 +30,7 @@ libgvc_la_gir_sources = \
gvc/gvc-mixer-event-role.h \
gvc/gvc-mixer-event-role.c \
gvc/gvc-mixer-control.h \
- gvc/gvc-mixer-control.c \
- gvc/gvc-pulseaudio-fake.h
+ gvc/gvc-mixer-control.c
libgvc_la_private_sources = \
gvc/gvc-mixer-stream-private.h \
@@ -44,26 +43,9 @@ libgvc_la_SOURCES = \
$(libgvc_la_gir_sources) \
$(libgvc_la_private_sources)
-Gvc-1.0.gir: $(G_IR_SCANNER) libgvc.la Makefile
- $(AM_V_GEN) $(G_IR_SCANNER) \
- --namespace=Gvc \
- --nsversion=1.0 \
- --warn-all \
- --quiet \
- --libtool="$(LIBTOOL)" \
- --add-include-path=$(builddir) \
- --include=GObject-2.0 \
- --library=libgvc.la \
- --identifier-prefix=Gvc \
- --symbol-prefix=gvc_ \
- $(addprefix $(srcdir)/,$(libgvc_la_gir_sources)) \
- $(INCLUDES) \
- -I $(srcdir) \
- -I $(srcdir)/gvc \
- -DWITH_INTROSPECTION \
- -o $@
-CLEANFILES += Gvc-1.0.gir
-
-Gvc-1.0.typelib: Gvc-1.0.gir
- $(AM_V_GEN) $(G_IR_COMPILER) $< -o $@
-CLEANFILES += Gvc-1.0.typelib
+Gvc-1.0.gir: libgvc.la
+Gvc_1_0_gir_INCLUDES = GObject-2.0
+Gvc_1_0_gir_CFLAGS = $(INCLUDES) -I$(srcdir)/gvc -DWITH_INTROSPECTION
+Gvc_1_0_gir_LIBS = libgvc.la
+Gvc_1_0_gir_FILES = $(addprefix $(srcdir)/,$(libgvc_la_gir_sources))
+INTROSPECTION_GIRS += Gvc-1.0.gir
\ No newline at end of file
diff --git a/src/Makefile.am b/src/Makefile.am
index c5fd0aa..f15bf95 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,7 +7,15 @@ libexec_PROGRAMS =
noinst_LTLIBRARIES =
noinst_PROGRAMS =
-.AUTOPARALLEL:
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --warn-all --warn-error --add-include-path=$(srcdir)
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=$(MUTTER_LIB_DIR)/mutter/
+
+typelibdir = $(pkglibdir)
+typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES += $(gir_DATA) $(typelib_DATA)
generated_bin_scripts = gnome-shell-installed gnome-shell-jhbuild gnome-shell-extension-tool
bin_SCRIPTS += gnome-shell $(generated_bin_scripts)
@@ -238,83 +246,29 @@ libgnome_shell_la_LIBADD = \
libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags) $(LIBECAL_CFLAGS)
-typelibdir = $(pkglibdir)
-typelib_DATA = Shell-0.1.typelib St-1.0.typelib Gdm-1.0.typelib Gvc-1.0.typelib
-
-Shell-0.1.gir: $(mutter) $(G_IR_SCANNER) St-1.0.gir libgnome-shell.la Makefile
- $(AM_V_GEN) $(G_IR_SCANNER) \
- --namespace=Shell \
- --nsversion=0.1 \
- --warn-all \
- --warn-error \
- --add-include-path=$(MUTTER_LIB_DIR)/mutter/ \
- --include=Clutter-1.0 \
- --include=ClutterX11-1.0 \
- --include=Meta-2.91 \
- --include=TelepathyGLib-0.12 \
- --libtool="$(LIBTOOL)" \
- --add-include-path=$(builddir) \
- --include=St-1.0 \
- --program=mutter \
- --program-arg=--mutter-plugins=$$(pwd)/libgnome-shell.la \
- $(addprefix $(srcdir)/,$(libgnome_shell_la_gir_sources)) \
- $(libgnome_shell_la_CPPFLAGS) \
- -I $(srcdir) \
- -o $@
-CLEANFILES += Shell-0.1.gir
-
-# The dependency on libgnome-shell.la here is because g-ir-compiler opens it
-# (not the fake library, since we've already done the rewriting)
-Shell-0.1.typelib: libgnome-shell.la Shell-0.1.gir
- $(AM_V_GEN) \
- $(G_IR_COMPILER) \
- --includedir=. \
- --includedir=$(MUTTER_LIB_DIR)/mutter/ \
- Shell-0.1.gir -o $@
-CLEANFILES += Shell-0.1.typelib
-
-St-1.0.gir: $(mutter) $(G_IR_SCANNER) libst-1.0.la Makefile
- $(AM_V_GEN) $(G_IR_SCANNER) \
- --namespace=St \
- --nsversion=1.0 \
- --warn-all \
- --warn-error \
- --include=Clutter-1.0 \
- --include=Gtk-3.0 \
- --add-include-path=$(builddir) \
- --libtool="$(LIBTOOL)" \
- --library=libst-1.0.la \
- -DST_COMPILATION \
- $(filter-out %-private.h $(st_non_gir_sources), $(addprefix $(srcdir)/,$(st_source_h))) \
- $(addprefix $(srcdir)/,$(st_source_c)) \
- $(srcdir)/st-enum-types.h \
- $(st_cflags) \
- -o $@
-CLEANFILES += St-1.0.gir
-
-St-1.0.typelib: St-1.0.gir
- $(AM_V_GEN) $(G_IR_COMPILER) \
- $< -o $@
-
-CLEANFILES += St-1.0.typelib
-
-Gdm-1.0.gir: $(mutter) $(G_IR_SCANNER) libgdmuser-1.0.la Makefile
- $(AM_V_GEN) $(G_IR_SCANNER) \
- --namespace=Gdm \
- --nsversion=1.0 \
- --warn-all \
- --warn-error \
- --include=GObject-2.0 \
- --include=GdkPixbuf-2.0 \
- --libtool="$(LIBTOOL)" \
- --library=libgdmuser-1.0.la \
- $(filter-out %-private.h, $(addprefix $(srcdir)/,$(gdmuser_source_h))) \
- $(addprefix $(srcdir)/,$(gdmuser_source_c)) \
- $(gdmuser_cflags) \
- -o $@
-CLEANFILES += Gdm-1.0.gir
-
-Gdm-1.0.typelib: Gdm-1.0.gir
- $(AM_V_GEN) $(G_IR_COMPILER) Gdm-1.0.gir -o $@
-CLEANFILES += Gdm-1.0.typelib
-
+Shell-0.1.gir: libgnome-shell.la St-1.0.gir
+Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-2.91 TelepathyGLib-0.12
+Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
+Shell_0_1_gir_LIBS = libgnome-shell.la
+Shell_0_1_gir_FILES = $(addprefix $(srcdir)/,$(libgnome_shell_la_gir_sources))
+Shell_0_1_gir_SCANNERFLAGS = --include-uninstalled=$(builddir)/St-1.0.gir \
+ --add-include-path=$(MUTTER_LIB_DIR)/mutter/ \
+ --program=mutter \
+ --program-arg=--mutter-plugins=`pwd`/libgnome-shell.la
+INTROSPECTION_GIRS += Shell-0.1.gir
+
+St-1.0.gir: libst-1.0.la
+St_1_0_gir_INCLUDES = Clutter-1.0 Gtk-3.0
+St_1_0_gir_CFLAGS = $(st_cflags) -DST_COMPILATION
+St_1_0_gir_LIBS = libst-1.0.la
+St_1_0_gir_FILES = $(filter-out %-private.h $(st_non_gir_sources), $(addprefix $(srcdir)/,$(st_source_h))) \
+ $(addprefix $(srcdir)/,$(st_source_c))
+INTROSPECTION_GIRS += St-1.0.gir
+
+Gdm-1.0.gir: libgdmuser-1.0.la
+Gdm_1_0_gir_INCLUDES = GObject-2.0 GdkPixbuf-2.0
+Gdm_1_0_gir_CFLAGS = $(gdmuser_cflags)
+Gdm_1_0_gir_LIBS = libgdmuser-1.0.la
+Gdm_1_0_gir_FILES = $(filter-out %-private.h, $(addprefix $(srcdir)/,$(gdmuser_source_h))) \
+ $(addprefix $(srcdir)/,$(gdmuser_source_c))
+INTROSPECTION_GIRS += Gdm-1.0.gir
diff --git a/src/gvc/gvc-pulseaudio-fake.h b/src/gvc/gvc-pulseaudio-fake.h
index 65293cd..ab8f6b4 100644
--- a/src/gvc/gvc-pulseaudio-fake.h
+++ b/src/gvc/gvc-pulseaudio-fake.h
@@ -24,9 +24,9 @@
#ifdef WITH_INTROSPECTION
#ifndef PA_API_VERSION
-typedef int pa_channel_position_t;
-typedef guint32 pa_volume_t;
-typedef gpointer pa_context;
+#define pa_channel_position_t int
+#define pa_volume_t guint32
+#define pa_context gpointer
#endif /* PA_API_VERSION */
#endif /* WITH_INTROSPECTION */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]