[lasem] Make incompatible version parallel installable.



commit 0f23f88ee5d081387120faa3650d9f882e98f681
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Mon Feb 15 23:25:45 2010 +0100

    Make incompatible version parallel installable.

 .gitignore      |    2 +-
 Makefile.am     |    7 +++++--
 configure.ac    |    7 ++++++-
 lasem.pc.in     |    4 ++--
 src/Makefile.am |   21 +++++++++++----------
 5 files changed, 25 insertions(+), 16 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index badd32f..edd55b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,6 +22,6 @@ tags
 *.lineno
 *.swp
 lasem.svg
-lasem.pc
+lasem*.pc
 lasemtest.xml
 manugen
diff --git a/Makefile.am b/Makefile.am
index c64f03d..3f55342 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@ ACLOCAL_AMFLAGS = -I m4
 
 SUBDIRS = itex2mml src po
 
-lasemdocdir = ${prefix}/doc/lasem
+lasemdocdir = ${prefix}/doc/lasem- LASEM_API_VERSION@
 lasemdoc_DATA = 	\
 	README		\
 	COPYING		\
@@ -22,4 +22,7 @@ dist-hook:
 	done
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = lasem.pc
+pkgconfig_DATA = lasem- LASEM_API_VERSION@.pc
+
+%- LASEM_API_VERSION@.pc: %.pc
+	cp $< $@
diff --git a/configure.ac b/configure.ac
index 98cea3d..990bd6c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,15 +5,20 @@ m4_define([lasem_version_minor], [1])
 m4_define([lasem_version_micro], [4])
 m4_define([lasem_version], [lasem_version_major.lasem_version_minor.lasem_version_micro])
 
+m4_define([lasem_libtool_current], m4_eval(100 * lasem_version_major + lasem_version_minor))
+
 AC_INIT([lasem],[lasem_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=lasem],[lasem])
 
-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
+AM_INIT_AUTOMAKE([-Wno-portability])
 AC_CONFIG_HEADERS([config.h])
 AM_MAINTAINER_MODE
 AC_CONFIG_MACRO_DIR([m4])
 
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
+AC_SUBST([LASEM_API_VERSION], [0.2])
+AC_SUBST([LASEM_LIBTOOL_VERSION], [lasem_libtool_current:lasem_version_micro:0])
+
 AC_SEARCH_LIBS([strerror],[cposix])
 AC_PROG_CC
 
diff --git a/lasem.pc.in b/lasem.pc.in
index 6cd198d..50850ca 100644
--- a/lasem.pc.in
+++ b/lasem.pc.in
@@ -7,5 +7,5 @@ Name: Lasem
 Description: SVG and MathML rendering library
 Version: @VERSION@
 Requires: glib-2.0 gobject-2.0 cairo >= 1.2 pangocairo libxml-2.0
-Libs: -L${libdir} -llasem
-Cflags: -I${includedir}/lasem
+Libs: -L${libdir} -llasem- LASEM_API_VERSION@
+Cflags: -I${includedir}/lasem- LASEM_API_VERSION@
diff --git a/src/Makefile.am b/src/Makefile.am
index d96be22..f95757b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -10,18 +10,18 @@ AM_CFLAGS =\
 	 -g \
 	 -O0
 
-lib_LTLIBRARIES = liblasem.la
+lib_LTLIBRARIES = liblasem- LASEM_API_VERSION@.la
 
 BUILT_SOURCES = lsmenumtypes.c lsmenumtypes.h
 
 EXTRA_DIST = lsmenumtypes.c.template \
 	     lsmenumtypes.h.template
 
-liblasem_la_LIBADD = 				\
+liblasem_ LASEM_API_VERSION@_la_LIBADD = 				\
 	../itex2mml/libitex2mml.la		\
 	$(LASEM_LIBS)
 
-liblasem_la_SOURCES =				\
+liblasem_ LASEM_API_VERSION@_la_SOURCES =				\
 	lsmenumtypes.c				\
 	lsmdebug.c				\
 	lsmstr.c				\
@@ -191,15 +191,16 @@ LASEM_HDRS = \
 	lsmsvgpatternelement.h			\
 	lsmsvgmaskelement.h
 
-liblasem_ladir = $(includedir)/lasem
-liblasem_la_HEADERS = $(LASEM_HDRS)
-liblasem_la_HEADERS += lsmenumtypes.h
+liblasem_ LASEM_API_VERSION@_ladir = $(includedir)/lasem- LASEM_API_VERSION@
+liblasem_ LASEM_API_VERSION@_la_HEADERS = $(LASEM_HDRS)
+liblasem_ LASEM_API_VERSION@_la_HEADERS += lsmenumtypes.h
+liblasem_ LASEM_API_VERSION@_la_LDFLAGS = -version-info $(LASEM_LIBTOOL_VERSION)
 
 lsmenumtypes.h: lsmenumtypes.h.template $(LASEM_HDRS) $(GLIB_MKENUMS)
-	$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template lsmenumtypes.h.template $(liblasem_la_HEADERS)) > $@
+	$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template lsmenumtypes.h.template $(liblasem_ LASEM_API_VERSION@_la_HEADERS)) > $@
 
 lsmenumtypes.c: lsmenumtypes.c.template $(LASEM_HDRS) $(GLIB_MKENUMS)
-	$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template lsmenumtypes.c.template $(liblasem_la_HEADERS)) > $@
+	$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template lsmenumtypes.c.template $(liblasem_ LASEM_API_VERSION@_la_HEADERS)) > $@
 
 bin_PROGRAMS = lasemtest lasemrender
 
@@ -208,13 +209,13 @@ lasemrender_SOURCES = 				\
 
 lasemrender_LDFLAGS =
 
-lasemrender_LDADD = $(LASEM_LIBS) liblasem.la ../itex2mml/libitex2mml.la
+lasemrender_LDADD = $(LASEM_LIBS) liblasem- LASEM_API_VERSION@.la ../itex2mml/libitex2mml.la
 
 lasemtest_SOURCES = 				\
 	lasemtest.c
 
 lasemtest_LDFLAGS =
 
-lasemtest_LDADD = $(LASEM_LIBS) liblasem.la ../itex2mml/libitex2mml.la
+lasemtest_LDADD = $(LASEM_LIBS) liblasem- LASEM_API_VERSION@.la ../itex2mml/libitex2mml.la
 
 CLEAN_FILES = $(BUILT_SOURCES)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]