X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=m4%2Fx11.m4;h=494014f21d574bc63e7440ca4ae72904a59cac4b;hb=1052ca3f744bdad473b6e4028999375fb11d220b;hp=135bf2ef57b52efbfcfbe11d2966388ca419f556;hpb=02601c2856c604786acca84e3aef176baadc5c61;p=chaz%2Fopenbox diff --git a/m4/x11.m4 b/m4/x11.m4 index 135bf2ef..494014f2 100644 --- a/m4/x11.m4 +++ b/m4/x11.m4 @@ -1,16 +1,20 @@ # X11_DEVEL() # # Check for the presence of the X Window System headers and libraries. -# Sets the CXXFLAGS and LIBS variables as appropriate. +# Sets the CPPFLAGS and LIBS variables as appropriate. AC_DEFUN([X11_DEVEL], [ - AC_PATH_X AC_PATH_XTRA test "$no_x" = "yes" && \ AC_MSG_ERROR([The X Window System could not be found.]) + + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS - CXXFLAGS="$CXXFLAGS $X_CFLAGS" - LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS" + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + X_LIBS="$X_PRE_LIBS $X_LIBS -lX11" + LIBS="$LIBS $X_LIBS" # Check for required functions in -lX11 AC_CHECK_LIB( @@ -18,6 +22,11 @@ AC_DEFUN([X11_DEVEL], , AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.]) ) + + # Restore the old values. Use X_CFLAGS and X_LIBS in + # the Makefiles + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS ]) @@ -73,16 +82,16 @@ AC_DEFUN([XFT_DEVEL], # Store these OLDLIBS=$LIBS - OLDCXXFLAGS=$CXXFLAGS + OLDCPPFLAGS=$CPPFLAGS XFT_CFLAGS="`pkg-config --cflags xft`" XFT_LIBS="`pkg-config --libs xft`" # Set these for checking with the tests below. They'll be restored after LIBS="$LIBS $XFT_LIBS" - CXXFLAGS="$XFT_CFLAGS $CXXFLAGS" + CPPFLAGS="$XFT_CFLAGS $CPPFLAGS" - AC_CHECK_LIB([Xft], [XftFontOpenName], + AC_CHECK_LIB([Xft], [XftGetVersion], # this was not defined in < 2.0 if test "$XFT_MIN"; then AC_MSG_CHECKING([for X11/Xft/Xft.h for Xft >= $XFT_MIN]) AC_TRY_COMPILE( @@ -160,9 +169,9 @@ AC_DEFUN([XFT_DEVEL], ]) ) -# Restore the old values. Use XFT_CFLAGS and XFT_LIBS in the Makefile.am's + # Restore the old values. Use XFT_CFLAGS and XFT_LIBS in the Makefiles LIBS=$OLDLIBS - CXXFLAGS=$OLDCXXFLAGS + CPPFLAGS=$OLDCPPFLAGS AC_SUBST([XFT_CFLAGS]) AC_SUBST([XFT_LIBS]) @@ -178,6 +187,13 @@ AC_DEFUN([X11_EXT_XKB], [ AC_REQUIRE([X11_DEVEL]) + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS" + AC_CHECK_LIB([X11], [XkbBell], AC_MSG_CHECKING([for X11/XKBlib.h]) AC_TRY_LINK( @@ -195,12 +211,21 @@ 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]) XKB="no" ]) ) + + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + AC_MSG_CHECKING([for the Xkb extension]) if test "$XKB" = "yes"; then AC_MSG_RESULT([yes]) @@ -209,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 + #include + ], + [ + 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. @@ -218,6 +300,13 @@ AC_DEFUN([X11_EXT_SHAPE], [ AC_REQUIRE([X11_DEVEL]) + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS" + AC_CHECK_LIB([Xext], [XShapeCombineShape], AC_MSG_CHECKING([for X11/extensions/shape.h]) AC_TRY_LINK( @@ -233,13 +322,21 @@ 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]) SHAPE="no" ]) ) + + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + AC_MSG_CHECKING([for the Shape extension]) if test "$SHAPE" = "yes"; then AC_MSG_RESULT([yes]) @@ -258,6 +355,13 @@ AC_DEFUN([X11_EXT_XINERAMA], [ AC_REQUIRE([X11_DEVEL]) + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS -lXext" + AC_CHECK_LIB([Xinerama], [XineramaQueryExtension], [ AC_MSG_CHECKING([for X11/extensions/Xinerama.h]) @@ -273,13 +377,18 @@ AC_DEFUN([X11_EXT_XINERAMA], AC_MSG_RESULT([yes]) XINERAMA="yes" AC_DEFINE([XINERAMA], [1], [Enable support of the Xinerama extension]) - LIBS="$LIBS -lXinerama" + XINERAMA_LIBS="-lXext -lXinerama" + AC_SUBST(XINERAMA_LIBS) ], [ AC_MSG_RESULT([no]) XINERAMA="no" ]) ]) + + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + AC_MSG_CHECKING([for the Xinerama extension]) if test "$XINERAMA" = "yes"; then AC_MSG_RESULT([yes]) @@ -287,3 +396,104 @@ AC_DEFUN([X11_EXT_XINERAMA], AC_MSG_RESULT([no]) fi ]) + +# VIDMODE() +# +# 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], +[ + AC_REQUIRE([X11_DEVEL]) + + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS -lXext -lXxf86vm" + + AC_CHECK_LIB([Xxf86vm], [XF86VidModeGetViewPort], + AC_MSG_CHECKING([for X11/extensions/xf86vmode.h]) + AC_TRY_LINK( + [ + #include + #include + ], + [ + Display *d; + int i; + XF86VidModeQueryExtension(d, &i, &i); + XF86VidModeGetViewPort(d, i, &i, &i); + ], + [ + AC_MSG_RESULT([yes]) + VIDMODE="yes" + AC_DEFINE([VIDMODE], [1], [Found the VidMode extension]) + + VIDMODE_CFLAGS="" + VIDMODE_LIBS="-lXext -lXxf86vm" + AC_SUBST(VIDMODE_CFLAGS) + AC_SUBST(VIDMODE_LIBS) + ], + [ + AC_MSG_RESULT([no]) + VIDMODE="no" + ]) + ) + + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + + AC_MSG_CHECKING([for the VidMode extension]) + if test "$VIDMODE" = "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], + [ --disable-session-management build without support for session managers], + [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) + 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 +])