introspection: Build fixes
authorColin Walters <walters@verbum.org>
Thu, 2 Sep 2010 15:45:42 +0000 (11:45 -0400)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 3 Sep 2010 10:38:22 +0000 (11:38 +0100)
This patch merges in substantial work from
Emmanuele Bassi <ebassi@linux.intel.com>

* Use new introspection --include-uninstalled API since we don't want
  to try to find the clutter-1.0.pc file before it's installed.
* Use --pkg-export for Clutter-1.0.gir, since we want the .gir file to
  contain the associated pkg-config file.
* Drop the use of --pkg for dependencies; those come from the associated
  .gir files.  (Actually, --pkg is almost never needed)
* Add --quiet

http://bugzilla.clutter-project.org/show_bug.cgi?id=2292

clutter/Makefile.am
clutter/cogl/cogl/Makefile.am
clutter/json/Makefile.am
configure.ac

index ef1451f..4517862 100644 (file)
@@ -318,9 +318,7 @@ EXTRA_DIST += clutter-version.h.in
 BUILT_GIRSOURCES =
 
 if LOCAL_JSON_GLIB
-json_gir_include_path=--add-include-path=json
-json_gir_include=--include=ClutterJson-@CLUTTER_API_VERSION@
-json_gir_pkg=
+json_gir_include=--include-uninstalled=$(top_builddir)/clutter/json/ClutterJson-@CLUTTER_API_VERSION@.gir
 
 # If we are building it, ClutterJson gets the same handling as described
 # for Cogl above
@@ -332,7 +330,6 @@ ClutterJson-@CLUTTER_API_VERSION@.gir: Makefile Clutter-@CLUTTER_API_VERSION@.gi
 BUILT_GIRSOURCES += ClutterJson-@CLUTTER_API_VERSION@.gir
 else
 json_gir_include=--include=Json-1.0
-json_gir_pkg=--pkg json-glib-1.0
 endif # LOCAL_JSON_GLIB
 
 if HAVE_INTROSPECTION
@@ -343,26 +340,23 @@ if HAVE_INTROSPECTION
 Clutter-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
        $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
                $(INTROSPECTION_SCANNER_ARGS) \
+               --quiet \
                --namespace Clutter --nsversion=@CLUTTER_API_VERSION@ \
+               --pkg-export clutter-1.0 \
+               --warn-all \
                $(INCLUDES) \
                $(AM_CPPFLAGS) \
-               --add-include-path=cogl/cogl \
-               $(json_gir_include_path) \
                --c-include='clutter/clutter.h' \
+               --pkg-export=clutter-1.0 \
                --include=GL-1.0 \
                --include=GObject-2.0 \
                --include=Atk-1.0 \
                --include=Pango-1.0 \
                --include=PangoCairo-1.0 \
-               --include=Cogl-@CLUTTER_API_VERSION@ \
+               --include-uninstalled=$(top_builddir)/clutter/cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir \
                $(json_gir_include) \
                --library=libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la \
                --libtool="$(top_builddir)/libtool" \
-               --pkg gobject-2.0 \
-               $(json_gir_pkg) \
-               --pkg atk \
-               --pkg pango \
-               --pkg pangocairo \
                --output $@ \
                $(clutter_HEADERS) \
                $(nodist_clutter_HEADERS) \
@@ -390,26 +384,24 @@ BUILT_GIRSOURCES += Cogl-@CLUTTER_API_VERSION@.gir
 # Cally depends on Clutter because it exposes Clutter types; for this reason,
 # we cannot build Cally.gir under cally/ and then do the shlib trick we do
 # for Cogl and ClutterJson.
+cally_sources=$(top_srcdir)/clutter/cally/*.h $(top_srcdir)/clutter/cally/*.c
+cally_introspection_files=$(filter-out %-private.h, $(cally_sources))
 Cally-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) Clutter-@CLUTTER_API_VERSION@.gir
        $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
                $(INTROSPECTION_SCANNER_ARGS) \
+               --quiet \
                --namespace Cally --nsversion=@CLUTTER_API_VERSION@ \
                $(INCLUDES) \
                $(AM_CPPFLAGS) \
                --c-include='cally/cally.h' \
-               --add-include-path=$(top_builddir)/clutter \
-               --include=GObject-2.0 \
-               --include=Atk-1.0 \
                --include=Pango-1.0 \
-               --include=Clutter-1.0 \
+               $(json_gir_include) \
+               --include-uninstalled=$(top_builddir)/clutter/cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir \
+               --include-uninstalled=$(top_builddir)/clutter/Clutter-@CLUTTER_API_VERSION@.gir \
                --library=libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la \
                --libtool="$(top_builddir)/libtool" \
-               --pkg gobject-2.0 \
-               --pkg atk \
-               --pkg clutter-1.0 \
                --output $@ \
-               $(top_srcdir)/clutter/cally/*.h \
-               $(top_srcdir)/clutter/cally/*.c
+               $(cally_introspection_files)
 
 BUILT_GIRSOURCES += Cally-@CLUTTER_API_VERSION@.gir
 
index 9ba4e4f..4de6fae 100644 (file)
@@ -239,6 +239,7 @@ if HAVE_INTROSPECTION
 Cogl-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-cogl.la
        $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
                $(INTROSPECTION_SCANNER_ARGS) \
+               --quiet \
                --namespace Cogl --nsversion=@CLUTTER_API_VERSION@ \
                $(INCLUDES) \
                $(AM_CPPFLAGS) \
@@ -247,7 +248,6 @@ Cogl-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-cog
                --include=GObject-2.0 \
                --library=libclutter-cogl.la \
                --libtool="$(top_builddir)/libtool" \
-               --pkg gobject-2.0 \
                --output $@ \
                $(cogl_headers) cogl-enum-types.h
 
index d3f254a..19d5080 100644 (file)
@@ -44,13 +44,12 @@ BUILT_GIRSOURCES =
 ClutterJson-@CLUTTER_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libclutter-json.la
        $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
                $(INTROSPECTION_SCANNER_ARGS) \
+               --quiet \
                --namespace ClutterJson --nsversion=@CLUTTER_API_VERSION@ \
                $(INCLUDES) \
-               --add-include-path=$(srcdir) --add-include-path=. \
                --include=GObject-2.0 \
                --library=libclutter-json.la \
                --libtool="$(top_builddir)/libtool" \
-               --pkg gobject-2.0 \
                --output $@ \
                $(clutterjson_HEADERS) \
                $(source_c)
index ff6ac27..41a4ca5 100644 (file)
@@ -1030,7 +1030,7 @@ AC_SUBST(CLUTTER_LIBS)
 
 dnl === GObject-Introspection check ===========================================
 
-GOBJECT_INTROSPECTION_CHECK([0.6.14])
+GOBJECT_INTROSPECTION_CHECK([0.9.5])
 
 # --quiet has been added in in the 0.9.1 development cycle.
 PKG_CHECK_EXISTS([gobject-introspection-1.0 >= 0.9.2],