summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>2009-07-08 07:54:44 +0000
committerAustin Yuan <shengquan.yuan@intel.com>2009-08-28 11:00:00 +0800
commite2a24f0189561cc4feaf00d0b48f22947704ae56 (patch)
tree0e398b0c611b7dfc19bd0fe7bd3a47099e3f6dfd
parent4e71a2ddfd56543c60e91525726d136a526d1162 (diff)
downloadlibva-e2a24f0189561cc4feaf00d0b48f22947704ae56.tar.gz
Split libva DSO into core (libva.so) and display-dependent parts (libva-x11.so).
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
-rw-r--r--Makefile.am9
-rw-r--r--configure.ac7
-rw-r--r--i965_drv_video/Makefile.am2
-rw-r--r--libva_display.pc.in11
-rw-r--r--src/Makefile.am12
-rw-r--r--src/va.c6
-rw-r--r--src/x11/va_x11.c21
7 files changed, 40 insertions, 28 deletions
diff --git a/Makefile.am b/Makefile.am
index cd0ee58..f2defab 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -31,11 +31,16 @@ SUBDIRS += i965_drv_video
endif
pcfiles = \
- libva.pc
+ libva.pc \
+ libva-$(LIBVA_DISPLAY).pc
+
+# libva-<display>.pc - for display-specific dependencies
+libva-$(LIBVA_DISPLAY).pc: libva_display.pc
+ @cp $< $@
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = $(pcfiles)
-EXTRA_DIST = libva.pc.in
+EXTRA_DIST = libva.pc.in libva_display.pc.in
CLEANFILES = $(pcfiles)
diff --git a/configure.ac b/configure.ac
index c1ffc0a..b37a438 100644
--- a/configure.ac
+++ b/configure.ac
@@ -114,8 +114,12 @@ AC_SUBST(LIBVA_LIBS)
pkgconfigdir=${libdir}/pkgconfig
AC_SUBST(pkgconfigdir)
-libvabackendlib=libva.la
+LIBVA_DISPLAY=x11
+libvacorelib=libva.la
+libvabackendlib=libva-$LIBVA_DISPLAY.la
+AC_SUBST([libvacorelib])
AC_SUBST([libvabackendlib])
+AC_SUBST(LIBVA_DISPLAY)
AC_OUTPUT([
Makefile
@@ -130,5 +134,6 @@ AC_OUTPUT([
i965_drv_video/shaders/render/Makefile
test/Makefile
libva.pc
+ libva_display.pc
])
diff --git a/i965_drv_video/Makefile.am b/i965_drv_video/Makefile.am
index c0117c9..42dd515 100644
--- a/i965_drv_video/Makefile.am
+++ b/i965_drv_video/Makefile.am
@@ -27,7 +27,7 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/src -I$(top_srcdir)/src/x11 @DRM_CFLAGS@ -DIN_
i965_drv_video_la_LTLIBRARIES = i965_drv_video.la
i965_drv_video_ladir = @LIBVA_DRIVERS_PATH@
i965_drv_video_la_LDFLAGS = -module -avoid-version -no-undefined -Wl,--no-undefined @DRM_LIBS@ -ldrm_intel
-i965_drv_video_la_LIBADD = ../src/libva.la -lpthread
+i965_drv_video_la_LIBADD = ../src/libva-x11.la -lpthread
i965_drv_video_la_SOURCES = \
object_heap.c \
diff --git a/libva_display.pc.in b/libva_display.pc.in
new file mode 100644
index 0000000..c9c5cd6
--- /dev/null
+++ b/libva_display.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+display=@LIBVA_DISPLAY@
+
+Name: libva-${display}
+Description: Userspace Video Acceleration (VA) ${display} interface
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -lva-${display}
+Cflags: -I${includedir}
diff --git a/src/Makefile.am b/src/Makefile.am
index 5fac8b5..3849e8f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,10 +28,18 @@ INCLUDES = \
LDADD = \
$(LIBVA_LT_LDFLAGS)
-libva_la_LTLIBRARIES = libva.la
+lib_LTLIBRARIES = \
+ libva.la \
+ libva-x11.la
+
libva_ladir = $(libdir)
libva_la_LDFLAGS = $(LDADD) -no-undefined
-libva_la_LIBADD = $(LIBVA_LIBS) -ldl -lX11 -lXext x11/libva_x11.la -ldrm -lXfixes
+libva_la_LIBADD = $(LIBVA_LIBS) -ldl
+
+libva_x11_la_SOURCES =
+libva_x11_la_LIBADD = $(libvacorelib) x11/libva_x11.la $(LIBVA_LIBS) $(X11_LIBS) $(XEXT_LIBS) $(DRM_LIBS) $(XFIXES_LIBS)
+libva_x11_la_LDFLAGS = $(LDADD)
+libva_x11_la_DEPENDENCIES = $(libvacorelib)
SUBDIRS = x11
diff --git a/src/va.c b/src/va.c
index bbe1e70..dbd750c 100644
--- a/src/va.c
+++ b/src/va.c
@@ -56,7 +56,11 @@
static int va_debug_trace = 0;
-int vaDisplayIsValid(VADisplay dpy);
+static int vaDisplayIsValid(VADisplay dpy)
+{
+ VADisplayContextP pDisplayContext = (VADisplayContextP)dpy;
+ return pDisplayContext && pDisplayContext->vaIsValid(pDisplayContext);
+}
static void va_errorMessage(const char *msg, ...)
{
diff --git a/src/x11/va_x11.c b/src/x11/va_x11.c
index ec0bbc8..9de904e 100644
--- a/src/x11/va_x11.c
+++ b/src/x11/va_x11.c
@@ -205,27 +205,6 @@ static VAStatus va_DisplayContextGetDriverName (
return vaStatus;
}
-int vaDisplayIsValid(VADisplay dpy)
-{
- VADisplayContextP tmp=NULL;
- VADisplayContextP pDisplayContext = pDisplayContexts;
-
- while (pDisplayContext)
- {
- if (pDisplayContext == (VADisplayContextP)dpy)
- {
- tmp = (VADisplay)pDisplayContext;
- break;
- }
- pDisplayContext = pDisplayContext->pNext;
- }
-
- if (!tmp)
- return 0;
-
- return tmp->vaIsValid(pDisplayContext);
-}
-
VADisplay vaGetDisplay (
Display *native_dpy /* implementation specific */