elsewhere. (It's available if the file
/usr/include/X11/extensions/Xinerama.h exists.)])
+AH_TEMPLATE([HAVE_XINPUT],
+ [Define this if you have the Xinput extension. This is
+ standard since X11R5, and is thus almost everywhere.
+ (It's available if the file /usr/include/X11/extensions/XInput.h
+ exists.)])
+
AH_TEMPLATE([HAVE_XF86MISCSETGRABKEYSSTATE],
[Define this if you have the XF86MiscSetGrabKeysState function
(which allows the Ctrl-Alt-KP_star and Ctrl-Alt-KP_slash key
#
###############################################################################
-AC_DEFUN(AC_GCC_ACCEPTS_STD,
- [AC_CHECK_GCC_ARG(std, -std=c89)])
+AC_DEFUN(AC_GCC_ACCEPTS_STD, [
+ case "$host" in
+ *-darwin* )
+ # Fucking Apple let // comments sneak into OpenGL headers, so
+ # we *must* allow // comments when compiling on Mac OS 10.6! FUCK!
+ ;;
+ *)
+ AC_CHECK_GCC_ARG(std, -std=c89)
+ ;;
+ esac
+])
AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE,
[if test -n "$GCC"; then
#
# $CC already contains "-std=c89" via AC_GCC_ACCEPTS_STD
CC="$CC -U__STRICT_ANSI__"
- else
- # The old way:
- CC="$CC -Wp,-lang-c89"
+# else
+# # The old way:
+# CC="$CC -Wp,-lang-c89"
fi
fi
])
fi
+###############################################################################
+#
+# Check for the XINPUT server extension.
+#
+###############################################################################
+
+have_xinput=no
+with_xinput_req=unspecified
+AC_ARG_WITH(xinput-ext,
+[ --with-xinput-ext Include support for the XInput extension.],
+ [with_xinput="$withval"; with_xinput_req="$withval"], [with_xinput=yes])
+
+HANDLE_X_PATH_ARG(with_xinput, --with-xinput-ext, XINPUT)
+
+if test "$with_xinput" = yes; then
+
+ # first check for Xinput.h
+ AC_CHECK_X_HEADER(X11/extensions/XInput.h, [have_xinput=yes],,
+ [#include <X11/Xlib.h>])
+
+ # if that succeeded, then check for libXi
+ if test "$have_xinput" = yes; then
+ have_xinput=no
+ AC_CHECK_X_LIB(Xi, XListInputDevices,
+ [have_xinput=yes; SAVER_LIBS="$SAVER_LIBS -lXi"],
+ [true], -lXext -lX11)
+ fi
+
+ # if that succeeded, then we've really got it.
+ if test "$have_xinput" = yes; then
+ AC_DEFINE(HAVE_XINPUT)
+ fi
+
+elif test "$with_xinput" != no; then
+ echo "error: must be yes or no: --with-xinput-ext=$with_xinput"
+ exit 1
+fi
+
+
###############################################################################
#
# Check for the XF86VMODE server extension (for virtual screens.)
AC_DEFINE(HAVE_RANDR)
# Now check for version 1.2 in the same libs.
- AC_CHECK_X_LIB(c, XRRGetOutputInfo, [AC_DEFINE(HAVE_RANDR_12)],
- [true], $SAVER_LIBS)
+ # Try to compile, since on MacOS 10.5.7, headers are older than libs!
+ AC_CACHE_CHECK([for XRRGetScreenResources], ac_cv_randr_12,
+ [ac_cv_randr_12=no
+ AC_TRY_X_COMPILE([#include <stdlib.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/Xrandr.h>],
+ [XRRScreenResources *res =
+ XRRGetScreenResources (0, 0);],
+ [ac_cv_randr_12=yes],
+ [ac_cv_randr_12=no])])
+ if test "$ac_cv_randr_12" = yes ; then
+ AC_DEFINE(HAVE_RANDR_12)
+ fi
+# AC_CHECK_X_LIB(c, XRRGetOutputInfo, [AC_DEFINE(HAVE_RANDR_12)],
+# [true], $SAVER_LIBS)
fi
#
###############################################################################
-have_login_manager=no
with_login_manager_req=unspecified
-default_login_manager='gdmflexiserver -ls'
+default_login_manager_1='gdmflexiserver -ls'
+default_login_manager_2='kdmctl reserve'
AC_ARG_WITH(login-manager,
[ --with-login-manager Put a "New Login" button on the unlock dialog that
- runs a login manager such as gdmflexiserver.],
+ runs a login manager like gdmflexiserver or kdmctl.],
[with_login_manager="$withval"; with_login_manager_req="$withval"],
- [with_login_manager=no])
+ [with_login_manager=yes])
# no HANDLE_X_PATH_ARG for this one
if test "$enable_locking" = no ; then
with_login_manager=no
fi
-if test -n "$with_login_manager_req" ; then
- ac_cv_login_manager_program=""
+case "$with_login_manager_req" in
+ no)
+ with_login_manager=""
+ ;;
- if test "$with_login_manager_req" = "yes" ; then
- with_login_manager_req=$default_login_manager
- fi
+ yes|unspecified)
+ # Try both defaults, use the one that exists.
- case "$with_login_manager_req" in
- no)
- with_login_manager=""
- ;;
- /*)
- # absolute path
- set dummy $with_login_manager_req ; login_manager_tmp=$2
- AC_MSG_CHECKING([for $login_manager_tmp])
- if test -x "$login_manager_tmp" ; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- with_login_manager=""
- fi
- ;;
- *)
- # relative path
- set dummy $with_login_manager_req ; login_manager_tmp=$2
- # don't cache
- unset ac_cv_path_login_manager_tmp
+ set dummy $default_login_manager_1 ; login_manager_tmp=$2
+ unset ac_cv_path_login_manager_tmp # don't cache
+ AC_PATH_PROG(login_manager_tmp, $login_manager_tmp, [])
+ if test ! -z "$login_manager_tmp" ; then
+ with_login_manager="$default_login_manager_1"
+ else
+ set dummy $default_login_manager_2 ; login_manager_tmp=$2
+ unset ac_cv_path_login_manager_tmp # don't cache
AC_PATH_PROG(login_manager_tmp, $login_manager_tmp, [])
- if test -z "$login_manager_tmp" ; then
- with_login_manager=""
+ if test ! -z "$login_manager_tmp" ; then
+ with_login_manager="$default_login_manager_2"
else
- with_login_manager="$login_manager_tmp"
+ with_login_manager=""
fi
- ;;
- esac
- ac_cv_login_manager_program="$with_login_manager"
+ fi
+ ;;
-elif test -n "$ac_cv_login_manager_program"; then
- AC_MSG_RESULT([checking for login_manager... (cached) $ac_cv_login_manager_program])
-fi
+ /*)
+ # absolute path specified on cmd line
+ set dummy $with_login_manager_req ; login_manager_tmp=$2
+ AC_MSG_CHECKING([for $login_manager_tmp])
+ if test -x "$login_manager_tmp" ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ with_login_manager=""
+ fi
+ ;;
+
+ *)
+ # relative path specified on cmd line
+ set dummy $with_login_manager_req ; login_manager_tmp=$2
+ unset ac_cv_path_login_manager_tmp # don't cache
+ AC_PATH_PROG(login_manager_tmp, $login_manager_tmp, [])
+ if test -z "$login_manager_tmp" ; then
+ with_login_manager=""
+ else
+ with_login_manager="$login_manager_tmp"
+ fi
+ ;;
+esac
+ac_cv_login_manager_program="$with_login_manager"
NEW_LOGIN_COMMAND_P=''
NEW_LOGIN_COMMAND="$ac_cv_login_manager_program"
+AC_MSG_CHECKING(for login manager)
if test -z "$NEW_LOGIN_COMMAND" ; then
- NEW_LOGIN_COMMAND="$default_login_manager"
+ NEW_LOGIN_COMMAND="$default_login_manager_1"
NEW_LOGIN_COMMAND_P='! '
+ AC_MSG_RESULT($NEW_LOGIN_COMMAND (disabled))
+else
+ AC_MSG_RESULT($NEW_LOGIN_COMMAND)
fi
-
###############################################################################
#
# Check for -lgtk (and Gnome stuff)
if test "$have_gl" = yes; then
GL_EXES='$(GL_EXES)'
SUID_EXES='$(SUID_EXES)'
- RETIRED_GL_EXES='$(RETIRED_EXES)'
+ RETIRED_GL_EXES='$(RETIRED_GL_EXES)'
GL_UTIL_EXES='$(GL_UTIL_EXES)'
GL_MEN='$(GL_MEN)'
GL_KLUDGE=" "
AC_SUBST(LOCK_OBJS)
AC_SUBST(JPEG_EXES)
AC_SUBST(GL_EXES)
+AC_SUBST(RETIRED_GL_EXES)
AC_SUBST(SUID_EXES)
AC_SUBST(GL_UTIL_EXES)
AC_SUBST(GL_MEN)