From bba8ecc0f678b50f521ca06c69a88b7c9f0dc15c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Courr=C3=A8ges-Anglas?= Date: Wed, 23 Nov 2016 09:55:43 +0100 Subject: define HAVE_XRANDR/link with libXrandr when we actually want to --- configure.ac | 13 +++++++------ src/Makefile.am | 2 +- src/events.c | 2 +- src/main.c | 2 +- src/screen.c | 6 +++--- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/configure.ac b/configure.ac index ef44eb3..63ee565 100644 --- a/configure.ac +++ b/configure.ac @@ -184,18 +184,19 @@ AC_CHECK_HEADERS([X11/extensions/Xrandr.h], [], [], [ ]) CPPFLAGS="$mysavedCPPFLAGS" -AC_CHECK_LIB(Xrandr, XRRGetScreenResources, - [X_LIBS="-lXrandr $X_LIBS" - AC_DEFINE(HAVE_LIBXRANDR, 1, [Xrandr])], - [], [$X_LIBS $X_EXTRA_LIBS]) +# XXX Find out why ":" is so important below, with no argument +# half of config.h ends up #undef'd +AC_CHECK_LIB(Xrandr, XRRGetScreenResources, [: nothing], [], [$X_LIBS $X_EXTRA_LIBS]) compile_xrandr=no AS_CASE(["$with_xrandr:$ac_cv_header_X11_extensions_Xrandr_h:$ac_cv_lib_Xrandr_XRRGetScreenResources"], [yes:no:*], [AC_MSG_ERROR([*** Can't enable Xrandr support, header Xrandr.h not found.])], [yes:*:no], [AC_MSG_ERROR([*** Can't enable Xrandr support, libXrandr not found.])], - [yes:yes:yes|check:yes:yes], [compile_xrandr=yes]) + [yes:yes:yes|check:yes:yes], [X_LIBS="-lXrandr $X_LIBS" + AC_DEFINE(HAVE_XRANDR, 1, [Xrandr]) + compile_xrandr=yes]) -AM_CONDITIONAL(HAVE_LIBXRANDR, [test "$compile_xrandr" = yes]) +AM_CONDITIONAL(HAVE_XRANDR, [test "$compile_xrandr" = yes]) AC_SUBST(X_LIBS) AC_SUBST(X_EXTRA_LIBS) diff --git a/src/Makefile.am b/src/Makefile.am index 0daf587..bc27439 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -72,6 +72,6 @@ ratpoison_SOURCES = actions.c \ window.c \ window.h -if HAVE_LIBXRANDR +if HAVE_XRANDR ratpoison_SOURCES += xrandr.c xrandr.h endif diff --git a/src/events.c b/src/events.c index b31a194..5e1013a 100644 --- a/src/events.c +++ b/src/events.c @@ -785,7 +785,7 @@ static void delegate_event (XEvent *ev) { -#ifdef HAVE_LIBXRANDR +#ifdef HAVE_XRANDR if (rp_have_xrandr) xrandr_notify (ev); #endif diff --git a/src/main.c b/src/main.c index f5b5972..ca5ebc8 100644 --- a/src/main.c +++ b/src/main.c @@ -727,7 +727,7 @@ main (int argc, char *argv[]) init_groups (); init_window_stuff (); -#ifdef HAVE_LIBXRANDR +#ifdef HAVE_XRANDR init_xrandr (); #endif diff --git a/src/screen.c b/src/screen.c index ea00262..240b876 100644 --- a/src/screen.c +++ b/src/screen.c @@ -239,7 +239,7 @@ init_screens (void) /* Get the number of screens */ if (rp_have_xrandr) { -#ifdef HAVE_LIBXRANDR +#ifdef HAVE_XRANDR rr_outputs = xrandr_query_screen (&screen_count); #endif } else { @@ -256,7 +256,7 @@ init_screens (void) screen = xmalloc (sizeof(*screen)); list_add (&screen->node, &rp_screens); -#ifdef HAVE_LIBXRANDR +#ifdef HAVE_XRANDR if (rp_have_xrandr) xrandr_fill_screen (rr_outputs[i], screen); #endif @@ -574,7 +574,7 @@ screen_add (int rr_output) change_windows_screen (NULL, screen); -#ifdef HAVE_LIBXRANDR +#ifdef HAVE_XRANDR if (rp_have_xrandr) xrandr_fill_screen (rr_output, screen); #endif -- cgit v1.2.3