From 38886de0c3e9ea5729ef23e4c653fa2822f52e8f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 6 Apr 2021 14:43:39 +0200 Subject: xscreensaver 6.00 --- configure.in | 4928 ---------------------------------------------------------- 1 file changed, 4928 deletions(-) delete mode 100644 configure.in (limited to 'configure.in') diff --git a/configure.in b/configure.in deleted file mode 100644 index a2e943e..0000000 --- a/configure.in +++ /dev/null @@ -1,4928 +0,0 @@ -# configure.in --- xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski. -# - -AC_PREREQ(2.52) -AC_INIT(driver/subprocs.c) -AC_CONFIG_HEADERS([config.h]) - -echo "current directory: `pwd`" -echo "command line was: $0 $@" - -############################################################################### -# -# Autoheader stuff -# -############################################################################### - -AH_TOP([ -/* 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 - * `config.h.in'. - * - * If something goes very wrong, you can edit `config.h' directly, but beware - * that your changes will be lost if you ever run `configure' again. - */ -]) - -AH_TEMPLATE([HAVE_READ_DISPLAY_EXTENSION], - [Define this if you have the XReadDisplay extension (I think - this is an SGI-only thing; it's in - .) A few of the screenhacks will - take advantage of this if it's available.]) - -AH_TEMPLATE([HAVE_XHPDISABLERESET], - [Define this if you have the XHPDisableReset function (an HP only - thing which allows the Ctrl-Sh-Reset key sequence to be - temporarily disabled.)]) - -# 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 - on sufficiently-recent XFree86 systems, and possibly elsewhere. - (It's available if the file /usr/include/X11/extensions/dpms.h - exists.)]) - -AH_TEMPLATE([HAVE_XF86VMODE], - [Define this if you have the functions XF86VidModeGetModeLine() - and XF86VidModeGetViewPort(), in support of virtual desktops - where the X server's root window is bigger than the actual - screen. This is an XFree86 thing, and probably doesn't exist - elsewhere. (It's available if the file - /usr/include/X11/extensions/xf86vmode.h exists.)]) - -AH_TEMPLATE([HAVE_XF86VMODE_GAMMA], - [Define this if you have the functions XF86VidModeGetGamma() and - XF86VidModeSetGamma(), which allow clients to change the gamma - response of the monitor. This is an XFree86 4.0.x thing, and - probably doesn't exist elsewhere. (It's available if the file - /usr/include/X11/extensions/xf86vmode.h exists and has stuff about - gamma in it.)]) - -AH_TEMPLATE([HAVE_XF86VMODE_GAMMA_RAMP], - [Define this if you have the functions XF86VidModeGetGammaRamp() - and XF86VidModeSetGammaRamp(), which provide finer-grained - control than XF86VidMode[GS]etGamma(). These appeared in - XFree86 4.1.0.]) - -AH_TEMPLATE([HAVE_XINERAMA], - [Define this if you have the Xinerama extension. This is - standard on sufficiently-recent XFree86 systems, and possibly - 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 - sequences to be temporarily disabled. Sadly, it doesn't affect - Ctrl-Alt-BS or Ctrl-Alt-F1.)]) - -AH_TEMPLATE([HAVE_RANDR], - [Define this if you have the Resize and Rotate extension. - This is standard on sufficiently-recent XFree86 systems, and - 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 - occurred.]) - -AH_TEMPLATE([HAVE_PROC_OOM], - [Define this if you have a Linux-like /proc/.../oom_score_adj file - which can be adjusted by root to exempt us from the out-of-memory - .]) - -AH_TEMPLATE([HAVE_MOTIF],[Define this if you have Motif.]) - -AH_TEMPLATE([HAVE_XMCOMBOBOX], - [Define this if you have the XmComboBox Motif widget (Motif 2.0.)]) - -AH_TEMPLATE([HAVE_GTK],[Define this if you have Gtk (any version.)]) -AH_TEMPLATE([HAVE_GTK2],[Define this if you have Gtk 2.x.]) - -AH_TEMPLATE([HAVE_CRAPPLET], - [Define this if you have Gnome and want to build support for the - xscreensaver control panel in the Gnome Control Center - (gnomecc). (This is needed only with Gtk 1.x.)]) - -AH_TEMPLATE([HAVE_CRAPPLET_IMMEDIATE], - [Define this if HAVE_CRAPPLET is defined, and the function - capplet_widget_changes_are_immediate() is available.]) - -AH_TEMPLATE([HAVE_XML],[Define this if you have the XML library.]) - -AH_TEMPLATE([HAVE_OLD_XML_HEADERS], - [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_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_LIBSYSTEMD], - [Define this if you have libsystemd.]) - -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 - built. (This won't affect the screen saver as a whole.)]) - -AH_TEMPLATE([HAVE_MESA_GL], - [Define this if you have OpenGL, but it's the MesaGL variant. - (The libraries have different names.) (HAVE_GL should be defined - too.)]) - -AH_TEMPLATE([HAVE_GLBINDTEXTURE], - [Define this if your version of OpenGL has the glBindTexture() - routine. This is the case for OpenGL 1.1, but not for OpenGL - 1.0.]) - -AH_TEMPLATE([HAVE_GLE], - [Define this if you have the -lgle and -lmatrix libraries (GL - extrusion.)]) - -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.]) - -AH_TEMPLATE([HAVE_DOUBLE_BUFFER_EXTENSION], - [Define this if you have the X Double Buffer Extension.]) - -AH_TEMPLATE([FORTUNE_PROGRAM], - [Some screenhacks like to run an external program to generate - random pieces of text; set this to the one you like. Note that - this is just the default; X resources can be used to override - it.]) - -AH_TEMPLATE([PASSWD_HELPER_PROGRAM], - [Set the name of the password helper program, if any]) - -AH_TEMPLATE([NO_LOCKING], - [Define this to remove the option of locking the screen at all.]) - -AH_TEMPLATE([ALLOW_ROOT_PASSWD], - [Define this to allow the root password to unlock the screen.]) - -AH_TEMPLATE([HAVE_KERBEROS], - [Define this if you want to use Kerberos authentication to - lock/unlock the screen instead of your local password. This - currently uses Kerberos V4, but a V5 server with V4 - compatibility will work. WARNING: DO NOT USE AFS string-to-key - passwords with this option. This option currently *only* works - with standard Kerberos des_string_to_key. If your password is - an AFS password and not a kerberos password, it will not - authenticate properly. See the comments in driver/kpasswd.c for - more information if you need it.]) - -AH_TEMPLATE([HAVE_KERBEROS5], - [Define this if you have Kerberos 5, meaning we need to use the - Kerberos 4 compatibility layer.]) - -AH_TEMPLATE([HAVE_PAM], - [Define this if you want to use PAM (Pluggable Authentication - Modules) to lock/unlock the screen, instead of standard - /etc/passwd authentication.]) - -AH_TEMPLATE([PAM_SERVICE_NAME], - [If PAM is being used, this is the name of the PAM service that - xscreensaver will authenticate as. The default is - "xscreensaver", which means that the PAM library will look for - an "xscreensaver" line in /etc/pam.conf, or (on recent Linux - systems) will look for a file called /etc/pam.d/xscreensaver. - Some systems might already have a PAM installation that is - configured for xlock, so setting this to "xlock" would also work - in that case.]) - -AH_TEMPLATE([HAVE_PAM_FAIL_DELAY], - [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.]) - -AH_TEMPLATE([HAVE_SIGTIMEDWAIT], - [Define to 1 if you have the `sigtimedwait' function.]) - -AH_TEMPLATE([HAVE_SHADOW_PASSWD], - [Define this if your system uses 'shadow' passwords, that is, the - passwords live in /etc/shadow instead of /etc/passwd, and one - reads them with getspnam() instead of getpwnam(). (Note that - SCO systems do some random other thing; others might as well. - See the ifdefs in driver/passwd-pwent.c if you're having trouble - related to reading passwords.)]) - -AH_TEMPLATE([HAVE_ENHANCED_PASSWD], - [Define this if your system is Digital or SCO Unix with so-called - ``Enhanced Security'', that is, the passwords live in - /tcb/files/auth// instead of in /etc/passwd, and one - reads them with getprpwnam() instead of getpwnam().]) - -AH_TEMPLATE([HAVE_ADJUNCT_PASSWD], - [Define this if your system is Solaris with ``adjunct'' passwords - (this is the version where one gets at the passwords with - getpwanam() instead of getpwnam().) I haven't tested this one, - let me know if it works.]) - -AH_TEMPLATE([HAVE_HPUX_PASSWD], - [Define this if you are running HPUX with so-called ``Secure - Passwords'' (if you have /usr/include/hpsecurity.h, you probably - have this.) I haven't tested this one, let me know if it works.]) - -AH_TEMPLATE([HAVE_SYSLOG], - [Define this if you the openlog(), syslog(), and closelog() - functions. This is used for logging failed login attempts.]) - -AH_TEMPLATE([HAVE_ICMP], - [Define this if you do pings with a `struct icmp' and an - `icmp_id' slot.]) - -AH_TEMPLATE([HAVE_ICMPHDR], - [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 - programs, or be used as terminal windows.]) - -AH_TEMPLATE([HAVE_GETTIMEOFDAY], - [Define this if you have the gettimeofday function.]) - -AH_TEMPLATE([GETTIMEOFDAY_TWO_ARGS], - [Define this if gettimeofday() takes two arguments.]) - -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_LIBCAP], - [Define this if your system has libcap.]) - -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 utils jwxyz hacks hacks/glx driver ; do - f=$srcdir/$d/Makefile.in - if test \! -r $f ; then - echo "" - echo "ERROR: The package is incomplete: $f does not exist." - echo " This probably means that your download was truncated." - echo "" - exit 1 - 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_REQUIRE([AC_PROG_CC]) - - if test -z "$GCC"; then - # not using GCC - AC_MSG_CHECKING(how to request ANSI compilation) - case "$host" in - *-hpux* ) - AC_MSG_RESULT(HPUX: adding -Ae) - CC="$CC -Ae" - ;; - *-aix* ) - AC_MSG_RESULT(AIX: adding -qlanglvl=ansi -qhalt=e) - CC="$CC -qlanglvl=ansi -qhalt=e" - ;; - *-dec-* ) - AC_MSG_RESULT(DEC: adding -std1 -ieee) - CC="$CC -std1" - ;; - *) - AC_MSG_RESULT(no idea) - ;; - esac - else - # using GCC - case "$host" in - *-solaris*) - AC_MSG_RESULT(Solaris: adding -D__EXTENSIONS__) - CC="$CC -D__EXTENSIONS__" - ;; - esac - fi - - OBJCC="$CC" - - # This test makes cross-compiling fail, so let's just assume that nobody - # is using a K&R compiler any more... - # -# AC_MSG_CHECKING([whether the compiler works on ANSI C]) -# AC_TRY_RUN([ main(int ac, char **av) { return 0; } ], -# AC_MSG_RESULT(yes), -# AC_MSG_RESULT(no) -# AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.), -# AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.)) - - if test -n "$GCC"; then - AC_MSG_RESULT(Turning on gcc compiler warnings.) - CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes" - OBJCC="$OBJCC -Wall" - # As of gcc 3.4, we have "-Wdeclaration-after-statement" - # and so perhaps now we can do without -pedantic? - else - case "$host" in - *-irix5* |*-irix6.[0-3]* ) - AC_MSG_RESULT(Turning on SGI compiler warnings.) - CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3" - ;; -# *-dec-osf* ) -# if test -z "$GCC"; then -# AC_MSG_RESULT(Turning on DEC C compiler warnings.) -# CC="$CC -migrate -w0 -verbose -warnprotos" -# fi -# ;; - esac - fi -]) - - -############################################################################### -# -# Check for availability of various gcc command-line options. -# -############################################################################### - -AC_DEFUN([AC_CHECK_GCC_ARG], - [if test -n "$GCC"; then - AC_CACHE_CHECK([whether gcc accepts [$2]], - ac_cv_gcc_accepts_[$1], - [rm -rf conftest.$ac_ext - touch conftest.$ac_ext - if ( ( gcc -c [$2] conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \ - grep unrecognized >/dev/null ); then - 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_CHECK_GCC_ARG(no_overlength, -Wno-overlength-strings)]) - -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)]) - -############################################################################### -# -# Function to figure out how to disable // comments in ANSI C code. -# -# (With recent gcc, this is done with "-std=c89". With older gcc, this -# is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to -# gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang. -# so much for compatibility!) -# -# UPDATE: apparently there is NO WAY to tell gcc 3.2.2 to require that -# declarations preceed statements, without resorting to "-pedantic". -# This means that there is no way to get gcc3 to issue warnings that -# ensure that your code complies with the ANSI/ISO C89 standard, without -# also drowning in totally useless warnings. Thank you master may I -# have another. -# -# So, I give up, let's just use -pedantic. -# -############################################################################### - -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 - AC_GCC_ACCEPTS_STD - AC_MSG_RESULT(Disabling C++ comments in ANSI C code.) - # - # The reason that // comments are banned from xscreensaver is that gcc is - # basically the only compiler in the world that supports them in C code. - # All other vendors support them only in their C++ compilers, not in their - # ANSI C compilers. This means that it's a portability problem: every time - # these comments have snuck into the xscreensaver source code, I've gotten - # complaints about it the next day. So we turn off support for them in gcc - # as well to prevent them from accidentially slipping in. - # - if test "$ac_gcc_accepts_std" = yes ; then - # - # -std=c89 defines __STRICT_ANSI__, which we don't want. - # (That appears to be the only additional preprocessor symbol - # it defines, in addition to the syntax changes it makes.) - # - # -std=gnu89 is no good, because // comments were a GNU extension - # before they were in the ANSI C 99 spec... (gcc 2.96 permits // - # with -std=gnu89 but not with -std=c89.) - # - # $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 -]) - - -############################################################################### -# -# Function to figure out how to create directory trees. -# -############################################################################### - -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 - rm -rf conftestdir - if mkdir conftestdir; then - cd conftestdir 2>/dev/null - ${INSTALL} -d `pwd`/dir1/dir2 >/dev/null 2>&1 - if test -d dir1/dir2/. ; then - ac_cv_install_d_creates_dirs=yes - fi - cd .. 2>/dev/null - rm -rf conftestdir - fi - ]) - - if test "$ac_cv_install_d_creates_dirs" = no ; then - AC_CACHE_CHECK([whether "mkdir -p" creates intermediate directories], - ac_cv_mkdir_p_creates_dirs, - [ac_cv_mkdir_p_creates_dirs=no - rm -rf conftestdir - if mkdir conftestdir; then - cd conftestdir 2>/dev/null - mkdir -p dir1/dir2 >/dev/null 2>&1 - if test -d dir1/dir2/. ; then - ac_cv_mkdir_p_creates_dirs=yes - fi - cd .. 2>/dev/null - rm -rf conftestdir - fi - ]) - fi - - if test "$ac_cv_install_d_creates_dirs" = yes ; then - INSTALL_DIRS='${INSTALL} -d' - elif test "$ac_cv_mkdir_p_creates_dirs" = yes ; then - INSTALL_DIRS='mkdir -p' - else - # any other ideas? - INSTALL_DIRS='${INSTALL} -d' - fi -]) - - -############################################################################### -# -# Function to check whether gettimeofday() exists, and how to call it. -# This may define HAVE_GETTIMEOFDAY and GETTIMEOFDAY_TWO_ARGS. -# -############################################################################### - -AC_DEFUN([AC_GETTIMEOFDAY_ARGS], - [AC_MSG_CHECKING(how to call gettimeofday) - AC_CACHE_VAL(ac_cv_gettimeofday_args, - [AC_TRY_COMPILE([#include - #include ], - [struct timeval tv; struct timezone tzp; - gettimeofday(&tv, &tzp);], - [ac_gettimeofday_args=2], - [AC_TRY_COMPILE([#include - #include ], - [struct timeval tv; gettimeofday(&tv);], - [ac_gettimeofday_args=1], - [ac_gettimeofday_args=0])]) - ac_cv_gettimeofday_args=$ac_gettimeofday_args]) - ac_gettimeofday_args=$ac_cv_gettimeofday_args - if test "$ac_gettimeofday_args" = 1 ; then - AC_DEFINE(HAVE_GETTIMEOFDAY) - AC_MSG_RESULT(one argument) - elif test "$ac_gettimeofday_args" = 2 ; then - AC_DEFINE(HAVE_GETTIMEOFDAY) - AC_DEFINE(GETTIMEOFDAY_TWO_ARGS) - AC_MSG_RESULT(two arguments) - else - AC_MSG_RESULT(unknown) - fi -]) - - -############################################################################### -# -# Function to find perl5 (defines PERL and PERL_VERSION.) -# -############################################################################### - -# M4 sucks!! perl sucks too!! -changequote(X,Y) -perl_version_cmd='print $]' -changequote([,]) - -AC_DEFUN([AC_PROG_PERL], - [AC_PATH_PROGS(PERL, [perl5 perl],,) - if test -z "$PERL" ; then - PERL_VERSION=0 - else - AC_CACHE_CHECK([perl version], ac_cv_perl_version, - [ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`]) - PERL_VERSION=$ac_cv_perl_version - fi - ]) - - -############################################################################### -# -# Function to demand "bc". Losers. -# -############################################################################### - -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_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - echo '' - AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard - part of Unix since the 1970s. Come back when your vendor - has grown a clue.]) - fi - ]) - -############################################################################### -# -# Functions to check how to do ICMP PING requests. -# -############################################################################### - -AC_DEFUN([AC_CHECK_ICMP], - [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp, - [AC_TRY_COMPILE([#include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include ], - [struct icmp i; - struct sockaddr s; - struct sockaddr_in si; - struct ip ip; - i.icmp_type = ICMP_ECHO; - i.icmp_code = 0; - i.icmp_cksum = 0; - i.icmp_id = 0; - i.icmp_seq = 0; - si.sin_family = AF_INET; - #if defined(__DECC) || defined(_IP_VHL) - ip.ip_vhl = 0; - #else - ip.ip_hl = 0; - #endif - ], - [ac_cv_have_icmp=yes], - [ac_cv_have_icmp=no])]) - if test "$ac_cv_have_icmp" = yes ; then - AC_DEFINE(HAVE_ICMP) - fi]) - -AC_DEFUN([AC_CHECK_ICMPHDR], - [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr, - [AC_TRY_COMPILE([#include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include ], - [struct icmphdr i; - struct sockaddr s; - struct sockaddr_in si; - struct ip ip; - i.type = ICMP_ECHO; - i.code = 0; - i.checksum = 0; - i.un.echo.id = 0; - i.un.echo.sequence = 0; - si.sin_family = AF_INET; - ip.ip_hl = 0;], - [ac_cv_have_icmphdr=yes], - [ac_cv_have_icmphdr=no])]) - if test "$ac_cv_have_icmphdr" = yes ; then - AC_DEFINE(HAVE_ICMPHDR) - fi]) - - -############################################################################### -# -# Functions to check for various X11 crap. -# -############################################################################### - -# Try and find the app-defaults directory. -# It sucks that autoconf doesn't do this already... -# -AC_DEFUN([AC_PATH_X_APP_DEFAULTS_XMKMF],[ - rm -fr conftestdir - if mkdir conftestdir; then - cd conftestdir 2>/dev/null - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat > Imakefile <<'EOF' -acfindx: - @echo 'ac_x_app_defaults="${XAPPLOADDIR}"' -EOF - if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which'd confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` - fi - cd .. 2>/dev/null - rm -fr conftestdir - fi]) - -############################################################################### -# -# Handle the --with-x-app-defaults option HERE -# -############################################################################### - -AC_ARG_WITH(x-app-defaults,[], - [ac_cv_x_app_defaults="$withval"], - [eval ac_x_app_defaults="$withval"]) - - -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/X11R5/lib/app-defaults \ - /usr/X11R5/lib/X11/app-defaults \ - /usr/X11R4/lib/app-defaults \ - /usr/X11R4/lib/X11/app-defaults \ - \ - /usr/lib/X11/app-defaults \ - /usr/lib/X11R6/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 \ - /usr/local/X11R4/lib/app-defaults \ - \ - /usr/local/lib/X11/app-defaults \ - /usr/local/lib/X11R6/app-defaults \ - /usr/local/lib/X11R6/X11/app-defaults \ - /usr/local/lib/X11R5/app-defaults \ - /usr/local/lib/X11R5/X11/app-defaults \ - /usr/local/lib/X11R4/app-defaults \ - /usr/local/lib/X11R4/X11/app-defaults \ - \ - /usr/X386/lib/X11/app-defaults \ - /usr/x386/lib/X11/app-defaults \ - /usr/XFree86/lib/X11/app-defaults \ - \ - /usr/lib/X11/app-defaults \ - /usr/local/lib/X11/app-defaults \ - /usr/unsupported/lib/X11/app-defaults \ - /usr/athena/lib/X11/app-defaults \ - /usr/local/x11r5/lib/X11/app-defaults \ - /usr/lpp/Xamples/lib/X11/app-defaults \ - /lib/usr/lib/X11/app-defaults \ - \ - /usr/openwin/lib/app-defaults \ - /usr/openwin/lib/X11/app-defaults \ - /usr/openwin/share/lib/app-defaults \ - /usr/openwin/share/lib/X11/app-defaults \ - \ - /X11R6/lib/app-defaults \ - /X11R5/lib/app-defaults \ - /X11R4/lib/app-defaults \ - ; \ - do - if test -d "$ac_dir"; then - ac_x_app_defaults=$ac_dir - break - fi - done -]) - -AC_DEFUN([AC_PATH_X_APP_DEFAULTS], - [AC_REQUIRE_CPP() - AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults, - [# skip this, it's always wrong these days. - # AC_PATH_X_APP_DEFAULTS_XMKMF - if test x"$ac_x_app_defaults" = x; then - 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_cv_x_app_defaults="$ac_x_app_defaults" - fi]) - eval ac_x_app_defaults="$ac_cv_x_app_defaults"]) - - -AC_DEFUN([AC_XPOINTER], - [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer, - [AC_TRY_X_COMPILE([#include ], - [XPointer foo = (XPointer) 0;], - [ac_cv_xpointer=yes], - [ac_cv_xpointer=no])]) - if test "$ac_cv_xpointer" != yes; then - AC_DEFINE(XPointer,[char*]) - fi]) - - -# Random special-cases for X on certain pathological OSes. -# You know who you are. -# -AC_DEFUN([AC_X_RANDOM_PATHS], - [case "$host" in - *-hpux*) - - # The following arcana was gleaned from conversations with - # Eric Schwartz : - # - # On HPUX 10.x, the parts of X that HP considers "standard" live in - # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider - # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/. - # Yet /usr/contrib/X11R6/ comes preinstalled on all HPUX systems. - # Also, there are symlinks from /usr/include/ and /usr/lib/ into - # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all) - # you don't need any -I or -L arguments. - # - # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/ - # are the same division as 10.x. However, there are no symlinks to - # the X stuff from /usr/include/ and /usr/lib/, so -I and -L - # arguments are always necessary. - # - # However, X11R6 was available on HPUX 9.x as a patch: if that - # patch was installed, then all of X11R6 went in to - # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.) - # - # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know - # whether R5 was available as a patch; R6 undoubtedly was not.) - # - # So. We try and use the highest numbered pair of - # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/ - # that are available. We do not mix and match different versions - # of X. - # - # Question I still don't know the answer to: (do you?) - # - # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and - # /usr/contrib/X11R6/ could be installed as a patch, what was in - # that contrib directory? Did it contain so-called "standard" - # X11R6, or did it include Xaw and Xmu as well? If the former, - # where did one find Xaw and Xmu on 9.x R6 systems? Would this - # be a situation where one had to reach into the R5 headers and - # libs to find Xmu? That is, must both R6 and R5 directories - # be on the -I and -L lists in that case? - # - for version in X11R6 X11R5 X11R4 ; do - # if either pair of directories exists... - if test -d /usr/include/$version || test -d /usr/contrib/$version/include - then - # if contrib exists, use it... - if test -d /usr/contrib/$version/include ; then - X_CFLAGS="$X_CFLAGS -I/usr/contrib/$version/include" - X_LIBS="$X_LIBS -L/usr/contrib/$version/lib" - fi - # if the "standard" one exists, use it. - if test -d /usr/include/$version ; then - X_CFLAGS="$X_CFLAGS -I/usr/include/$version" - X_LIBS="$X_LIBS -L/usr/lib/$version" - fi - # since at least one of the pair exists, go no farther. - break - fi - done - - # Now find Motif. Thanks for not making xmkmf find this by - # default, you losers. - # - if test -d /usr/include/Motif2.1 ; then - X_CFLAGS="$X_CFLAGS -I/usr/include/Motif2.1" - X_LIBS="$X_LIBS -L/usr/lib/Motif2.1" - elif test -d /usr/include/Motif1.2 ; then - X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2" - X_LIBS="$X_LIBS -L/usr/lib/Motif1.2" - elif test -d /usr/include/Motif1.1 ; then - X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1" - X_LIBS="$X_LIBS -L/usr/lib/Motif1.1" - fi - - # 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 - X_CFLAGS="-I/opt/graphics/OpenGL/include $X_CFLAGS" - X_LIBS="-L/opt/graphics/OpenGL/lib $X_LIBS" - elif test -d /opt/Mesa/lib ; then - X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS" - X_LIBS="-L/opt/Mesa/lib $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 - # to configure. I'm not sure this is the right thing to do, but - # Richard Lloyd says so... - # - if test \! -x /usr/local/bin/xscreensaver ; then - ac_default_prefix=/opt/xscreensaver - fi - - ;; - *-solaris*) - - # Thanks for not making xmkmf find this by default, pinheads. - # And thanks for moving things around again, too. Is this - # really the standard location now? What happened to the - # joke that this kind of thing went in /opt? - # cthomp says "answer: CDE (Common Disorganized Environment)" - # - if test -f /usr/dt/include/Xm/Xm.h ; then - X_CFLAGS="$X_CFLAGS -I/usr/dt/include" - MOTIF_LIBS="$MOTIF_LIBS -L/usr/dt/lib -R/usr/dt/lib" - - # Some versions of Slowlaris Motif require -lgen. But not all. Why? - AC_CHECK_LIB(gen, regcmp, [MOTIF_LIBS="$MOTIF_LIBS -lgen"]) - fi - - ;; - *-darwin*) - - # On MacOS X (10.x with "fink"), many things are under /sw/. - # - if test -d /sw/include ; then - X_CFLAGS="-I/sw/include $X_CFLAGS" - X_LIBS="-L/sw/lib $X_LIBS" - fi - ;; - esac]) - -AC_DEFUN([AC_CHECK_GETIFADDRS], - [AC_CACHE_CHECK([for getifaddrs], ac_cv_have_getifaddrs, - [AC_TRY_COMPILE([#include - #include - #include - #include ], - [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 - #include ]], [[ - 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 or does not define.]) - fi]) - -############################################################################### -# -# Some utility functions to make checking for X things easier. -# -############################################################################### - -# Like AC_CHECK_HEADER, but it uses the already-computed -I directories. -# -AC_DEFUN([AC_CHECK_X_HEADER], [ - ac_save_CPPFLAGS="$CPPFLAGS" - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` - AC_CHECK_HEADER([$1],[$2],[$3],[$4]) - CPPFLAGS="$ac_save_CPPFLAGS"]) - -# Like AC_EGREP_HEADER, but it uses the already-computed -I directories. -# -AC_DEFUN([AC_EGREP_X_HEADER], [ - ac_save_CPPFLAGS="$CPPFLAGS" - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` - AC_EGREP_HEADER([$1], [$2], [$3], [$4]) - CPPFLAGS="$ac_save_CPPFLAGS"]) - -# Like AC_TRY_COMPILE, but it uses the already-computed -I directories. -# -AC_DEFUN([AC_TRY_X_COMPILE], [ - ac_save_CPPFLAGS="$CPPFLAGS" - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` - AC_TRY_COMPILE([$1], [$2], [$3], [$4]) - CPPFLAGS="$ac_save_CPPFLAGS"]) - - -# 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_save_CPPFLAGS="$CPPFLAGS" - ac_save_LDFLAGS="$LDFLAGS" -# ac_save_LIBS="$LIBS" - - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi - # note: $X_CFLAGS includes $x_includes - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - - if test \! -z "$libdir" ; then - LDFLAGS="$LDFLAGS -L$libdir" - fi - # note: $X_LIBS includes $x_libraries - LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" - - CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` - LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS` - AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5]) - CPPFLAGS="$ac_save_CPPFLAGS" - LDFLAGS="$ac_save_LDFLAGS" -# LIBS="$ac_save_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_save_CPPFLAGS="$CPPFLAGS" - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` - AC_TRY_RUN([$1], [$2], [$3], [$4]) - CPPFLAGS="$ac_save_CPPFLAGS"]) - - - -# Usage: HANDLE_X_PATH_ARG([variable_name], -# [--command-line-option], -# [descriptive string]) -# -# All of the --with options take three forms: -# -# --with-foo (or --with-foo=yes) -# --without-foo (or --with-foo=no) -# --with-foo=/DIR -# -# This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees -# a directory (string beginning with a slash) it checks to see whether -# /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS -# as appropriate. -# -AC_DEFUN([HANDLE_X_PATH_ARG], [ - case "$[$1]" in - yes) ;; - no) ;; - - /*) - AC_MSG_CHECKING([for [$3] headers]) - d=$[$1]/include - if test -d $d; then - X_CFLAGS="-I$d $X_CFLAGS" - AC_MSG_RESULT($d) - else - AC_MSG_RESULT(not found ($d: no such directory)) - fi - - AC_MSG_CHECKING([for [$3] libs]) - d=$[$1]/lib - if test -d $d; then - X_LIBS="-L$d $X_LIBS" - AC_MSG_RESULT($d) - else - AC_MSG_RESULT(not found ($d: no such directory)) - fi - - # replace the directory string with "yes". - [$1]_req="yes" - [$1]=$[$1]_req - ;; - - *) - echo "" - echo "error: argument to [$2] must be \"yes\", \"no\", or a directory." - echo " If it is a directory, then \`DIR/include' will be added to" - echo " the -I list, and \`DIR/lib' will be added to the -L list." - exit 1 - ;; - esac - ]) - - - -############################################################################### -############################################################################### -# -# End of function definitions. Now start actually executing stuff. -# -############################################################################### -############################################################################### - -# WTF! autoconf emits this *way* too late. Do it earlier. -test "x$prefix" = xNONE && prefix=$ac_default_prefix -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - - -# 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 -AC_NO_OBJECTIVE_C -AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE -AC_PROG_CPP -AC_C_CONST -AC_C_INLINE -AC_EXEEXT -AC_DEMAND_BC - -# stuff for Makefiles -AC_PROG_INSTALL -AC_PROG_INSTALL_DIRS -AC_PROG_MAKE_SET - -# By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'. -# That's wrong: it should be set to '${INSTALL}', so that one can -# implement the "install-strip" target properly (strip executables, -# but do not try to strip scripts.) -# -INSTALL_SCRIPT='${INSTALL}' - -# random libc stuff -AC_HEADER_STDC -AC_CHECK_HEADERS(unistd.h inttypes.h) -AC_TYPE_MODE_T -AC_TYPE_PID_T -AC_TYPE_SIZE_T -AC_TYPE_SIGNAL -AC_HEADER_TIME -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 sqrtf) -AC_CHECK_FUNCS(getaddrinfo) -AC_CHECK_MEMBERS([struct sockaddr.sa_len],,, [[#include ]]) -AC_CHECK_ICMP -AC_CHECK_ICMPHDR -AC_CHECK_GETIFADDRS -AC_TYPE_SOCKLEN_T -AC_CHECK_HEADERS(crypt.h sys/select.h) -AC_PROG_PERL - -if test -z "$PERL" ; then - # don't let it be blank... - PERL=/usr/bin/perl -fi - -AC_PATH_XTRA - -if test "$have_x" != yes; then - AC_MSG_ERROR(Couldn't find X11 headers/libs. Try `$0 --help'.) -fi - -AC_PATH_X_APP_DEFAULTS -AC_X_RANDOM_PATHS -AC_XPOINTER - -AC_MSG_CHECKING(whether this is MacOS X) - ac_macosx=no - case "$host" in - *-apple-darwin* ) - ac_macosx=yes - ;; - esac -AC_MSG_RESULT($ac_macosx) - - -############################################################################### -# -# Gettext support -# -############################################################################### - -IT_PROG_INTLTOOL -GETTEXT_PACKAGE=xscreensaver -AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", - [This is the name of the gettext package to use.]) -AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE", - [This is the same as GETTEXT_PACKAGE, but for the glade - generated code.]) -AC_SUBST(GETTEXT_PACKAGE) - -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" - - -############################################################################### -# -# Check for -lXmu (some fucked up vendors don't ship it...) -# -############################################################################### - -have_xmu=no -AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes],, - [#include - #include - #include ]) -if test "$have_xmu" = no ; then - XMU_SRCS='$(UTILS_SRC)/xmu.c' - XMU_OBJS='$(UTILS_BIN)/xmu.o' - XMU_LIBS='' -else - XMU_SRCS='' - XMU_OBJS='' - XMU_LIBS='-lXmu' - AC_DEFINE(HAVE_XMU) -fi - - -############################################################################### -# -# Check for the SunOS 4.1.x _get_wmShellWidgetClass bug. -# See comp.windows.x FAQ question 124. The right fix is to -# get OpenWindows 3.0 patches 100512-02 and 100573-03. -# -############################################################################### - -if test "$have_xmu" = yes ; then - case "$host" in - *-sunos4*) - AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug], - ac_cv_sunos_xmu_bug, - [ac_save_LDFLAGS="$LDFLAGS" - if test \! -z "$x_libraries" ; then - LDFLAGS="$LDFLAGS -L$x_libraries" - fi - # Note: this trick never works! (Generally.) - # We're only getting away with using AC_TRY_LINK - # with X libraries because we know it's SunOS. - LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm" - AC_TRY_LINK(,, - [ac_cv_sunos_xmu_bug=no], - [ac_cv_sunos_xmu_bug=yes]) - LDFLAGS="$ac_save_LDFLAGS"]) - if test "$ac_cv_sunos_xmu_bug" = yes ; then - AC_CACHE_CHECK([whether the compiler understands -static], - ac_cv_ld_static, - [ac_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -static" - AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no]) - LDFLAGS="$ac_save_LDFLAGS"]) - if test "$ac_cv_ld_static" = yes ; then - LDFLAGS="$LDFLAGS -static" - else - LDFLAGS="$LDFLAGS -Bstatic" - fi - fi - ;; - esac -fi - - -############################################################################### -# -# Handle the --with-hackdir option -# -############################################################################### - -have_hackdir=yes -with_hackdir_req=unspecified -AC_ARG_WITH(hackdir,[ - -Installation options: - --with-hackdir=DIR Where to install the hundreds of demo executables. - Default: `PREFIX/libexec/xscreensaver/'], - [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes]) - -if test x"$with_hackdir" = xyes; then - HACKDIR='${libexecdir}/xscreensaver' -elif test x"$with_hackdir" = xno; then - HACKDIR='${bindir}' -else - HACKDIR=$with_hackdir -fi - -# canonicalize slashes. -HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` - -# Expand HACKDIR as HACKDIR_FULL -HACKDIR_FULL=`eval eval eval eval eval eval eval eval eval echo $HACKDIR` - -# This option used to be called --enable-subdir; make sure that is no longer -# used, since configure brain-damagedly ignores unknown --enable options. - -obsolete_enable= -AC_ARG_ENABLE(subdir,,[obsolete_enable=yes]) -if test -n "$obsolete_enable"; then - echo "error: the --enable-subdir option has been replaced with" - echo " the new --with-hackdir option; see \`configure --help'" - echo " for more information." - exit 1 -fi - - -############################################################################### -# -# Handle the --with-configdir option -# Help for --with-x-app-defaults option added. -# -############################################################################### - -have_configdir=yes -with_configdir_req=unspecified -AC_ARG_WITH(configdir, -[ --with-configdir=DIR Where to install the data files that describe each - of the display modes to the GUI. - Default: `PREFIX/share/xscreensaver/config/' - --with-x-app-defaults=DIR - Where to install xscreensaver configuration file. -], - [with_configdir="$withval"; with_configdir_req="$withval"], - [with_configdir=yes]) - -if test x"$with_configdir" = xyes; then - HACK_CONF_DIR='${datadir}/xscreensaver/config' -elif test x"$with_configdir" = xno; then - echo "error: must be yes, or a pathname: --with-configdir=$with_configdir" - exit 1 -else - # there must be a better way than this... - if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then - # absolute path - HACK_CONF_DIR=$with_configdir - else - # relative path - HACK_CONF_DIR="\${exec_prefix}$with_configdir" - fi -fi - - - - -############################################################################### -# -# Check for the SGI SCREEN_SAVER server extension. -# -############################################################################### - -#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 ]) -# -#elif test "$with_sgi" != no; then -# echo "error: must be yes or no: --with-sgi-ext=$with_sgi" -# exit 1 -#fi - - -############################################################################### -# -# Check for the XIDLE server extension. -# -############################################################################### - -#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 ]) -#elif test "$with_xidle" != no; then -# echo "error: must be yes or no: --with-xidle-ext=$with_xidle" -# exit 1 -#fi - - -############################################################################### -# -# Check for the SGI-VIDEO-CONTROL server extension. -# -############################################################################### - -#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 ]) -# -# # 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 - - -############################################################################### -# -# Check for the DPMS server extension. -# -############################################################################### - -have_dpms=no -with_dpms_req=unspecified -AC_ARG_WITH(dpms-ext, -[ --with-dpms-ext Include support for the DPMS extension.], - [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes]) - -HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS) - -if test "$with_dpms" = yes; then - - # first check for dpms.h - AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],, - [#include - #include ]) - - # if that succeeded, then check for the DPMS code in the libraries - if test "$have_dpms" = yes; then - - # first look in -lXext (this is where it is with XFree86 4.0) - have_dpms=no - AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11) - - # if that failed, look in -lXdpms (this is where it was in XFree86 3.x) - if test "$have_dpms" = no; then - AC_CHECK_X_LIB(Xdpms, DPMSInfo, - [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true], - -lXext -lX11) - fi - fi - - - # if that succeeded, then we've really got it. - if test "$have_dpms" = yes; then - AC_DEFINE(HAVE_DPMS_EXTENSION) - fi - -elif test "$with_dpms" != no; then - echo "error: must be yes or no: --with-dpms-ext=$with_dpms" - exit 1 -fi - - -############################################################################### -# -# Check for the XINERAMA server extension. -# -############################################################################### - -have_xinerama=no -with_xinerama_req=unspecified -AC_ARG_WITH(xinerama-ext, -[ --with-xinerama-ext Include support for the XINERAMA extension.], - [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes]) - -HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA) - -AC_CHECK_X_LIB(Xss, XScreenSaverQueryInfo, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lXss"], [true], - -lXss -lX11) - - -if test "$with_xinerama" = yes; then - - # first check for Xinerama.h - AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes],, - [#include ]) - - # if that succeeded, then check for the XINERAMA code in the libraries - if test "$have_xinerama" = yes; then - - # first look in -lXext - have_xinerama=no - AC_CHECK_X_LIB(Xext, XineramaQueryScreens, [have_xinerama=yes], [true], - -lXext -lX11) - - # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.) - if test "$have_xinerama" = no; then - AC_CHECK_X_LIB(Xinerama, XineramaQueryScreens, - [have_xinerama=yes; XINERAMA_LIBS="-lXinerama"], - [true], -lXext -lX11) - fi - fi - - # if that succeeded, then we've really got it. - if test "$have_xinerama" = yes; then - AC_DEFINE(HAVE_XINERAMA) - fi - -elif test "$with_xinerama" != no; then - echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama" - exit 1 -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 ]) - - # 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.) -# -############################################################################### - -have_xf86vmode=no -with_xf86vmode_req=unspecified -AC_ARG_WITH(xf86vmode-ext, -[ --with-xf86vmode-ext Include support for XFree86 virtual screens.], - [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"], - [with_xf86vmode=yes]) - -HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode) - -VIDMODE_LIBS="" - -if test "$with_xf86vmode" = yes; then - - # first check for xf86vmode.h - AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes],, - [#include ]) - - # if that succeeded, then check for the -lXxf86vm - if test "$have_xf86vmode" = yes; then - have_xf86vmode=no - AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort, - [have_xf86vmode=yes; - VIDMODE_LIBS="-lXxf86vm"; - SAVER_LIBS="$SAVER_LIBS $VIDMODE_LIBS"], - [true], -lXext -lX11) - fi - - # if that succeeded, then we've really got it. - if test "$have_xf86vmode" = yes; then - AC_DEFINE(HAVE_XF86VMODE) - fi - -elif test "$with_xf86vmode" != no; then - echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode" - exit 1 -fi - - -############################################################################### -# -# Check for the XF86VMODE server extension (for gamma fading.) -# -############################################################################### - -have_xf86gamma=no -have_xf86gamma_ramp=no -with_xf86gamma_req=unspecified -AC_ARG_WITH(xf86gamma-ext, -[ --with-xf86gamma-ext Include support for XFree86 gamma fading.], - [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"], - [with_xf86gamma=yes]) - -HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma) - -if test "$with_xf86gamma" = yes; then - - # first check for xf86vmode.h, if we haven't already - if test "$have_xf86vmode" = yes; then - have_xf86gamma=yes - else - AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes],, - [#include ]) - fi - - # if that succeeded, then check for the -lXxf86vm - if test "$have_xf86gamma" = yes; then - have_xf86gamma=no - AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma, - [have_xf86gamma=yes], - [true], -lXext -lX11) - fi - - # check for the Ramp versions of the functions too. - if test "$have_xf86gamma" = yes; then - have_xf86gamma_ramp=no - AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp, - [have_xf86gamma_ramp=yes], - [true], -lXext -lX11) - fi - - # if those tests succeeded, then we've really got the functions. - if test "$have_xf86gamma" = yes; then - AC_DEFINE(HAVE_XF86VMODE_GAMMA) - fi - - if test "$have_xf86gamma_ramp" = yes; then - AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP) - fi - - # pull in the lib, if we haven't already - if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then - SAVER_LIBS="$SAVER_LIBS -lXxf86vm" - fi - -elif test "$with_xf86gamma" != no; then - echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode" - exit 1 -fi - - -############################################################################### -# -# Check for the RANDR (Resize and Rotate) server extension. -# -# We need this to detect when the resolution of the desktop -# has changed out from under us (this is a newer, different -# mechanism than the XF86VMODE virtual viewports.) -# -############################################################################### - -have_randr=no -with_randr_req=unspecified -AC_ARG_WITH(randr-ext, -[ --with-randr-ext Include support for the X Resize+Rotate extension.], - [with_randr="$withval"; with_randr_req="$withval"],[with_randr=yes]) - -HANDLE_X_PATH_ARG(with_randr, --with-randr-ext, RANDR) - -if test "$with_randr" = yes; then - - # first check for Xrandr.h - AC_CHECK_X_HEADER(X11/extensions/Xrandr.h, [have_randr=yes],, - [#include ]) - - # if that succeeded, then check for the XRR code in the libraries - if test "$have_randr" = yes; then - - # RANDR probably needs -lXrender - xrender_libs= - AC_CHECK_X_LIB(Xrender, XRenderSetSubpixelOrder, - [xrender_libs="-lXrender"], [true], -lXext -lX11) - - # first look for RANDR in -lXext - have_randr=no - AC_CHECK_X_LIB(Xext, XRRGetScreenInfo, - [have_randr=yes; SAVER_LIBS="$SAVER_LIBS $xrender_libs"], - [true], $xrender_libs -lXext -lX11) - - # if that failed, look in -lXrandr - if test "$have_randr" = no; then - AC_CHECK_X_LIB(Xrandr, XRRGetScreenInfo, - [have_randr=yes; SAVER_LIBS="$SAVER_LIBS -lXrandr $xrender_libs"], - [true], $xrender_libs -lXext -lX11) - fi - fi - - # 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 - #include - #include ], - [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 -fi - - -############################################################################### -# -# Check for XF86MiscSetGrabKeysState (but only bother if we are already -# using other XF86 stuff.) -# -############################################################################### - -have_xf86miscsetgrabkeysstate=no -if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then - AC_CHECK_X_LIB(Xxf86misc, XF86MiscSetGrabKeysState, - [have_xf86miscsetgrabkeysstate=yes], - [true], -lXext -lX11) - if test "$have_xf86miscsetgrabkeysstate" = yes ; then - SAVER_LIBS="$SAVER_LIBS -lXxf86misc" - AC_DEFINE(HAVE_XF86MISCSETGRABKEYSSTATE) - fi -fi - - -############################################################################### -# -# Check for HP XHPDisableReset and XHPEnableReset. -# -############################################################################### - -AC_MSG_CHECKING([for XHPDisableReset in X11/XHPlib.h]) -AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h, - [AC_DEFINE(HAVE_XHPDISABLERESET) - SAVER_LIBS="-lXhp11 $SAVER_LIBS" - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) - - -############################################################################### -# -# Check for /proc/interrupts. -# -############################################################################### - -have_proc_interrupts=no -with_proc_interrupts_req=unspecified -AC_ARG_WITH(proc-interrupts, -[ --with-proc-interrupts Include support for consulting the /proc/interrupts - file to notice keyboard activity.], - [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"], - [with_proc_interrupts=yes]) - -if test "$with_proc_interrupts" = yes; then - - # Note that we may be building in an environment (e.g. Debian buildd chroot) - # without a proper /proc filesystem. If /proc/interrupts exists, then we'll - # check that it has the bits we need, but otherwise we'll just go on faith. - # - have_proc_interrupts=yes - - if test -f /proc/interrupts; then - AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data], - ac_cv_have_proc_interrupts, - [ac_cv_have_proc_interrupts=no - if grep 'keyboard\|i8042' /proc/interrupts >/dev/null 2>&1 ; then - ac_cv_have_proc_interrupts=yes - fi - ]) - have_proc_interrupts=$ac_cv_have_proc_interrupts - fi - - if test "$have_proc_interrupts" = yes; then - AC_DEFINE(HAVE_PROC_INTERRUPTS) - fi - -elif test "$with_proc_interrupts" != no; then - echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts" - exit 1 -fi - - -############################################################################### -# -# Check for /proc/*/oom_score_adj. -# -############################################################################### - -have_proc_oom=no -with_proc_oom_req=unspecified -AC_ARG_WITH(proc-oom, -[ --with-proc-oom Include support for disabling the OOM-killer.], - [with_proc_oom="$withval"; with_proc_oom_req="$withval"], - [with_proc_oom=yes]) - -if test "$with_proc_oom_req" = yes; then - - # Note that we may be building in an environment (e.g. Debian buildd chroot) - # without a proper /proc filesystem. - # - have_proc_oom=yes - AC_DEFINE(HAVE_PROC_OOM) - -elif test "$with_proc_oom_req" = unspecified; then - - have_proc_oom=no - AC_CACHE_CHECK([whether /proc/$$/oom_score_adj exists], - ac_cv_have_proc_oom, - [ac_cv_have_proc_oom=no - if test -f /proc/$$/oom_score_adj; then - ac_cv_have_proc_oom=yes - fi - ]) - have_proc_oom=$ac_cv_have_proc_oom - - if test "$have_proc_oom" = yes; then - AC_DEFINE(HAVE_PROC_OOM) - fi - -elif test "$with_proc_oom" != no; then - echo "error: must be yes or no: --with-proc-oom=$with_proc_oom" - exit 1 -fi - - -############################################################################### -# -# The --enable-locking option -# -############################################################################### - -AC_ARG_ENABLE(locking,[Screen locking options: - --enable-locking Compile in support for locking the display. - --disable-locking Do not allow locking at all.], - [enable_locking="$enableval"], - [if test "$ac_macosx" = yes; then - # We can't lock on MacOS X, so default to not compiling in support for it. - # But allow --enable-locking to override that, so I can debug Linux locking - # under MacOS X11. - enable_locking=no - else - enable_locking=yes - fi]) -if test "$enable_locking" = yes; then - true -elif test "$enable_locking" = no; then - AC_DEFINE(NO_LOCKING) -else - echo "error: must be yes or no: --enable-locking=$enable_locking" - exit 1 -fi - - -############################################################################### -# -# Whether to allow root password to unblank. -# -############################################################################### -AC_ARG_ENABLE(root-passwd, [ - --enable-root-passwd Allow root passwd to unlock screen. - --disable-root-passwd Do not allow that.], - [enable_root_passwd="$enableval"],[enable_root_passwd=yes]) -if test "$enable_root_passwd" = yes; then - AC_DEFINE(ALLOW_ROOT_PASSWD) - true -elif test "$enable_root_passwd" != no; then - echo "error: must be yes or no: --enable-root-passwd=$enable_root_passwd" - exit 1 -fi - -############################################################################### -# -# Check for PAM. -# -############################################################################### - -case "$host" in - *-solaris*) - # Solaris systems tend to come with PAM misconfigured. - # Don't build it by default, even if the headers exist. - with_pam_default=no - ;; - *) - # Default to building PAM support on all other systems, if it exists. - with_pam_default=yes - ;; -esac - -have_pam=no -with_pam_req=unspecified - -AC_ARG_WITH(pam, -[ --with-pam Include support for PAM (Pluggable Auth Modules.)], - [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 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 - AC_CACHE_CHECK([for PAM], ac_cv_pam, - [AC_TRY_X_COMPILE([#include ],, - [ac_cv_pam=yes], - [ac_cv_pam=no])]) - if test "$ac_cv_pam" = yes ; then - have_pam=yes - AC_DEFINE(HAVE_PAM) - AC_DEFINE_UNQUOTED(PAM_SERVICE_NAME,"$pam_service_name") - - PASSWD_LIBS="${PASSWD_LIBS} -lpam" - - # libpam typically requires dlopen and dlsym. On FreeBSD, - # those are in libc. On Linux and Solaris, they're in libdl. - AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"]) - - # On Linux, sigtimedwait() is in libc; on Solaris, it's in librt. - have_timedwait=no - AC_CHECK_LIB(c, sigtimedwait, - [have_timedwait=yes - AC_DEFINE(HAVE_SIGTIMEDWAIT)]) - if test "$have_timedwait" = no ; then - AC_CHECK_LIB(rt, sigtimedwait, [have_timedwait=yes - AC_DEFINE(HAVE_SIGTIMEDWAIT) - PASSWD_LIBS="${PASSWD_LIBS} -lrt"]) - fi - - AC_MSG_CHECKING(how to call pam_strerror) - AC_CACHE_VAL(ac_cv_pam_strerror_args, - [AC_TRY_X_COMPILE([#include - #include - #include ], - [pam_handle_t *pamh = 0; - char *s = pam_strerror(pamh, PAM_SUCCESS);], - [ac_pam_strerror_args=2], - [AC_TRY_X_COMPILE([#include - #include - #include ], - [char *s = - pam_strerror(PAM_SUCCESS);], - [ac_pam_strerror_args=1], - [ac_pam_strerror_args=0])]) - ac_cv_pam_strerror_args=$ac_pam_strerror_args]) - ac_pam_strerror_args=$ac_cv_pam_strerror_args - if test "$ac_pam_strerror_args" = 1 ; then - AC_MSG_RESULT(one argument) - elif test "$ac_pam_strerror_args" = 2 ; then - AC_DEFINE(PAM_STRERROR_TWO_ARGS) - AC_MSG_RESULT(two arguments) - else - AC_MSG_RESULT(unknown) - fi - -# Check pam_fail_delay - AC_MSG_CHECKING(pam_fail_delay in -lpam) - AC_CACHE_VAL(ac_cv_pam_fail_delay, - [ac_save_LDFLAGS="$LDFLAGS" - LDFLAGS="-lpam" - AC_TRY_LINK([#include ], - [pam_handle_t *pamh = 0; - unsigned int usec = 1; - int status = pam_fail_delay (pamh, usec);], - [ac_pam_fail_delay=yes], - [ac_pam_fail_delay=no]) - ac_cv_pam_fail_delay=$ac_pam_fail_delay, - LDFLAGS=$ac_save_LDFLAGS]) - - if test "$ac_pam_fail_delay" = yes ; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_PAM_FAIL_DELAY) - else - AC_MSG_RESULT(no) - fi - - fi -fi - - -############################################################################### -# -# Check for Kerberos. -# -############################################################################### - -have_kerberos=no -have_kerberos5=no -with_kerberos_req=unspecified - -AC_ARG_WITH(kerberos, -[ --with-kerberos Include support for Kerberos authentication.], - [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes]) - -HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos) - -if test "$enable_locking" = yes -a "$with_kerberos" = yes; then - AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos, - [AC_TRY_X_COMPILE([#include ],, - [ac_cv_kerberos=yes], - [ac_cv_kerberos=no])]) - AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5, - [AC_TRY_X_COMPILE([#include ],, - [ac_cv_kerberos5=yes], - [ac_cv_kerberos5=no])]) - - if test "$ac_cv_kerberos" = yes ; then - have_kerberos=yes - AC_DEFINE(HAVE_KERBEROS) - fi - - if test "$ac_cv_kerberos5" = yes ; then - - # Andrew Snare wrote: - # - # You were assuming that if kerberosV (krb5) was found, then kerberosIV - # (krb4) was also available. This turns out not to be the case with - # mit-krb-1.2.7; apparently backwards-compatibility with KerberosIV - # is optional. - # - # So, disable kerberosV support if libkrb4 can't be found. - # This is not the best solution, but it makes the compile not fail. - # - AC_CHECK_X_LIB(krb4, krb_get_tf_realm, - [have_kerberos=yes], - [have_kerberos=no]) - if test "$have_kerberos" = yes ; then - have_kerberos5=yes - AC_DEFINE(HAVE_KERBEROS) - AC_DEFINE(HAVE_KERBEROS5) - else - have_kerberos5=no - AC_MSG_WARN([Cannot find compat lib (libkrb4) needed to use Kerberos 5]) - fi - - fi - - if test "$have_kerberos5" = yes ; then - # from Matt Knopp - # (who got it from amu@mit.edu) - - PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err" - - # jwz: MacOS X uses -lkrb5, but not -lcrypt - AC_CHECK_X_LIB(crypt, crypt, [PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) - - elif test "$have_kerberos" = yes ; then - # from Tim Showalter for FreeBSD 4.2 - PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err" - fi - - if test "$have_kerberos" = yes ; then - AC_CHECK_FUNC(res_search,, - AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv", - AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos]) - )) - fi -fi - - -############################################################################### -# -# Check for the nine billion variants of shadow passwords... -# -############################################################################### - -need_setuid=no - -have_shadow=no -with_shadow_req=unspecified - -AC_ARG_WITH(shadow, -[ --with-shadow Include support for shadow password authentication.], - [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes]) - -HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password) - -if test "$enable_locking" = no ; then - with_shadow_req=no - with_shadow=no -fi - - -############################################################################### -# -# Check for Sun "adjunct" passwords. -# -############################################################################### - -if test "$with_shadow" = yes ; then - AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct, - [AC_TRY_X_COMPILE([#include - #include - #include - #include - #include - #include ], - [struct passwd_adjunct *p = getpwanam("nobody"); - const char *pw = p->pwa_passwd;], - [ac_cv_sun_adjunct=yes], - [ac_cv_sun_adjunct=no])]) - if test "$ac_cv_sun_adjunct" = yes; then - have_shadow_adjunct=yes - have_shadow=yes - need_setuid=yes - fi -fi - - -############################################################################### -# -# Check for DEC and SCO so-called "enhanced" security. -# -############################################################################### - -if test "$with_shadow" = yes ; then - AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd, - [AC_TRY_X_COMPILE([#include - #include - #include - #include - #include - #include ], - [struct pr_passwd *p; - const char *pw; - set_auth_parameters(0, 0); - check_auth_parameters(); - p = getprpwnam("nobody"); - pw = p->ufld.fd_encrypt;], - [ac_cv_enhanced_passwd=yes], - [ac_cv_enhanced_passwd=no])]) - if test $ac_cv_enhanced_passwd = yes; then - have_shadow_enhanced=yes - have_shadow=yes - need_setuid=yes - - # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx) - # (I'm told it needs -lcurses too, but I don't understand why.) - # But on DEC, it's in -lsecurity. - # - AC_CHECK_LIB(prot, getprpwnam, - [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"], - [AC_CHECK_LIB(security, getprpwnam, - [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])], - [-lx]) - fi -fi - -############################################################################### -# -# Check for HP's entry in the "Not Invented Here" Sweepstakes. -# -############################################################################### - -if test "$with_shadow" = yes ; then - AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd, - [AC_TRY_X_COMPILE([#include - #include - #include - #include - #include - #include ], - [struct s_passwd *p = getspwnam("nobody"); - const char *pw = p->pw_passwd;], - [ac_cv_hpux_passwd=yes], - [ac_cv_hpux_passwd=no])]) - if test "$ac_cv_hpux_passwd" = yes; then - have_shadow_hpux=yes - have_shadow=yes - need_setuid=yes - - # on HPUX, bigcrypt is in -lsec - AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"]) - fi -fi - - -############################################################################### -# -# Check for FreeBSD-style shadow passwords. -# -# On FreeBSD, getpwnam() and friends work just like on non-shadow- -# password systems -- except you only get stuff in the pw_passwd field -# if the running program is setuid. So, guess that we've got this -# lossage to contend with if /etc/master.passwd exists, and default to -# a setuid installation. -# -############################################################################### - -if test "$with_shadow" = yes ; then - AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd, - [if test -f /etc/master.passwd ; then - ac_cv_master_passwd=yes - else - ac_cv_master_passwd=no - fi]) - if test "$ac_cv_master_passwd" = yes; then - need_setuid=yes - fi -fi - - -############################################################################### -# -# Check for traditional (ha!) shadow passwords. -# -############################################################################### - -if test "$with_shadow" = yes ; then - AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow, - [AC_TRY_X_COMPILE([#include - #include - #include - #include - #include ], - [struct spwd *p = getspnam("nobody"); - const char *pw = p->sp_pwdp;], - [ac_cv_shadow=yes], - [ac_cv_shadow=no])]) - if test "$ac_cv_shadow" = yes; then - have_shadow=yes - need_setuid=yes - - # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc. - have_getspnam=no - AC_CHECK_LIB(c, getspnam, [have_getspnam=yes]) - if test "$have_getspnam" = no ; then - AC_CHECK_LIB(gen, getspnam, - [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"]) - fi - fi -fi - - -############################################################################### -# -# Check for other libraries needed for non-shadow passwords. -# -############################################################################### - -if test "$enable_locking" = yes ; then - - # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc. - have_crypt=no - AC_CHECK_LIB(c, crypt, [have_crypt=yes]) - if test "$have_crypt" = no ; then - AC_CHECK_LIB(crypt, crypt, - [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) - fi -fi - - -# Most of the above shadow mechanisms will have set need_setuid to yes, -# if they were found. But, on some systems, we need setuid even when -# using plain old vanilla passwords. -# -if test "$enable_locking" = yes ; then - case "$host" in - *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* ) - need_setuid=yes - ;; - esac -fi - - -if test "$have_shadow_adjunct" = yes ; then - AC_DEFINE(HAVE_ADJUNCT_PASSWD) -elif test "$have_shadow_enhanced" = yes ; then - AC_DEFINE(HAVE_ENHANCED_PASSWD) -elif test "$have_shadow_hpux" = yes ; then - AC_DEFINE(HAVE_HPUX_PASSWD) -elif test "$have_shadow" = yes ; then - AC_DEFINE(HAVE_SHADOW_PASSWD) -fi - - -############################################################################### -# -# Check for external password helper -# On SuSE, instead of having xscreensaver be a setuid program, they -# fork an external program that takes the password on stdin, and -# returns true if that password is a valid one. Then only that -# smaller program needs to be setuid. -# -# (Note that this external program is not a GUI: the GUI is still -# all in xscreensaver itself; the external program just does auth.) -# -############################################################################### - -have_passwd_helper=no -with_passwd_helper_req=unspecified - -AC_ARG_WITH(passwd-helper, -[ --with-passwd-helper Include support for an external password - verification helper program.], - [with_passwd_helper="$withval"; with_passwd_helper_req="$withval"],[with_passwd_helper=no]) -# no HANDLE_X_PATH_ARG for this one - -if test "$enable_locking" = no ; then - with_passwd_helper_req=no - with_passwd_helper=no -fi - -case "$with_passwd_helper" in - ""|no) : ;; - /*) - AC_DEFINE_UNQUOTED(PASSWD_HELPER_PROGRAM, "$with_passwd_helper") - have_passwd_helper=yes;; - *) - echo "error: --with-passwd-helper needs full pathname of helper (not '$with_passwd_helper')." >&2 - exit 1 -esac - - -############################################################################### -# -# Check for a login manager for a "New Login" button on the lock dialog. -# Usually this will be "/usr/bin/gdmflexiserver". -# -############################################################################### - -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 - runs a login manager like gdmflexiserver or kdmctl.], - [with_login_manager="$withval"; with_login_manager_req="$withval"], - [with_login_manager=yes]) -# no HANDLE_X_PATH_ARG for this one - -if test "$enable_locking" = no ; then - with_login_manager_req=no - with_login_manager=no -fi - -case "$with_login_manager_req" in - no) - with_login_manager="" - ;; - - yes|unspecified) - # Try various defaults, use the first one that exists. - - 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" - 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 - - ;; - - /*) - # 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_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) -# -############################################################################### - -have_gtk=no -with_gtk_req=unspecified -AC_ARG_WITH(gtk,[ -User interface options: - - --with-gtk Use the Gtk toolkit for the user interface.], - [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes]) - -# if --with-gtk=/directory/ was specified, remember that directory so that -# we can also look for the `gtk-config' program in that directory. -case "$with_gtk" in - /*) - gtk_dir="$with_gtk" - ;; - *) - gtk_dir="" - ;; -esac - -HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk) - -if test "$with_gtk" != yes -a "$with_gtk" != no ; then - echo "error: must be yes or no: --with-gtk=$with_gtk" - exit 1 -fi - - -parse_gtk_version_string() { - # M4 sucks!! - changequote(X,Y) - maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'` - min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'` - changequote([,]) - ac_gtk_version=`echo "$maj * 1000 + $min" | bc` - if test -z "$ac_gtk_version"; then - ac_gtk_version=unknown - ac_gtk_version_string=unknown - fi -} - -# Find pkg-config... (need this for both gtk and gdk_pixbuf.) -# if the user specified --with-gtk=/foo/ then look there. -# -gtk_path="$PATH" -if test ! -z "$gtk_dir"; then - # canonicalize slashes. - foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'` - gtk_path="$foo:$gtk_path" -fi - -AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path) - -if test -z "$pkg_config" ; then - AC_MSG_WARN([pkg-config not found!]) - pkg_config="false" -fi - - -# Utility function for running pkg-config-based tests... -# -pkgs='' -pkg_check_version() { - if test "$ok" = yes ; then - req="$1" - min="$2" - AC_MSG_CHECKING(for $req) - if $pkg_config --exists "$req" ; then - vers=`$pkg_config --modversion "$req"` - if $pkg_config --exists "$req >= $min" ; then - AC_MSG_RESULT($vers) - pkgs="$pkgs $req" - return 1 - else - AC_MSG_RESULT($vers (wanted >= $min)) - ok=no - return 0 - fi - else - AC_MSG_RESULT(no) - ok=no - return 0 - 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 - - ok="yes" - pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers" - pkg_check_version gmodule-2.0 2.0.0 - pkg_check_version libxml-2.0 2.4.6 - pkg_check_version libglade-2.0 1.99.0 - pkg_check_version gdk-pixbuf-2.0 2.0.0 - pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0 - have_gtk="$ok" - - if test "$have_gtk" = no; then - if test -n "$ac_gtk_version_string" ; then - gtk_halfassed="$ac_gtk_version_string" - gtk_halfassed_lib="$req" - fi - fi - - if test "$have_gtk" = yes; then - parse_gtk_version_string - jurassic_gtk=no - fi - - if test "$have_gtk" = yes; then - AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags, - [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`]) - AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs, - [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`]) - fi - - ac_gtk_config_cflags=$ac_cv_gtk_config_cflags - ac_gtk_config_libs=$ac_cv_gtk_config_libs - - GTK_EXTRA_OBJS="" - GTK_DATADIR="" - if test "$have_gtk" = yes; then - GTK_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` - GTK_DATADIR="$GTK_DATADIR/share" - fi - - if test "$have_gtk" = yes; then - INCLUDES="$INCLUDES $ac_gtk_config_cflags" - GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs" - AC_DEFINE(HAVE_GTK) - AC_DEFINE(HAVE_GTK2) - 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="" - fi - fi -fi - - -# Check for the various Gnome help and URL loading programs. -# -WITH_BROWSER=gnome-open -if test "$have_gtk" = yes; then - AC_CHECK_PROGS(gnome_open_program, gnome-open) - AC_CHECK_PROGS(gnome_url_show_program, gnome-url-show) -fi - - -############################################################################### -# -# Check for -lXm. -# -############################################################################### - -have_motif=no -with_motif_req=unspecified -AC_ARG_WITH(motif,[ --with-motif Use the Motif toolkit for the user interface - (no longer supported.)], - [with_motif="$withval"; with_motif_req="$withval"],[with_motif=no]) - -HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif) - -if test "$with_motif" != yes -a "$with_motif" != no ; then - echo "error: must be yes or no: --with-motif=$with_motif" - exit 1 -fi - -if test "$with_motif" = yes; then - have_motif=no - AC_CHECK_X_HEADER(Xm/Xm.h, - [have_motif=yes - AC_DEFINE(HAVE_MOTIF) - MOTIF_LIBS="$MOTIF_LIBS -lXm"],, - [#include - #include - #include ]) -fi - - -if test "$have_motif" = yes; then - AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],, - [#include - #include - #include ]) -fi - - -############################################################################### -# -# Checking whether Motif is really Lesstif. -# -############################################################################### - -have_lesstif=no -if test "$have_motif" = yes ; then - AC_CACHE_CHECK([whether Motif is really LessTif], - ac_cv_have_lesstif, - [AC_TRY_X_COMPILE([#include ], - [long vers = LesstifVersion;], - [ac_cv_have_lesstif=yes], - [ac_cv_have_lesstif=no])]) - have_lesstif=$ac_cv_have_lesstif -fi - - -lesstif_version=unknown -lesstif_version_string=unknown - -if test "$have_lesstif" = yes ; then - ltv=unknown - echo unknown > conftest-lt - AC_CACHE_CHECK([LessTif version number], - ac_cv_lesstif_version_string, - [AC_TRY_X_RUN([#include - #include - int main() { - FILE *f = fopen("conftest-lt", "w"); - if (!f) exit(1); - fprintf(f, "%d %d.%d\n", LesstifVersion, - LESSTIF_VERSION, LESSTIF_REVISION); - fclose(f); - exit(0); - }], - [ltv=`cat conftest-lt` - ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'` - ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`], - [ac_cv_lesstif_version=unknown - ac_cv_lesstif_version_string=unknown], - [ac_cv_lesstif_version=unknown - ac_cv_lesstif_version_string=unknown])]) - rm -f conftest-lt - lesstif_version=$ac_cv_lesstif_version - lesstif_version_string=$ac_cv_lesstif_version_string - -fi - - -if test "$have_motif" = yes ; then - mtv=unknown - echo unknown > conftest-mt - AC_CACHE_CHECK([Motif version number], - ac_cv_motif_version_string, - [AC_TRY_X_RUN([#include - #include - int main() { - FILE *f = fopen("conftest-mt", "w"); - if (!f) exit(1); - fprintf(f, "%d %d.%d\n", XmVersion, - XmVERSION, XmREVISION); - fclose(f); - exit(0); - }], - [mtv=`cat conftest-mt` - ac_cv_motif_version=`echo $mtv | sed 's/ .*//'` - ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`], - [ac_cv_motif_version=unknown - ac_cv_motif_version_string=unknown], - [ac_cv_motif_version=unknown - ac_cv_motif_version_string=unknown])]) - rm -f conftest-mt - motif_version=$ac_cv_motif_version - motif_version_string=$ac_cv_motif_version_string - -fi - - -############################################################################### -# -# Checking whether Motif requires -lXp. -# -# Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing -# Extension". Why this extension isn't in -lXext with all the others, -# I have no idea. -# -############################################################################### - -have_xp_ext=no -if test "$have_motif" = yes ; then - have_xp_ext=no - AC_CHECK_X_LIB(Xp, XpQueryExtension, - [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"], - [true], -lX11 -lXext -lm) -fi - - -############################################################################### -# -# Checking whether Motif requires -lXintl (for _Xsetlocale.) -# -############################################################################### - -have_xintl=no -if test "$have_motif" = yes ; then - AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no], - -lX11 -lXext -lm) - if test "$have_xintl" = yes; then - MOTIF_LIBS="$MOTIF_LIBS -lXintl" - fi -fi - - -############################################################################### -# -# Check for -lGL or -lMesaGL. -# -############################################################################### - -have_gl=no -ac_have_mesa_gl=no -with_gl_req=unspecified -gl_halfassed=no -AC_ARG_WITH(gl,[ -Graphics options: - - --with-gl Build those demos which depend on OpenGL.], - [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes]) - -HANDLE_X_PATH_ARG(with_gl, --with-gl, GL) - -ac_mesagl_version=unknown -ac_mesagl_version_string=unknown - -if test "$with_gl" = yes; then - AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no) - if test "$have_gl" = yes ; then - AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no, - [#include ]) - fi - - # If we have the headers, try and figure out which vendor it's from. - # - if test "$have_gl" = yes ; then - - # We need to know whether it's MesaGL so that we know which libraries - # to link against. - # - AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl, - [ac_cv_have_mesa_gl=no - if test "$ac_macosx" = no; then - # WTF! MacOS 10.5.0 ships the Mesa GL headers! - # It's not really Mesa, is it? - AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes]) - fi]) - ac_have_mesa_gl=$ac_cv_have_mesa_gl - - gl_lib_1="" - GL_LIBS="" - - if test "$ac_macosx" = yes; then - - # Without these, every link against libGL gets a bunch of useless - # warnings. - # - osx_crud="-bind_at_load -multiply_defined suppress" - AC_MSG_RESULT(adding "$osx_crud" to GL_LIBS) - GL_LIBS="$GL_LIBS $osx_crud" - unset osx_crud - - # New lossage in 10.5.0: without this, we get: - # ld: cycle in dylib re-exports with /usr/X11/lib/libGL.dylib - # - osx_crud="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib" - osx_crud="-Wl,-dylib_file,${osx_crud}:${osx_crud}" - - 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 - - - # Some versions of MesaGL are compiled to require -lpthread. - # 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 - - - # If we have Mesa headers, check to see if we can link against -lMesaGL. - # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL. - # Else, warn that GL is busted. (We have the headers, but no libs.) - # - - if test "$ac_have_mesa_gl" = yes ; then - AC_CHECK_X_LIB(MesaGL, glXCreateContext, - [gl_lib_1="MesaGL" - GL_LIBS="-lMesaGL -lMesaGLU $VIDMODE_LIBS $GL_LIBS"], - [], -lMesaGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm) - fi - - if test "$gl_lib_1" = "" ; then - AC_CHECK_X_LIB(GL, glXCreateContext, - [gl_lib_1="GL" - GL_LIBS="-lGL -lGLU $VIDMODE_LIBS $GL_LIBS"], - [], -lGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm) - fi - - if test "$gl_lib_1" = "" ; then - # we have headers, but no libs -- bail. - have_gl=no - ac_have_mesa_gl=no - gl_halfassed=yes - else - # linking works -- we can build the GL hacks. - AC_DEFINE(HAVE_GL) - if test "$ac_have_mesa_gl" = yes ; then - AC_DEFINE(HAVE_MESA_GL) - fi - fi - fi - - - # Now that we know we have GL headers and libs, do some more GL testing. - # - - if test "$have_gl" = yes ; then - # If it's MesaGL, we'd like to issue a warning if the version number - # is less than or equal to 2.6, because that version had a security bug. - # - if test "$ac_have_mesa_gl" = yes; then - - AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string, - [cat > conftest.$ac_ext < -#ifndef MESA_MAJOR_VERSION -# include -# ifdef XMESA_MAJOR_VERSION - /* Around Mesa 3.2, they took out the Mesa version number, so instead, - we have to check the XMesa version number (the number of the X protocol - support, which seems to be the same as the Mesa version number.) - */ -# define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION -# define MESA_MINOR_VERSION XMESA_MINOR_VERSION -# else - /* Oh great. Some time after 3.4, they took out the xmesa.h header file, - so we have no way of telling what version of Mesa this is at all. - So, we'll guess that the osmesa version (the "offscreen protocol") - is less than or equal to the real mesa version number. Except that - if OSmesa is 3.3, assume at least Mesa 3.4, since OSmesa was 3.3 in - Mesa 3.4. And Mesa 3.3 had xmesa.h. What a complete load of shit! - */ -# include -# define MESA_MAJOR_VERSION OSMESA_MAJOR_VERSION -# define MESA_MINOR_VERSION OSMESA_MINOR_VERSION or newer, probably? -# if OSMESA_MAJOR_VERSION == 3 && OSMESA_MINOR_VERSION == 3 -# undef MESA_MINOR_VERSION -# define MESA_MINOR_VERSION 4 or newer, probably? -# endif -# endif -#endif -configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION -EOF - - ac_save_CPPFLAGS="$CPPFLAGS" - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - - mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | grep configure:` - - # M4 sucks!! - changequote(X,Y) - mglv=`echo "$mglv" | sed -n \ - 's/^configure: *\([0-9][0-9]*\) *\([0-9].*\)$/\1.\2/p'` - changequote([,]) - - rm -f conftest.$ac_ext - - CPPFLAGS="$ac_save_CPPFLAGS" - - if test "$mglv" = ""; then - ac_mesagl_version=unknown - ac_mesagl_version_string=unknown - else - ac_mesagl_version_string="$mglv" - # M4 sucks!! - changequote(X,Y) - maj=`echo "$mglv" | sed -n 's/^\([0-9][0-9]*\)\..*$/\1/p'` - min=`echo "$mglv" | sed -n 's/^.*\.\([0-9][0-9]*\).*$/\1/p'` - changequote([,]) - ac_mesagl_version=`echo "$maj * 1000 + $min" | bc` - if test -z "$ac_mesagl_version"; then - ac_mesagl_version=unknown - ac_mesagl_version_string=unknown - fi - fi - ac_cv_mesagl_version=$ac_mesagl_version - ac_cv_mesagl_version_string=$ac_mesagl_version_string - ]) - ac_mesagl_version=$ac_cv_mesagl_version - ac_mesagl_version_string=$ac_cv_mesagl_version_string - fi - - - # Check for OpenGL 1.1 features. - # - AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)], - [true], $GL_LIBS -lX11 -lXext -lm) - fi - -elif test "$with_gl" != no; then - echo "error: must be yes or no: --with-gl=$with_gl" - exit 1 -fi - - -############################################################################### -# -# Check for -lgle. -# -############################################################################### - -have_gle=no -with_gle_req=unspecified -gle_halfassed=no -AC_ARG_WITH(gle, -[ --with-gle Build those demos which depend on GLE - (the OpenGL "extrusion" library.)], - [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes]) - -HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE) - -GLE_LIBS="" - -if test "$have_gl" = no ; then - true -elif test "$with_gle" = yes; then - - AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no, - [#include ]) - if test "$have_gle3" = yes ; then - have_gle=yes; - else - AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no, - [#include ]) - if test "$have_gle" = yes ; then - AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no, - [#include ]) - fi - fi - - if test "$have_gle" = yes ; then - have_gle=no - gle_halfassed=yes - AC_CHECK_X_LIB(gle, gleCreateGC, - [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"], - [], $GL_LIBS -lX11 -lXext -lm) - fi - if test "$have_gle" = yes ; then - have_gle=no - gle_halfassed=yes - - # sometimes the libmatrix stuff is included in libgle. look there first. -# -# I don't get it. For some reason, this test passes on SGI, as if -# uview_direction_d() was in libgle -- but it's not, it's in libmatrix. -# Yet the link is succeeding. Why??? -# -# AC_CHECK_X_LIB(gle, uview_direction_d, -# [have_gle=yes; gle_halfassed=no], -# [], $GL_LIBS -lX11 -lXext -lm) - - # As of GLE 3 this is in libgle, and has changed name to uview_direction! - # *sigh* - if test "$have_gle3" = yes ; then - AC_CHECK_X_LIB(gle, uview_direction, - [have_gle=yes; gle_halfassed=no], - [], $GL_LIBS -lX11 -lXext -lm) - fi - # if it wasn't in libgle, then look in libmatrix. - if test "$have_gle" = no ; then - AC_CHECK_X_LIB(matrix, uview_direction_d, - [have_gle=yes; gle_halfassed=no; - GLE_LIBS="$GLE_LIBS -lmatrix"], - [], $GL_LIBS -lX11 -lXext -lm) - fi - fi - - if test "$have_gle" = yes ; then - AC_DEFINE(HAVE_GLE) - if test "$have_gle3" = yes ; then - AC_DEFINE(HAVE_GLE3) - fi - fi - -elif test "$with_gle" != no; then - echo "error: must be yes or no: --with-gle=$with_gle" - exit 1 - -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. -# These tests are for gdk_pixbuf usage of the hacks, -# not xscreensaver-demo (thus we have to test again to get -# the libraries right: don't want to pull in all of GTK -# for the hacks.) -# -############################################################################### - -have_gdk_pixbuf=no -with_gdk_pixbuf_req=unspecified -AC_ARG_WITH(pixbuf, -[ --with-pixbuf Include support for the GDK-Pixbuf library in some - demos, which will make it possible for them to read - GIF, JPEG, and PNG files as well.], - [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"], - [with_gdk_pixbuf=yes]) - -# if --with-pixbuf=/directory/ was specified, remember that directory so that -# we can also look for the `gdk-pixbuf-config' program in that directory. -case "$with_gdk_pixbuf" in - /*) - gdk_pixbuf_dir="$with_gdk_pixbuf" - ;; - *) - gdk_pixbuf_dir="" - ;; -esac - -HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF) - -if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then - echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf" - exit 1 -fi - -if test "$with_gdk_pixbuf" = yes; then - have_gdk_pixbuf=no - - pkgs='' - ok="yes" - - 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 - AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags, - [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`]) - AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs, - [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`]) - fi - - ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags - ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs - - - if test "$have_gdk_pixbuf" = yes; then - # - # we appear to have pixbuf; check for headers/libs to be sure. - # - ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags" - - have_gdk_pixbuf=no - - # check for header A... - AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes]) - - # if that worked, check for header B... - if test "$have_gdk_pixbuf" = yes; then - have_gdk_pixbuf=no - gdk_pixbuf_halfassed=yes - AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h, - [have_gdk_pixbuf=yes - gdk_pixbuf_halfassed=no]) - - # yay, it has a new name in Gtk 2.x... - if test "$have_gdk_pixbuf" = no; then - have_gdk_pixbuf=no - gdk_pixbuf_halfassed=yes - AC_CHECK_X_HEADER(gdk-pixbuf-xlib/gdk-pixbuf-xlib.h, - [have_gdk_pixbuf=yes - gdk_pixbuf_halfassed=no]) - fi - fi - CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS" - fi - - if test "$have_gdk_pixbuf" = yes; then - # we have the headers, now check for the libraries - have_gdk_pixbuf=no - gdk_pixbuf_halfassed=yes - - AC_MSG_RESULT(checking for gdk_pixbuf usability...) - - # library A... - AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],, - $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm) - # library B... - if test "$have_gdk_pixbuf" = yes; then - have_gdk_pixbuf=no - AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init, - [have_gdk_pixbuf=yes - gdk_pixbuf_halfassed=no],, - $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm) - fi - fi - - if test "$have_gdk_pixbuf" = yes; then - INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags" - PNG_LIBS="$ac_gdk_pixbuf_config_libs" - AC_DEFINE(HAVE_GDK_PIXBUF) - else - AC_MSG_RESULT(checking for gdk_pixbuf usability... no) - fi - - 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 - - -############################################################################### -# -# Check for -ljpeg -# -############################################################################### - -have_jpeg=no -with_jpeg_req=unspecified -jpeg_halfassed=no -AC_ARG_WITH(jpeg, -[ --with-jpeg Include support for the JPEG library.], - [with_jpeg="$withval"; with_jpeg_req="$withval"], - [with_jpeg=yes]) - -HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG) - -if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then - echo "error: must be yes or no: --with-jpeg=$with_jpeg" - exit 1 -fi - -if test "$with_jpeg" = yes; then - - have_jpeg=no - AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes]) - - if test "$have_jpeg" = yes; then - # we have the header, now check for the library - have_jpeg=no - jpeg_halfassed=yes - AC_CHECK_X_LIB(jpeg, jpeg_start_compress, - [have_jpeg=yes - jpeg_halfassed=no - JPEG_LIBS="-ljpeg" - AC_DEFINE(HAVE_JPEGLIB)]) - 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 -lsystemd -# -############################################################################### - -have_systemd=no -with_systemd_req=unspecified -systemd_halfassed=no -AC_ARG_WITH(systemd, -[ --with-systemd Build xscreensaver-systemd to lock on suspend.], - [with_systemd="$withval"; with_systemd_req="$withval"], - [with_systemd=yes]) - -HANDLE_X_PATH_ARG(with_systemd, --with-systemd, systemd) - -if test "$with_systemd" != yes -a "$with_systemd" != no ; then - echo "error: must be yes or no: --with-systemd=$with_systemd" - exit 1 -fi - -if test "$with_systemd" = yes; then - - pkgs='' - ok="yes" - pkg_check_version libsystemd 221 - have_systemd="$ok" - - if test "$have_systemd" = yes; then - AC_CACHE_CHECK([for libsystemd includes], ac_cv_systemd_config_cflags, - [ac_cv_systemd_config_cflags=`$pkg_config --cflags $pkgs`]) - AC_CACHE_CHECK([for libsystemd libs], ac_cv_systemd_config_libs, - [ac_cv_systemd_config_libs=`$pkg_config --libs $pkgs`]) - fi - - ac_systemd_config_cflags=$ac_cv_systemd_config_cflags - ac_systemd_config_libs=$ac_cv_systemd_config_libs - - if test "$have_systemd" = yes; then - # - # we appear to have libsystemd; check for headers/libs to be sure. - # - ac_save_systemd_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $ac_systemd_config_cflags" - - have_systemd=no - AC_CHECK_X_HEADER(systemd/sd-bus.h, [have_systemd=yes]) - - CPPFLAGS="$ac_save_systemd_CPPFLAGS" - fi - - if test "$have_systemd" = yes; then - # we have the headers, now check for the libraries - have_systemd=no - systemd_halfassed=yes - - AC_MSG_RESULT(checking for libsystemd usability...) - AC_CHECK_X_LIB(c, sd_bus_open_system, [have_systemd=yes],, - $ac_systemd_config_libs -lX11 -lXext -lm) - fi - - if test "$have_systemd" = no; then - AC_MSG_RESULT(checking for libsystemd usability... no) - fi -fi - -if test "$have_systemd" = yes; then - INCLUDES="$INCLUDES $ac_systemd_config_cflags" - EXES_SYSTEMD='$(EXES_SYSTEMD)' - AC_DEFINE(HAVE_LIBSYSTEMD) -else - EXES_SYSTEMD='' -fi - - -############################################################################### -# -# Check for pty support: this allows 'phosphor' and 'apple2' -# to run curses-based programs, or be used as terminal windows. -# -############################################################################### - -PTY_LIBS= -AC_CHECK_HEADERS(pty.h util.h sys/termios.h) -AC_CHECK_X_LIB(util, forkpty, - [PTY_LIBS="-lutil" - ac_have_forkpty=yes - AC_DEFINE(HAVE_FORKPTY)]) - -if test "$ac_have_forkpty" != yes ; then - # we don't need (or have) -lutil on MacOS 10.4.2... - AC_CHECK_X_LIB(c, forkpty, - [PTY_LIBS="" - AC_DEFINE(HAVE_FORKPTY)]) -fi - -############################################################################### -# -# Check for the XSHM server extension. -# -############################################################################### - -have_xshm=no -with_xshm_req=unspecified -AC_ARG_WITH(xshm-ext, -[ --with-xshm-ext Include support for the Shared Memory extension.], - [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes]) - -HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM) - -if test "$with_xshm" = yes; then - - # first check for Xshm.h. - AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes],, - [#include ]) - - # if that succeeded, then check for sys/ipc.h. - if test "$have_xshm" = yes; then - have_xshm=no - AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes]) - fi - - # if that succeeded, then check for sys/shm.h. - if test "$have_xshm" = yes; then - have_xshm=no - AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes]) - fi - - # AIX is pathological, as usual: apparently it's normal for the Xshm headers - # to exist, but the library code to not exist. And even better, the library - # code is in its own library: libXextSam.a. So, if we're on AIX, and that - # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and - # that's not quite right, but close enough.) - # - case "$host" in - *-aix*) - if [ `uname -v` -eq 3 ]; then - have_xshm=no - AC_CHECK_X_LIB(XextSam, XShmQueryExtension, - [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"], - [true], -lX11 -lXext -lm) - fi - ;; - esac - - # if that succeeded, then we've really got it. - if test "$have_xshm" = yes; then - AC_DEFINE(HAVE_XSHM_EXTENSION) - fi - -elif test "$with_xshm" != no; then - echo "error: must be yes or no: --with-xshm-ext=$with_xshm" - exit 1 -fi - - -############################################################################### -# -# Check for the DOUBLE-BUFFER server extension. -# -############################################################################### - -have_xdbe=no -with_xdbe_req=unspecified -AC_ARG_WITH(xdbe-ext, -[ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.], - [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes]) - -HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER) - -if test "$with_xdbe" = yes; then - - AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes],, - [#include ]) - if test "$have_xdbe" = yes; then - AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION) - fi - -elif test "$with_xdbe" != no; then - echo "error: must be yes or no: --with-xdbe-ext=$with_xshm" - exit 1 -fi - - -############################################################################### -# -# Check for the SGI XReadDisplay server extension. -# -# Note: this has to be down here, rather than up with the other server -# extension tests, so that the output of `configure --help' is in the -# right order. Arrgh! -# -############################################################################### - -have_readdisplay=no -with_readdisplay_req=unspecified -AC_ARG_WITH(readdisplay, -[ --with-readdisplay Include support for the XReadDisplay extension.], - [with_readdisplay="$withval"; with_readdisplay_req="$withval"], - [with_readdisplay=yes]) - -HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay) - -if test "$with_readdisplay" = yes; then - AC_CHECK_X_HEADER(X11/extensions/readdisplay.h, - AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION),, - [#include ]) -elif test "$with_readdisplay" != no; then - echo "error: must be yes or no: --with-readdisplay=$with_readdisplay" - exit 1 -fi - - -############################################################################### -# -# Check for a directory full of images to use as the default value -# of the "imageDirectory" preference. -# -############################################################################### - -have_imagedir=no -with_imagedir_req=unspecified - -AC_ARG_WITH(image-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 - -case "$with_imagedir" in - /*) - # absolute path - AC_MSG_CHECKING([for image directory $with_imagedir]) - if test -d "$with_imagedir" ; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - with_imagedir="" - fi - ;; - yes) - with_imagedir="" - - #### Could use some more defaults here... - for dd in \ - "/usr/share/backgrounds/images/" \ - "/usr/share/wallpapers/" \ - "/Library/Desktop Pictures/" \ - ; do - if test -z "$with_imagedir"; then - AC_MSG_CHECKING([for image directory $dd]) - if test -d "$dd" ; then - AC_MSG_RESULT(yes) - with_imagedir="$dd" - else - AC_MSG_RESULT(no) - fi - fi - done - - ;; - no) - with_imagedir="" - ;; - - *) - echo "error: must be an absolute path: --with-image-directory=$with_imagedir_req" - exit 1 - ;; -esac -ac_cv_imagedir="$with_imagedir" - -DEFAULT_IMAGES_P='True' -DEFAULT_IMAGE_DIRECTORY="$ac_cv_imagedir" - -if test -z "$DEFAULT_IMAGE_DIRECTORY" ; then - DEFAULT_IMAGES_P='False' -fi - - -############################################################################### -# -# Pick a text file to use as the default of the "textFile" preference. -# Any old file will do, but preferably one that will make interesting -# shapes when displayed by "starwars" and "fontglide". -# -############################################################################### - -have_textfile=no -with_textfile_req=unspecified - -AC_ARG_WITH(text-file, -[ --with-text-file=FILE By default, some demos may display this file.], - [with_textfile="$withval"; with_textfile_req="$withval"], - [with_textfile=yes]) -# no HANDLE_X_PATH_ARG for this one - -case "$with_textfile" in - /*) - # absolute path - AC_MSG_CHECKING([for text file $with_textfile]) - if test -f "$with_textfile" ; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - with_textfile="" - fi - ;; - yes) - with_textfile="" - - #### Could use some more defaults here... - for f in \ - "/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" - else - AC_MSG_RESULT(no) - fi - fi - done - - ;; - no) - with_textfile="" - ;; - - *) - echo "error: must be an absolute path: --with-text-file=$with_textfile_req" - exit 1 - ;; -esac -ac_cv_textfile="$with_textfile" - -DEFAULT_TEXT_FILE="$ac_cv_textfile" - - -############################################################################### -# -# Check the browser to see help URL -# -############################################################################### - -have_browser=no -with_browser_req=unspecified - -AC_ARG_WITH(browser, -[ --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 - -case "$with_browser" in - no ) - ;; - * ) - WITH_BROWSER=$with_browser - gnome_open_program=$with_browser - AC_MSG_CHECKING([for browser $with_browser]) - with_browser_fullpath=`which $with_browser 2>/dev/null` - case $with_browser_fullpath in - /* ) - AC_MSG_RESULT(yes) - have_browser=yes - ;; - * ) - AC_MSG_RESULT(no) -# Only warning: we don't want to install all packages for the -# dependency of the browser in building stage... - echo "WARNING: browser not found: --with-browser=$with_browser" - ;; - esac - ;; -esac -ac_cv_browser="$with_browser" - -############################################################################### -# -# Check whether it's ok to install some hacks as setuid (e.g., "sonar") -# This should be safe, but let's give people the option. -# -############################################################################### - -setuid_hacks_default=no -setuid_hacks="$setuid_hacks_default" -AC_ARG_WITH(setuid-hacks, -[ --with-setuid-hacks Allow some demos to be installed `setuid root' - (which is needed in order to ping other hosts.)], - [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"]) - -HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks) - -if test "$setuid_hacks" = yes; then - true -elif test "$setuid_hacks" != no; then - echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks" - exit 1 -fi - - -############################################################################### -# -# Check for setcap, which is less worrying than setuid. -# -############################################################################### - -have_libcap=no -setcap_hacks_default=yes -setcap_hacks="$setcap_hacks_default" -setcap_hacks_req=unspecified -AC_ARG_WITH(setcap-hacks, -[ --with-setcap-hacks Allow some demos to be installed with setcap - (which is needed in order to ping other hosts.)], - [setcap_hacks="$withval"; setcap_hacks_req="$withval"], - [setcap_hacks=yes]) - -HANDLE_X_PATH_ARG(setcap_hacks, --with-setcap-hacks, setcap hacks) - -if test "$setcap_hacks" != yes -a "$setcap_hacks" != no ; then - echo "error: must be yes or no: --with-setcap-hacks=$setcap_hacks" - exit 1 -fi - -if test "$setcap_hacks" = yes; then - - AC_CHECK_PROGS(setcap_program, setcap) - if test "$setcap_program" != ''; then - AC_CHECK_X_HEADER(sys/capability.h, [have_setcap=yes]) - fi - if test "$have_setcap" = yes; then - AC_CHECK_X_LIB(cap, cap_set_flag, - [have_libcap=yes - PROG_SETCAP="$setcap_program" - LIBCAP_LIBS="-lcap" - AC_DEFINE(HAVE_LIBCAP)]) - fi -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, -# and decide which GUI program to build by default. -# -############################################################################### - -DEPEND=makedepend -DEPEND_FLAGS= -DEPEND_DEFINES= - - -if test \! -z "$includedir" ; then - INCLUDES="$INCLUDES -I$includedir" -fi - -if test \! -z "$libdir" ; then - LDFLAGS="$LDFLAGS -L$libdir" -fi - - -PREFERRED_DEMO_PROGRAM='' -ALL_DEMO_PROGRAMS= -if test "$have_motif" = yes; then - PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm - ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS" -fi -if test "$have_gtk" = yes; then - PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk - ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS" -fi - - -if test "$have_kerberos" = yes; then - PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)" - PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)" -fi -if test "$have_pam" = yes; then - PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)" - 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)" -fi - PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)" - PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)" - - -if test "$enable_locking" = yes; then - LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)' - LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)' -else - LOCK_SRCS='$(NOLOCK_SRCS_1)' - LOCK_OBJS='$(NOLOCK_OBJS_1)' -fi - -if test "$ac_macosx" = yes; then - EXES_OSX='$(EXES_OSX)' - SCRIPTS_OSX='$(SCRIPTS_OSX)' - MEN_OSX='$(MEN_OSX)' -else - EXES_OSX= - SCRIPTS_OSX= - MEN_OSX= -fi - - -INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)' - -if test "$need_setuid" = yes; then - NEED_SETUID=yes -else - NEED_SETUID=no -fi - -if test "$setuid_hacks" = yes; then - SETUID_HACKS=yes -else - SETUID_HACKS=no -fi - -if test "$have_libcap" = yes; then - SETCAP_HACKS=yes -else - SETCAP_HACKS=no -fi - -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=" " -else - GL_KLUDGE="-" -fi - -if test "$have_gle" = yes; then - GLE_EXES='$(GLE_EXES)' - GLE_KLUDGE=" " -else - GLE_KLUDGE="-" -fi - -if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then - JPEG_EXES='$(JPEG_EXES)' -fi - - -# Another substitution in the XScreenSaver.ad.in file: -# -if test "$gnome_open_program" != ''; then - GNOME24='' - GNOME22='! ' - NOGNOME='! ' -elif test "$gnome_url_show_program" != ''; then - GNOME24='! ' - GNOME22='' - NOGNOME='! ' -else - GNOME24='! ' - GNOME22='! ' - NOGNOME='' -fi - - -# Set PO_DATADIR to something sensible. -# -AC_MSG_CHECKING([for locale directory]) -if test -n "$GTK_DATADIR" ; then - PO_DATADIR="$GTK_DATADIR" -elif test "$have_gtk" = yes; then - PO_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` - PO_DATADIR="$PO_DATADIR/share" -fi - -if test -z "$PO_DATADIR" ; then - # - # #### Total fucking kludge -- - # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/ - # but of course we need to expand all the nested variables to do that... - # - dd=`eval eval eval eval eval eval eval eval eval eval eval echo $datadir` - PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'` -fi - -AC_MSG_RESULT($PO_DATADIR/locale) - - -# canonicalize slashes. -HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` - -# gcc 3.0 likes to issue this warning for every file: -# -# cc1: warning: changing search order for system directory "/usr/local/include" -# cc1: warning: as it has already been specified as a non-system directory -# -# Yay. We can only avoid that by deleting "-I${prefix}/include" from the list. -# Which *should* be totally redundant, and thus an ok thing to delete? -# -INCLUDES=`echo "$INCLUDES" | sed 's@ -I${prefix}/include@@g;'` - - -############################################################################### -# -# Perform substitutions and write Makefiles. -# -############################################################################### - -AC_SUBST(INCLUDES) - -AC_SUBST(PREFERRED_DEMO_PROGRAM) -AC_SUBST(ALL_DEMO_PROGRAMS) -AC_SUBST(SAVER_LIBS) -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(PTY_LIBS) -AC_SUBST(GL_LIBS) -AC_SUBST(GLE_LIBS) -AC_SUBST(XDPMS_LIBS) -AC_SUBST(XINERAMA_LIBS) -AC_SUBST(PASSWD_LIBS) -AC_SUBST(LIBCAP_CFLAGS) -AC_SUBST(LIBCAP_LIBS) -AC_SUBST(PROG_SETCAP) -AC_SUBST(INSTALL_SETUID) -AC_SUBST(SETUID_HACKS) -AC_SUBST(SETCAP_HACKS) -AC_SUBST(INSTALL_DIRS) -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(EXES_SYSTEMD) -AC_SUBST(SCRIPTS_OSX) -AC_SUBST(MEN_OSX) - -AC_SUBST(PASSWD_SRCS) -AC_SUBST(PASSWD_OBJS) -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_SRCS) -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(HACKDIR) -AC_SUBST(HACKDIR_FULL) -AC_SUBST(GTK_DATADIR) -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_SUBST(DEPEND) -AC_SUBST(DEPEND_FLAGS) -AC_SUBST(DEPEND_DEFINES) -AC_SUBST(PERL) - -AC_OUTPUT(Makefile - utils/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) - -############################################################################### -# -# Print some warnings at the end. -# -############################################################################### - -warn_prefix_1=" Warning:" -warn_prefix_2=" Note:" -warn_prefix="$warn_prefix_1" - -warning=no -warnsep=' #################################################################' - -warnpre() { - if test "$warning" = no ; then - echo '' ; echo "$warnsep" ; echo '' - warning=yes - fi -} - -warn() { - warnpre - if test "$warning" = long ; then echo '' ; fi - warning=yes - rest="$@" - echo "$warn_prefix $rest" -} - -warnL() { - was=$warning - warnpre - warning=yes - if test "$was" != no ; then echo '' ; fi - rest="$@" - echo "$warn_prefix $rest" -} - -warn2() { - rest="$@" - echo " $rest" - warning=long -} - -note() { - warn_prefix="$warn_prefix_2" - warn $@ - warn_prefix="$warn_prefix_1" -} - -noteL() { - warn_prefix="$warn_prefix_2" - warnL $@ - warn_prefix="$warn_prefix_1" -} - - -# 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 - -if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then - warn 'The XIdle extension was requested, but was not found.' -fi - -if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then - warn 'The XSHM extension was requested, but was not found.' -fi - -if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then - warn 'The DOUBLE-BUFFER extension was requested, but was not found.' -fi - -if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then - warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.' -fi - -if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then - warn 'The DPMS extension was requested, but was not found.' -fi - -if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then - warn 'The Xinerama extension was requested, but was not found.' -fi - -if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then - warn 'The XF86VMODE extension was requested, but was not found.' -fi - -if test "$with_randr_req" = yes -a "$have_randr" = no ; then - warn 'The RANDR extension was requested, but was not found.' -fi - -if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then - warn "Checking of /proc/interrupts was requested, but it's bogus." -fi - -if test "$pkg_config" = false ; then - warnL 'The "pkg-config" program was not found. Without that,' - warn2 "detection of the various GTK libraries won't work." -else - pkgerr=`$pkg_config --list-all 2>&1 >/dev/null` - if test "x$pkgerr" != "x" ; then - warnL 'The "pkg-config" program produces errors. This often causes' - warn2 "detection of the various GTK libraries to malfunction." - warn2 "The errors are:" - echo '' - echo "$pkgerr" | sed 's/^/ > /g' - fi -fi - -if test "$gtk_halfassed" != no ; then - warnL "GTK version $gtk_halfassed was found, but at least one supporting" - warn2 "library ($gtk_halfassed_lib) was not, so GTK can't be used." - warn2 "Perhaps some of the development packages are not installed?" - if test "$have_gtk" = yes ; then - v="$ac_gtk_version_string" - warn2 "GTK $v is also installed, so it will be used instead." - warn2 "Please read the above output and the \`config.log' file" - warn2 "for more details." - fi -fi - -motif_warn2() { - warn2 'Though the Motif front-end to xscreensaver is still' - warn2 'maintained, it is no longer being updated with new' - warn2 'features: all new development on the xscreensaver-demo' - warn2 'program is happening in the GTK version, and not in the' - warn2 'Motif version. It is recommended that you build against' - warn2 'GTK instead of Motif. See .' -} - -if test "$have_motif" = no -a "$have_gtk" = no; then - - if test "$with_motif" = yes; then - warnL "Neither the GTK nor Motif libraries were found; the" - warn2 "\`xscreensaver-demo' program requires one of these." - echo '' - motif_warn2 - else - warnL "The GTK libraries do not seem to be available; the" - warn2 "\`xscreensaver-demo' program requires them." -# echo '' -# warn2 'You can use Motif or Lesstif instead of GTK (use the' -# warn2 "\`--with-motif' option) but that is NOT recommended." -# motif_warn2 - fi - -elif test "$with_motif_req" = yes -a "$have_motif" = no ; then - warnL "Use of Motif was requested, but it wasn't found;" - warn2 "Gtk will be used instead." - -elif test "$jurassic_gtk" = yes ; then - - pref_gtk=2.0 - - v="$ac_gtk_version_string" - if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then - warnL "Use of Gtk was requested, but its version number is unknown;" - elif test "$with_gtk_req" = yes ; then - warnL "Use of Gtk was requested, but it is version $v;" - else - warnL "Gtk was found on this system, but it is version $v;" - fi - - warn2 "Gtk $pref_gtk or newer is required." - -elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then - warnL "Use of Gtk was requested, but it wasn't found." -fi - - -if test "$have_gtk" = yes -a "$have_gdk_pixbuf" = no ; then - warn "GTK is being used, but the GDK-Pixbuf library and/or" - warn2 "headers were not found. That can't be good. Please" - warn2 "install the GDK-Pixbuf development kit and re-configure." -fi - -if test "$have_motif" = yes -a "$have_lesstif" = yes ; then - - preferred_lesstif=0.92 - - if test "$lesstif_version" = unknown; then - warnL "Unable to determine the LessTif version number!" - warn2 "Make sure you are using version $preferred_lesstif or newer." - warn2 "See ." - - elif test \! $lesstif_version -gt 82; then - warnL "LessTif version $lesstif_version_string is being used." - warn2 "LessTif versions 0.82 and earlier are too buggy to" - warn2 "use with XScreenSaver; it is strongly recommended" - warn2 "that you upgrade to at least version $preferred_lesstif!" - warn2 "See ." - fi -fi - - -if test "$have_motif" = yes -a "$have_gtk" = no ; then - warn 'Motif is being used, and GTK is not.' - echo '' - motif_warn2 -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 ; then - - if test "$with_gdk_pixbuf_req" = yes ; then - true - elif test "$with_gdk_pixbuf_req" = no ; then - warnL 'The GDK-Pixbuf library is not being used.' - else - warnL 'The GDK-Pixbuf library was not found.' - fi - - if test "$gdk_pixbuf_halfassed" = yes ; then - echo '' - warn2 'More specifically, we found the headers, but not the' - warn2 'libraries; so either GDK-Pixbuf is half-installed on this' - warn2 "system, or something else went wrong. The \`config.log'" - 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.' -fi - - -if test "$have_jpeg" = no ; then - if test "$with_jpeg_req" = yes ; then - warnL 'Use of libjpeg was requested, but it was not found.' - elif test "$with_jpeg_req" = no ; then - noteL 'The JPEG library is not being used.' - else - noteL 'The JPEG library was not found.' - fi - - if test "$jpeg_halfassed" = yes ; then - echo '' - warn2 'More specifically, we found the headers, but not the' - warn2 'library; so either JPEG is half-installed on this' - warn2 "system, or something else went wrong. The \`config.log'" - warn2 'file might contain some clues.' - echo '' - fi - - if test "$have_gdk_pixbuf" = no ; then - warn2 "This means that it won't be possible for the image-manipulating" - warn2 "display modes to load files from disk; and it also means that" - warn2 "the \`webcollage' program will be much slower." - else - warn2 "This means the \`webcollage' program will be much slower." - 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_systemd" = no ; then - systemd_warned=no - if test "$with_systemd_req" = yes ; then - warnL "Use of systemd was requested, but it was not found." - systemd_warned=yes - elif test "$with_systemd_req" = no ; then - true - # noteL 'The systemd library is not being used.' - # systemd_warned=yes - else - true - # noteL "The systemd library was not found." - # systemd_warned=yes - fi - - if test "$systemd_halfassed" = yes ; then - echo '' - warn2 'More specifically, we found the headers, but not the' - warn2 'libraries; so either systemd is half-installed on this' - warn2 "system, or something else went wrong. The \`config.log'" - warn2 'file might contain some clues.' - echo '' - systemd_warned=yes - fi - - if test "$systemd_warned" = yes; then - warn2 "This means that xscreensaver-systemd won't be built." - fi -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 - 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 --" - warn2 "MesaGL 2.6 and earlier have a security bug. It is strongly" - warn2 "recommended that you upgrade to at least version $preferred_mesagl." - - elif test \! "$ac_mesagl_version" -gt 3003; then - warnL "MesaGL version number is $mgv --" - warn2 "MesaGL 3.3 and earlier have some bugs; it is recommended" - warn2 "that you upgrade to $pgl or newer." - fi -fi - -if test "$have_gl" = no ; then - if test "$with_gl_req" = yes ; then - warnL 'Use of GL was requested, but it was not found.' - elif test "$with_gl_req" = no ; then - noteL 'The OpenGL 3D library is not being used.' - else - noteL 'The OpenGL 3D library was not found.' - fi - - if test "$gl_halfassed" = yes ; then - echo '' - warn2 'More specifically, we found the headers, but not the' - warn2 'libraries; so either GL is half-installed on this' - warn2 "system, or something else went wrong. The \`config.log'" - warn2 'file might contain some clues.' - fi - - 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.' - -fi - - -if test "$have_gl" = yes -a "$have_gle" = no ; then - - # nobody cares about this; don't print the warning unless it was - # requested and not found, or halfway-found. - if test "$with_gle_req" = yes -o "$gle_halfassed" = yes ; then - - if test "$with_gle_req" = yes ; then - noteL 'Use of the GLE (GL Extrusion) library was requested, but' - warn2 'it was not found (though the OpenGL library was found, and' - warn2 'is being used.)' - elif test "$with_gle_req" = no ; then - noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)' - warn2 'library is not.' - else - noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)' - warn2 'library was not.' - fi - - if test "$gle_halfassed" = yes ; then - echo '' - warn2 'More specifically, we found the headers, but not the' - warn2 'libraries; so either GLE is half-installed on this' - warn2 "system, or something else went wrong. The \`config.log'" - warn2 'file might contain some clues.' - fi - - echo '' - 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 ' - - fi -fi - - -if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then - warn 'Use of XReadDisplay was requested, but it was not found.' -fi - -if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then - warn 'Use of Kerberos was requested, but it was not found.' -fi - -if test "$with_pam_req" = yes -a "$have_pam" = no ; then - warn 'Use of PAM was requested, but it was not found.' -fi - -if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then - warn 'Use of shadow passwords was requested, but they were not found.' -fi - -if test "$setcap_hacks_req" = yes -a "$have_libcap" = no ; then - warn 'Use of libcap was requested, but it was not found.' -fi - -if test "$ac_macosx" = yes ; then - if test "$enable_locking" = yes ; then - warn "You have specified --enable-locking on MacOS X." - warn2 "THIS DOES NOT WORK! Don't do this!" - fi -fi - - -# You are in a twisty maze of namespaces and syntaxes, all alike. -# Fuck the skull of Unix. -# -bindir=`eval eval eval eval eval eval eval echo $bindir` -HACKDIR=`eval eval eval eval eval eval eval echo $HACKDIR` -HACK_CONF_DIR=`eval eval eval eval eval eval eval echo $HACK_CONF_DIR` - -# canonicalize slashes. -bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'` -HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` -HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` - - -# Sanity check the hackdir -for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do - if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then - echo "" - AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work. - There will be an executable installed with that name, so - that can't be the name of a directory as well. Please - re-configure with a different directory name.]) - fi -done - - -do_dir_warning=no - -# Now let's warn if there's a previous RPM version already installed. -# But don't bother with this test if we are currently *building* an RPM. - -if test -z "$RPM_PACKAGE_VERSION" ; then - - rpmnames="xscreensaver xscreensaver-base xscreensaver-extras" - - # M4 sucks!! - changequote(X,Y) - rpmv=`(rpm -qv $rpmnames) 2>/dev/null | \ - sed -n 's/^[-a-z]*-\([0-9][0-9]*[.][0-9][0-9a-z]*\)-.*$/\1/p' | \ - head -1` - changequote([,]) - - if test \! -z "$rpmv" ; then - rpmbdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'` - rpmhdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/popsquares$@\1@p'` - - warning=no - warnL "There is already an installed RPM of xscreensaver $rpmv" - warn2 'on this system. You might want to remove it ("rpm -ve")' - warn2 'before running "make install" in this directory.' - echo "" - warn2 "Alternately, you could build this version of xscreensaver" - warn2 'as an RPM, and then install that. An "xscreensaver.spec"' - warn2 'file is included. Try "rpmbuild -v -ba xscreensaver.spec".' - warn2 "See the RPM documentation for more info." - echo "" - - if test "$rpmbdir" = "$rpmhdir" ; then - warn2 "The RPM version was installed in $rpmbdir/." - do_dir_warning=yes - else - warn2 "The RPM version was installed in $rpmbdir/," - warn2 "with demos in $rpmhdir/." - fi - 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 - -if test "$do_dir_warning" = yes; then - echo "" - echo "$warnsep" - echo "" - echo ' When you run "make install", the "xscreensaver",' - echo ' "xscreensaver-demo", and "xscreensaver-command" executables' - echo " will be installed in ${bindir}/." - echo "" - 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," - echo " you should re-run configure with the --with-hackdir=DIR" - echo " option. For more information, run \`./configure --help'." - warning=yes -fi - -if test "$warning" != no; then - echo '' ; echo "$warnsep" ; echo '' -fi - -if test "$do_dir_warning" = no; then - if test "$warning" = no; then - echo '' - fi - echo "User programs will be installed in ${bindir}/" - echo "Screen savers will be installed in ${HACKDIR}/" - echo "Configuration dialogs will be installed in ${HACK_CONF_DIR}/" - echo "System-wide default settings will be installed in ${APPDEFAULTS}/" - echo '' -fi -- cgit v1.2.3-55-g7522