]> Dogcows Code - chaz/openbox/blobdiff - m4/x11.m4
add --enable-gprof option for configure
[chaz/openbox] / m4 / x11.m4
index 5a4a35ddd62d6d220212de6ccb19a8c6d50b0c68..fc7b36e191b9a16727abd314c40f685cf51ab3fa 100644 (file)
--- a/m4/x11.m4
+++ b/m4/x11.m4
@@ -13,8 +13,8 @@ AC_DEFUN([X11_DEVEL],
   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(
@@ -23,7 +23,7 @@ AC_DEFUN([X11_DEVEL],
     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
@@ -192,7 +192,7 @@ AC_DEFUN([X11_EXT_XKB],
   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])
@@ -211,6 +211,11 @@ AC_DEFUN([X11_EXT_XKB],
       AC_MSG_RESULT([yes])
       XKB="yes"
       AC_DEFINE([XKB], [1], [Found the XKB extension])
+
+      XKB_CFLAGS=""
+      XKB_LIBS=""
+      AC_SUBST(XKB_CFLAGS)
+      AC_SUBST(XKB_LIBS)
     ],
     [ 
       AC_MSG_RESULT([no])
@@ -229,6 +234,63 @@ AC_DEFUN([X11_EXT_XKB],
   fi
 ])
 
+# X11_EXT_XRANDR()
+#
+# Check for the presence of the "XRandR" X Window System extension.
+# Defines "XRANDR" and sets the $(XRANDR) variable to "yes" if the extension is
+# present.
+AC_DEFUN([X11_EXT_XRANDR],
+[
+  AC_REQUIRE([X11_DEVEL])
+
+  # Store these
+  OLDLIBS=$LIBS
+  OLDCPPFLAGS=$CPPFLAGS
+     
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  LIBS="$LIBS $X_LIBS -lXext -lXrender -lXrandr"
+
+  AC_CHECK_LIB([Xrandr], [XRRSelectInput],
+    AC_MSG_CHECKING([for X11/extensions/Xrandr.h])
+    AC_TRY_LINK(
+    [
+      #include <X11/Xlib.h>
+      #include <X11/extensions/Xrandr.h>
+    ],
+    [
+      Display *d;
+      Drawable r;
+      int i;
+      XRRQueryExtension(d, &i, &i);
+      XRRGetScreenInfo(d, r);
+    ],
+    [
+      AC_MSG_RESULT([yes])
+      XRANDR="yes"
+      AC_DEFINE([XRANDR], [1], [Found the XRandR extension])
+
+      XRANDR_CFLAGS=""
+      XRANDR_LIBS="-lXext -lXrender -lXrandr"
+      AC_SUBST(XRANDR_CFLAGS)
+      AC_SUBST(XRANDR_LIBS)
+    ],
+    [ 
+      AC_MSG_RESULT([no])
+      XRANDR="no"
+    ])
+  )
+
+  LIBS=$OLDLIBS
+  CPPFLAGS=$OLDCPPFLAGS
+
+  AC_MSG_CHECKING([for the XRandR extension])
+  if test "$XRANDR" = "yes"; then
+    AC_MSG_RESULT([yes])
+  else
+    AC_MSG_RESULT([no])
+  fi
+])
+
 # X11_EXT_SHAPE()
 #
 # Check for the presence of the "Shape" X Window System extension.
@@ -243,7 +305,7 @@ AC_DEFUN([X11_EXT_SHAPE],
   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])
@@ -260,7 +322,11 @@ AC_DEFUN([X11_EXT_SHAPE],
       AC_MSG_RESULT([yes])
       SHAPE="yes"
       AC_DEFINE([SHAPE], [1], [Found the XShape extension])
-      LIBS="$LIBS -lXext"
+
+      XSHAPE_CFLAGS=""
+      XSHAPE_LIBS="-lXext"
+      AC_SUBST(XSHAPE_CFLAGS)
+      AC_SUBST(XSHAPE_LIBS)
     ],
     [ 
       AC_MSG_RESULT([no])
@@ -271,7 +337,7 @@ AC_DEFUN([X11_EXT_SHAPE],
   LIBS=$OLDLIBS
   CPPFLAGS=$OLDCPPFLAGS
  
- AC_MSG_CHECKING([for the Shape extension])
 AC_MSG_CHECKING([for the Shape extension])
   if test "$SHAPE" = "yes"; then
     AC_MSG_RESULT([yes])
   else
@@ -294,7 +360,7 @@ AC_DEFUN([X11_EXT_XINERAMA],
   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],
   [
@@ -330,3 +396,103 @@ AC_DEFUN([X11_EXT_XINERAMA],
     AC_MSG_RESULT([no])
   fi
 ])
+
+# X11_EXT_SYNC()
+#
+# 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])
+
+  # Store these
+  OLDLIBS=$LIBS
+  OLDCPPFLAGS=$CPPFLAGS
+     
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  LIBS="$LIBS $X_LIBS"
+
+  AC_CHECK_LIB([Xext], [XSyncInitialize],
+    AC_MSG_CHECKING([for X11/extensions/sync.h])
+    AC_TRY_LINK(
+    [
+      #include <X11/Xlib.h>
+      #include <X11/Xutil.h>
+      #include <X11/extensions/sync.h>
+    ],
+    [
+      XSyncValueType foo;
+    ],
+    [
+      AC_MSG_RESULT([yes])
+      SYNC="yes"
+      AC_DEFINE([SYNC], [1], [Found the XSync extension])
+
+      XSYNC_CFLAGS=""
+      XSYNC_LIBS="-lXext"
+      AC_SUBST(XSYNC_CFLAGS)
+      AC_SUBST(XSYNC_LIBS)
+    ],
+    [ 
+      AC_MSG_RESULT([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 session management support])
+  if test "$SM" = "yes"; then
+    AC_MSG_RESULT([yes])
+  else
+    AC_MSG_RESULT([no])
+  fi
+])
This page took 0.025895 seconds and 4 git commands to generate.