-# configure.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski.
+# configure.in --- xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski.
#
AC_PREREQ(2.52)
AC_INIT(driver/subprocs.c)
-AC_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS([config.h])
echo "current directory: `pwd`"
echo "command line was: $0 $@"
###############################################################################
AH_TOP([
-/* config.h.in --- xscreensaver, Copyright (c) 1998-2000 Jamie Zawinski.
+/* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
*
* The best way to set these parameters is by running the included `configure'
* script. That examines your system, and generates `config.h' from
thing which allows the Ctrl-Sh-Reset key sequence to be
temporarily disabled.)])
-AH_TEMPLATE([HAVE_XIDLE_EXTENSION],
- [Define this if you have the XIDLE extension installed. If you
- have the XIDLE extension, this is recommended. (You have this
- extension if the file /usr/include/X11/extensions/xidle.h
- exists.) Turning on this flag lets XScreenSaver work better with
- servers which support this extension; but it will still work
- with servers which do not suport it, so it's a good idea to
- compile in support for it if you can.])
-
-AH_TEMPLATE([HAVE_MIT_SAVER_EXTENSION],
- [Define this if you have the MIT-SCREEN-SAVER extension
- installed. See the caveats about this extension, above.
- (It's available if /usr/include/X11/extensions/scrnsaver.h
- exists.)])
-
-AH_TEMPLATE([HAVE_SGI_SAVER_EXTENSION],
- [Define this if you have the SGI SCREEN_SAVER extension. This is
- standard on Irix systems, and not available elsewhere.])
-
-AH_TEMPLATE([HAVE_SGI_VC_EXTENSION],
- [Define this if you have the SGI-VIDEO-CONTROL extension. This
- is standard on Irix systems, and not available elsewhere.])
+# This only ever existed in X11R4 and X11R5.
+#AH_TEMPLATE([HAVE_XIDLE_EXTENSION],
+# [Define this if you have the XIDLE extension installed. If you
+# have the XIDLE extension, this is recommended. (You have this
+# extension if the file /usr/include/X11/extensions/xidle.h
+# exists.) Turning on this flag lets XScreenSaver work better with
+# servers which support this extension; but it will still work
+# with servers which do not suport it, so it's a good idea to
+# compile in support for it if you can.])
+
+# Using this extension will crash your X server and make fading not work.
+#AH_TEMPLATE([HAVE_MIT_SAVER_EXTENSION],
+# [Define this if you have the MIT-SCREEN-SAVER extension
+# installed. See the caveats about this extension, above.
+# (It's available if /usr/include/X11/extensions/scrnsaver.h
+# exists.)])
+
+# This only ever existed on SGI hardware.
+#AH_TEMPLATE([HAVE_SGI_SAVER_EXTENSION],
+# [Define this if you have the SGI SCREEN_SAVER extension. This is
+# standard on Irix systems, and not available elsewhere.])
+
+# This only ever existed on SGI hardware.
+#AH_TEMPLATE([HAVE_SGI_VC_EXTENSION],
+# [Define this if you have the SGI-VIDEO-CONTROL extension. This
+# is standard on Irix systems, and not available elsewhere.])
AH_TEMPLATE([HAVE_DPMS_EXTENSION],
[Define this if you have the XDPMS extension. This is standard
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
possibly elsewhere. (It's available if the file
/usr/include/X11/extensions/Xrandr.h exists.)])
+AH_TEMPLATE([HAVE_RANDR_12],
+ [Define this if the RANDR library is version 1.2 or newer.])
+
AH_TEMPLATE([HAVE_PROC_INTERRUPTS],
[Define this if you have a Linux-like /proc/interrupts file which
can be examined to determine when keyboard activity has
[Define this if you have the XML library headers in their old,
non-namespaced location (you lack the gnome-xml/libxml symlink)])
-AH_TEMPLATE([HAVE_XPM],
- [Define this if you have the XPM library installed. Some of the
- demos can make use of this if it is available.])
-
AH_TEMPLATE([HAVE_GDK_PIXBUF],
[Define this if you have the GDK_Pixbuf library installed. Some
of the demos can make use of this if it is available.])
+AH_TEMPLATE([HAVE_GDK_PIXBUF_APPLY_EMBEDDED_ORIENTATION],
+ [Define this if you have the gdk_pixbuf_apply_embedded_orientation
+ function (gdk-pixbuf 2.12).])
+
AH_TEMPLATE([HAVE_JPEGLIB],
[Define this if you have the Independent JPEG Group's JPEG
library installed. Some of the demos can make use of this if it
is available.])
+AH_TEMPLATE([HAVE_LIBPNG],
+ [Define this if the Portable Network Graphics library is installed.
+ It is basically required, but many things will more-or-less limp
+ along without it.])
+
AH_TEMPLATE([HAVE_XMU],
[Define this if you have the Xmu library. This is standard part
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_GLE3],[Define this if you have the -lgle from GLE version 3])
+AH_TEMPLATE([HAVE_JWZGLES],[Define this to target the OpenGL ES 1.x API
+ instead of OpenGL 1.3.])
+
AH_TEMPLATE([HAVE_XSHM_EXTENSION],
[Define this if you have the X Shared Memory Extension.])
[Define this if you have pam_fail_delay function.
see driver/passwd-pam.c.])
+AH_TEMPLATE([PAM_CHECK_ACCOUNT_TYPE],
+ [Whether PAM should check the result of account modules
+ when authenticating. Only do this if you have account
+ configured properly on your system.])
+
AH_TEMPLATE([PAM_STRERROR_TWO_ARGS],
[Define if you have PAM and pam_strerror() requires two
arguments.])
[Define this if you do pings with a `struct icmphdr' and an
`un.echo.id' slot.])
+AH_TEMPLATE([HAVE_GETIFADDRS],
+ [Define this if you have the getifaddrs() function.])
+
AH_TEMPLATE([HAVE_FORKPTY],
[Define this if you have the 'forkpty' function:
This allows 'phosphor' and 'apple2' to run curses-based
AH_TEMPLATE([XPointer],
[Define this to void* if you're using X11R4 or earlier.])
+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 ""
fi
done
+###############################################################################
+#
+# Query AX_PTHREAD, and figure out which compiler gets used.
+#
+###############################################################################
+
+AC_DEFUN([AC_PROG_CC_PTHREAD],
+ [have_pthread=no
+ with_pthread_req=unspecified
+
+ # AX_PTHREAD is from the GNU Autoconf Archive.
+ # https://savannah.gnu.org/projects/autoconf-archive/
+ m4_include(ax_pthread.m4)
+
+ # This affects CC, LIBS, and CFLAGS, instead of defining new variables.
+
+ AC_ARG_WITH([pthread],
+ [ --with-pthread Enables POSIX threads, for SMP support.],
+ [with_pthread="$withval"; with_pthread_req="$withval"],
+ [with_pthread=yes])
+
+ if test "$with_pthread" = yes; then
+ # AX_PTHREAD might want a different compiler.
+ AX_PTHREAD(
+ [if test "$CC" = "$PTHREAD_CC" -o -z "$ac_original_cc"; then
+ have_pthread=yes
+ else
+ ac_prog_cc_no_pthread=yes
+ fi
+ ])
+
+ if test "$have_pthread" = yes; then
+ AC_DEFINE([HAVE_PTHREAD])
+ CC=$PTHREAD_CC
+ fi
+ fi
+])
+
+
###############################################################################
#
# Function to figure out how to run the compiler.
#
###############################################################################
-AC_DEFUN(AC_PROG_CC_ANSI,
- [AC_PROG_CC
+AC_DEFUN([AC_PROG_CC_ANSI],
+ [AC_REQUIRE([AC_PROG_CC])
if test -z "$GCC"; then
# not using GCC
#
###############################################################################
-AC_DEFUN(AC_CHECK_GCC_ARG,
+AC_DEFUN([AC_CHECK_GCC_ARG],
[if test -n "$GCC"; then
AC_CACHE_CHECK([whether gcc accepts [$2]],
ac_cv_gcc_accepts_[$1],
ac_cv_gcc_accepts_[$1]=no
else
ac_cv_gcc_accepts_[$1]=yes
+ CC="$CC [$2]"
fi])
ac_gcc_accepts_[$1]="$ac_cv_gcc_accepts_[$1]"
fi
])
-AC_DEFUN(AC_NO_LONG_STRING_WARNINGS,
+AC_DEFUN([AC_NO_LONG_STRING_WARNINGS],
[AC_CHECK_GCC_ARG(no_overlength, -Wno-overlength-strings)])
-AC_DEFUN(AC_NO_MISPLACED_DECLARATIONS,
+AC_DEFUN([AC_NO_MISPLACED_DECLARATIONS],
[AC_CHECK_GCC_ARG(no_decl_after, -Wdeclaration-after-statement)])
+# Need to disable Objective C extensions in ANSI C on MacOS X to work
+# around an Apple-specific gcc bug.
+#
+AC_DEFUN([AC_NO_OBJECTIVE_C],
+ [AC_CHECK_GCC_ARG(no_cpp_precomp, -no-cpp-precomp)])
###############################################################################
#
#
###############################################################################
-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,
+AC_DEFUN([AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE],
[if test -n "$GCC"; then
AC_GCC_ACCEPTS_STD
AC_MSG_RESULT(Disabling C++ comments in ANSI C code.)
# before they were in the ANSI C 99 spec... (gcc 2.96 permits //
# with -std=gnu89 but not with -std=c89.)
#
- CC="$CC -std=c89 -U__STRICT_ANSI__"
- else
- # The old way:
- CC="$CC -Wp,-lang-c89"
- fi
- fi
-])
-
-
-###############################################################################
-#
-# Function to figure out how to turn off Objective C on MacOS X.
-# (We have to do this to work around an Apple-specific gcc bug.)
-#
-###############################################################################
-
-AC_DEFUN(AC_GCC_ACCEPTS_NO_CPP_PRECOMP,
- [AC_CHECK_GCC_ARG(no_cpp_precomp, -no-cpp-precomp)])
-
-AC_DEFUN(AC_NO_OBJECTIVE_C,
- [if test -n "$GCC"; then
- AC_GCC_ACCEPTS_NO_CPP_PRECOMP
- if test "$ac_gcc_accepts_no_cpp_precomp" = yes ; then
- AC_MSG_RESULT(Disabling Objective C extensions in ANSI C code.)
- CC="$CC -no-cpp-precomp"
+ # $CC already contains "-std=c89" via AC_GCC_ACCEPTS_STD
+ CC="$CC -U__STRICT_ANSI__"
+# else
+# # The old way:
+# CC="$CC -Wp,-lang-c89"
fi
fi
])
#
###############################################################################
-AC_DEFUN(AC_PROG_INSTALL_DIRS,
+AC_DEFUN([AC_PROG_INSTALL_DIRS],
[AC_CACHE_CHECK([whether "\${INSTALL} -d" creates intermediate directories],
ac_cv_install_d_creates_dirs,
[ac_cv_install_d_creates_dirs=no
#
###############################################################################
-AC_DEFUN(AC_GETTIMEOFDAY_ARGS,
+AC_DEFUN([AC_GETTIMEOFDAY_ARGS],
[AC_MSG_CHECKING(how to call gettimeofday)
AC_CACHE_VAL(ac_cv_gettimeofday_args,
[AC_TRY_COMPILE([#include <stdlib.h>
perl_version_cmd='print $]'
changequote([,])
-AC_DEFUN(AC_PROG_PERL,
+AC_DEFUN([AC_PROG_PERL],
[AC_PATH_PROGS(PERL, [perl5 perl],,)
if test -z "$PERL" ; then
PERL_VERSION=0
#
###############################################################################
-AC_DEFUN(AC_DEMAND_BC,
+AC_DEFUN([AC_DEMAND_BC],
[ac_bc_result=`echo 6+9 | bc 2>/dev/null`
AC_MSG_CHECKING([for bc])
if test "$ac_bc_result" = "15" ; then
#
###############################################################################
-AC_DEFUN(AC_CHECK_ICMP,
+AC_DEFUN([AC_CHECK_ICMP],
[AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp,
[AC_TRY_COMPILE([#include <stdlib.h>
#include <stdio.h>
AC_DEFINE(HAVE_ICMP)
fi])
-AC_DEFUN(AC_CHECK_ICMPHDR,
+AC_DEFUN([AC_CHECK_ICMPHDR],
[AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr,
[AC_TRY_COMPILE([#include <stdlib.h>
#include <stdio.h>
# Try and find the app-defaults directory.
# It sucks that autoconf doesn't do this already...
#
-AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
+AC_DEFUN([AC_PATH_X_APP_DEFAULTS_XMKMF],[
rm -fr conftestdir
if mkdir conftestdir; then
cd conftestdir 2>/dev/null
[eval ac_x_app_defaults="$withval"])
-AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[
+AC_DEFUN([AC_PATH_X_APP_DEFAULTS_DIRECT],[
# 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 \
done
])
-AC_DEFUN(AC_PATH_X_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.
eval ac_x_app_defaults="$ac_cv_x_app_defaults"])
-AC_DEFUN(AC_XPOINTER,
+AC_DEFUN([AC_XPOINTER],
[AC_CACHE_CHECK([for XPointer], ac_cv_xpointer,
[AC_TRY_X_COMPILE([#include <X11/Xlib.h>],
[XPointer foo = (XPointer) 0;],
# Random special-cases for X on certain pathological OSes.
# You know who you are.
#
-AC_DEFUN(AC_X_RANDOM_PATHS,
+AC_DEFUN([AC_X_RANDOM_PATHS],
[case "$host" in
*-hpux*)
X_LIBS="$X_LIBS -L/usr/lib/Motif1.1"
fi
- # Now let's check for the pseudo-standard locations for OpenGL and XPM.
+ # Now let's check for the pseudo-standard locations for OpenGL.
#
if test -d /opt/graphics/OpenGL/include ; then
# HP-UX 10.20 puts it here
fi
- if test -d /opt/xpm/lib/X11 ; then
- X_CFLAGS="-I/opt/xpm/include $X_CFLAGS"
- X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS"
- fi
-
# On HPUX, default to installing in /opt/xscreensaver/ instead of
# in /usr/local/, unless there is already an xscreensaver in
# /usr/local/bin/. This can be overridden with the --prefix arg
;;
esac])
+AC_DEFUN([AC_CHECK_GETIFADDRS],
+ [AC_CACHE_CHECK([for getifaddrs], ac_cv_have_getifaddrs,
+ [AC_TRY_COMPILE([#include <stdlib.h>
+ #include <unistd.h>
+ #include <arpa/inet.h>
+ #include <ifaddrs.h>],
+ [struct ifaddrs *ifa;
+ getifaddrs (&ifa);
+ ifa->ifa_next = 0;
+ ifa->ifa_addr->sa_family = 0;],
+ [ac_cv_have_getifaddrs=yes],
+ [ac_cv_have_getifaddrs=no])])
+ if test "$ac_cv_have_getifaddrs" = yes ; then
+ 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])
###############################################################################
#
# Like AC_CHECK_HEADER, but it uses the already-computed -I directories.
#
-AC_DEFUN(AC_CHECK_X_HEADER, [
+AC_DEFUN([AC_CHECK_X_HEADER], [
ac_save_CPPFLAGS="$CPPFLAGS"
if test \! -z "$includedir" ; then
CPPFLAGS="$CPPFLAGS -I$includedir"
# Like AC_EGREP_HEADER, but it uses the already-computed -I directories.
#
-AC_DEFUN(AC_EGREP_X_HEADER, [
+AC_DEFUN([AC_EGREP_X_HEADER], [
ac_save_CPPFLAGS="$CPPFLAGS"
if test \! -z "$includedir" ; then
CPPFLAGS="$CPPFLAGS -I$includedir"
# Like AC_TRY_COMPILE, but it uses the already-computed -I directories.
#
-AC_DEFUN(AC_TRY_X_COMPILE, [
+AC_DEFUN([AC_TRY_X_COMPILE], [
ac_save_CPPFLAGS="$CPPFLAGS"
if test \! -z "$includedir" ; then
CPPFLAGS="$CPPFLAGS -I$includedir"
# Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories.
# Use this sparingly; it probably doesn't work very well on X programs.
#
-AC_DEFUN(AC_CHECK_X_LIB, [
+AC_DEFUN([AC_CHECK_X_LIB], [
ac_save_CPPFLAGS="$CPPFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
# ac_save_LIBS="$LIBS"
# Like AC_TRY_RUN, but it uses the already-computed -I directories.
# (But not the -L directories!)
#
-AC_DEFUN(AC_TRY_X_RUN, [
+AC_DEFUN([AC_TRY_X_RUN], [
ac_save_CPPFLAGS="$CPPFLAGS"
if test \! -z "$includedir" ; then
CPPFLAGS="$CPPFLAGS -I$includedir"
# /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS
# as appropriate.
#
-AC_DEFUN(HANDLE_X_PATH_ARG, [
+AC_DEFUN([HANDLE_X_PATH_ARG], [
case "$[$1]" in
yes) ;;
no) ;;
# random compiler setup
AC_CANONICAL_HOST
+
+ac_original_cc=$CC
+AC_PROG_CC
+AC_PROG_CC_PTHREAD # Needs ac_original_cc.
+
AC_PROG_CC_ANSI
AC_NO_LONG_STRING_WARNINGS
AC_NO_MISPLACED_DECLARATIONS
# 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_HEADER_SYS_WAIT
AC_HEADER_DIRENT
AC_GETTIMEOFDAY_ARGS
+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
#
###############################################################################
-AC_PROG_INTLTOOL
+IT_PROG_INTLTOOL
GETTEXT_PACKAGE=xscreensaver
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[This is the name of the gettext package to use.])
generated code.])
AC_SUBST(GETTEXT_PACKAGE)
-ALL_LINGUAS="ca da de es et fi fr hu it ja ko nb nl no 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"
###############################################################################
#
# Handle the --with-configdir option
-# Help for --with-x-app-defaults option added..
+# Help for --with-x-app-defaults option added.
#
###############################################################################
#
###############################################################################
-have_sgi=no
-with_sgi_req=unspecified
-AC_ARG_WITH(sgi-ext,
-[Except where noted, all of the --with options below can also take a
-directory argument: for example, `--with-motif=/opt/Motif'. That would
-cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
-to be added to the -L list, assuming those directories exist.
-
-By default, support for each of these options will be built in, if the
-relevant library routines exist. At run time, they will then be used
-only if the X server being used supports them. Each --with option has
-a corresponding --without option, to override building support for them
-at all.
-
-Screen blanking and idle-detection options:
-
- --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
- [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
-
-HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
-
-if test "$with_sgi" = yes; then
- AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
- [have_sgi=yes
- AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)],,
- [#include <X11/Xlib.h>])
-
-elif test "$with_sgi" != no; then
- echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
- exit 1
-fi
+#have_sgi=no
+#with_sgi_req=unspecified
+#AC_ARG_WITH(sgi-ext,
+#[Except where noted, all of the --with options below can also take a
+#directory argument: for example, `--with-motif=/opt/Motif'. That would
+#cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
+#to be added to the -L list, assuming those directories exist.
+#
+#By default, support for each of these options will be built in, if the
+#relevant library routines exist. At run time, they will then be used
+#only if the X server being used supports them. Each --with option has
+#a corresponding --without option, to override building support for them
+#at all.
+#
+#Screen blanking and idle-detection options:
+#
+# --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
+# [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
+#
+#HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
+#
+#if test "$with_sgi" = yes; then
+# AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
+# [have_sgi=yes
+# AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)],,
+# [#include <X11/Xlib.h>])
+#
+#elif test "$with_sgi" != no; then
+# echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
+# exit 1
+#fi
###############################################################################
#
###############################################################################
-have_xidle=no
-with_xidle_req=unspecified
-AC_ARG_WITH(xidle-ext,
-[ --with-xidle-ext Include support for the XIDLE extension.],
- [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
-
-HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
-
-if test "$with_xidle" = yes; then
- AC_CHECK_X_HEADER(X11/extensions/xidle.h,
- [have_xidle=yes
- AC_DEFINE(HAVE_XIDLE_EXTENSION)],,
- [#include <X11/Xlib.h>])
-elif test "$with_xidle" != no; then
- echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
- exit 1
-fi
+#have_xidle=no
+#with_xidle_req=unspecified
+#AC_ARG_WITH(xidle-ext,
+#[ --with-xidle-ext Include support for the XIDLE extension.],
+# [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
+#
+#HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
+#
+#if test "$with_xidle" = yes; then
+# AC_CHECK_X_HEADER(X11/extensions/xidle.h,
+# [have_xidle=yes
+# AC_DEFINE(HAVE_XIDLE_EXTENSION)],,
+# [#include <X11/Xlib.h>])
+#elif test "$with_xidle" != no; then
+# echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
+# exit 1
+#fi
###############################################################################
#
###############################################################################
-have_sgivc=no
-with_sgivc_req=unspecified
-AC_ARG_WITH(sgivc-ext,
-[ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
- [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
-
-HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
-
-if test "$with_sgivc" = yes; then
-
- # first check for XSGIvc.h
- AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes],,
- [#include <X11/Xlib.h>])
-
- # if that succeeded, then check for the -lXsgivc
- if test "$have_sgivc" = yes; then
- have_sgivc=no
- AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
- [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
- -lXext -lX11)
- fi
-
- # if that succeeded, then we've really got it.
- if test "$have_sgivc" = yes; then
- AC_DEFINE(HAVE_SGI_VC_EXTENSION)
- fi
-
-elif test "$with_sgivc" != no; then
- echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
- exit 1
-fi
+#have_sgivc=no
+#with_sgivc_req=unspecified
+#AC_ARG_WITH(sgivc-ext,
+#[ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
+# [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
+#
+#HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
+#
+#if test "$with_sgivc" = yes; then
+#
+# # first check for XSGIvc.h
+# AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes],,
+# [#include <X11/Xlib.h>])
+#
+# # if that succeeded, then check for the -lXsgivc
+# if test "$have_sgivc" = yes; then
+# have_sgivc=no
+# AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
+# [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
+# -lXext -lX11)
+# fi
+#
+# # if that succeeded, then we've really got it.
+# if test "$have_sgivc" = yes; then
+# AC_DEFINE(HAVE_SGI_VC_EXTENSION)
+# fi
+#
+#elif test "$with_sgivc" != no; then
+# echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
+# exit 1
+#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.)
if test "$with_randr" = yes; then
- # first check for Randr.h
+ # first check for Xrandr.h
AC_CHECK_X_HEADER(X11/extensions/Xrandr.h, [have_randr=yes],,
[#include <X11/Xlib.h>])
# if that succeeded, then we've really got it.
if test "$have_randr" = yes; then
AC_DEFINE(HAVE_RANDR)
+
+ # Now check for version 1.2 in the same 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
+
elif test "$with_randr" != no; then
echo "error: must be yes or no: --with-randr-ext=$with_randr"
exit 1
[with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default])
AC_ARG_WITH([pam_service_name],
- AC_HELP_STRING([--with-pam-service-name=NAME],
- [NAME is the name of the PAM service that
+ AC_HELP_STRING([--with-pam-service-name],
+ [NAME arg is the name of the PAM service that
xscreensaver will authenticate as.]),
[pam_service_name="$withval"],[pam_service_name="xscreensaver"])
+AC_ARG_ENABLE(pam-check-account-type,
+ [AC_HELP_STRING([--enable-pam-check-account-type],
+ [Whether PAM should check the result of account
+ modules when authenticating. Only do this if you
+ have account configured properly on your system.])],
+ [enable_pam_check_account_type="$enableval"],[enable_pam_check_account_type=no])
+if test "$enable_pam_check_account_type" = yes ; then
+ AC_DEFINE(PAM_CHECK_ACCOUNT_TYPE)
+ true
+elif test "$enable_pam_check_account_type" != no ; then
+ echo "error: must be yes or no: --enable-pam-check-account-type=$enable_pam_check_account_type"
+ exit 1
+fi
+
HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
if test "$enable_locking" = yes -a "$with_pam" = yes; then
#
###############################################################################
-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'
+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
- 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 various defaults, use the first 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=""
+ 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
- ;;
- *)
- # relative path
- set dummy $with_login_manager_req ; login_manager_tmp=$2
- # don't cache
- unset ac_cv_path_login_manager_tmp
+ 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=""
- else
- with_login_manager="$login_manager_tmp"
+ if test ! -z "$login_manager_tmp" ; then
+ with_login_manager="$default_login_manager_2"
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
+ 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
+
+ ;;
+
+ /*)
+ # 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)
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
have_motif=no
with_motif_req=unspecified
AC_ARG_WITH(motif,[ --with-motif Use the Motif toolkit for the user interface
- (not recommended.)],
+ (no longer supported.)],
[with_motif="$withval"; with_motif_req="$withval"],[with_motif=no])
HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
fi
-###############################################################################
-#
-# Checking whether Motif requires -lXpm.
-#
-# If this is Motif 2.x, and we have XPM, then link against XPM as well.
-# The deal is, Motif 2.x requires XPM -- but it's a compilation option
-# of the library whether to build the XPM code into libXm, or whether
-# to rely on an external libXm. So the only way to tell whether XPM is
-# a link-time requirement is to examine libXm.a, which is very
-# difficult to do in an autoconf script. So... if it's Motif 2.x, we
-# always link against XPM if the XPM lib exists (and this will be a
-# no-op if libXm happens to already have the XPM code in it.)
-#
-###############################################################################
-
-motif_requires_xpm=no
-if test "$have_motif" = yes ; then
- AC_MSG_CHECKING(whether Motif requires XPM)
- if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
- then
- motif_requires_xpm=yes
- AC_MSG_RESULT(maybe)
- else
- AC_MSG_RESULT(no)
- fi
-fi
-
-
###############################################################################
#
# Checking whether Motif requires -lXp.
AC_MSG_RESULT(adding "$osx_crud" to GL_LIBS)
GL_LIBS="$GL_LIBS $osx_crud"
unset osx_crud
+
+ # New lossage in 10.6.8: we can't allow -L/opt/local/lib to be in the
+ # link line, or at runtime XQueryExtension gets a segv due to some kind
+ # of library version skew. Libs must come from /usr/X11/lib even if
+ # $prefix and/or $exec_prefix are set to /opt/local/.
+ #
+ AC_MSG_RESULT(omitting "$libdir" from LDFLAGS)
+ libdir=''
+
+ # Looks like as of OSX 10.12, gcc can't do ObjC.
+ OBJCC="clang -Wall"
+
fi
# So if the Mesa headers exist, and -lpthread exists, then always
# link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
#
+ # Oftentimes, AX_PTHREAD will bring in -lpthread as well; but that ends
+ # up before -l(Mesa)GL, instead of after where it would belong.
+ #
if test "$ac_have_mesa_gl" = yes; then
AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
fi
fi
+###############################################################################
+#
+# Handle --with-gles
+#
+###############################################################################
+
+with_gles_req=unspecified
+AC_ARG_WITH(gles,
+[ --with-gles Target OpenGL ES 1.x API instead of OpenGL 1.3.],
+ [with_gles="$withval"; with_gles_req="$withval"],[with_gles=no])
+
+HANDLE_X_PATH_ARG(with_gles, --with-gles, JWZGLES)
+
+if test "$with_gles" = yes; then
+ have_gles=yes
+ AC_DEFINE(HAVE_JWZGLES)
+ 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_gles"
+ exit 1
+fi
+
+###############################################################################
+#
+# Check for -lpng
+#
+###############################################################################
+
+have_png=no
+with_png_req=unspecified
+png_halfassed=no
+AC_ARG_WITH(png,
+[ --with-png Include support for the PNG library.],
+ [with_png="$withval"; with_png_req="$withval"],
+ [with_png=yes])
+
+HANDLE_X_PATH_ARG(with_png, --with-png, PNG)
+
+if test "$with_png" != yes -a "$with_png" != no ; then
+ echo "error: must be yes or no: --with-png=$with_png"
+ exit 1
+fi
+
+if test "$with_png" = yes; then
+
+ have_png=no
+ AC_CHECK_X_HEADER(png.h, [have_png=yes])
+
+ if test "$have_png" = yes; then
+ # we have the header, now check for the library
+ have_png=no
+ png_halfassed=yes
+ AC_CHECK_X_LIB(png, png_create_read_struct,
+ [have_png=yes
+ png_halfassed=no
+ PNG_LIBS="-lpng"
+ AC_DEFINE(HAVE_LIBPNG)])
+ fi
+fi
+
+
###############################################################################
#
# Check for -lgdk_pixbuf.
pkg_check_version gdk-pixbuf-2.0 2.0.0
pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
+ pkg_check_version gio-2.0 2.0.0
have_gdk_pixbuf="$ok"
if test "$have_gdk_pixbuf" = yes; then
if test "$have_gdk_pixbuf" = yes; then
INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
- XPM_LIBS="$ac_gdk_pixbuf_config_libs"
+ PNG_LIBS="$ac_gdk_pixbuf_config_libs"
AC_DEFINE(HAVE_GDK_PIXBUF)
else
AC_MSG_RESULT(checking for gdk_pixbuf usability... no)
fi
-fi
-
-
-###############################################################################
-#
-# Check for -lXpm.
-#
-###############################################################################
-have_xpm=no
-with_xpm_req=unspecified
-AC_ARG_WITH(xpm,
-[ --with-xpm Include support for XPM files in some demos.
- (Not needed if Pixbuf is used.)],
- [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
-
-HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
-
-if test "$with_xpm" = yes; then
- AC_CHECK_X_HEADER(X11/xpm.h,
- [have_xpm=yes
- AC_DEFINE(HAVE_XPM)
- XPM_LIBS="-lXpm $XPM_LIBS"],,
- [#include <X11/Xlib.h>])
-elif test "$with_xpm" != no; then
- echo "error: must be yes or no: --with-xpm=$with_xpm"
- exit 1
-fi
-
-# See comment near $motif_requires_xpm, above.
-# Need to do this here, after both Motif and XPM have been checked for.
-#
-if test "$have_motif" = yes -a "$have_xpm" = yes ; then
- if test "$motif_requires_xpm" = yes ; then
- MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
+ if test "$have_gdk_pixbuf" = yes; then
+ AC_CHECK_X_LIB(c, gdk_pixbuf_apply_embedded_orientation,
+ [AC_DEFINE(HAVE_GDK_PIXBUF_APPLY_EMBEDDED_ORIENTATION)],,
+ $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
fi
fi
-if test "$XPM_LIBS" = "" ; then
- XPM_LIBS=$(MINIXPM)
-fi
-
###############################################################################
#
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
with_imagedir_req=unspecified
AC_ARG_WITH(image-directory,
-[ --with-image-directory=DIR By default, some demos may display random images
- from this directory.],
+[ --with-image-directory Arg is the default directory from which some demos
+ will choose random images to display.],
[with_imagedir="$withval"; with_imagedir_req="$withval"],
[with_imagedir=yes])
# no HANDLE_X_PATH_ARG for this one
#### Could use some more defaults here...
for f in \
- "/usr/X11R6/lib/X11/doc/README" \
- "/usr/share/doc/xserver-common/copyright" \
- "/usr/X11R6/README" \
+ "/usr/X11R6/lib/X11/doc/README" \
+ "/usr/share/doc/xserver-common/copyright" \
+ "/usr/share/doc/xserver-xorg-core/copyright" \
+ "/usr/X11R6/README" \
+ "/usr/share/doc/libX11*/COPYING" \
+ "/usr/X11/share/X11/doc/README*" \
+ "/usr/share/doc/debian/debian-manifesto" \
; do
if test -z "$with_textfile"; then
AC_MSG_CHECKING([for text file $f])
+ f=`/bin/ls $f 2>&- | head -1`
if test -f "$f" ; then
AC_MSG_RESULT(yes)
with_textfile="$f"
with_browser_req=unspecified
AC_ARG_WITH(browser,
-[ --with-browser=BROWSER Specify the browser to show help URL.],
+[ --with-browser=BROWSER Specify the web browser used to show the help URL.],
[with_browser="$withval"; with_browser_req="$withval"],
[with_browser=no ])
# no HANDLE_X_PATH_ARG for this one
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,
PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
INSTALL_PAM="install-pam"
fi
+if test "$enable_pam_check_account_type" = yes; then
+ COMMENT_PAM_CHECK_ACCOUNT=""
+else
+ COMMENT_PAM_CHECK_ACCOUNT="#"
+fi
if test "$have_passwd_helper" = yes; then
PASSWD_SRCS="$PASSWD_SRCS \$(PWHELPER_SRCS)"
PASSWD_OBJS="$PASSWD_OBJS \$(PWHELPER_OBJS)"
tab=' '
if test "$have_gl" = yes; then
GL_EXES='$(GL_EXES)'
+ SUID_EXES='$(SUID_EXES)'
+ RETIRED_GL_EXES='$(RETIRED_GL_EXES)'
GL_UTIL_EXES='$(GL_UTIL_EXES)'
GL_MEN='$(GL_MEN)'
- GL_KLUDGE="${tab} "
+ GL_KLUDGE=" "
else
- GL_KLUDGE="-${tab} "
+ GL_KLUDGE="-"
fi
if test "$have_gle" = yes; then
GLE_EXES='$(GLE_EXES)'
- GLE_KLUDGE="${tab} "
+ GLE_KLUDGE=" "
else
- GLE_KLUDGE="-${tab} "
+ GLE_KLUDGE="-"
fi
if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then
AC_SUBST(MOTIF_LIBS)
AC_SUBST(GTK_LIBS)
AC_SUBST(XML_LIBS)
+AC_SUBST(PNG_LIBS)
AC_SUBST(JPEG_LIBS)
AC_SUBST(HACK_LIBS)
-AC_SUBST(XPM_LIBS)
AC_SUBST(PTY_LIBS)
AC_SUBST(GL_LIBS)
AC_SUBST(GLE_LIBS)
AC_SUBST(NEED_SETUID)
AC_SUBST(INSTALL_PAM)
AC_SUBST(HAVE_PAM_FAIL_DELAY)
+AC_SUBST(COMMENT_PAM_CHECK_ACCOUNT)
AC_SUBST(NEW_LOGIN_COMMAND)
AC_SUBST(NEW_LOGIN_COMMAND_P)
AC_SUBST(DEFAULT_IMAGES_P)
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(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)
AC_SUBST(GL_KLUDGE)
AC_SUBST(GLE_EXES)
AC_SUBST(GLE_KLUDGE)
+AC_SUBST(JWZGLES_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
+ jwxyz/Makefile
hacks/Makefile
+ hacks/images/Makefile
hacks/glx/Makefile
po/Makefile.in
+ driver/Makefile
+ driver/xscreensaver.pam
+ driver/xscreensaver-demo.glade2
driver/XScreenSaver.ad)
###############################################################################
}
+# ac_prog_cc_no_pthread normally only happens on AIX, because according
+# to AX_PTHREAD, AIX needs CC=xlc_r or CC=cc_r to do threads.
+# If CC is specified, it takes precedence over --with-pthread.
+if test "$ac_prog_cc_no_pthread" ; then
+ warnL "You requested $ac_original_cc for the C compiler, but it doesn't"
+ warn2 "support POSIX threads."
+ echo ""
+ warn2 "If you have multiple CPU cores, try CC=$PTHREAD_CC."
+elif test "$with_pthread_req" = yes -a "$have_pthread" = no ; then
+ warn 'POSIX threads were requested, but were not found.'
+fi
+
if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
warn 'The SGI saver extension was requested, but was not found.'
fi
fi
-if test "$with_xpm_req" = yes -a "$have_xpm" = no; then
- warnL 'Use of XPM was requested, but it was not found.'
-fi
-
if test "$with_gdk_pixbuf_req" = yes -a "$have_gdk_pixbuf" = no; then
warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
fi
if test "$have_gdk_pixbuf" = no -o "$gdk_pixbuf_halfassed" = yes || \
- test "$have_gdk_pixbuf" = no -a "$have_xpm" = no ; then
+ test "$have_gdk_pixbuf" = no ; then
if test "$with_gdk_pixbuf_req" = yes ; then
true
warnL 'The GDK-Pixbuf library was not found.'
fi
- if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then
- true
- elif test "$with_xpm_req" = no ; then
- warnL 'The XPM library is not being used.'
- else
- warnL 'The XPM library was not found.'
- fi
-
- if test "$have_gdk_pixbuf" = no -a "$have_xpm" = yes ; then
- warn2 'The XPM library is being used instead.'
- fi
-
if test "$gdk_pixbuf_halfassed" = yes ; then
echo ''
warn2 'More specifically, we found the headers, but not the'
warn2 'file might contain some clues.'
fi
+ if test "$have_png" = yes ; then
+ echo ''
+ warn2 'The PNG library is being used instead.'
+ fi
+
echo ''
warn2 'Some of the demos will not use images as much as they could.'
warn2 'You should consider installing GDK-Pixbuf and re-running'
- warn2 'configure. (GDK-Pixbuf is recommended over XPM, as it'
- warn2 'provides support for more image formats.)'
+ warn2 'configure.'
fi
fi
+if test "$have_png" = no ; then
+ if test "$with_png_req" = yes ; then
+ warnL 'Use of libpng was requested, but it was not found.'
+ elif test "$with_png_req" = no ; then
+ noteL 'The PNG library is not being used.'
+ else
+ noteL 'The PNG library was not found.'
+ fi
+
+ if test "$png_halfassed" = yes ; then
+ echo ''
+ warn2 'More specifically, we found the headers, but not the'
+ warn2 'library; so either PNG is half-installed on this'
+ warn2 "system, or something else went wrong. The \`config.log'"
+ warn2 'file might contain some clues.'
+ echo ''
+ fi
+
+ warn2 "Many things aren't going to work right."
+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"
pgl="$preferred_mesagl"
if test "$ac_mesagl_version" = unknown; then
- warnL "Unable to determine the MesaGL version number!"
- warn2 "Make sure you are using version $preferred_mesagl or newer."
+ true
+ # warnL "Unable to determine the MesaGL version number!"
+ # warn2 "Make sure you are using version $preferred_mesagl or newer."
elif test \! "$ac_mesagl_version" -gt 2006; then
warnL "MesaGL version number is $mgv --"
echo ''
warn2 'Those demos which use 3D will not be built or installed.'
warn2 'You might want to consider installing OpenGL and'
- warn2 "re-running configure. If your vendor doesn't ship"
- warn2 'their own implementation of OpenGL, you can get a free'
- warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
- warn2 'info, see <http://www.opengl.org/>.'
+ warn2 're-running configure.'
fi
warn2 'library is not.'
else
noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
- warn2 'was not.'
+ warn2 'library was not.'
fi
if test "$gle_halfassed" = yes ; then
warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
warn2 'will not be built or installed. You might want to consider'
warn2 'installing GLE and re-running configure. You can find the'
- warn2 'GLE library at <http://www.linas.org/gle/>. For general'
- warn2 'OpenGL info, see <http://www.opengl.org/>.'
+ warn2 'GLE library at <http://www.linas.org/gle/>'
fi
fi
if test \! -z "$rpmv" ; then
rpmbdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
- rpmhdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/attraction$@\1@p'`
+ rpmhdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/popsquares$@\1@p'`
warning=no
warnL "There is already an installed RPM of xscreensaver $rpmv"
fi
fi
+# Also warn if there's a Debian package installed.
+#
+debnames="xscreensaver xscreensaver-data xscreensaver-data-extra"
+debv=''
+for dpkg in $debnames ; do
+ if test -z "$debv"; then
+ debv=`dpkg -s $dpkg 2>/dev/null | sed -n 's/^Version: \(.*\)$/\1/p'`
+ fi
+done
+
+if test \! -z "$debv" ; then
+ debbdir=`dpkg -L $debnames 2>/dev/null | \
+ sed -n 's@^\(.*/bin/\)xscreensaver$@\1@p'`
+ debhdir=`dpkg -L $debnames 2>/dev/null | \
+ sed -n 's@^\(.*/\)popsquares$@\1@p'`
+ if test -z "$debbdir" ; then debbdir='???'; fi
+ if test -z "$debhdir" ; then debhdir='???'; fi
+
+ warning=no
+ warnL "There is already an installed dpkg of xscreensaver"
+ warn2 "version \"$debv\" on this system."
+ echo ""
+ warn2 "The dpkg was installed in $debbdir,"
+ warn2 "with demos in $debhdir."
+fi
+
+
if test "${bindir}" = "${HACKDIR}" ; then
do_dir_warning=yes
fi
echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
echo " will be installed in ${bindir}/."
echo ""
- echo " The various graphics demos (190+ different executables) will"
+ echo " The various graphics demos (200+ different executables) will"
echo " be installed in ${HACKDIR}/."
echo ""
echo " If you would prefer the demos to be installed elsewhere,"