X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=m4%2Fx11.m4;h=65e2ab7f043b6bcec29273549373661bba2f1a9b;hb=19500061fbad5f4d2b8be034d381542732773d05;hp=f070b121d43b5ea239671bc64056d801c542bf4e;hpb=76b795e9de7d74635a9fb6b0c95d4c2745a9da0b;p=chaz%2Fopenbox diff --git a/m4/x11.m4 b/m4/x11.m4 index f070b121..65e2ab7f 100644 --- a/m4/x11.m4 +++ b/m4/x11.m4 @@ -1,15 +1,19 @@ # 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" + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + X_LIBS="$X_LIBS -lX11" LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS" # Check for required functions in -lX11 @@ -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_PRE_LIBS X_LIBS X_EXTRA_LIBS in + # the Makefiles + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS ]) @@ -43,13 +52,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 +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( @@ -159,10 +169,286 @@ 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]) ]) + + +# 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]) + + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS" + + 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]) + + 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]) + else + AC_MSG_RESULT([no]) + 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_PRE_LIBS $X_LIBS $X_EXTRA_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. +# 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]) + + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS" + + 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]) + + 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]) + 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]) + + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext" + + 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]) + 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]) + else + 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_PRE_LIBS $X_LIBS $X_EXTRA_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 +])