Add new DSO versioning (SONAME changed to libva-VERSION.so.CURRENT.REVISION.AGE).
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>
Wed, 8 Jul 2009 07:54:02 +0000 (07:54 +0000)
committerAustin Yuan <shengquan.yuan@intel.com>
Wed, 8 Jul 2009 09:42:05 +0000 (17:42 +0800)
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
Makefile.am
configure.ac
dummy_drv_video/Makefile.am
src/Makefile.am
test/Makefile.am

index d1c7cce..cd0ee58 100644 (file)
@@ -30,7 +30,12 @@ if BUILD_I965_DRIVER
 SUBDIRS += i965_drv_video
 endif
 
+pcfiles = \
+       libva.pc
+
 pkgconfigdir = @pkgconfigdir@
-pkgconfig_DATA = libva.pc
+pkgconfig_DATA = $(pcfiles)
 
 EXTRA_DIST = libva.pc.in
+
+CLEANFILES = $(pcfiles)
index ea9e33e..8490203 100644 (file)
 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+# libva package version number, (as distinct from shared library version)
+m4_define([libva_major_version], [0])
+m4_define([libva_minor_version], [30])
+m4_define([libva_micro_version], [4])
+
+m4_define([libva_version],
+          [libva_major_version.libva_minor_version.libva_micro_version])
+
+# if the library source code has changed, increment revision
+m4_define([libva_lt_revision], [0])
+# if any interface was added/removed/changed, then inc current, reset revision
+m4_define([libva_lt_current], [1])
+# if any interface was added since last public release, then increment age
+# if any interface was removed since last public release, then set age to 0
+m4_define([libva_lt_age], [0])
+
 AC_PREREQ(2.57)
-AC_INIT([libva], 0.30.4, [waldo.bastian@intel.com], libva)
+AC_INIT([libva], [libva_version], [waldo.bastian@intel.com], libva)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2])
 
 AM_CONFIG_HEADER([config.h])
 
+LIBVA_MAJOR_VERSION=libva_major_version
+LIBVA_MINOR_VERSION=libva_minor_version
+LIBVA_MICRO_VERSION=libva_micro_version
+LIBVA_VERSION=libva_version
+AC_SUBST(LIBVA_MAJOR_VERSION)
+AC_SUBST(LIBVA_MINOR_VERSION)
+AC_SUBST(LIBVA_MICRO_VERSION)
+AC_SUBST(LIBVA_VERSION)
+
+LIBVA_LT_CURRENT=libva_lt_current
+LIBVA_LT_REV=libva_lt_revision
+LIBVA_LT_AGE=libva_lt_age
+LIBVA_LT_VERSION="$LIBVA_LT_CURRENT:$LIBVA_LT_REV:$LIBVA_LT_AGE"
+LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION -release $LIBVA_VERSION"
+AC_SUBST(LIBVA_LT_VERSION)
+AC_SUBST(LIBVA_LT_LDFLAGS)
+
 AC_ARG_ENABLE(dummy-driver,
               [AC_HELP_STRING([--enable-dummy-driver],
                               [build dummy video driver])],
@@ -75,6 +108,9 @@ AC_SUBST(LIBVA_LIBS)
 pkgconfigdir=${libdir}/pkgconfig
 AC_SUBST(pkgconfigdir)
 
+libvabackendlib=libva.la
+AC_SUBST([libvabackendlib])
+
 AC_OUTPUT([
        Makefile
        src/Makefile
index 53041eb..4e75a7b 100644 (file)
@@ -23,7 +23,8 @@
 dummy_drv_video_la_LTLIBRARIES = dummy_drv_video.la
 dummy_drv_video_ladir = @LIBVA_DRIVERS_PATH@
 dummy_drv_video_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,--no-undefined
-dummy_drv_video_la_LIBADD = ../src/libva.la
+dummy_drv_video_la_LIBADD = $(top_srcdir)/src/$(libvabackendlib)
+dummy_drv_video_la_DEPENDENCIES = $(top_srcdir)/src/$(libvabackendlib)
 
 AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/../../include/external/ -I$(top_srcdir)/../../include/kmd -DIN_LIBVA
 dummy_drv_video_la_SOURCES = dummy_drv_video.c object_heap.c
index 65cca77..26671d3 100644 (file)
@@ -25,9 +25,12 @@ INCLUDES = \
        -DIN_LIBVA \
        -DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH)\""
 
+LDADD = \
+       $(LIBVA_LT_LDFLAGS)
+
 libva_la_LTLIBRARIES = libva.la
 libva_ladir = $(libdir)
-libva_la_LDFLAGS = -version-number 0:30:4 -no-undefined
+libva_la_LDFLAGS = $(LDADD) -no-undefined
 libva_la_LIBADD = $(LIBVA_LIBS) -ldl -lX11 -lXext x11/libva_x11.la -ldrm -lXfixes
 
 nodist_libva_la_SOURCES = va_version.h
index 04a24ab..58e1677 100644 (file)
@@ -31,9 +31,10 @@ AM_CFLAGS = -I$(top_srcdir)/../../include/external/ -I$(top_srcdir)/src -I$(top_
 
 TESTS = $(check_PROGRAMS)
 
-TEST_LIBS = ../src/libva.la
+TEST_LIBS = $(top_srcdir)/src/$(libvabackendlib)
 
-vainfo_LDADD = ../src/libva.la
+vainfo_LDADD = $(top_srcdir)/src/$(libvabackendlib)
+vainfo_DEPENDENCIES = $(top_srcdir)/src/$(libvabackendlib)
 vainfo_SOURCES = vainfo.c
 
 test_01_LDADD = $(TEST_LIBS)