of X, and if your vendor doesn't ship it, you should report that
as a bug.])
+AH_TEMPLATE([HAVE_XUTF8DRAWSTRING],
+ [Define this if you have the function Xutf8DrawString().])
+
+AH_TEMPLATE([HAVE_XFT],
+ [Define this if you have libXft2.])
+
AH_TEMPLATE([HAVE_GL],
[Define this if you have OpenGL. Some of the demos require it,
so if you don't have it, then those particular demos won't be
AH_TEMPLATE([HAVE_JWZGLES],[Define this to target the OpenGL ES 1.x API
instead of OpenGL 1.3.])
-AH_TEMPLATE([HAVE_GLBITMAP],[Define this if glBitmap exists.])
-
AH_TEMPLATE([HAVE_XSHM_EXTENSION],
[Define this if you have the X Shared Memory Extension.])
AH_TEMPLATE([HAVE_PTHREAD],
[Define this if your system supports POSIX threads.])
+AH_TEMPLATE([HAVE_RECORD_ANIM],
+ [Define this to enable recording of videos.])
+
# After checking to see that --srcdir is correct (which AC_INIT does)
# check for some random other files that come later in the tar file,
# to make sure everything is here.
#
-for d in driver utils hacks hacks/glx ; do
+for d in utils jwxyz hacks hacks/glx driver ; do
f=$srcdir/$d/Makefile.in
if test \! -r $f ; then
echo ""
# Look for the directory under a standard set of common directories.
# Check X11 before X11Rn because it's often a symlink to the current release.
for ac_dir in \
+ \
+ /usr/share/X11/app-defaults \
+ \
/usr/X11/lib/app-defaults \
/usr/X11R6/lib/app-defaults \
/usr/X11R6/lib/X11/app-defaults \
/usr/lib/X11R5/app-defaults \
/usr/lib/X11R4/app-defaults \
\
+ /etc/X11/app-defaults \
+ \
/usr/local/X11/lib/app-defaults \
/usr/local/X11R6/lib/app-defaults \
/usr/local/X11R5/lib/app-defaults \
AC_DEFUN([AC_PATH_X_APP_DEFAULTS],
[AC_REQUIRE_CPP()
AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
- [AC_PATH_X_APP_DEFAULTS_XMKMF
+ [# skip this, it's always wrong these days.
+ # AC_PATH_X_APP_DEFAULTS_XMKMF
if test x"$ac_x_app_defaults" = x; then
- AC_PATH_X_APP_DEFAULTS_DIRECT
+ true AC_PATH_X_APP_DEFAULTS_DIRECT
fi
if test x"$ac_x_app_defaults" = x; then
+ /bin/echo -n 'fallback: '
ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
else
# Record where we found app-defaults for the cache.
AC_DEFINE(HAVE_GETIFADDRS)
fi])
+AC_DEFUN([AC_TYPE_SOCKLEN_T],
+ [AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+ #include <sys/socket.h>]], [[
+ socklen_t socklen;
+ ]])],[ac_cv_type_socklen_t=yes],[ac_cv_type_socklen_t=no])])
+ if test "$ac_cv_type_socklen_t" != yes; then
+ AC_DEFINE(socklen_t, int,
+ [Define to `int' if <sys/types.h> or <sys/socket.h> does not define.])
+ fi])
###############################################################################
#
# random libc stuff
AC_HEADER_STDC
-AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(unistd.h inttypes.h)
AC_TYPE_MODE_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_SYS_LARGEFILE
AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
-AC_CHECK_FUNCS(setlocale)
+AC_CHECK_FUNCS(setlocale sqrtf)
+AC_CHECK_FUNCS(getaddrinfo)
+AC_CHECK_MEMBERS([struct sockaddr.sa_len],,, [[#include <sys/socket.h>]])
AC_CHECK_ICMP
AC_CHECK_ICMPHDR
AC_CHECK_GETIFADDRS
+AC_TYPE_SOCKLEN_T
AC_CHECK_HEADERS(crypt.h sys/select.h)
AC_PROG_PERL
generated code.])
AC_SUBST(GETTEXT_PACKAGE)
-ALL_LINGUAS="ca da de es et fi fr hu it ja ko nb nl pl pt pt_BR ru sk sv vi wa zh_CN zh_TW"
+ALL_LINGUAS="da de es et fi fr hu it ja ko nb nl pl pt pt_BR ru sk sv vi wa zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT
MKINSTALLDIRS="$INSTALL_DIRS"
with_login_manager_req=unspecified
default_login_manager_1='gdmflexiserver -ls'
default_login_manager_2='kdmctl reserve'
+default_login_manager_3='lxdm -c USER_SWITCH'
+default_login_manager_4='dm-tool switch-to-greeter'
AC_ARG_WITH(login-manager,
[ --with-login-manager Put a "New Login" button on the unlock dialog that
;;
yes|unspecified)
- # Try both defaults, use the one that exists.
+ # Try various defaults, use the first one that exists.
- 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
+ with_login_manager=""
+
+ if test -z "$with_login_manager" ; then
+ 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"
+ fi
+ fi
+
+ if test -z "$with_login_manager" ; then
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="$default_login_manager_2"
- else
- with_login_manager=""
fi
fi
+
+ if test -z "$with_login_manager" ; then
+ set dummy $default_login_manager_3 ; 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_3"
+ fi
+ fi
+
+ if test -z "$with_login_manager" ; then
+ set dummy $default_login_manager_4 ; 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_4"
+ fi
+ fi
+
;;
/*)
jurassic_gtk=no
gtk_halfassed=no
+have_gtk_2_22_or_higher=no
+COMMENT_DEMO_GLADE2_GTK_2_22_HEAD=""
+COMMENT_DEMO_GLADE2_GTK_2_22_TAIL=""
if test "$with_gtk" = yes; then
have_gtk=no
AC_DEFINE(HAVE_XML)
fi
+ if test "$have_gtk" = yes; then
+ ok="yes"
+ pkg_check_version gtk+-2.0 2.22
+ have_gtk_2_22_or_higher="$ok"
+ if test "$have_gtk_2_22_or_higher" = yes; then
+ COMMENT_DEMO_GLADE2_GTK_2_22_HEAD="<!-- comment>"
+ COMMENT_DEMO_GLADE2_GTK_2_22_TAIL="</comment -->"
+ fi
+ fi
fi
AC_MSG_RESULT(omitting "$libdir" from LDFLAGS)
libdir=''
+ # Looks like as of OSX 10.12, gcc can't do ObjC.
+ OBJCC="clang -Wall"
+
fi
if test "$with_gles" = yes; then
have_gles=yes
AC_DEFINE(HAVE_JWZGLES)
- JWZGLES_OBJS="jwzgles.o"
+ JWZGLES_OBJS='$(JWXYZ_BIN)/jwzgles.o'
AC_MSG_RESULT(using OpenGL ES compatiblity shim)
elif test "$with_gles" != no; then
echo "error: must be yes or no: --with-gles=$with_xpm"
exit 1
fi
-# May want to phase out glBitmap even in a non-GLES world.
-#
-if test "$have_gles" = yes; then
- GLFPS_OBJS="fps-gl.o glxfonts.o texfont.o"
- GLFONT_OBJS=""
-else
- AC_DEFINE(HAVE_GLBITMAP)
- GLFPS_OBJS="fps-gl.o glxfonts.o"
- GLFONT_OBJS="texfont.o"
-fi
-
-
###############################################################################
#
# Check for -lgdk_pixbuf.
fi
+###############################################################################
+#
+# Check for -lXft
+#
+###############################################################################
+
+have_xutf8drawstring=no
+AC_CHECK_X_LIB(X11, Xutf8DrawString,
+ [have_xutf8drawstring=yes],
+ [true], -lX11 -lXext -lm)
+if test "$have_xutf8drawstring" = yes ; then
+ AC_DEFINE(HAVE_XUTF8DRAWSTRING)
+fi
+
+
+have_xft=no
+with_xft_req=unspecified
+xft_halfassed=no
+AC_ARG_WITH(xft,
+[ --with-xft Include support for the X Freetype library.],
+ [with_xft="$withval"; with_xft_req="$withval"],
+ [with_xft=yes])
+
+HANDLE_X_PATH_ARG(with_xft, --with-xft, Xft)
+
+if test "$with_xft" != yes -a "$with_xft" != no ; then
+ echo "error: must be yes or no: --with-xft=$with_xft"
+ exit 1
+fi
+
+if test "$with_xft" = yes; then
+
+ pkgs=''
+ ok="yes"
+ pkg_check_version xft 2.1.0
+ have_xft="$ok"
+
+ if test "$have_xft" = yes; then
+ AC_CACHE_CHECK([for Xft includes], ac_cv_xft_config_cflags,
+ [ac_cv_xft_config_cflags=`$pkg_config --cflags $pkgs`])
+ AC_CACHE_CHECK([for Xft libs], ac_cv_xft_config_libs,
+ [ac_cv_xft_config_libs=`$pkg_config --libs $pkgs`])
+ fi
+
+ ac_xft_config_cflags=$ac_cv_xft_config_cflags
+ ac_xft_config_libs=$ac_cv_xft_config_libs
+
+ if test "$have_xft" = yes; then
+ #
+ # we appear to have Xft; check for headers/libs to be sure.
+ #
+ ac_save_xft_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_xft_config_cflags"
+
+ have_xft=no
+ AC_CHECK_X_HEADER(X11/Xft/Xft.h, [have_xft=yes])
+
+ CPPFLAGS="$ac_save_xft_CPPFLAGS"
+ fi
+
+ if test "$have_xft" = yes; then
+ # we have the headers, now check for the libraries
+ have_xft=no
+ xft_halfassed=yes
+
+ AC_MSG_RESULT(checking for Xft usability...)
+ AC_CHECK_X_LIB(c, XftDrawStringUtf8, [have_xft=yes],,
+ $ac_xft_config_libs -lX11 -lXext -lm)
+ fi
+
+ if test "$have_xft" = no; then
+ AC_MSG_RESULT(checking for Xft usability... no)
+ fi
+fi
+
+if test "$have_xft" = yes; then
+ INCLUDES="$INCLUDES $ac_xft_config_cflags"
+ XFT_LIBS="$ac_xft_config_libs"
+ XFT_SRCS=''
+ XFT_OBJS=''
+ AC_DEFINE(HAVE_XFT)
+else
+ XFT_LIBS=''
+ XFT_SRCS='$(UTILS_SRC)/xft.c'
+ XFT_OBJS='$(UTILS_BIN)/xft.o'
+fi
+
+
###############################################################################
#
# Check for pty support: this allows 'phosphor' and 'apple2'
###############################################################################
PTY_LIBS=
-AC_CHECK_HEADERS(pty.h util.h)
+AC_CHECK_HEADERS(pty.h util.h sys/termios.h)
AC_CHECK_X_LIB(util, forkpty,
[PTY_LIBS="-lutil"
ac_have_forkpty=yes
fi
+###############################################################################
+#
+# Check for --with-record-animation
+#
+###############################################################################
+
+record_anim_default=no
+record_anim="$record_anim_default"
+AC_ARG_WITH(record-animation,
+[ --with-record-animation Include code for generating MP4 videos.
+],
+ [record_anim="$withval"], [record_anim="$record_anim_default"])
+
+HANDLE_X_PATH_ARG(record_anim, --with-record-animation, record animation)
+
+if test "$record_anim" = yes; then
+ true
+elif test "$record_anim" != no; then
+ echo "error: must be yes or no: --with-record-animation=$record_anim"
+ exit 1
+fi
+
+if test "$record_anim" = yes; then
+ if test "$have_gdk_pixbuf" != yes; then
+ AC_MSG_ERROR(--with-record-animation requires GDK-Pixbuf)
+ else
+ AC_MSG_RESULT(enabling --with-record-animation)
+ AC_DEFINE(HAVE_RECORD_ANIM)
+ ANIM_OBJS='$(ANIM_OBJS)'
+ ANIM_LIBS='$(ANIM_LIBS)'
+ fi
+fi
+
###############################################################################
#
# Done testing. Now, set up the various -I and -L variables,
AC_SUBST(DEFAULT_IMAGE_DIRECTORY)
AC_SUBST(DEFAULT_TEXT_FILE)
AC_SUBST(WITH_BROWSER)
+AC_SUBST(COMMENT_DEMO_GLADE2_GTK_2_22_HEAD)
+AC_SUBST(COMMENT_DEMO_GLADE2_GTK_2_22_TAIL)
+
AC_SUBST(OBJCC)
AC_SUBST(EXES_OSX)
AC_SUBST(XMU_SRCS)
AC_SUBST(XMU_OBJS)
AC_SUBST(XMU_LIBS)
+AC_SUBST(XFT_SRCS)
+AC_SUBST(XFT_OBJS)
+AC_SUBST(XFT_LIBS)
AC_SUBST(SAVER_GL_SRCS)
AC_SUBST(SAVER_GL_OBJS)
AC_SUBST(SAVER_GL_LIBS)
AC_SUBST(GLE_EXES)
AC_SUBST(GLE_KLUDGE)
AC_SUBST(JWZGLES_OBJS)
-AC_SUBST(GLFPS_OBJS)
-AC_SUBST(GLFONT_OBJS)
AC_SUBST(GNOME24)
AC_SUBST(GNOME22)
AC_SUBST(NOGNOME)
AC_SUBST(PO_DATADIR)
AC_SUBST(HACK_CONF_DIR)
AC_SUBST(GTK_EXTRA_OBJS)
+AC_SUBST(ANIM_OBJS)
+AC_SUBST(ANIM_LIBS)
APPDEFAULTS=$ac_x_app_defaults
AC_SUBST(APPDEFAULTS)
AC_OUTPUT(Makefile
utils/Makefile
- driver/Makefile
- driver/xscreensaver.pam
+ jwxyz/Makefile
hacks/Makefile
hacks/glx/Makefile
po/Makefile.in
+ driver/Makefile
+ driver/xscreensaver.pam
+ driver/xscreensaver-demo.glade2
driver/XScreenSaver.ad)
###############################################################################
fi
+if test "$have_xft" = no ; then
+ if test "$with_xft_req" = yes ; then
+ warnL "Use of libXft was requested, but it was not found."
+ elif test "$with_xft_req" = no ; then
+ noteL 'The Xft library is not being used.'
+ else
+ noteL "The Xft library was not found."
+ fi
+
+ if test "$xft_halfassed" = yes ; then
+ echo ''
+ warn2 'More specifically, we found the headers, but not the'
+ warn2 'libraries; so either Xft is half-installed on this'
+ warn2 "system, or something else went wrong. The \`config.log'"
+ warn2 'file might contain some clues.'
+ echo ''
+ fi
+
+ warn2 "This means that fonts won't be anti-aliased."
+fi
+
+
if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
preferred_mesagl=3.4
mgv="$ac_mesagl_version_string"