X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=m4%2Fx11.m4;h=d840d34a3c9027197a82d9669f65ee58f54ae801;hb=a92c209fc1845cf3f3acdfa3f9e8f0930fd53eb3;hp=65e2ab7f043b6bcec29273549373661bba2f1a9b;hpb=f26f23de50cb7941a7702198e3b4d1b2f9de062e;p=chaz%2Fopenbox diff --git a/m4/x11.m4 b/m4/x11.m4 index 65e2ab7f..d840d34a 100644 --- 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,161 +23,12 @@ 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 ]) - -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]) -# -# 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], -[ - 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 - - 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" - CPPFLAGS="$XFT_CFLAGS $CPPFLAGS" - - 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( - [ - #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; - ], - [ - AC_MSG_RESULT([yes]) - ], - [ - AC_MSG_RESULT([no]) - XFT_ERROR - ]) - 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. @@ -192,7 +43,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]) @@ -248,7 +99,7 @@ AC_DEFUN([X11_EXT_XRANDR], OLDCPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $X_CFLAGS" - LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext -lXrender -lXrandr" + LIBS="$LIBS $X_LIBS -lXext -lXrender -lXrandr" AC_CHECK_LIB([Xrandr], [XRRSelectInput], AC_MSG_CHECKING([for X11/extensions/Xrandr.h]) @@ -305,7 +156,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]) @@ -360,7 +211,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], [ @@ -397,12 +248,12 @@ AC_DEFUN([X11_EXT_XINERAMA], fi ]) -# VIDMODE() +# X11_EXT_SYNC() # -# 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], +# 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]) @@ -411,42 +262,86 @@ AC_DEFUN([X11_EXT_VIDMODE], OLDCPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $X_CFLAGS" - LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext -lXxf86vm" + LIBS="$LIBS $X_LIBS" - AC_CHECK_LIB([Xxf86vm], [XF86VidModeGetViewPort], - AC_MSG_CHECKING([for X11/extensions/xf86vmode.h]) + AC_CHECK_LIB([Xext], [XSyncInitialize], + AC_MSG_CHECKING([for X11/extensions/sync.h]) AC_TRY_LINK( [ #include - #include + #include + #include ], [ - Display *d; - int i; - XF86VidModeQueryExtension(d, &i, &i); - XF86VidModeGetViewPort(d, i, &i, &i); + XSyncValueType foo; ], [ AC_MSG_RESULT([yes]) - VIDMODE="yes" - AC_DEFINE([VIDMODE], [1], [Found the VidMode extension]) + SYNC="yes" + AC_DEFINE([SYNC], [1], [Found the XSync extension]) - VIDMODE_CFLAGS="" - VIDMODE_LIBS="-lXext -lXxf86vm" - AC_SUBST(VIDMODE_CFLAGS) - AC_SUBST(VIDMODE_LIBS) + XSYNC_CFLAGS="" + XSYNC_LIBS="-lXext" + AC_SUBST(XSYNC_CFLAGS) + AC_SUBST(XSYNC_LIBS) ], [ AC_MSG_RESULT([no]) - VIDMODE="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 the VidMode extension]) - if test "$VIDMODE" = "yes"; then + AC_MSG_CHECKING([for session management support]) + if test "$SM" = "yes"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no])