OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- X_LIBS="$X_LIBS -lX11"
- LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
+ X_LIBS="$X_PRE_LIBS $X_LIBS -lX11"
+ LIBS="$LIBS $X_LIBS"
# Check for required functions in -lX11
AC_CHECK_LIB(
AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.])
)
- # Restore the old values. Use X_CFLAGS and X_PRE_LIBS X_LIBS X_EXTRA_LIBS in
+ # Restore the old values. Use X_CFLAGS and X_LIBS in
# the Makefiles
LIBS=$OLDLIBS
CPPFLAGS=$OLDCPPFLAGS
OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
+ LIBS="$LIBS $X_LIBS"
AC_CHECK_LIB([X11], [XkbBell],
AC_MSG_CHECKING([for X11/XKBlib.h])
OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext -lXrender -lXrandr"
+ LIBS="$LIBS $X_LIBS -lXext -lXrender -lXrandr"
AC_CHECK_LIB([Xrandr], [XRRSelectInput],
AC_MSG_CHECKING([for X11/extensions/Xrandr.h])
OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
+ LIBS="$LIBS $X_LIBS"
AC_CHECK_LIB([Xext], [XShapeCombineShape],
AC_MSG_CHECKING([for X11/extensions/shape.h])
OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext"
+ LIBS="$LIBS $X_LIBS -lXext"
AC_CHECK_LIB([Xinerama], [XineramaQueryExtension],
[
fi
])
-# VIDMODE()
+# X11_EXT_SYNC()
#
-# Check for the presence of the "VidMode" X Window System extension.
-# Defines "VIDMODE" and sets the $(VIDMODE) variable to "yes" if the extension
-# is present.
-AC_DEFUN([X11_EXT_VIDMODE],
+# Check for the presence of the "Sync" X Window System extension.
+# Defines "SYNC", sets the $(SYNC) variable to "yes", and sets the $(LIBS)
+# appropriately if the extension is present.
+AC_DEFUN([X11_EXT_SYNC],
[
AC_REQUIRE([X11_DEVEL])
OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext -lXxf86vm"
+ LIBS="$LIBS $X_LIBS"
- AC_CHECK_LIB([Xxf86vm], [XF86VidModeGetViewPort],
- AC_MSG_CHECKING([for X11/extensions/xf86vmode.h])
+ AC_CHECK_LIB([Xext], [XSyncInitialize],
+ AC_MSG_CHECKING([for X11/extensions/sync.h])
AC_TRY_LINK(
[
#include <X11/Xlib.h>
- #include <X11/extensions/xf86vmode.h>
+ #include <X11/Xutil.h>
+ #include <X11/extensions/sync.h>
],
[
- Display *d;
- int i;
- XF86VidModeQueryExtension(d, &i, &i);
- XF86VidModeGetViewPort(d, i, &i, &i);
+ XSyncValueType foo;
],
[
AC_MSG_RESULT([yes])
- VIDMODE="yes"
- AC_DEFINE([VIDMODE], [1], [Found the VidMode extension])
+ SYNC="yes"
+ AC_DEFINE([SYNC], [1], [Found the XSync extension])
- VIDMODE_CFLAGS=""
- VIDMODE_LIBS="-lXext -lXxf86vm"
- AC_SUBST(VIDMODE_CFLAGS)
- AC_SUBST(VIDMODE_LIBS)
+ XSYNC_CFLAGS=""
+ XSYNC_LIBS="-lXext"
+ AC_SUBST(XSYNC_CFLAGS)
+ AC_SUBST(XSYNC_LIBS)
],
[
AC_MSG_RESULT([no])
- VIDMODE="no"
+ SYNC="no"
])
)
+ LIBS=$OLDLIBS
+ CPPFLAGS=$OLDCPPFLAGS
+
+ AC_MSG_CHECKING([for the Sync extension])
+ if test "$SYNC" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
+# X11_SM()
+#
+# Check for the presence of SMlib for session management.
+# Defines "USE_SM" if SMlib is present.
+AC_DEFUN([X11_SM],
+[
+ AC_REQUIRE([X11_DEVEL])
+
+ AC_ARG_ENABLE([session-management],
+ AC_HELP_STRING(
+ [--disable-session-management], [build without support for session managers [[default=enabled]]]),
+ [SM=$enableval], [SM="yes"])
+
+ if test "$SM" = "yes"; then
+ # Store these
+ OLDLIBS=$LIBS
+ OLDCPPFLAGS=$CPPFLAGS
+
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ LIBS="$LIBS $X_LIBS"
+
+ SM="no"
+
+ AC_CHECK_LIB([SM], [SmcSaveYourselfDone], [
+ AC_CHECK_HEADERS([X11/SM/SMlib.h], [
+ SM_CFLAGS="$X_CFLAGS"
+ SM_LIBS="-lSM -lICE"
+ AC_DEFINE(USE_SM, 1, [Use session management])
+ AC_SUBST(SM_CFLAGS)
+ AC_SUBST(SM_LIBS)
+ SM="yes"
+ ])
+ ])
+ fi
+
LIBS=$OLDLIBS
CPPFLAGS=$OLDCPPFLAGS
- AC_MSG_CHECKING([for the VidMode extension])
- if test "$VIDMODE" = "yes"; then
+ AC_MSG_CHECKING([for session management support])
+ if test "$SM" = "yes"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])