configure.ac: split the wayland client/server confusion

At the moment wayland-clients, such as the Vulkan drivers were
over-linking against libwayland-server.so.

That went unnoticed, since both client and server code uses the
wl*interface symbols, which are present in both libwayland-client.so and
libwayland-server.so.

I've looked at correcting that, although that's orthogonal to this fix.

Note: wayland-egl does _not_ depend on wayland-client, although it does
need wayland-egl.h. There's no distinct package that provides it (I have
a WIP on the topic) so current solution will do for now.

v2: Rebase with the "...inline wayland_drm_buffer_get" patch removed.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
Emil Velikov 2017-09-01 17:39:36 +01:00 committed by Emil Velikov
parent 1d0be5b3fe
commit 2785090a2a
8 changed files with 15 additions and 12 deletions

View File

@ -1710,7 +1710,8 @@ for plat in $platforms; do
case "$plat" in
wayland)
PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED])
PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED])
if test "x$WAYLAND_SCANNER" = "x:"; then
AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])

View File

@ -90,13 +90,13 @@ endif
if HAVE_PLATFORM_WAYLAND
AM_CPPFLAGS += \
$(WAYLAND_CFLAGS) \
$(WAYLAND_CLIENT_CFLAGS) \
-DVK_USE_PLATFORM_WAYLAND_KHR
VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
VULKAN_LIB_DEPS += \
$(WAYLAND_LIBS)
$(WAYLAND_CLIENT_LIBS)
endif
noinst_LTLIBRARIES = libvulkan_common.la

View File

@ -79,10 +79,12 @@ if HAVE_PLATFORM_WAYLAND
drivers/dri2/linux-dmabuf-unstable-v1-protocol.lo: drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h
drivers/dri2/egl_dri2.lo: drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h
AM_CFLAGS += $(WAYLAND_CFLAGS)
libEGL_common_la_LIBADD += $(WAYLAND_LIBS)
AM_CFLAGS += $(WAYLAND_CLIENT_CFLAGS)
libEGL_common_la_LIBADD += $(WAYLAND_CLIENT_LIBS)
libEGL_common_la_LIBADD += $(LIBDRM_LIBS)
AM_CFLAGS += $(WAYLAND_SERVER_CFLAGS)
libEGL_common_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la
libEGL_common_la_LIBADD += $(WAYLAND_SERVER_LIBS)
dri2_backend_FILES += \
drivers/dri2/platform_wayland.c \
drivers/dri2/linux-dmabuf-unstable-v1-protocol.c \

View File

@ -2,7 +2,7 @@ AM_CFLAGS = -I$(top_srcdir)/src/egl/main \
-I$(top_srcdir)/include \
$(DEFINES) \
$(VISIBILITY_CFLAGS) \
$(WAYLAND_CFLAGS)
$(WAYLAND_SERVER_CFLAGS)
noinst_LTLIBRARIES = libwayland-drm.la
libwayland_drm_la_SOURCES = \

View File

@ -3,7 +3,7 @@ pkgconfig_DATA = wayland-egl.pc
AM_CFLAGS = $(DEFINES) \
$(VISIBILITY_CFLAGS) \
$(WAYLAND_CFLAGS)
$(WAYLAND_CLIENT_CFLAGS)
lib_LTLIBRARIES = libwayland-egl.la
noinst_HEADERS = wayland-egl-priv.h

View File

@ -31,8 +31,8 @@ libgbm_la_LIBADD = \
$(DLOPEN_LIBS)
if HAVE_PLATFORM_WAYLAND
AM_CFLAGS += $(WAYLAND_CFLAGS)
libgbm_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la $(WAYLAND_LIBS)
AM_CFLAGS += $(WAYLAND_SERVER_CFLAGS)
libgbm_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la $(WAYLAND_SERVER_LIBS)
endif
if HAVE_DRI2

View File

@ -160,12 +160,12 @@ endif
if HAVE_PLATFORM_WAYLAND
VULKAN_CPPFLAGS += \
$(WAYLAND_CFLAGS) \
$(WAYLAND_CLIENT_CFLAGS) \
-DVK_USE_PLATFORM_WAYLAND_KHR
VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
VULKAN_LIB_DEPS += $(WAYLAND_LIBS)
VULKAN_LIB_DEPS += $(WAYLAND_CLIENT_LIBS)
endif
noinst_LTLIBRARIES += vulkan/libvulkan_common.la

View File

@ -70,7 +70,7 @@ wsi/wayland-drm-client-protocol.h : $(WL_DRM_XML)
if HAVE_PLATFORM_WAYLAND
AM_CPPFLAGS += \
-I$(top_builddir)/src/vulkan/wsi \
$(WAYLAND_CFLAGS) \
$(WAYLAND_CLIENT_CFLAGS) \
-DVK_USE_PLATFORM_WAYLAND_KHR
VULKAN_WSI_SOURCES += \