X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=m4%2Fx11.m4;h=f3b1ede1f9371dc6bc960550bcb3f70cae27fe58;hb=HEAD;hp=fc7b36e191b9a16727abd314c40f685cf51ab3fa;hpb=3d71bfd20857da4d42997da500f327b229bf9e80;p=chaz%2Fopenbox diff --git a/m4/x11.m4 b/m4/x11.m4 index fc7b36e1..f3b1ede1 100644 --- a/m4/x11.m4 +++ b/m4/x11.m4 @@ -11,7 +11,7 @@ AC_DEFUN([X11_DEVEL], # Store these OLDLIBS=$LIBS OLDCPPFLAGS=$CPPFLAGS - + CPPFLAGS="$CPPFLAGS $X_CFLAGS" X_LIBS="$X_PRE_LIBS $X_LIBS -lX11" LIBS="$LIBS $X_LIBS" @@ -29,202 +29,61 @@ AC_DEFUN([X11_DEVEL], CPPFLAGS=$OLDCPPFLAGS ]) - -AC_DEFUN([XFT_ERROR], -[ - if test "$XFT_MIN"; then - AC_MSG_ERROR([$PACKAGE requires the Xft font library >= $XFT_MIN. - See http://www.fontconfig.org/ -]) - else - AC_MSG_ERROR([$PACKAGE requires the Xft font library. - See http://www.fontconfig.org/ -]) - fi -]) - -# XFT_DEVEL([required-version]) +# X11_EXT_XKB() # -# Check for the XFT development package. -# You can use the optional argument to check for a library of at least the -# given version. -# It provides the $(PYTHON_CFLAGS) $(PYTHON_LIBS) output variables. -AC_DEFUN([XFT_DEVEL], +# 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]) - - if test "$1"; then - 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 - if test -z "$XFT_MIN"; then - AC_MSG_CHECKING([for Xft]) - if ! pkg-config xft; then - AC_MSG_RESULT([no]) - XFT_ERROR - fi - else - AC_MSG_CHECKING([for Xft version >= $XFT_MIN]) - if ! pkg-config --atleast-version $XFT_MIN xft; then - AC_MSG_RESULT([no]) - XFT_ERROR - fi - fi - AC_MSG_RESULT([yes]) - - - # Store these - OLDLIBS=$LIBS - OLDCPPFLAGS=$CPPFLAGS + AC_ARG_ENABLE([xkb], + AC_HELP_STRING( + [--disable-xkb], + [build without support for xkb extension [default=enabled]]), + [USE=$enableval], [USE="yes"]) - XFT_CFLAGS="`pkg-config --cflags xft`" - XFT_LIBS="`pkg-config --libs xft`" + if test "$USE" = "yes"; then + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS - # Set these for checking with the tests below. They'll be restored after - LIBS="$LIBS $XFT_LIBS" - CPPFLAGS="$XFT_CFLAGS $CPPFLAGS" + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS" - 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( + AC_CHECK_LIB([X11], [XkbBell], + AC_MSG_CHECKING([for X11/XKBlib.h]) + AC_TRY_LINK( [ #include - #include + #include + #include ], [ - #if !defined(XFT_MAJOR) - # error Xft.h is too old - #endif - #if XFT_MAJOR < $XFT_MIN_MAJOR - # error Xft.h is too old - #endif - #if XFT_MAJOR == $XFT_MIN_MAJOR - # if XFT_MINOR < $XFT_MIN_MINOR - # error Xft.h is too old - # endif - #endif - #if XFT_MAJOR == $XFT_MIN_MAJOR - # if XFT_MAJOR == $XFT_MIN_MINOR - # if XFT_REVISION < $XFT_MIN_REVISION - # error Xft.h is too old - # endif - # endif - #endif - - int i = XFT_MAJOR; - XftFont foo; - ], - [ - AC_MSG_RESULT([yes]) - ], - [ - AC_MSG_RESULT([no]) - XFT_ERROR - ]) - else - AC_MSG_CHECKING([for X11/Xft/Xft.h]) - AC_TRY_COMPILE( - [ - #include - #include - ], - [ - int i = XFT_MAJOR; /* make sure were using Xft 2, not 1 */ - XftFont foo; + 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]) - XFT_ERROR + XKB="no" ]) - fi - - AC_MSG_CHECKING([if we can compile with Xft]) - AC_TRY_LINK( - [ - #include - #include - ], - [ - int i = XFT_MAJOR; - XftFont foo - ], - [ - AC_MSG_RESULT([yes]) - ], - [ - AC_MSG_RESULT([no]) - AC_MSG_ERROR([Unable to compile with the Xft font library. -]) - ]) - ) + ) - # Restore the old values. Use XFT_CFLAGS and XFT_LIBS in the Makefiles - LIBS=$OLDLIBS - 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_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 + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + fi AC_MSG_CHECKING([for the Xkb extension]) if test "$XKB" = "yes"; then @@ -243,45 +102,53 @@ 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_ARG_ENABLE([xrandr], + AC_HELP_STRING( + [--disable-xrandr], + [build without support for xrandr extension [default=enabled]]), + [USE=$enableval], [USE="yes"]) - 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]) + if test "$USE" = "yes"; then + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS - XRANDR_CFLAGS="" - XRANDR_LIBS="-lXext -lXrender -lXrandr" - AC_SUBST(XRANDR_CFLAGS) - AC_SUBST(XRANDR_LIBS) - ], - [ - AC_MSG_RESULT([no]) - XRANDR="no" - ]) - ) + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS -lXext -lXrender -lXrandr" - LIBS=$OLDLIBS - CPPFLAGS=$OLDCPPFLAGS + 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 + fi AC_MSG_CHECKING([for the XRandR extension]) if test "$XRANDR" = "yes"; then @@ -300,43 +167,51 @@ AC_DEFUN([X11_EXT_SHAPE], [ AC_REQUIRE([X11_DEVEL]) - # Store these - OLDLIBS=$LIBS - OLDCPPFLAGS=$CPPFLAGS - - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - LIBS="$LIBS $X_LIBS" + AC_ARG_ENABLE([xshape], + AC_HELP_STRING( + [--disable-xshape], + [build without support for xshape extension [default=enabled]]), + [USE=$enableval], [USE="yes"]) - 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]) + if test "$USE" = "yes"; then + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS - XSHAPE_CFLAGS="" - XSHAPE_LIBS="-lXext" - AC_SUBST(XSHAPE_CFLAGS) - AC_SUBST(XSHAPE_LIBS) - ], - [ - AC_MSG_RESULT([no]) - SHAPE="no" - ]) - ) + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_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 + fi - LIBS=$OLDLIBS - CPPFLAGS=$OLDCPPFLAGS - AC_MSG_CHECKING([for the Shape extension]) if test "$SHAPE" = "yes"; then AC_MSG_RESULT([yes]) @@ -355,39 +230,47 @@ 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_ARG_ENABLE([xinerama], + AC_HELP_STRING( + [--disable-xinerama], + [build without support for xinerama [default=enabled]]), + [USE=$enableval], [USE="yes"]) - 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) - ], + if test "$USE" = "yes"; then + # Store these + OLDLIBS=$LIBS + OLDCPPFLAGS=$CPPFLAGS + + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + LIBS="$LIBS $X_LIBS -lXext" + + AC_CHECK_LIB([Xinerama], [XineramaQueryExtension], [ - AC_MSG_RESULT([no]) - XINERAMA="no" + 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 + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + fi AC_MSG_CHECKING([for the Xinerama extension]) if test "$XINERAMA" = "yes"; then @@ -406,45 +289,106 @@ AC_DEFUN([X11_EXT_SYNC], [ AC_REQUIRE([X11_DEVEL]) + AC_ARG_ENABLE([xsync], + AC_HELP_STRING( + [--disable-xsync], + [build without support for xsync extension [default=enabled]]), + [USE=$enableval], [USE="yes"]) + + if test "$USE" = "yes"; then + # 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 + #include + #include + ], + [ + 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 + fi + + AC_MSG_CHECKING([for the Sync extension]) + if test "$SYNC" = "yes"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi +]) + +# X11_EXT_AUTH() +# +# Check for the presence of the "Xau" X Window System extension. +# Defines "AUTH, sets the $(AUTH) variable to "yes", and sets the $(LIBS) +# appropriately if the extension is present. +AC_DEFUN([X11_EXT_AUTH], +[ + 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_CHECK_LIB([Xau], [XauReadAuth], + AC_MSG_CHECKING([for X11/Xauth.h]) AC_TRY_LINK( [ #include #include - #include + #include ], [ - XSyncValueType foo; ], [ AC_MSG_RESULT([yes]) - SYNC="yes" - AC_DEFINE([SYNC], [1], [Found the XSync extension]) + AUTH="yes" + AC_DEFINE([AUTH], [1], [Found the Xauth extension]) - XSYNC_CFLAGS="" - XSYNC_LIBS="-lXext" - AC_SUBST(XSYNC_CFLAGS) - AC_SUBST(XSYNC_LIBS) + XAUTH_CFLAGS="" + XAUTH_LIBS="-lXau" + AC_SUBST(XAUTH_CFLAGS) + AC_SUBST(XAUTH_LIBS) ], - [ + [ AC_MSG_RESULT([no]) - SYNC="no" + AUTH="no" ]) ) LIBS=$OLDLIBS CPPFLAGS=$OLDCPPFLAGS - - AC_MSG_CHECKING([for the Sync extension]) - if test "$SYNC" = "yes"; then + + AC_MSG_CHECKING([for the Xauth extension]) + if test "$AUTH" = "yes"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -461,14 +405,15 @@ AC_DEFUN([X11_SM], AC_ARG_ENABLE([session-management], AC_HELP_STRING( - [--disable-session-management], [build without support for session managers [[default=enabled]]]), + [--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" @@ -484,10 +429,10 @@ AC_DEFUN([X11_SM], SM="yes" ]) ]) - fi - LIBS=$OLDLIBS - CPPFLAGS=$OLDCPPFLAGS + LIBS=$OLDLIBS + CPPFLAGS=$OLDCPPFLAGS + fi AC_MSG_CHECKING([for session management support]) if test "$SM" = "yes"; then