X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=m4%2Fx11.m4;h=2e6d0990efb40151fd1faf08a8628a7bdf1eb1fb;hb=5d665673a29be21fe4ecad870d0a2d4f5c2f308d;hp=f070b121d43b5ea239671bc64056d801c542bf4e;hpb=76b795e9de7d74635a9fb6b0c95d4c2745a9da0b;p=chaz%2Fopenbox diff --git a/m4/x11.m4 b/m4/x11.m4 index f070b121..2e6d0990 100644 --- a/m4/x11.m4 +++ b/m4/x11.m4 @@ -1,7 +1,7 @@ # 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 @@ -9,7 +9,7 @@ AC_DEFUN([X11_DEVEL], test "$no_x" = "yes" && \ AC_MSG_ERROR([The X Window System could not be found.]) - CXXFLAGS="$CXXFLAGS $X_CFLAGS" + CPPFLAGS="$CPPFLAGS $X_CFLAGS" LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS" # Check for required functions in -lX11 @@ -43,13 +43,14 @@ AC_DEFUN([XFT_ERROR], AC_DEFUN([XFT_DEVEL], [ AC_REQUIRE([X11_DEVEL]) - + if test "$1"; then - XFT_MIN=$1 + XFT_MIN="$1" XFT_MIN_MAJOR=${XFT_MIN%.*.*} XFT_MIN_MINOR=${XFT_MIN%.*} XFT_MIN_MINOR=${XFT_MIN_MINOR#*.} XFT_MIN_REVISION=${XFT_MIN#*.*.} + XFT_MIN="$XFT_MIN_MAJOR.$XFT_MIN_MINOR.$XFT_MIN_REVISION" else XFT_MIN="" fi @@ -72,16 +73,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( @@ -161,8 +162,128 @@ AC_DEFUN([XFT_DEVEL], # Restore the old values. Use XFT_CFLAGS and XFT_LIBS in the Makefile.am's LIBS=$OLDLIBS - CXXFLAGS=$OLDCXXFLAGS + CPPFLAGS=$OLDCPPFLAGS AC_SUBST([XFT_CFLAGS]) AC_SUBST([XFT_LIBS]) ]) + + +# X11_EXT_XKB() +# +# Check for the presence of the "Xkb" X Window System extension. +# Defines "XKB" and sets the $(XKB) variable to "yes" if the extension is +# present. +AC_DEFUN([X11_EXT_XKB], +[ + AC_REQUIRE([X11_DEVEL]) + + AC_CHECK_LIB([X11], [XkbBell], + AC_MSG_CHECKING([for X11/XKBlib.h]) + AC_TRY_LINK( + [ + #include + #include + #include + ], + [ + Display *d; + Window w; + XkbBell(d, w, 0, 0); + ], + [ + AC_MSG_RESULT([yes]) + XKB="yes" + AC_DEFINE([XKB], [1], [Found the XKB extension]) + ], + [ + AC_MSG_RESULT([no]) + XKB="no" + ]) + ) + AC_MSG_CHECKING([for the Xkb extension]) + if test "$XKB" = "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. +# Defines "SHAPE", sets the $(SHAPE) variable to "yes", and sets the $(LIBS) +# appropriately if the extension is present. +AC_DEFUN([X11_EXT_SHAPE], +[ + AC_REQUIRE([X11_DEVEL]) + + AC_CHECK_LIB([Xext], [XShapeCombineShape], + AC_MSG_CHECKING([for X11/extensions/shape.h]) + AC_TRY_LINK( + [ + #include + #include + #include + ], + [ + long foo = ShapeSet; + ], + [ + AC_MSG_RESULT([yes]) + SHAPE="yes" + AC_DEFINE([SHAPE], [1], [Found the XShape extension]) + LIBS="$LIBS -lXext" + ], + [ + AC_MSG_RESULT([no]) + SHAPE="no" + ]) + ) + AC_MSG_CHECKING([for the Shape extension]) + if test "$SHAPE" = "yes"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi +]) + + +# X11_EXT_XINERAMA() +# +# Check for the presence of the "Xinerama" X Window System extension. +# Defines "XINERAMA", sets the $(XINERAMA) variable to "yes", and sets the +# $(LIBS) appropriately if the extension is present. +AC_DEFUN([X11_EXT_XINERAMA], +[ + AC_REQUIRE([X11_DEVEL]) + + AC_CHECK_LIB([Xinerama], [XineramaQueryExtension], + [ + AC_MSG_CHECKING([for X11/extensions/Xinerama.h]) + AC_TRY_LINK( + [ + #include + #include + ], + [ + XineramaScreenInfo foo; + ], + [ + AC_MSG_RESULT([yes]) + XINERAMA="yes" + AC_DEFINE([XINERAMA], [1], [Enable support of the Xinerama extension]) + LIBS="$LIBS -lXinerama" + ], + [ + AC_MSG_RESULT([no]) + XINERAMA="no" + ]) + ]) + AC_MSG_CHECKING([for the Xinerama extension]) + if test "$XINERAMA" = "yes"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi +])