AC_PREREQ([2.57])
-AC_INIT(pixman, 0.9.3, "sandmann@daimi.au.dk", pixman)
+# Pixman versioning scheme
+#
+# - If the changes don't affect API or ABI, then increment pixman_micro
+# - If API is added, then increment PIXMAN_MINOR, and set MICRO to 0
+#
+# - If you break ABI, then
+# - In the first development release where you break ABI, find all instances of
+# "pixman-n" and change it to pixman-(n+1)
+#
+# This needs to be done at least in
+# configure.ac
+# all Makefile.am's
+# pixman-n.pc.in
+#
+# This ensures that binary incompatible versions can be installed in parallel.
+# See http://www106.pair.com/rhp/parallel.html for more information
+#
+
+m4_define([pixman_major], 0)
+m4_define([pixman_minor], 9)
+m4_define([pixman_micro], 3)
+
+m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
+
+AC_INIT(pixman, pixman_version, "sandmann@daimi.au.dk", pixman)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_CONFIG_HEADER(config.h)
AC_CHECK_FUNCS([getisax])
AC_C_BIGENDIAN
+#
+# We ignore pixman_major in the version here because the major version should
+# always be encoded in the actual library name. Ie., the soname is:
+#
+# pixman-$(pixman_major).0.minor.micro
+#
+m4_define([lt_current], [pixman_minor)])
+m4_define([lt_revision], [pixman_micro])
+m4_define([lt_age], [pixman_minor])
+
+LT_VERSION_INFO="lt_current:lt_revision:lt_age"
+
+PIXMAN_MAJOR=pixman_major
+AC_SUBST(AC_MAJOR)
+
+AC_SUBST(LT_VERSION_INFO)
+
# Check for dependencies
#PKG_CHECK_MODULES(DEP, x11)
AC_SUBST(DEP_CFLAGS)
AC_SUBST(DEP_LIBS)
-AC_OUTPUT([pixman.pc
+AC_OUTPUT([pixman-1.pc
Makefile
pixman/Makefile
test/Makefile])
-lib_LTLIBRARIES = libpixman.la
-libpixman_la_LIBADD = @DEP_LIBS@ -lm libpixmanwrapper.la
-libpixman_la_SOURCES = \
+lib_LTLIBRARIES = libpixman-1.la
+libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO)
+libpixman_1_la_LIBADD = @DEP_LIBS@ -lm libpixmanwrapper.la
+libpixman_1_la_SOURCES = \
pixman.h \
pixman-region.c \
pixman-private.h \
pixman-compute-region.c \
pixman-timer.c
-libpixmanincludedir = $(includedir)/pixman
+libpixmanincludedir = $(includedir)/pixman-1/
libpixmaninclude_HEADERS = pixman.h
# wrapper library
pixman-mmx.h
libpixman_mmx_la_CFLAGS = $(DEP_CFLAGS) $(MMX_CFLAGS)
libpixman_mmx_la_LIBADD = $(DEP_LIBS)
-libpixman_la_LIBADD += libpixman-mmx.la
+libpixman_1_la_LIBADD += libpixman-mmx.la
endif
INCLUDES = -I$(top_srcdir)/pixman $(GTK_CFLAGS)
-composite_test_LDADD = $(top_builddir)/pixman/libpixman.la $(GTK_LIBS)
-gradient_test_LDADD = $(top_builddir)/pixman/libpixman.la $(GTK_LIBS)
+composite_test_LDADD = $(top_builddir)/pixman/libpixman-1.la $(GTK_LIBS)
+gradient_test_LDADD = $(top_builddir)/pixman/libpixman-1.la $(GTK_LIBS)
endif
\ No newline at end of file