vlc | branch: master | Rémi Denis-Courmont <r...@remlab.net> | Wed May 30 19:14:14 2018 +0300| [7984db8c038c0802a29057da64429ce1e2895136] | committer: Rémi Denis-Courmont
configure: simplify XCB checks All (useful) parts of libxcb source are mandatory because there is not much point in splitting hairs. Xproto is mandatory as before. All errors are printed at once. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7984db8c038c0802a29057da64429ce1e2895136 --- configure.ac | 66 ++++++++++++++++++++------------------ modules/video_output/Makefile.am | 6 ++-- modules/video_output/xcb/window.c | 10 +++--- modules/video_splitter/Makefile.am | 2 +- 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/configure.ac b/configure.ac index 40d78663d5..bdfb6332f7 100644 --- a/configure.ac +++ b/configure.ac @@ -3068,50 +3068,54 @@ AC_ARG_ENABLE(xcb, enable_xcb="no" ]) ]) -AC_ARG_ENABLE(xvideo, - [ --enable-xvideo XVideo support (default enabled)],, [ - enable_xvideo="$enable_xcb" -]) have_xcb="no" +have_xkbcommon_x11="no" have_xcb_keysyms="no" -have_xcb_randr="no" -have_xcb_xvideo="no" -have_xcb_xkb="no" AS_IF([test "${enable_xcb}" != "no"], [ - dnl libxcb - PKG_CHECK_MODULES(XCB, [xcb >= 1.6]) - have_xcb="yes" - PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) - PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite]) - PKG_CHECK_MODULES(XPROTO, [xproto]) - - AS_IF([test "${enable_xvideo}" != "no"], [ - PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [have_xcb_xvideo="yes"]) - ]) - - PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [have_xcb_randr="yes"]) + xcb_err="" - PKG_CHECK_MODULES([XCB_XKB], [xcb-xkb], [ - PKG_CHECK_MODULES([XKBCOMMON_X11], [xkbcommon-x11], [ - have_xcb_xkb="yes" - ], [ - AC_MSG_WARN([${XKBCOMMON_X11_PKG_ERRORS}. Hotkeys will not work.]) - ]) + dnl libxcb + PKG_CHECK_MODULES([XCB], [xcb >= 1.6],, [ + xcb_err="$xcb_err ${XCB_PKG_ERRORS}."]) + PKG_CHECK_MODULES([XCB_COMPOSITE], [xcb-composite],, [ + xcb_err="$xcb_err ${XCB_COMPOSITE_PKG_ERRORS}."]) + PKG_CHECK_MODULES([XCB_RANDR], [xcb-randr >= 1.3],, [ + xcb_err="$xcb_err ${XCB_RANDR_PKG_ERRORS}."]) + PKG_CHECK_MODULES([XCB_SHM], [xcb-shm],, [ + xcb_err="$xcb_err ${XCB_SHM_PKG_ERRORS}."]) + PKG_CHECK_MODULES([XCB_XKB], [xcb-xkb],, [ + xcb_err="$xcb_err ${XCB_XKB_PKG_ERRORS}."]) + PKG_CHECK_MODULES([XCB_XV], [xcb-xv >= 1.1.90.1],, [ + xcb_err="$xcb_err ${XCB_XV_PKG_ERRORS}."]) + + dnl xproto + PKG_CHECK_MODULES(XPROTO, [xproto],, [ + xcb_err="$xcb_err ${XPROTO_PKG_ERRORS}."]) + + AS_IF([test -n "$xcb_err"], [ + AC_MSG_ERROR([$xcb_err Pass --disable-xcb to skip X11 support.]) + ]) + + dnl xkbcommon + PKG_CHECK_MODULES([XKBCOMMON_X11], [xkbcommon-x11], [ + have_xkbcommon_x11="yes" ], [ - AC_MSG_WARN([${XCB_XKB_PKG_ERRORS}. Hotkeys will not work.]) + AC_MSG_WARN([${XKBCOMMON_X11_PKG_ERRORS}. Hotkeys are disabled.]) ]) dnl xcb-utils - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [have_xcb_keysyms="yes"], [ - AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}]) + PKG_CHECK_MODULES([XCB_KEYSYMS], [xcb-keysyms >= 0.3.4], [ + have_xcb_keysyms="yes" + ], [ + AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Global hotkeys are disabled.]) ]) + + have_xcb="yes" ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) +AM_CONDITIONAL([HAVE_XKBCOMMON_X11], [test "${have_xkbcommon_x11}" = "yes"]) AM_CONDITIONAL([HAVE_XCB_KEYSYMS], [test "${have_xcb_keysyms}" = "yes"]) -AM_CONDITIONAL([HAVE_XCB_RANDR], [test "${have_xcb_randr}" = "yes"]) -AM_CONDITIONAL([HAVE_XCB_XVIDEO], [test "${have_xcb_xvideo}" = "yes"]) -AM_CONDITIONAL([HAVE_XCB_XKB], [test "${have_xcb_xkb}" = "yes"]) dnl diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am index 2f27c27735..ac027ce22b 100644 --- a/modules/video_output/Makefile.am +++ b/modules/video_output/Makefile.am @@ -167,15 +167,13 @@ libglx_plugin_la_LIBADD = $(GL_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11 if HAVE_XCB pkglib_LTLIBRARIES += libvlc_xcb_events.la vout_LTLIBRARIES += libxcb_x11_plugin.la libxcb_window_plugin.la -if HAVE_XCB_XKB +if HAVE_XKBCOMMON_X11 libxcb_window_plugin_la_SOURCES += \ video_output/xcb/keysym.h video_output/xcb/xcb_keysym.h \ video_output/xcb/vlc_xkb.h video_output/xcb/xkb.c -libxcb_window_plugin_la_CFLAGS += -DHAVE_XCB_XKB -DHAVE_XKBCOMMON +libxcb_window_plugin_la_CFLAGS += -DHAVE_XKBCOMMON endif -if HAVE_XCB_XVIDEO vout_LTLIBRARIES += libxcb_xv_plugin.la -endif if HAVE_EGL vout_LTLIBRARIES += libegl_x11_plugin.la endif diff --git a/modules/video_output/xcb/window.c b/modules/video_output/xcb/window.c index 134d313c12..793adb3eeb 100644 --- a/modules/video_output/xcb/window.c +++ b/modules/video_output/xcb/window.c @@ -31,7 +31,7 @@ #include <limits.h> /* _POSIX_HOST_NAME_MAX */ #include <xcb/xcb.h> -#ifdef HAVE_XCB_XKB +#ifdef HAVE_XKBCOMMON # include <xcb/xkb.h> # include <xkbcommon/xkbcommon-x11.h> # include "vlc_xkb.h" @@ -56,7 +56,7 @@ struct vout_window_sys_t xcb_atom_t wm_state_below; xcb_atom_t wm_state_fullscreen; -#ifdef HAVE_XCB_XKB +#ifdef HAVE_XKBCOMMON struct { struct xkb_context *ctx; @@ -69,7 +69,7 @@ struct vout_window_sys_t bool embedded; }; -#ifdef HAVE_XCB_XKB +#ifdef HAVE_XKBCOMMON static int InitKeyboard(vout_window_t *wnd) { vout_window_sys_t *sys = wnd->sys; @@ -231,7 +231,7 @@ static int ProcessEvent(vout_window_t *wnd, xcb_generic_event_t *ev) { case XCB_KEY_PRESS: { -#ifdef HAVE_XCB_XKB +#ifdef HAVE_XKBCOMMON xcb_key_press_event_t *e = (xcb_key_press_event_t *)ev; uint_fast32_t vk = vlc_xkb_get_one(sys->xkb.state, e->detail); @@ -290,7 +290,7 @@ static int ProcessEvent(vout_window_t *wnd, xcb_generic_event_t *ev) break; default: -#ifdef HAVE_XCB_XKB +#ifdef HAVE_XKBCOMMON if (sys->xkb.ctx != NULL && ev->response_type == sys->xkb.base) { ProcessKeyboardEvent(wnd, ev); diff --git a/modules/video_splitter/Makefile.am b/modules/video_splitter/Makefile.am index ffeb94e82f..c6905f2385 100644 --- a/modules/video_splitter/Makefile.am +++ b/modules/video_splitter/Makefile.am @@ -14,7 +14,7 @@ libpanoramix_plugin_la_LIBADD = $(LIBM) if HAVE_WIN32_DESKTOP splitter_LTLIBRARIES += libpanoramix_plugin.la else -if HAVE_XCB_RANDR +if HAVE_XCB libpanoramix_plugin_la_CFLAGS += $(XCB_RANDR_CFLAGS) $(XCB_CFLAGS) libpanoramix_plugin_la_LIBADD += $(XCB_RANDR_LIBS) $(XCB_LIBS) splitter_LTLIBRARIES += libpanoramix_plugin.la _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits