[gnome-autoar] general: add API versioning
- From: Carlos Soriano Sánchez <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-autoar] general: add API versioning
- Date: Tue, 23 Aug 2016 16:40:25 +0000 (UTC)
commit 1355e67f5ad689e3f9e073b970da32f67cfc35c1
Author: Carlos Soriano <csoriano gnome org>
Date: Tue Aug 23 14:23:51 2016 +0200
general: add API versioning
So we can have the proper API version in the package name for proper
linking to gnome-autoar.
Thanks Michael Catanzaro for the help.
https://bugzilla.gnome.org/show_bug.cgi?id=770275
Makefile.am | 48 +++++++++++++++++-----------------
configure.ac | 6 +++-
docs/reference/Makefile.am | 2 +-
gnome-autoar/gnome-autoar-gtk.pc.in | 2 +-
gnome-autoar/gnome-autoar.pc.in | 2 +-
5 files changed, 31 insertions(+), 29 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 3001304..d12d296 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,7 +18,6 @@ EXTRA_DIST += autogen.sh
EXTRA_DIST += \
gnome-autoar/autoar-enum-types.h.template \
gnome-autoar/autoar-enum-types.c.template \
- gnome-autoar/gnome-autoar.pc.in \
$(NULL)
libgnome_autoar_la_headers = \
@@ -54,65 +53,64 @@ BUILT_SOURCES += \
$(libgnome_autoar_la_generated_files) \
$(NULL)
-lib_LTLIBRARIES = gnome-autoar/libgnome-autoar.la
+lib_LTLIBRARIES = gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = gnome-autoar/gnome-autoar.pc
+nodist_pkgconfig_DATA = gnome-autoar/gnome-autoar-$(LIBGNOME_AUTOAR_API_VERSION).pc
-autoarincludedir = $(includedir)/gnome-autoar
+autoarincludedir = $(includedir)/gnome-autoar-$(LIBGNOME_AUTOAR_API_VERSION)
autoarinclude_HEADERS = \
gnome-autoar/gnome-autoar.h \
$(libgnome_autoar_la_headers) \
$(NULL)
-gnome_autoar_libgnome_autoar_la_SOURCES = \
+gnome_autoar_libgnome_autoar_@LIBGNOME_AUTOAR_API_VERSION@_la_SOURCES = \
$(libgnome_autoar_la_generated_files) \
$(libgnome_autoar_la_private_files) \
$(libgnome_autoar_la_headers) \
$(libgnome_autoar_la_sources) \
$(NULL)
-gnome_autoar_libgnome_autoar_la_CPPFLAGS = \
+gnome_autoar_libgnome_autoar_@LIBGNOME_AUTOAR_API_VERSION@_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(NULL)
-gnome_autoar_libgnome_autoar_la_CFLAGS = \
+gnome_autoar_libgnome_autoar_@LIBGNOME_AUTOAR_API_VERSION@_la_CFLAGS = \
$(GIO_CFLAGS) \
$(LIBARCHIVE_CFLAGS) \
-I$(top_srcdir) \
-I$(top_builddir)/gnome-autoar \
$(AM_CFLAGS) \
$(NULL)
-gnome_autoar_libgnome_autoar_la_LIBADD = \
+gnome_autoar_libgnome_autoar_@LIBGNOME_AUTOAR_API_VERSION@_la_LIBADD = \
$(GIO_LIBS) \
$(LIBARCHIVE_LIBS) \
$(NULL)
if ENABLE_GTK
-lib_LTLIBRARIES += gnome-autoar/libgnome-autoar-gtk.la
-
-pkgconfig_DATA += gnome-autoar/gnome-autoar-gtk.pc
+lib_LTLIBRARIES += gnome-autoar/libgnome-autoar-gtk-@LIBGNOME_AUTOAR_API_VERSION@.la
+nodist_pkgconfig_DATA = gnome-autoar/gnome-autoar-gtk-$(LIBGNOME_AUTOAR_API_VERSION).pc
autoarinclude_HEADERS += \
gnome-autoar/autoar-gtk.h \
$(libgnome_autoar_gtk_la_headers) \
$(NULL)
-gnome_autoar_libgnome_autoar_gtk_la_SOURCES = \
+gnome_autoar_libgnome_autoar_gtk_@LIBGNOME_AUTOAR_API_VERSION@_la_SOURCES = \
$(libgnome_autoar_gtk_la_headers) \
$(libgnome_autoar_gtk_la_sources) \
$(NULL)
-gnome_autoar_libgnome_autoar_gtk_la_CPPFLAGS = \
+gnome_autoar_libgnome_autoar_gtk_@LIBGNOME_AUTOAR_API_VERSION@_la_CPPFLAGS = \
$(AM_CPPFLAGS)
$(NULL)
-gnome_autoar_libgnome_autoar_gtk_la_CFLAGS = \
+gnome_autoar_libgnome_autoar_gtk_@LIBGNOME_AUTOAR_API_VERSION@_la_CFLAGS = \
$(GTK_CFLAGS) \
-I$(top_srcdir) \
-I$(top_builddir)/gnome-autoar \
$(AM_CFLAGS) \
$(NULL)
-gnome_autoar_libgnome_autoar_gtk_la_LIBADD = \
+gnome_autoar_libgnome_autoar_gtk_@LIBGNOME_AUTOAR_API_VERSION@_la_LIBADD = \
$(GTK_LIBS) \
- $(top_builddir)/gnome-autoar/libgnome-autoar.la \
+ $(top_builddir)/gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la \
$(NULL)
endif
@@ -123,7 +121,9 @@ gnome-autoar/autoar-enum-types.c: gnome-autoar/autoar-enum-types.c.template $(li
$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template gnome-autoar/autoar-enum-types.c.template
$(libgnome_autoar_la_headers) ) > $@
CLEANFILES = $(BUILT_SOURCES)
-DISTCLEANFILES = $(BUILT_SOURCES)
+DISTCLEANFILES = $(BUILT_SOURCES) \
+ gnome-autoar/gnome-autoar-gtk-@LIBGNOME_AUTOAR_API_VERSION@.pc \
+ gnome-autoar/gnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.pc
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
-include $(INTROSPECTION_MAKEFILE)
@@ -143,11 +143,11 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
-gnome-autoar/GnomeAutoar-0.1.gir: gnome-autoar/libgnome-autoar.la
+gnome-autoar/GnomeAutoar-0.1.gir: gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la
gnome_autoar_GnomeAutoar_0_1_gir_SCANNERFLAGS = --identifier-prefix=Autoar
gnome_autoar_GnomeAutoar_0_1_gir_CFLAGS = -I$(top_srcdir) $(AM_CFLAGS)
gnome_autoar_GnomeAutoar_0_1_gir_INCLUDES = GLib-2.0 GObject-2.0 Gio-2.0
-gnome_autoar_GnomeAutoar_0_1_gir_LIBS = gnome-autoar/libgnome-autoar.la
+gnome_autoar_GnomeAutoar_0_1_gir_LIBS = gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la
gnome_autoar_GnomeAutoar_0_1_gir_FILES = \
$(libgnome_autoar_la_headers) \
$(libgnome_autoar_la_sources) \
@@ -157,11 +157,11 @@ if ENABLE_GTK
INTROSPECTION_GIRS += gnome-autoar/GnomeAutoarGtk-0.1.gir
-gnome-autoar/GnomeAutoarGtk-0.1.gir: gnome-autoar/libgnome-autoar-gtk.la gnome-autoar/GnomeAutoar-0.1.gir
+gnome-autoar/GnomeAutoarGtk-0.1.gir: gnome-autoar/libgnome-autoar-gtk-@LIBGNOME_AUTOAR_API_VERSION@.la
gnome-autoar/GnomeAutoar-0.1.gir
gnome_autoar_GnomeAutoarGtk_0_1_gir_SCANNERFLAGS = --identifier-prefix=AutoarGtk
gnome_autoar_GnomeAutoarGtk_0_1_gir_CFLAGS = -I$(top_srcdir) $(AM_CFLAGS)
gnome_autoar_GnomeAutoarGtk_0_1_gir_INCLUDES = GnomeAutoar-0.1 Gtk-3.0
-gnome_autoar_GnomeAutoarGtk_0_1_gir_LIBS = gnome-autoar/libgnome-autoar-gtk.la
+gnome_autoar_GnomeAutoarGtk_0_1_gir_LIBS = gnome-autoar/libgnome-autoar-gtk-@LIBGNOME_AUTOAR_API_VERSION@.la
gnome_autoar_GnomeAutoarGtk_0_1_gir_FILES = \
$(libgnome_autoar_gtk_la_headers) \
$(libgnome_autoar_gtk_la_sources) \
@@ -197,7 +197,7 @@ test_cflags = \
$(NULL)
test_libs = \
- $(top_builddir)/gnome-autoar/libgnome-autoar.la \
+ $(top_builddir)/gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la \
$(NULL)
tests_test_extract_SOURCES = tests/test-extract.c
@@ -225,8 +225,8 @@ test_gtk_cflags = \
$(NULL)
test_gtk_libs = \
- $(top_builddir)/gnome-autoar/libgnome-autoar-gtk.la \
- $(top_builddir)/gnome-autoar/libgnome-autoar.la \
+ $(top_builddir)/gnome-autoar/libgnome-autoar-gtk-@LIBGNOME_AUTOAR_API_VERSION@.la \
+ $(top_builddir)/gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la \
$(NULL)
tests_test_ui_SOURCES = tests/test-ui.c
diff --git a/configure.ac b/configure.ac
index 2366a66..22425d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,6 +28,8 @@ m4_define([lt_age], [m4_eval(binary_age - interface_age)])
AC_SUBST([LIBGNOME_AUTOAR_LT_VERSION], [lt_current:lt_revision:lt_age])
+AC_SUBST([LIBGNOME_AUTOAR_API_VERSION], [0])
+
AC_PROG_CC
AC_PROG_CC_STDC
AC_PROG_INSTALL
@@ -115,8 +117,8 @@ AC_CHECK_FUNCS([getgrnam getpwnam link mkfifo mknod stat])
AC_CONFIG_FILES([Makefile
docs/Makefile
docs/reference/Makefile
- gnome-autoar/gnome-autoar.pc
- gnome-autoar/gnome-autoar-gtk.pc])
+ gnome-autoar/gnome-autoar-$LIBGNOME_AUTOAR_API_VERSION.pc:gnome-autoar/gnome-autoar.pc.in
+
gnome-autoar/gnome-autoar-gtk-$LIBGNOME_AUTOAR_API_VERSION.pc:gnome-autoar/gnome-autoar-gtk.pc.in])
AS_MKDIR_P([data])
AC_OUTPUT
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
index edd5d0a..86a47ff 100644
--- a/docs/reference/Makefile.am
+++ b/docs/reference/Makefile.am
@@ -30,7 +30,7 @@ GTKDOC_CFLAGS = \
$(NULL)
GTKDOC_LIBS = \
- $(top_builddir)/gnome-autoar/libgnome-autoar.la \
+ $(top_builddir)/gnome-autoar/libgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@.la \
$(NULL)
# This includes the standard gtk-doc make rules, copied by gtkdocize.
diff --git a/gnome-autoar/gnome-autoar-gtk.pc.in b/gnome-autoar/gnome-autoar-gtk.pc.in
index 1737592..3240a8f 100644
--- a/gnome-autoar/gnome-autoar-gtk.pc.in
+++ b/gnome-autoar/gnome-autoar-gtk.pc.in
@@ -7,5 +7,5 @@ Name: gnome-autoar
Description: GTK+ widgets for gnome-autoar library
Version: @VERSION@
Requires: gtk+-3.0
-Libs: -L${libdir} -lgnome-autoar-gtk
+Libs: -L${libdir} -lgnome-autoar-gtk-@LIBGNOME_AUTOAR_API_VERSION@
Cflags: -I${includedir}
diff --git a/gnome-autoar/gnome-autoar.pc.in b/gnome-autoar/gnome-autoar.pc.in
index 1d59d03..b528360 100644
--- a/gnome-autoar/gnome-autoar.pc.in
+++ b/gnome-autoar/gnome-autoar.pc.in
@@ -7,5 +7,5 @@ Name: gnome-autoar
Description: Archives integration support for GNOME
Version: @VERSION@
Requires: gio-2.0 gobject-2.0 glib-2.0 @GNOME_AUTOAR_LIBARCHIVE_REQUIRES@
-Libs: -L${libdir} -lgnome-autoar @GNOME_AUTOAR_LIBARCHIVE_LIBS@
+Libs: -L${libdir} -lgnome-autoar-@LIBGNOME_AUTOAR_API_VERSION@ @GNOME_AUTOAR_LIBARCHIVE_LIBS@
Cflags: -I${includedir}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]