summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--clutter/clutter/Makefile.am106
-rw-r--r--clutter/clutter/mutter-clutter.pc.in6
-rw-r--r--clutter/configure.ac15
-rw-r--r--clutter/examples/Makefile.am2
-rw-r--r--clutter/tests/accessibility/Makefile.am2
-rw-r--r--clutter/tests/conform/Makefile.am2
-rw-r--r--clutter/tests/interactive/Makefile.am4
-rw-r--r--clutter/tests/micro-bench/Makefile.am4
-rw-r--r--clutter/tests/performance/Makefile.am2
-rw-r--r--cogl/cogl-gles2/Makefile.am8
-rw-r--r--cogl/cogl-gles2/mutter-cogl-gles2.pc.in (renamed from cogl/cogl-gles2/mutter-cogl-gles2-1.0.pc.in)8
-rw-r--r--cogl/cogl-pango/Makefile.am36
-rw-r--r--cogl/cogl-pango/mutter-cogl-pango.pc.in (renamed from cogl/cogl-pango/mutter-cogl-pango-1.0.pc.in)8
-rw-r--r--cogl/cogl-path/Makefile.am18
-rw-r--r--cogl/cogl-path/mutter-cogl-path.pc.in (renamed from cogl/cogl-path/mutter-cogl-path-1.0.pc.in)8
-rw-r--r--cogl/cogl/Makefile.am36
-rw-r--r--cogl/cogl/mutter-cogl.pc.in (renamed from cogl/cogl/mutter-cogl-1.0.pc.in)6
-rw-r--r--cogl/configure.ac18
-rw-r--r--cogl/tests/conform/Makefile.am4
-rw-r--r--cogl/tests/micro-perf/Makefile.am2
-rw-r--r--cogl/tests/unit/Makefile.am4
-rw-r--r--configure.ac28
-rw-r--r--src/Makefile-tests.am8
-rw-r--r--src/Makefile.am80
-rw-r--r--src/libmutter.pc.in5
26 files changed, 235 insertions, 186 deletions
diff --git a/.gitignore b/.gitignore
index c74327338..56fb267d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -86,6 +86,7 @@ src/pointer-constraints-unstable-v*-server-protocol.h
src/xdg-foreign-unstable-v*-protocol.c
src/xdg-foreign-unstable-v*-server-protocol.h
src/meta/meta-version.h
+src/libmutter-*.pc
doc/reference/*.args
doc/reference/*.bak
doc/reference/*.hierarchy
diff --git a/clutter/clutter/Makefile.am b/clutter/clutter/Makefile.am
index c222d2ec8..1ffb56cd0 100644
--- a/clutter/clutter/Makefile.am
+++ b/clutter/clutter/Makefile.am
@@ -37,7 +37,7 @@ AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
INTROSPECTION_GIRS =
# the base include path for headers
-clutter_base_includedir = $(includedir)/mutter/clutter-$(CLUTTER_API_VERSION)
+clutter_base_includedir = $(includedir)/mutter/clutter-$(LIBMUTTER_API_VERSION)
clutter_includedir = $(clutter_base_includedir)/clutter
clutter_deprecateddir = $(clutter_base_includedir)/clutter/deprecated
@@ -356,7 +356,7 @@ EXTRA_DIST += clutter-version.h.in clutter-version.h
# key symbol update script
EXTRA_DIST += clutter-keysyms-update.pl
-pc_files += mutter-clutter-$(CLUTTER_API_VERSION).pc
+pc_files += mutter-clutter-$(LIBMUTTER_API_VERSION).pc
# in order to be compatible with Clutter < 1.10, when we shipped a single
# shared library whose name was determined by the single backend it
@@ -442,10 +442,10 @@ x11_introspection = $(x11_source_c) $(x11_source_h)
clutterx11_includedir = $(clutter_includedir)/x11
clutterx11_include_HEADERS = $(x11_source_h)
-mutter-clutter-x11-$(CLUTTER_API_VERSION).pc: mutter-clutter-$(CLUTTER_API_VERSION).pc
+mutter-clutter-x11-@LIBMUTTER_API_VERSION@.pc: mutter-clutter-$(LIBMUTTER_API_VERSION).pc
$(QUIET_GEN)cp -f $< $(@F)
-pc_files += mutter-clutter-x11-$(CLUTTER_API_VERSION).pc
+pc_files += mutter-clutter-x11-$(LIBMUTTER_API_VERSION).pc
# Shared cogl backend files
cogl_source_h =
@@ -583,17 +583,17 @@ nodist_clutter_include_HEADERS = clutter-config.h $(built_source_h)
clutter_deprecated_HEADERS = $(deprecated_h)
mutterlibdir = $(libdir)/mutter
-mutterlib_LTLIBRARIES = libmutter-clutter-@CLUTTER_API_VERSION@.la
+mutterlib_LTLIBRARIES = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
-libmutter_clutter_@CLUTTER_API_VERSION@_la_LIBADD = \
+libmutter_clutter_@LIBMUTTER_API_VERSION@_la_LIBADD = \
$(LIBM) \
$(CLUTTER_LIBS) \
- $(top_builddir)/../cogl/cogl/libmutter-cogl.la \
- $(top_builddir)/../cogl/cogl-pango/libmutter-cogl-pango.la \
- $(top_builddir)/../cogl/cogl-path/libmutter-cogl-path.la \
+ $(top_builddir)/../cogl/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
+ $(top_builddir)/../cogl/cogl-pango/libmutter-cogl-pango-$(LIBMUTTER_API_VERSION).la \
+ $(top_builddir)/../cogl/cogl-path/libmutter-cogl-path-$(LIBMUTTER_API_VERSION).la \
$(NULL)
-libmutter_clutter_@CLUTTER_API_VERSION@_la_SOURCES = \
+libmutter_clutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
$(backend_source_c) \
$(backend_source_h) \
$(backend_source_c_priv) \
@@ -611,12 +611,12 @@ libmutter_clutter_@CLUTTER_API_VERSION@_la_SOURCES = \
$(cally_sources_private) \
$(NULL)
-nodist_libmutter_clutter_@CLUTTER_API_VERSION@_la_SOURCES = \
+nodist_libmutter_clutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
$(backend_source_built) \
$(built_source_c) \
$(built_source_h)
-libmutter_clutter_@CLUTTER_API_VERSION@_la_LDFLAGS = \
+libmutter_clutter_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
$(CLUTTER_LINK_FLAGS) \
$(CLUTTER_LT_LDFLAGS) \
-export-dynamic \
@@ -630,13 +630,13 @@ install-exec-local:
rm -f $$lib.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION); \
) ; \
(cd $(DESTDIR)$(mutterlibdir) && \
- { ln -s -f libmutter-clutter-$(CLUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0 || \
- { rm -f $$lib.0 && ln -s libmutter-clutter-1.0.so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0; }; \
+ { ln -s -f libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0 || \
+ { rm -f $$lib.0 && ln -s libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0; }; \
} \
) ; \
(cd $(DESTDIR)$(mutterlibdir) && \
- { ln -s -f libmutter-clutter-$(CLUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib || \
- { rm -f $$lib && ln -s libmutter-clutter-1.0.so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib; }; \
+ { ln -s -f libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib || \
+ { rm -f $$lib && ln -s libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib; }; \
} \
) ; \
done
@@ -644,59 +644,65 @@ install-exec-local:
# gobject-introspection rules
-include $(INTROSPECTION_MAKEFILE)
-INTROSPECTION_SCANNER_ARGS = --add-include-path=$(top_builddir)/../cogl/cogl --add-include-path=$(top_builddir)/../cogl/cogl-pango
-INTROSPECTION_COMPILER_ARGS = --includedir=$(top_builddir)/../cogl/cogl --includedir=$(top_builddir)/../cogl/cogl-pango
-
-Clutter-@CLUTTER_API_VERSION@.gir: libmutter-clutter-@CLUTTER_API_VERSION@.la Makefile
-
-Clutter_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = Clutter
-Clutter_@CLUTTER_API_VERSION_AM@_gir_VERSION = @CLUTTER_API_VERSION@
-Clutter_@CLUTTER_API_VERSION_AM@_gir_LIBS = libmutter-clutter-@CLUTTER_API_VERSION@.la
-Clutter_@CLUTTER_API_VERSION_AM@_gir_FILES = \
+INTROSPECTION_SCANNER_ARGS = \
+ --add-include-path=$(top_builddir)/../cogl/cogl \
+ --add-include-path=$(top_builddir)/../cogl/cogl-pango
+INTROSPECTION_COMPILER_ARGS = \
+ --includedir=$(top_builddir)/../cogl/cogl \
+ --includedir=$(top_builddir)/../cogl/cogl-pango
+INTROSPECTION_SCANNER_ENV = \
+ PKG_CONFIG_PATH=$(top_builddir)/../cogl/cogl/:$(top_builddir)/../cogl/cogl-pango/:$${PKG_CONFIG_PATH}
+
+Clutter-@LIBMUTTER_API_VERSION@.gir: libmutter-clutter-@LIBMUTTER_API_VERSION@.la Makefile
+
+Clutter_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = Clutter
+Clutter_@LIBMUTTER_API_VERSION@_gir_VERSION = @LIBMUTTER_API_VERSION@
+Clutter_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
+Clutter_@LIBMUTTER_API_VERSION@_gir_FILES = \
$(clutter_include_HEADERS) \
$(clutter_deprecated_HEADERS) \
$(nodist_clutter_include_HEADERS) \
$(source_c) \
$(deprecated_c) \
$(built_source_c)
-Clutter_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
-Clutter_@CLUTTER_API_VERSION_AM@_gir_INCLUDES = GL-1.0 GObject-2.0 cairo-1.0 Cogl-1.0 CoglPango-1.0 Atk-1.0 Json-1.0
-Clutter_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
+Clutter_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
+Clutter_@LIBMUTTER_API_VERSION@_gir_INCLUDES = GL-1.0 GObject-2.0 cairo-1.0 Cogl-@LIBMUTTER_API_VERSION@ CoglPango-@LIBMUTTER_API_VERSION@ Atk-1.0 Json-1.0
+Clutter_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
--warn-all \
--c-include='clutter/clutter.h' \
- --pkg-export=mutter-clutter-@CLUTTER_API_VERSION@
+ --pkg-export=mutter-clutter-@LIBMUTTER_API_VERSION@
-INTROSPECTION_GIRS += Clutter-@CLUTTER_API_VERSION@.gir
+INTROSPECTION_GIRS += Clutter-@LIBMUTTER_API_VERSION@.gir
-Cally-@CLUTTER_API_VERSION@.gir: Makefile Clutter-@CLUTTER_API_VERSION@.gir
+Cally-@LIBMUTTER_API_VERSION@.gir: Makefile Clutter-@LIBMUTTER_API_VERSION@.gir
-Cally_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = Cally
-Cally_@CLUTTER_API_VERSION_AM@_gir_VERSION = @CLUTTER_API_VERSION@
-Cally_@CLUTTER_API_VERSION_AM@_gir_LIBS = libmutter-clutter-@CLUTTER_API_VERSION@.la
-Cally_@CLUTTER_API_VERSION_AM@_gir_FILES = $(cally_sources_h) $(cally_sources_c)
-Cally_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
-Cally_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
+Cally_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = Cally
+Cally_@LIBMUTTER_API_VERSION@_gir_VERSION = @LIBMUTTER_API_VERSION@
+Cally_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
+Cally_@LIBMUTTER_API_VERSION@_gir_FILES = $(cally_sources_h) $(cally_sources_c)
+Cally_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
+Cally_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
--warn-all \
--c-include='cally/cally.h' \
- --pkg-export=mutter-cally-@CLUTTER_API_VERSION@ \
- --include-uninstalled=$(top_builddir)/clutter/Clutter-@CLUTTER_API_VERSION@.gir
+ --pkg-export=mutter-cally-@LIBMUTTER_API_VERSION@ \
+ --include-uninstalled=$(top_builddir)/clutter/Clutter-@LIBMUTTER_API_VERSION@.gir
-INTROSPECTION_GIRS += Cally-@CLUTTER_API_VERSION@.gir
+INTROSPECTION_GIRS += Cally-@LIBMUTTER_API_VERSION@.gir
-ClutterX11-@CLUTTER_API_VERSION@.gir: Makefile Clutter-@CLUTTER_API_VERSION@.gir
+ClutterX11-@LIBMUTTER_API_VERSION@.gir: Makefile Clutter-@LIBMUTTER_API_VERSION@.gir
-ClutterX11_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = ClutterX11
-ClutterX11_@CLUTTER_API_VERSION_AM@_gir_INCLUDES = xlib-2.0
-ClutterX11_@CLUTTER_API_VERSION_AM@_gir_LIBS = libmutter-clutter-@CLUTTER_API_VERSION@.la
-ClutterX11_@CLUTTER_API_VERSION_AM@_gir_FILES = $(x11_introspection)
-ClutterX11_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
-ClutterX11_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
+ClutterX11_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = ClutterX11
+ClutterX11_@LIBMUTTER_API_VERSION@_gir_INCLUDES = xlib-2.0
+ClutterX11_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
+ClutterX11_@LIBMUTTER_API_VERSION@_gir_FILES = $(x11_introspection)
+ClutterX11_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
+ClutterX11_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
--warn-all \
--c-include='clutter/x11/clutter-x11.h' \
- --pkg-export=mutter-clutter-x11-@CLUTTER_API_VERSION@ \
- --include-uninstalled=$(top_builddir)/clutter/Clutter-@CLUTTER_API_VERSION@.gir
+ --pkg-export=mutter-clutter-x11-@LIBMUTTER_API_VERSION@ \
+ --include-uninstalled=$(top_builddir)/clutter/Clutter-@LIBMUTTER_API_VERSION@.gir
-INTROSPECTION_GIRS += ClutterX11-@CLUTTER_API_VERSION@.gir
+INTROSPECTION_GIRS += ClutterX11-@LIBMUTTER_API_VERSION@.gir
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
diff --git a/clutter/clutter/mutter-clutter.pc.in b/clutter/clutter/mutter-clutter.pc.in
index c3e31a552..2a93161fd 100644
--- a/clutter/clutter/mutter-clutter.pc.in
+++ b/clutter/clutter/mutter-clutter.pc.in
@@ -3,8 +3,8 @@ exec_prefix=@exec_prefix@
libdir=@libdir@/mutter
includedir=@includedir@/mutter
-apiversion=@CLUTTER_API_VERSION@
-requires=@CLUTTER_REQUIRES@ mutter-cogl-1.0
+apiversion=@LIBMUTTER_API_VERSION@
+requires=@CLUTTER_REQUIRES@ mutter-cogl-@LIBMUTTER_API_VERSION@
requires_private=@CLUTTER_REQUIRES_PRIVATE@
backends=@CLUTTER_BACKENDS@
@@ -17,7 +17,7 @@ cogl_driver=deprecated
Name: Mutter Clutter
Description: Mutter's Clutter Private Library
-Version: @VERSION@
+Version: @MUTTER_VERSION@
Libs: -L${libdir} -lmutter-clutter-${apiversion}
Cflags: -I${includedir}/clutter-${apiversion}
Requires: ${requires}
diff --git a/clutter/configure.ac b/clutter/configure.ac
index f334cc1fd..61813bbdd 100644
--- a/clutter/configure.ac
+++ b/clutter/configure.ac
@@ -42,9 +42,6 @@ m4_define([clutter_release_status],
m4_define([clutter_version], [clutter_major_version.clutter_minor_version.clutter_micro_version])
-# change this only when breaking the API
-m4_define([clutter_api_version], [1.0])
-
AC_PREREQ([2.63])
AC_INIT([clutter],
@@ -61,12 +58,18 @@ AC_CONFIG_MACRO_DIR([build/autotools])
AM_INIT_AUTOMAKE([1.11 foreign -Wno-portability no-define no-dist-gzip dist-xz tar-ustar])
AM_SILENT_RULES([yes])
+dnl = Check that we are configured by mutter ==============================
+
+AC_ARG_VAR([MUTTER_VERSION])
+AC_ARG_VAR([LIBMUTTER_API_VERSION])
+
+AS_IF([test "x$MUTTER_VERSION" = "x"],
+ [AC_MSG_ERROR([Clutter can only be configured by mutter])],)
+
AC_SUBST([CLUTTER_MAJOR_VERSION], [clutter_major_version])
AC_SUBST([CLUTTER_MINOR_VERSION], [clutter_minor_version])
AC_SUBST([CLUTTER_MICRO_VERSION], [clutter_micro_version])
AC_SUBST([CLUTTER_VERSION], [clutter_version])
-AC_SUBST([CLUTTER_API_VERSION], [clutter_api_version])
-AC_SUBST([CLUTTER_API_VERSION_AM], [$CLUTTER_MAJOR_VERSION\_0])
AC_SUBST([CLUTTER_RELEASE_STATUS], [clutter_release_status])
m4_define([lt_current], [m4_eval(100 * clutter_minor_version + clutter_micro_version - clutter_interface_age)])
@@ -781,7 +784,7 @@ AC_CONFIG_FILES([
clutter/Makefile
clutter/clutter-config.h
clutter/clutter-version.h
- clutter/mutter-clutter-$CLUTTER_API_VERSION.pc:clutter/mutter-clutter.pc.in
+ clutter/mutter-clutter-$LIBMUTTER_API_VERSION.pc:clutter/mutter-clutter.pc.in
tests/Makefile
tests/accessibility/Makefile
diff --git a/clutter/examples/Makefile.am b/clutter/examples/Makefile.am
index 71c44599d..1680a4a1d 100644
--- a/clutter/examples/Makefile.am
+++ b/clutter/examples/Makefile.am
@@ -21,7 +21,7 @@ all_examples += \
image-content
endif
-LDADD = $(top_builddir)/clutter/libmutter-clutter-@CLUTTER_API_VERSION@.la $(CLUTTER_LIBS) $(GDK_PIXBUF_LIBS) $(LIBM)
+LDADD = $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la $(CLUTTER_LIBS) $(GDK_PIXBUF_LIBS) $(LIBM)
AM_CFLAGS = $(CLUTTER_CFLAGS) $(GDK_PIXBUF_CFLAGS) $(MAINTAINER_CFLAGS)
AM_CPPFLAGS = \
-DG_DISABLE_SINGLE_INCLUDES \
diff --git a/clutter/tests/accessibility/Makefile.am b/clutter/tests/accessibility/Makefile.am
index dfcd79e1c..67ccf6a84 100644
--- a/clutter/tests/accessibility/Makefile.am
+++ b/clutter/tests/accessibility/Makefile.am
@@ -1,5 +1,5 @@
common_ldadd = \
- $(top_builddir)/clutter/libmutter-clutter-@CLUTTER_API_VERSION@.la
+ $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la
common_sources = \
cally-examples-util.c \
diff --git a/clutter/tests/conform/Makefile.am b/clutter/tests/conform/Makefile.am
index a9e62bd70..369e1c1c1 100644
--- a/clutter/tests/conform/Makefile.am
+++ b/clutter/tests/conform/Makefile.am
@@ -3,7 +3,7 @@ installed_testdir = $(libexecdir)/installed-tests/mutter-clutter
include $(top_srcdir)/build/autotools/glib-tap.mk
AM_CFLAGS = -g $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
-LDADD = $(top_builddir)/../cogl/cogl/libmutter-cogl.la $(top_builddir)/clutter/libmutter-clutter-1.0.la $(CLUTTER_LIBS) $(LIBM)
+LDADD = $(top_builddir)/../cogl/cogl/libmutter-cogl-@LIBMUTTER_API_VERSION@.la $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la $(CLUTTER_LIBS) $(LIBM)
AM_LDFLAGS = -export-dynamic
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Clutter-Conform\" \
diff --git a/clutter/tests/interactive/Makefile.am b/clutter/tests/interactive/Makefile.am
index a432b6b25..34b6ac45a 100644
--- a/clutter/tests/interactive/Makefile.am
+++ b/clutter/tests/interactive/Makefile.am
@@ -110,8 +110,8 @@ clean-wrappers:
.PHONY: wrappers clean-wrappers
common_ldadd = \
- $(top_builddir)/clutter/libmutter-clutter-@CLUTTER_API_VERSION@.la \
- $(top_builddir)/../cogl/cogl/libmutter-cogl.la
+ $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la \
+ $(top_builddir)/../cogl/cogl/libmutter-cogl-@LIBMUTTER_API_VERSION@.la
check_PROGRAMS = test-interactive
check_SCRIPTS = wrappers
diff --git a/clutter/tests/micro-bench/Makefile.am b/clutter/tests/micro-bench/Makefile.am
index 09e42010e..a3320c492 100644
--- a/clutter/tests/micro-bench/Makefile.am
+++ b/clutter/tests/micro-bench/Makefile.am
@@ -1,6 +1,6 @@
common_ldadd = \
- $(top_builddir)/clutter/libmutter-clutter-@CLUTTER_API_VERSION@.la \
- $(top_builddir)/../cogl/cogl/libmutter-cogl.la
+ $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la \
+ $(top_builddir)/../cogl/cogl/libmutter-cogl-@LIBMUTTER_API_VERSION@.la
check_PROGRAMS = \
diff --git a/clutter/tests/performance/Makefile.am b/clutter/tests/performance/Makefile.am
index 8ed3f1927..145b77902 100644
--- a/clutter/tests/performance/Makefile.am
+++ b/clutter/tests/performance/Makefile.am
@@ -7,7 +7,7 @@ check_PROGRAMS = \
test-state-mini \
test-state-pick
-common_ldadd = $(top_builddir)/clutter/libmutter-clutter-@CLUTTER_API_VERSION@.la
+common_ldadd = $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la
LDADD = $(common_ldadd) $(CLUTTER_LIBS) $(LIBM)
diff --git a/cogl/cogl-gles2/Makefile.am b/cogl/cogl-gles2/Makefile.am
index d8650e558..f7adf43ca 100644
--- a/cogl/cogl-gles2/Makefile.am
+++ b/cogl/cogl-gles2/Makefile.am
@@ -3,7 +3,7 @@
NULL =
mutterlibdir = $(libdir)/mutter
-mutterlib_LTLIBRARIES = libmutter-cogl-gles2.la
+mutterlib_LTLIBRARIES = libmutter-cogl-gles2-@LIBMUTTER_API_VERSION@.la
AM_CPPFLAGS = \
-I$(top_srcdir) \
@@ -11,8 +11,8 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
-libmutter_cogl_gles2_la_SOURCES = cogl-gles2-api.c
-libmutter_cogl_gles2_la_LDFLAGS = \
+libmutter_cogl_gles2_@LIBMUTTER_API_VERSION@_la_SOURCES = cogl-gles2-api.c
+libmutter_cogl_gles2_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
-no-undefined \
-rpath $(mutterlibdir) \
-avoid-version \
@@ -25,7 +25,7 @@ coglgles2include_HEADERS = \
GLES2/gl2ext.h \
GLES2/gl2platform.h
-pc_files = mutter-cogl-gles2-1.0.pc
+pc_files = mutter-cogl-gles2-$(LIBMUTTER_API_VERSION).pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pc_files)
diff --git a/cogl/cogl-gles2/mutter-cogl-gles2-1.0.pc.in b/cogl/cogl-gles2/mutter-cogl-gles2.pc.in
index a66935318..d9e75cd79 100644
--- a/cogl/cogl-gles2/mutter-cogl-gles2-1.0.pc.in
+++ b/cogl/cogl-gles2/mutter-cogl-gles2.pc.in
@@ -2,12 +2,12 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@/mutter
includedir=@includedir@/mutter
-apiversion=1.0
-requires=@COGL_PKG_REQUIRES@ mutter-cogl-1.0
+apiversion=@LIBMUTTER_API_VERSION@
+requires=@COGL_PKG_REQUIRES@ mutter-cogl-@LIBMUTTER_API_VERSION@
Name: Cogl
Description: An object oriented GL/GLES Abstraction/Utility Layer
-Version: @COGL_1_VERSION@
-Libs: -L${libdir} -lmutter-cogl-gles2
+Version: @MUTTER_VERSION@
+Libs: -L${libdir} -lmutter-cogl-gles2-@LIBMUTTER_API_VERSION@
Cflags: -I${includedir}/cogl
Requires: ${requires}
diff --git a/cogl/cogl-pango/Makefile.am b/cogl/cogl-pango/Makefile.am
index c9d5170c5..b89877d0f 100644
--- a/cogl/cogl-pango/Makefile.am
+++ b/cogl/cogl-pango/Makefile.am
@@ -23,13 +23,13 @@ source_h_priv = \
$(NULL)
mutterlibdir = $(libdir)/mutter
-mutterlib_LTLIBRARIES = libmutter-cogl-pango.la
+mutterlib_LTLIBRARIES = libmutter-cogl-pango-@LIBMUTTER_API_VERSION@.la
-libmutter_cogl_pango_la_SOURCES = $(source_c) $(source_h) $(source_h_priv)
-libmutter_cogl_pango_la_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
-libmutter_cogl_pango_la_LIBADD = $(top_builddir)/cogl/libmutter-cogl.la
-libmutter_cogl_pango_la_LIBADD += $(COGL_DEP_LIBS) $(COGL_PANGO_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
-libmutter_cogl_pango_la_LDFLAGS = \
+libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_SOURCES = $(source_c) $(source_h) $(source_h_priv)
+libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
+libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_LIBADD = $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la
+libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_LIBADD += $(COGL_DEP_LIBS) $(COGL_PANGO_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
+libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
-export-dynamic \
-rpath $(mutterlibdir) \
-export-symbols-regex "^cogl_pango_.*" \
@@ -49,7 +49,7 @@ cogl_base_includedir = $(includedir)/mutter
cogl_pangoheadersdir = $(cogl_base_includedir)/cogl/cogl-pango
cogl_pangoheaders_HEADERS = $(source_h)
-pc_files = mutter-cogl-pango-1.0.pc
+pc_files = mutter-cogl-pango-$(LIBMUTTER_API_VERSION).pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pc_files)
@@ -65,23 +65,23 @@ INTROSPECTION_GIRS =
if HAVE_INTROSPECTION
INTROSPECTION_COMPILER_ARGS=--includedir=$(top_builddir)/cogl
-CoglPango-1.0.gir: libmutter-cogl-pango.la Makefile
+CoglPango-@LIBMUTTER_API_VERSION@.gir: libmutter-cogl-pango-$(LIBMUTTER_API_VERSION).la Makefile
-CoglPango_1_0_gir_NAMESPACE = CoglPango
-CoglPango_1_0_gir_VERSION = 1.0
-CoglPango_1_0_gir_LIBS = $(top_builddir)/cogl/libmutter-cogl.la libmutter-cogl-pango.la
-CoglPango_1_0_gir_FILES = $(source_h) $(source_c)
-CoglPango_1_0_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS)
-CoglPango_1_0_gir_INCLUDES = Pango-1.0 PangoCairo-1.0
-CoglPango_1_0_gir_EXPORT_PACKAGES = mutter-cogl-pango-1.0
-CoglPango_1_0_gir_SCANNERFLAGS = \
+CoglPango_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = CoglPango
+CoglPango_@LIBMUTTER_API_VERSION@_gir_VERSION = @LIBMUTTER_API_VERSION@
+CoglPango_@LIBMUTTER_API_VERSION@_gir_LIBS = $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la libmutter-cogl-pango-$(LIBMUTTER_API_VERSION).la
+CoglPango_@LIBMUTTER_API_VERSION@_gir_FILES = $(source_h) $(source_c)
+CoglPango_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS)
+CoglPango_@LIBMUTTER_API_VERSION@_gir_INCLUDES = Pango-1.0 PangoCairo-1.0
+CoglPango_@LIBMUTTER_API_VERSION@_gir_EXPORT_PACKAGES = mutter-cogl-pango-@LIBMUTTER_API_VERSION@
+CoglPango_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
--warn-all \
--identifier-prefix=CoglPango \
--symbol-prefix=cogl_pango \
--c-include='cogl-pango/cogl-pango.h' \
- --include-uninstalled=$(top_builddir)/cogl/Cogl-1.0.gir
+ --include-uninstalled=$(top_builddir)/cogl/Cogl-@LIBMUTTER_API_VERSION@.gir
-INTROSPECTION_GIRS += CoglPango-1.0.gir
+INTROSPECTION_GIRS += CoglPango-@LIBMUTTER_API_VERSION@.gir
girdir = $(mutterlibdir)
gir_DATA = $(INTROSPECTION_GIRS)
diff --git a/cogl/cogl-pango/mutter-cogl-pango-1.0.pc.in b/cogl/cogl-pango/mutter-cogl-pango.pc.in
index 64ab7b40b..da12c94fb 100644
--- a/cogl/cogl-pango/mutter-cogl-pango-1.0.pc.in
+++ b/cogl/cogl-pango/mutter-cogl-pango.pc.in
@@ -2,12 +2,12 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@/mutter
includedir=@includedir@/mutter
-apiversion=1.0
-requires=@COGL_PKG_REQUIRES@ mutter-cogl-1.0
+apiversion=@LIBMUTTER_API_VERSION@
+requires=@COGL_PKG_REQUIRES@ mutter-cogl-@LIBMUTTER_API_VERSION@
Name: Cogl
Description: An object oriented GL/GLES Abstraction/Utility Layer
-Version: @COGL_1_VERSION@
-Libs: -L${libdir} -lmutter-cogl-pango
+Version: @MUTTER_VERSION@
+Libs: -L${libdir} -lmutter-cogl-pango-@LIBMUTTER_API_VERSION@
Cflags: -I${includedir}/cogl
Requires: ${requires}
diff --git a/cogl/cogl-path/Makefile.am b/cogl/cogl-path/Makefile.am
index 7827f9259..418af3739 100644
--- a/cogl/cogl-path/Makefile.am
+++ b/cogl/cogl-path/Makefile.am
@@ -65,14 +65,14 @@ glib_enum_headers = $(source_1_x_h)
include $(top_srcdir)/build/autotools/Makefile.am.enums
mutterlibdir = $(libdir)/mutter
-mutterlib_LTLIBRARIES = libmutter-cogl-path.la
-
-libmutter_cogl_path_la_SOURCES = $(source_c) $(source_h)
-nodist_libmutter_cogl_path_la_SOURCES = $(BUILT_SOURCES)
-libmutter_cogl_path_la_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
-libmutter_cogl_path_la_LIBADD = $(top_builddir)/cogl/libmutter-cogl.la
-libmutter_cogl_path_la_LIBADD += $(COGL_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
-libmutter_cogl_path_la_LDFLAGS = \
+mutterlib_LTLIBRARIES = libmutter-cogl-path-@LIBMUTTER_API_VERSION@.la
+
+libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_SOURCES = $(source_c) $(source_h)
+nodist_libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
+libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
+libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_LIBADD = $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la
+libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_LIBADD += $(COGL_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
+libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
-export-dynamic \
-export-symbols-regex "^(cogl|cogl2)_(framebuffer|path|is|clip|[sg]et)_.*" \
-no-undefined \
@@ -94,7 +94,7 @@ cogl_pathheadersdir = $(cogl_base_includedir)/cogl/cogl-path
cogl_pathheaders_HEADERS = $(source_h)
nodist_cogl_pathheaders_HEADERS = cogl-path-enum-types.h
-pc_files = mutter-cogl-path-1.0.pc
+pc_files = mutter-cogl-path-$(LIBMUTTER_API_VERSION).pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pc_files)
diff --git a/cogl/cogl-path/mutter-cogl-path-1.0.pc.in b/cogl/cogl-path/mutter-cogl-path.pc.in
index 959b77251..a2ad303b5 100644
--- a/cogl/cogl-path/mutter-cogl-path-1.0.pc.in
+++ b/cogl/cogl-path/mutter-cogl-path.pc.in
@@ -2,12 +2,12 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@/mutter
includedir=@includedir@/mutter
-apiversion=1.0
-requires=@COGL_PKG_REQUIRES@ mutter-cogl-1.0
+apiversion=@LIBMUTTER_API_VERSION@
+requires=@COGL_PKG_REQUIRES@ mutter-cogl-@LIBMUTTER_API_VERSION@
Name: Cogl
Description: A 2D path drawing library for Cogl
-Version: @COGL_1_VERSION@
-Libs: -L${libdir} -lmutter-cogl-path
+Version: @MUTTER_VERSION@
+Libs: -L${libdir} -lmutter-cogl-path-@LIBMUTTER_API_VERSION@
Cflags: -I${includedir}/cogl
Requires: ${requires}
diff --git a/cogl/cogl/Makefile.am b/cogl/cogl/Makefile.am
index 88712a9ca..ad3dce895 100644
--- a/cogl/cogl/Makefile.am
+++ b/cogl/cogl/Makefile.am
@@ -41,7 +41,7 @@ BUILT_SOURCES += cogl-defines.h cogl-egl-defines.h cogl-gl-header.h
DISTCLEANFILES += cogl-defines.h cogl-egl-defines.h cogl-gl-header.h
EXTRA_DIST += cogl-defines.h.in cogl-egl-defines.h.in cogl-gl-header.h.in
-pc_files = mutter-cogl-1.0.pc
+pc_files = mutter-cogl-$(LIBMUTTER_API_VERSION).pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pc_files)
@@ -439,23 +439,23 @@ cogl_sources_c += \
endif
mutterlibdir = $(libdir)/mutter
-mutterlib_LTLIBRARIES = libmutter-cogl.la
+mutterlib_LTLIBRARIES = libmutter-cogl-@LIBMUTTER_API_VERSION@.la
-libmutter_cogl_la_LIBADD = $(LIBM) $(COGL_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
+libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LIBADD = $(LIBM) $(COGL_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
if UNIT_TESTS
-libmutter_cogl_la_LIBADD += $(top_builddir)/test-fixtures/libtest-fixtures.la
+libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LIBADD += $(top_builddir)/test-fixtures/libtest-fixtures.la
endif
# XXX: The aim is to eventually get rid of all private API exports
# for cogl-pango.
-libmutter_cogl_la_LDFLAGS = \
+libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
-no-undefined \
-avoid-version \
-export-dynamic \
-rpath $(mutterlibdir) \
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_get_format|_cogl_texture_foreach_sub_texture_in_region|_cogl_texture_set_region|_cogl_profile_trace_message|_cogl_context_get_default|_cogl_framebuffer_get_stencil_bits|_cogl_clip_stack_push_rectangle|_cogl_framebuffer_get_modelview_stack|_cogl_object_default_unref|_cogl_pipeline_foreach_layer_internal|_cogl_clip_stack_push_primitive|_cogl_buffer_unmap_for_fill_or_fallback|_cogl_framebuffer_draw_primitive|_cogl_debug_instances|_cogl_framebuffer_get_projection_stack|_cogl_pipeline_layer_get_texture|_cogl_buffer_map_for_fill_or_fallback|_cogl_texture_can_hardware_repeat|_cogl_pipeline_prune_to_n_layers|_cogl_primitive_draw|test_|unit_test_|_cogl_winsys_glx_get_vtable|_cogl_winsys_egl_xlib_get_vtable|_cogl_winsys_egl_get_vtable|_cogl_closure_disconnect|_cogl_onscreen_notify_complete|_cogl_onscreen_notify_frame_sync|_cogl_winsys_egl_renderer_connect_common|_cogl_winsys_error_quark|_cogl_set_error|_cogl_poll_renderer_add_fd|_cogl_poll_renderer_add_idle|_cogl_framebuffer_winsys_update_size|_cogl_winsys_egl_make_current|_cogl_pixel_format_get_bytes_per_pixel).*"
-libmutter_cogl_la_SOURCES = $(cogl_sources_c)
-nodist_libmutter_cogl_la_SOURCES = $(BUILT_SOURCES)
+libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(cogl_sources_c)
+nodist_libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
# Cogl installed headers
cogl_headers = \
@@ -483,22 +483,22 @@ EXTRA_DIST += \
INTROSPECTION_GIRS =
if HAVE_INTROSPECTION
-Cogl-1.0.gir: libmutter-cogl.la Makefile
+Cogl-@LIBMUTTER_API_VERSION@.gir: libmutter-cogl-$(LIBMUTTER_API_VERSION).la Makefile
-Cogl_1_0_gir_NAMESPACE = Cogl
-Cogl_1_0_gir_VERSION = 1.0
-Cogl_1_0_gir_LIBS = libmutter-cogl.la
+Cogl_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = Cogl
+Cogl_@LIBMUTTER_API_VERSION@_gir_VERSION = $(LIBMUTTER_API_VERSION)
+Cogl_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-cogl-$(LIBMUTTER_API_VERSION).la
if UNIT_TESTS
-Cogl_1_0_gir_LIBS += $(top_builddir)/test-fixtures/libtest-fixtures.la
+Cogl_@LIBMUTTER_API_VERSION@_gir_LIBS += $(top_builddir)/test-fixtures/libtest-fixtures.la
endif
-Cogl_1_0_gir_FILES = $(cogl_1_public_h)
+Cogl_@LIBMUTTER_API_VERSION@_gir_FILES = $(cogl_1_public_h)
-Cogl_1_0_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -D__COGL_EGL_H_INSIDE__ -D__COGL_GLX_H_INSIDE__ -DCOGL_GIR_SCANNING
-Cogl_1_0_gir_INCLUDES = GL-1.0 GObject-2.0
-Cogl_1_0_gir_EXPORT_PACKAGES = mutter-cogl-1.0
-Cogl_1_0_gir_SCANNERFLAGS = --warn-all --c-include='cogl/cogl.h'
+Cogl_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -D__COGL_EGL_H_INSIDE__ -D__COGL_GLX_H_INSIDE__ -DCOGL_GIR_SCANNING
+Cogl_@LIBMUTTER_API_VERSION@_gir_INCLUDES = GL-1.0 GObject-2.0
+Cogl_@LIBMUTTER_API_VERSION@_gir_EXPORT_PACKAGES = mutter-cogl-@LIBMUTTER_API_VERSION@
+Cogl_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = --warn-all --c-include='cogl/cogl.h'
-INTROSPECTION_GIRS += Cogl-1.0.gir
+INTROSPECTION_GIRS += Cogl-@LIBMUTTER_API_VERSION@.gir
girdir = $(mutterlibdir)
gir_DATA = $(INTROSPECTION_GIRS)
diff --git a/cogl/cogl/mutter-cogl-1.0.pc.in b/cogl/cogl/mutter-cogl.pc.in
index 92e3a4312..6251b3019 100644
--- a/cogl/cogl/mutter-cogl-1.0.pc.in
+++ b/cogl/cogl/mutter-cogl.pc.in
@@ -2,12 +2,12 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@/mutter
includedir=@includedir@/mutter
-apiversion=1.0
+apiversion=@LIBMUTTER_API_VERSION@
requires=@COGL_PKG_REQUIRES@
Name: Cogl
Description: An object oriented GL/GLES Abstraction/Utility Layer
-Version: @COGL_1_VERSION@
-Libs: -L${libdir} -lmutter-cogl
+Version: @MUTTER_VERSION@
+Libs: -L${libdir} -lmutter-cogl-@LIBMUTTER_API_VERSION@
Cflags: -I${includedir}/cogl
Requires: ${requires}
diff --git a/cogl/configure.ac b/cogl/configure.ac
index 3ed761c57..3be282fc2 100644
--- a/cogl/configure.ac
+++ b/cogl/configure.ac
@@ -84,6 +84,16 @@ AC_CONFIG_HEADERS(cogl-mutter-config.h)
AC_GNU_SOURCE
dnl ================================================================
+dnl Check that we are configured by mutter
+dnl ================================================================
+
+AC_ARG_VAR([MUTTER_VERSION])
+AC_ARG_VAR([LIBMUTTER_API_VERSION])
+
+AS_IF([test "x$MUTTER_VERSION" = "x"],
+ [AC_MSG_ERROR([Clutter can only be configured by mutter])],)
+
+dnl ================================================================
dnl Required versions for dependencies
dnl ================================================================
m4_define([glib_req_version], [2.32.0])
@@ -945,16 +955,16 @@ AC_OUTPUT(
Makefile
test-fixtures/Makefile
cogl/Makefile
-cogl/mutter-cogl-1.0.pc
+cogl/mutter-cogl-$LIBMUTTER_API_VERSION.pc:cogl/mutter-cogl.pc.in
cogl/cogl-defines.h
cogl/cogl-gl-header.h
cogl/cogl-egl-defines.h
cogl-pango/Makefile
-cogl-pango/mutter-cogl-pango-1.0.pc
+cogl-pango/mutter-cogl-pango-$LIBMUTTER_API_VERSION.pc:cogl-pango/mutter-cogl-pango.pc.in
cogl-path/Makefile
-cogl-path/mutter-cogl-path-1.0.pc
+cogl-path/mutter-cogl-path-$LIBMUTTER_API_VERSION.pc:cogl-path/mutter-cogl-path.pc.in
cogl-gles2/Makefile
-cogl-gles2/mutter-cogl-gles2-1.0.pc
+cogl-gles2/mutter-cogl-gles2-$LIBMUTTER_API_VERSION.pc:cogl-gles2/mutter-cogl-gles2.pc.in
tests/Makefile
tests/config.env
tests/conform/Makefile
diff --git a/cogl/tests/conform/Makefile.am b/cogl/tests/conform/Makefile.am
index b2c53237a..2ce0f9841 100644
--- a/cogl/tests/conform/Makefile.am
+++ b/cogl/tests/conform/Makefile.am
@@ -131,10 +131,10 @@ AM_CPPFLAGS += \
test_conformance_CFLAGS = -g3 -O0 $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) -Wno-error=maybe-uninitialized -Wno-error=nested-externs -Wno-error=missing-prototypes
test_conformance_LDADD = \
$(COGL_DEP_LIBS) \
- $(top_builddir)/cogl/libmutter-cogl.la \
+ $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
$(LIBM)
if BUILD_COGL_PATH
-test_conformance_LDADD += $(top_builddir)/cogl-path/libmutter-cogl-path.la
+test_conformance_LDADD += $(top_builddir)/cogl-path/libmutter-cogl-path-$(LIBMUTTER_API_VERSION).la
endif
test_conformance_LDFLAGS = -export-dynamic
diff --git a/cogl/tests/micro-perf/Makefile.am b/cogl/tests/micro-perf/Makefile.am
index c2cb1a171..83837f293 100644
--- a/cogl/tests/micro-perf/Makefile.am
+++ b/cogl/tests/micro-perf/Makefile.am
@@ -17,7 +17,7 @@ AM_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS)
common_ldadd = \
$(COGL_DEP_LIBS) \
- $(top_builddir)/cogl/libmutter-cogl.la \
+ $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
$(LIBM)
test_journal_SOURCES = test-journal.c
diff --git a/cogl/tests/unit/Makefile.am b/cogl/tests/unit/Makefile.am
index 7851ace5a..f7833b7a5 100644
--- a/cogl/tests/unit/Makefile.am
+++ b/cogl/tests/unit/Makefile.am
@@ -13,7 +13,7 @@ wrappers: stamp-test-unit
@true
stamp-test-unit: Makefile test-unit$(EXEEXT)
@mkdir -p wrappers
- . $(top_builddir)/cogl/libmutter-cogl.la ; \
+ . $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la ; \
$(NM) $(top_builddir)/cogl/.libs/"$$dlname"| \
grep '[DR] _\?unit_test_'|sed 's/.\+ [DR] _\?//' > unit-tests
@chmod +x $(top_srcdir)/tests/test-launcher.sh
@@ -62,7 +62,7 @@ AM_CPPFLAGS += \
test_unit_CFLAGS = -g3 -O0 $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS)
test_unit_LDADD = \
$(COGL_DEP_LIBS) \
- $(top_builddir)/cogl/libmutter-cogl.la \
+ $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
$(LIBM)
test_unit_LDFLAGS = -export-dynamic
diff --git a/configure.ac b/configure.ac
index fea92d029..0c75a8fbf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,6 +9,8 @@ m4_define([mutter_version],
m4_define([mutter_plugin_api_version], [3])
+m4_define([libmutter_api_version], [0])
+
AC_INIT([mutter], [mutter_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=mutter])
@@ -27,11 +29,18 @@ AC_GNU_SOURCE
MUTTER_MAJOR_VERSION=mutter_major_version
MUTTER_MINOR_VERSION=mutter_minor_version
MUTTER_MICRO_VERSION=mutter_micro_version
+MUTTER_VERSION=mutter_version
MUTTER_PLUGIN_API_VERSION=mutter_plugin_api_version
+LIBMUTTER_API_VERSION=libmutter_api_version
AC_SUBST(MUTTER_MAJOR_VERSION)
AC_SUBST(MUTTER_MINOR_VERSION)
AC_SUBST(MUTTER_MICRO_VERSION)
AC_SUBST(MUTTER_PLUGIN_API_VERSION)
+AC_SUBST(MUTTER_VERSION)
+AC_SUBST(LIBMUTTER_API_VERSION)
+
+# Make the mutter versions visible to the cogl and clutter subdirs
+export LIBMUTTER_API_VERSION MUTTER_VERSION
MUTTER_PLUGIN_DIR="$libdir/$PACKAGE/plugins"
AC_SUBST(MUTTER_PLUGIN_DIR)
@@ -228,13 +237,6 @@ 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"
- # Since we don't make any guarantees about stability and we don't support
- # parallel install, there's no real reason to change directories, filenames,
- # etc. as we change the Mutter tarball version. Note that this must match
- # api_version in src/Makefile.am
- META_GIR=Meta_3_0_gir
- # META_GIR=[Meta_]mutter_major_version[_]mutter_minor_version[_gir]
- AC_SUBST(META_GIR)
fi
AC_SUBST(XWAYLAND_PATH)
@@ -461,7 +463,7 @@ data/Makefile
doc/Makefile
doc/man/Makefile
src/Makefile
-src/libmutter.pc
+src/libmutter-$LIBMUTTER_API_VERSION.pc:src/libmutter.pc.in
src/compositor/plugins/Makefile
src/meta/meta-version.h
po/Makefile.in
@@ -469,6 +471,16 @@ po/Makefile.in
AC_OUTPUT
+# Check that cogl and clutter have their .pc files regenerated with the correct version
+
+COGL_PC_VERSION=$(grep Version: cogl/cogl/mutter-cogl-$LIBMUTTER_API_VERSION.pc|awk '{ print $2; }')
+AS_IF([test "x$COGL_PC_VERSION" != "x$MUTTER_VERSION"],
+ [AC_MSG_ERROR([mutter-cogl pkg-config file not updated, rerun ./configure])])
+
+CLUTTER_PC_VERSION=$(grep Version: clutter/clutter/mutter-clutter-$LIBMUTTER_API_VERSION.pc|awk '{ print $2; }')
+AS_IF([test "x$CLUTTER_PC_VERSION" != "x$MUTTER_VERSION"],
+ [AC_MSG_ERROR([mutter-clutter pkg-config file not updated, rerun ./configure])])
+
if test x$enable_verbose_mode = xno; then
echo "*** WARNING WARNING WARNING WARNING WARNING"
echo "*** Building without verbose mode"
diff --git a/src/Makefile-tests.am b/src/Makefile-tests.am
index 860d3c4ab..56b16186d 100644
--- a/src/Makefile-tests.am
+++ b/src/Makefile-tests.am
@@ -27,10 +27,10 @@ endif
EXTRA_DIST += tests/mutter-all.test.in
mutter_test_client_SOURCES = tests/test-client.c
-mutter_test_client_LDADD = $(MUTTER_LIBS) libmutter.la
+mutter_test_client_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
mutter_test_runner_SOURCES = tests/test-runner.c
-mutter_test_runner_LDADD = $(MUTTER_LIBS) libmutter.la
+mutter_test_runner_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
mutter_test_unit_tests_SOURCES = \
tests/unit-tests.c \
@@ -45,7 +45,7 @@ mutter_test_unit_tests_SOURCES = \
tests/monitor-unit-tests.c \
tests/monitor-unit-tests.h \
$(NULL)
-mutter_test_unit_tests_LDADD = $(MUTTER_LIBS) libmutter.la
+mutter_test_unit_tests_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
.PHONY: run-tests run-test-runner-tests run-unit-tests
@@ -62,6 +62,6 @@ endif
# Some random test programs for bits of the code
testboxes_SOURCES = core/testboxes.c
-testboxes_LDADD = $(MUTTER_LIBS) libmutter.la
+testboxes_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
noinst_PROGRAMS += testboxes
diff --git a/src/Makefile.am b/src/Makefile.am
index 3dbe731f8..b5c0d5a37 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,7 @@
# Flag build for parallelism; see https://savannah.gnu.org/patch/?6905
.AUTOPARALLEL:
-lib_LTLIBRARIES = libmutter.la
+lib_LTLIBRARIES = libmutter-@LIBMUTTER_API_VERSION@.la
SUBDIRS=compositor/plugins
@@ -79,7 +79,7 @@ wayland_protocols = \
wayland/protocol/gtk-primary-selection.xml \
$(NULL)
-libmutter_la_SOURCES = \
+libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
backends/meta-backend.c \
meta/meta-backend.h \
backends/meta-backend-private.h \
@@ -285,7 +285,7 @@ libmutter_la_SOURCES = \
$(NULL)
if HAVE_WAYLAND
-libmutter_la_SOURCES += \
+libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
compositor/meta-surface-actor-wayland.c \
compositor/meta-surface-actor-wayland.h \
wayland/meta-wayland.c \
@@ -369,7 +369,7 @@ libmutter_la_SOURCES += \
endif
if HAVE_NATIVE_BACKEND
-libmutter_la_SOURCES += \
+libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
backends/native/meta-backend-native.c \
backends/native/meta-backend-native.h \
backends/native/meta-backend-native-private.h \
@@ -397,13 +397,14 @@ libmutter_la_SOURCES += \
$(NULL)
endif
-nodist_libmutter_la_SOURCES = $(mutter_built_sources)
+nodist_libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = $(mutter_built_sources)
-libmutter_la_LDFLAGS = -no-undefined -export-symbols-regex "^(meta|ag)_.*"
-libmutter_la_LIBADD = \
+libmutter_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
+ -no-undefined -export-symbols-regex "^(meta|ag)_.*"
+libmutter_@LIBMUTTER_API_VERSION@_la_LIBADD = \
$(MUTTER_LIBS) \
$(MUTTER_NATIVE_BACKEND_LIBS) \
- $(top_builddir)/clutter/clutter/libmutter-clutter-1.0.la \
+ $(top_builddir)/clutter/clutter/libmutter-clutter-$(LIBMUTTER_API_VERSION).la \
$(NULL)
# Headers installed for plugins; introspected information will
@@ -462,7 +463,7 @@ bin_PROGRAMS=mutter
noinst_PROGRAMS=
mutter_SOURCES = core/mutter.c
-mutter_LDADD = $(MUTTER_LIBS) libmutter.la
+mutter_LDADD = $(MUTTER_LIBS) libmutter-@LIBMUTTER_API_VERSION@.la
libexec_PROGRAMS = mutter-restart-helper
mutter_restart_helper_SOURCES = core/restart-helper.c
@@ -471,36 +472,51 @@ mutter_restart_helper_LDADD = $(MUTTER_LIBS)
include Makefile-tests.am
if HAVE_INTROSPECTION
-include $(INTROSPECTION_MAKEFILE)
-# Since we don't make any guarantees about stability and we don't support
-# parallel install, there's no real reason to change directories, filenames,
-# etc. as we change the Mutter tarball version.
-#api_version = $(MUTTER_MAJOR_VERSION).$(MUTTER_MINOR_VERSION)
-api_version = 3.0
+include $(INTROSPECTION_MAKEFILE)
# 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.
girdir = $(pkglibdir)
-gir_DATA = Meta-$(api_version).gir
+gir_DATA = Meta-$(LIBMUTTER_API_VERSION).gir
typelibdir = $(pkglibdir)
-typelib_DATA = Meta-$(api_version).typelib
-
-INTROSPECTION_GIRS = Meta-$(api_version).gir
-INTROSPECTION_SCANNER_ARGS = --add-include-path=$(top_builddir)/clutter/clutter --add-include-path=$(top_builddir)/cogl/cogl --add-include-path=$(top_builddir)/cogl/cogl-pango
-INTROSPECTION_COMPILER_ARGS = --includedir=$(top_builddir)/clutter/clutter --includedir=$(top_builddir)/cogl/cogl --includedir=$(top_builddir)/cogl/cogl-pango
-
-Meta-$(api_version).gir: libmutter.la
-@META_GIR@_INCLUDES = GObject-2.0 GDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0 Cogl-1.0
-@META_GIR@_EXPORT_PACKAGES = libmutter
-@META_GIR@_CFLAGS = $(AM_CPPFLAGS)
-@META_GIR@_LIBS = libmutter.la
-@META_GIR@_FILES = \
- $(libmutterinclude_base_headers) \
- $(filter %.c,$(libmutter_la_SOURCES) $(nodist_libmutter_la_SOURCES))
-@META_GIR@_SCANNERFLAGS = --warn-all --warn-error
+typelib_DATA = Meta-$(LIBMUTTER_API_VERSION).typelib
+
+INTROSPECTION_GIRS = Meta-$(LIBMUTTER_API_VERSION).gir
+INTROSPECTION_SCANNER_ARGS = \
+ --add-include-path=$(top_builddir)/clutter/clutter \
+ --add-include-path=$(top_builddir)/cogl/cogl \
+ --add-include-path=$(top_builddir)/cogl/cogl-pango \
+ $(NULL)
+INTROSPECTION_COMPILER_ARGS = \
+ --includedir=$(top_builddir)/clutter/clutter \
+ --includedir=$(top_builddir)/cogl/cogl \
+ --includedir=$(top_builddir)/cogl/cogl-pango \
+ $(NULL)
+INTROSPECTION_SCANNER_ENV = \
+ PKG_CONFIG_PATH=$(top_builddir)/clutter/clutter/:$(top_builddir)/cogl/cogl/:$(top_builddir)/cogl/cogl-pango/:$${PKG_CONFIG_PATH}
+
+Meta-@LIBMUTTER_API_VERSION@.gir: libmutter-$(LIBMUTTER_API_VERSION).la
+Meta_@LIBMUTTER_API_VERSION@_gir_VERSION = $(LIBMUTTER_API_VERSION)
+Meta_@LIBMUTTER_API_VERSION@_gir_INCLUDES = \
+ GObject-2.0 \
+ GDesktopEnums-3.0 \
+ Gdk-3.0 \
+ Gtk-3.0 \
+ Cogl-$(LIBMUTTER_API_VERSION) \
+ Clutter-$(LIBMUTTER_API_VERSION) \
+ xlib-2.0 \
+ xfixes-4.0 \
+ $(NULL)
+Meta_@LIBMUTTER_API_VERSION@_gir_EXPORT_PACKAGES = libmutter-$(LIBMUTTER_API_VERSION)
+Meta_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS)
+Meta_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-$(LIBMUTTER_API_VERSION).la
+Meta_@LIBMUTTER_API_VERSION@_gir_FILES = \
+ $(libmutterinclude_base_headers) \
+ $(filter %.c,$(libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES) $(nodist_libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES))
+Meta_@LIBMUTTER_API_VERSION@_SCANNERFLAGS = --warn-all --warn-error
endif
@@ -515,7 +531,7 @@ DISTCLEANFILES = \
$(libmutterinclude_built_headers)
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libmutter.pc
+pkgconfig_DATA = libmutter-$(LIBMUTTER_API_VERSION).pc
EXTRA_DIST += \
$(wayland_protocols) \
diff --git a/src/libmutter.pc.in b/src/libmutter.pc.in
index 002f5f301..d2e837f4a 100644
--- a/src/libmutter.pc.in
+++ b/src/libmutter.pc.in
@@ -4,10 +4,11 @@ libdir=@libdir@
includedir=@includedir@
girdir=@libdir@/mutter
typelibdir=@libdir@/mutter
+apiversion=@LIBMUTTER_API_VERSION@
Name: libmutter
Description: Mutter window manager library
-Requires: gsettings-desktop-schemas gtk+-3.0 mutter-clutter-1.0 x11
+Requires: gsettings-desktop-schemas gtk+-3.0 mutter-clutter-@LIBMUTTER_API_VERSION@ x11
Version: @VERSION@
-Libs: -L${libdir} -lmutter
+Libs: -L${libdir} -lmutter-@LIBMUTTER_API_VERSION@
Cflags: -I${includedir}/mutter