introspection: Build fixes

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
This commit is contained in:
Colin Walters 2010-09-02 11:45:42 -04:00 committed by Emmanuele Bassi
parent 24b12d626c
commit f7854dd90f
4 changed files with 16 additions and 25 deletions

View File

@ -318,9 +318,7 @@ EXTRA_DIST += clutter-version.h.in
BUILT_GIRSOURCES = BUILT_GIRSOURCES =
if LOCAL_JSON_GLIB if LOCAL_JSON_GLIB
json_gir_include_path=--add-include-path=json json_gir_include=--include-uninstalled=$(top_builddir)/clutter/json/ClutterJson-@CLUTTER_API_VERSION@.gir
json_gir_include=--include=ClutterJson-@CLUTTER_API_VERSION@
json_gir_pkg=
# If we are building it, ClutterJson gets the same handling as described # If we are building it, ClutterJson gets the same handling as described
# for Cogl above # 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 BUILT_GIRSOURCES += ClutterJson-@CLUTTER_API_VERSION@.gir
else else
json_gir_include=--include=Json-1.0 json_gir_include=--include=Json-1.0
json_gir_pkg=--pkg json-glib-1.0
endif # LOCAL_JSON_GLIB endif # LOCAL_JSON_GLIB
if HAVE_INTROSPECTION 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 Clutter-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
$(QUIET_SCAN)$(INTROSPECTION_SCANNER) \ $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
$(INTROSPECTION_SCANNER_ARGS) \ $(INTROSPECTION_SCANNER_ARGS) \
--quiet \
--namespace Clutter --nsversion=@CLUTTER_API_VERSION@ \ --namespace Clutter --nsversion=@CLUTTER_API_VERSION@ \
--pkg-export clutter-1.0 \
--warn-all \
$(INCLUDES) \ $(INCLUDES) \
$(AM_CPPFLAGS) \ $(AM_CPPFLAGS) \
--add-include-path=cogl/cogl \
$(json_gir_include_path) \
--c-include='clutter/clutter.h' \ --c-include='clutter/clutter.h' \
--pkg-export=clutter-1.0 \
--include=GL-1.0 \ --include=GL-1.0 \
--include=GObject-2.0 \ --include=GObject-2.0 \
--include=Atk-1.0 \ --include=Atk-1.0 \
--include=Pango-1.0 \ --include=Pango-1.0 \
--include=PangoCairo-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) \ $(json_gir_include) \
--library=libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la \ --library=libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la \
--libtool="$(top_builddir)/libtool" \ --libtool="$(top_builddir)/libtool" \
--pkg gobject-2.0 \
$(json_gir_pkg) \
--pkg atk \
--pkg pango \
--pkg pangocairo \
--output $@ \ --output $@ \
$(clutter_HEADERS) \ $(clutter_HEADERS) \
$(nodist_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, # 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 # we cannot build Cally.gir under cally/ and then do the shlib trick we do
# for Cogl and ClutterJson. # 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 Cally-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) Clutter-@CLUTTER_API_VERSION@.gir
$(QUIET_SCAN)$(INTROSPECTION_SCANNER) \ $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
$(INTROSPECTION_SCANNER_ARGS) \ $(INTROSPECTION_SCANNER_ARGS) \
--quiet \
--namespace Cally --nsversion=@CLUTTER_API_VERSION@ \ --namespace Cally --nsversion=@CLUTTER_API_VERSION@ \
$(INCLUDES) \ $(INCLUDES) \
$(AM_CPPFLAGS) \ $(AM_CPPFLAGS) \
--c-include='cally/cally.h' \ --c-include='cally/cally.h' \
--add-include-path=$(top_builddir)/clutter \
--include=GObject-2.0 \
--include=Atk-1.0 \
--include=Pango-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 \ --library=libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la \
--libtool="$(top_builddir)/libtool" \ --libtool="$(top_builddir)/libtool" \
--pkg gobject-2.0 \
--pkg atk \
--pkg clutter-1.0 \
--output $@ \ --output $@ \
$(top_srcdir)/clutter/cally/*.h \ $(cally_introspection_files)
$(top_srcdir)/clutter/cally/*.c
BUILT_GIRSOURCES += Cally-@CLUTTER_API_VERSION@.gir BUILT_GIRSOURCES += Cally-@CLUTTER_API_VERSION@.gir

View File

@ -239,6 +239,7 @@ if HAVE_INTROSPECTION
Cogl-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-cogl.la Cogl-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-cogl.la
$(QUIET_SCAN)$(INTROSPECTION_SCANNER) \ $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
$(INTROSPECTION_SCANNER_ARGS) \ $(INTROSPECTION_SCANNER_ARGS) \
--quiet \
--namespace Cogl --nsversion=@CLUTTER_API_VERSION@ \ --namespace Cogl --nsversion=@CLUTTER_API_VERSION@ \
$(INCLUDES) \ $(INCLUDES) \
$(AM_CPPFLAGS) \ $(AM_CPPFLAGS) \
@ -247,7 +248,6 @@ Cogl-@CLUTTER_API_VERSION@.gir: Makefile $(INTROSPECTION_SCANNER) libclutter-cog
--include=GObject-2.0 \ --include=GObject-2.0 \
--library=libclutter-cogl.la \ --library=libclutter-cogl.la \
--libtool="$(top_builddir)/libtool" \ --libtool="$(top_builddir)/libtool" \
--pkg gobject-2.0 \
--output $@ \ --output $@ \
$(cogl_headers) cogl-enum-types.h $(cogl_headers) cogl-enum-types.h

View File

@ -44,13 +44,12 @@ BUILT_GIRSOURCES =
ClutterJson-@CLUTTER_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libclutter-json.la ClutterJson-@CLUTTER_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libclutter-json.la
$(QUIET_SCAN)$(INTROSPECTION_SCANNER) \ $(QUIET_SCAN)$(INTROSPECTION_SCANNER) \
$(INTROSPECTION_SCANNER_ARGS) \ $(INTROSPECTION_SCANNER_ARGS) \
--quiet \
--namespace ClutterJson --nsversion=@CLUTTER_API_VERSION@ \ --namespace ClutterJson --nsversion=@CLUTTER_API_VERSION@ \
$(INCLUDES) \ $(INCLUDES) \
--add-include-path=$(srcdir) --add-include-path=. \
--include=GObject-2.0 \ --include=GObject-2.0 \
--library=libclutter-json.la \ --library=libclutter-json.la \
--libtool="$(top_builddir)/libtool" \ --libtool="$(top_builddir)/libtool" \
--pkg gobject-2.0 \
--output $@ \ --output $@ \
$(clutterjson_HEADERS) \ $(clutterjson_HEADERS) \
$(source_c) $(source_c)

View File

@ -1030,7 +1030,7 @@ AC_SUBST(CLUTTER_LIBS)
dnl === GObject-Introspection check =========================================== 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. # --quiet has been added in in the 0.9.1 development cycle.
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= 0.9.2], PKG_CHECK_EXISTS([gobject-introspection-1.0 >= 0.9.2],