Build two versions of pipe-loader, with only the client version linking in x11 client side dependencies. This will allow the XA state tracker to use pipe-loader. Signed-off-by: Rob Clark <robclark@freedesktop.org>tags/mesa-10.2-rc1
@@ -1913,6 +1913,11 @@ AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_I915" = xyes - | |||
"x$HAVE_GALLIUM_SOFTPIPE" = xyes \ | |||
&& test "x$MESA_LLVM" = x1) | |||
# NOTE: anything using xcb or other client side libs ends up in separate | |||
# _CLIENT variables. The pipe loader is built in two variants, | |||
# one that is standalone and does not link any x client libs (for | |||
# use by XA tracker in particular, but could be used in any case | |||
# where communication with xserver is not desired). | |||
if test "x$enable_gallium_loader" = xyes; then | |||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null" | |||
@@ -1921,13 +1926,18 @@ if test "x$enable_gallium_loader" = xyes; then | |||
PKG_CHECK_MODULES([GALLIUM_PIPE_LOADER_XCB], [xcb xcb-dri2], | |||
pipe_loader_have_xcb=yes, pipe_loader_have_xcb=no) | |||
if test "x$pipe_loader_have_xcb" = xyes; then | |||
GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XCB" | |||
GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS" | |||
GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES -DHAVE_PIPE_LOADER_XCB" | |||
GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_XCB_LIBS $LIBDRM_LIBS" | |||
fi | |||
fi | |||
GALLIUM_PIPE_LOADER_CLIENT_DEFINES="$GALLIUM_PIPE_LOADER_CLIENT_DEFINES $GALLIUM_PIPE_LOADER_DEFINES" | |||
GALLIUM_PIPE_LOADER_CLIENT_LIBS="$GALLIUM_PIPE_LOADER_CLIENT_LIBS $GALLIUM_PIPE_LOADER_LIBS" | |||
AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES]) | |||
AC_SUBST([GALLIUM_PIPE_LOADER_LIBS]) | |||
AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_DEFINES]) | |||
AC_SUBST([GALLIUM_PIPE_LOADER_CLIENT_LIBS]) | |||
fi | |||
AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes) |
@@ -2,7 +2,6 @@ AUTOMAKE_OPTIONS = subdir-objects | |||
AM_CPPFLAGS = $(DEFINES) \ | |||
$(VISIBILITY_CFLAGS) \ | |||
$(GALLIUM_PIPE_LOADER_DEFINES) \ | |||
-I$(top_srcdir)/include \ | |||
-I$(top_srcdir)/src/loader \ | |||
-I$(top_srcdir)/src/gallium/include \ | |||
@@ -13,8 +12,9 @@ noinst_LTLIBRARIES = | |||
if HAVE_LOADER_GALLIUM | |||
noinst_LTLIBRARIES += libpipe_loader.la | |||
noinst_LTLIBRARIES += libpipe_loader_client.la | |||
libpipe_loader_la_SOURCES = \ | |||
COMMON_SOURCES = \ | |||
pipe_loader.h \ | |||
pipe_loader_priv.h \ | |||
pipe_loader.c \ | |||
@@ -23,10 +23,25 @@ libpipe_loader_la_SOURCES = \ | |||
if HAVE_DRM_LOADER_GALLIUM | |||
AM_CFLAGS = $(LIBDRM_CFLAGS) | |||
libpipe_loader_la_SOURCES += pipe_loader_drm.c | |||
COMMON_SOURCES += pipe_loader_drm.c | |||
libpipe_loader_la_LIBADD = \ | |||
COMMON_LIBADD = \ | |||
$(top_builddir)/src/loader/libloader.la | |||
endif | |||
libpipe_loader_la_CFLAGS = \ | |||
$(GALLIUM_PIPE_LOADER_DEFINES) \ | |||
$(AM_CFLAGS) $(AM_CPPFLAGS) | |||
libpipe_loader_la_SOURCES = $(COMMON_SOURCES) | |||
libpipe_loader_la_LIBADD = $(COMMON_LIBADD) \ | |||
$(GALLIUM_PIPE_LOADER_LIBS) | |||
libpipe_loader_client_la_CFLAGS = \ | |||
$(GALLIUM_PIPE_LOADER_CLIENT_DEFINES) \ | |||
$(AM_CFLAGS) $(AM_CPPFLAGS) | |||
libpipe_loader_client_la_SOURCES = $(COMMON_SOURCES) | |||
libpipe_loader_client_la_LIBADD = $(COMMON_LIBADD) \ | |||
$(GALLIUM_PIPE_LOADER_CLIENT_LIBS) | |||
endif |
@@ -42,8 +42,8 @@ gbm_LTLIBRARIES = gbm_gallium_drm.la | |||
gbm_gallium_drm_la_SOURCES = gbm.c | |||
gbm_gallium_drm_la_LIBADD = \ | |||
$(GALLIUM_PIPE_LOADER_LIBS) \ | |||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ | |||
$(GALLIUM_PIPE_LOADER_CLIENT_LIBS) \ | |||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_client.la \ | |||
$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \ | |||
$(top_builddir)/src/gallium/state_trackers/gbm/libgbm.la \ | |||
$(top_builddir)/src/gallium/auxiliary/libgallium.la \ |
@@ -7,11 +7,11 @@ lib@OPENCL_LIBNAME@_la_LDFLAGS = \ | |||
-version-number 1:0 | |||
lib@OPENCL_LIBNAME@_la_LIBADD = \ | |||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ | |||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_client.la \ | |||
$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \ | |||
$(top_builddir)/src/gallium/state_trackers/clover/libclover.la \ | |||
$(top_builddir)/src/gallium/auxiliary/libgallium.la \ | |||
$(GALLIUM_PIPE_LOADER_LIBS) \ | |||
$(GALLIUM_PIPE_LOADER_CLIENT_LIBS) \ | |||
-ldl \ | |||
-lclangCodeGen \ | |||
-lclangFrontendTool \ |
@@ -11,8 +11,8 @@ AM_CPPFLAGS = \ | |||
-DPIPE_SEARCH_DIR=\"$(PIPE_SRC_DIR)/.libs\" \ | |||
$(GALLIUM_PIPE_LOADER_DEFINES) | |||
LDADD = $(GALLIUM_PIPE_LOADER_LIBS) \ | |||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ | |||
LDADD = $(GALLIUM_PIPE_LOADER_CLIENT_LIBS) \ | |||
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_client.la \ | |||
$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \ | |||
$(top_builddir)/src/gallium/auxiliary/libgallium.la \ | |||
$(DLOPEN_LIBS) \ |