From 2785090a2ae9d959ce87e40629281a8079fd2f49 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 1 Sep 2017 17:39:36 +0100 Subject: [PATCH] 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 Reviewed-by: Daniel Stone --- configure.ac | 3 ++- src/amd/vulkan/Makefile.am | 4 ++-- src/egl/Makefile.am | 6 ++++-- src/egl/wayland/wayland-drm/Makefile.am | 2 +- src/egl/wayland/wayland-egl/Makefile.am | 2 +- src/gbm/Makefile.am | 4 ++-- src/intel/Makefile.vulkan.am | 4 ++-- src/vulkan/Makefile.am | 2 +- 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/configure.ac b/configure.ac index 5fa608c4dd0..f5d960f9d92 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am index 3350f545403..438872bbb48 100644 --- a/src/amd/vulkan/Makefile.am +++ b/src/amd/vulkan/Makefile.am @@ -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 diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am index 8ff1ffaba18..f140f5d6412 100644 --- a/src/egl/Makefile.am +++ b/src/egl/Makefile.am @@ -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 \ diff --git a/src/egl/wayland/wayland-drm/Makefile.am b/src/egl/wayland/wayland-drm/Makefile.am index f40ff4841e0..b27edddafb1 100644 --- a/src/egl/wayland/wayland-drm/Makefile.am +++ b/src/egl/wayland/wayland-drm/Makefile.am @@ -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 = \ diff --git a/src/egl/wayland/wayland-egl/Makefile.am b/src/egl/wayland/wayland-egl/Makefile.am index 846fa6247b2..34394a17f0e 100644 --- a/src/egl/wayland/wayland-egl/Makefile.am +++ b/src/egl/wayland/wayland-egl/Makefile.am @@ -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 diff --git a/src/gbm/Makefile.am b/src/gbm/Makefile.am index f5fa81c7c96..805208a3ca9 100644 --- a/src/gbm/Makefile.am +++ b/src/gbm/Makefile.am @@ -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 diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am index 8a19f96096a..271b0a5079b 100644 --- a/src/intel/Makefile.vulkan.am +++ b/src/intel/Makefile.vulkan.am @@ -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 diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am index 47ef05b01f6..8766952eafb 100644 --- a/src/vulkan/Makefile.am +++ b/src/vulkan/Makefile.am @@ -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 += \ -- 2.30.2