Browse Source

pipe-loader: split out "client" version

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
Rob Clark 11 years ago
parent
commit
a122c75599

+ 12
- 2
configure.ac View File

@@ -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)

+ 19
- 4
src/gallium/auxiliary/pipe-loader/Makefile.am View File

@@ -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

+ 2
- 2
src/gallium/targets/gbm/Makefile.am View File

@@ -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 \

+ 2
- 2
src/gallium/targets/opencl/Makefile.am View File

@@ -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 \

+ 2
- 2
src/gallium/tests/trivial/Makefile.am View File

@@ -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) \

Loading…
Cancel
Save