1 # configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski.
4 AC_INIT(driver/subprocs.c)
5 AC_CONFIG_HEADER(config.h)
7 echo "current directory: `pwd`"
8 echo "command line was: $0 $@"
11 # After checking to see that --srcdir is correct (which AC_INIT does)
12 # check for some random other files that come later in the tar file,
13 # to make sure everything is here.
15 for d in driver utils hacks hacks/glx ; do
16 f=$srcdir/$d/Makefile.in
17 if test \! -r $f ; then
19 echo "ERROR: The package is incomplete: $f does not exist."
20 echo " This probably means that your download was truncated."
27 ###############################################################################
29 # Function to figure out how to run the compiler.
31 ###############################################################################
33 AC_DEFUN(AC_PROG_CC_ANSI,
36 if test -z "$GCC"; then
37 AC_MSG_CHECKING(how to request ANSI compilation)
40 AC_MSG_RESULT(HPUX: adding -Ae)
44 AC_MSG_RESULT(AIX: adding -qlanglvl=ansi -qhalt=e)
45 CC="$CC -qlanglvl=ansi -qhalt=e"
49 AC_MSG_RESULT(DEC: adding -std1 -ieee)
54 AC_MSG_RESULT(no idea)
59 AC_MSG_CHECKING([whether the compiler works on ANSI C])
60 AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
63 AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
64 AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
66 if test -n "$GCC"; then
67 AC_MSG_RESULT(Turning on gcc compiler warnings.)
68 CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
71 *-irix5* |*-irix6.[0-3]* )
72 AC_MSG_RESULT(Turning on SGI compiler warnings.)
73 CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
76 # if test -z "$GCC"; then
77 # AC_MSG_RESULT(Turning on DEC C compiler warnings.)
78 # CC="$CC -migrate -w0 -verbose -warnprotos"
86 ###############################################################################
88 # Functions to figure out how to disable // comments in ANSI C code.
90 # (With recent gcc, this is done with "-std=c89". With older gcc, this
91 # is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to
92 # gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang.
93 # so much for compatibility!)
95 ###############################################################################
97 AC_DEFUN(AC_GCC_ACCEPTS_STD,
98 [if test -n "$GCC"; then
99 AC_CACHE_CHECK([whether gcc accepts -std],
100 ac_cv_gcc_accepts_std,
101 [if ( gcc -E -std=c89 - </dev/null 2>&1 >/dev/null | \
102 grep unrecognized >/dev/null ); then
103 ac_cv_gcc_accepts_std=no
105 ac_cv_gcc_accepts_std=yes
107 ac_gcc_accepts_std="$ac_cv_gcc_accepts_std"
111 AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE,
112 [if test -n "$GCC"; then
114 AC_MSG_RESULT(Disabling C++ comments in ANSI C code.)
116 # The reason that // comments are banned from xscreensaver is that gcc is
117 # basically the only compiler in the world that supports them in C code.
118 # All other vendors support them only in their C++ compilers, not in their
119 # ANSI C compilers. This means that it's a portability problem: every time
120 # these comments have snuck into the xscreensaver source code, I've gotten
121 # complaints about it the next day. So we turn off support for them in gcc
122 # as well to prevent them from accidentially slipping in.
124 if test "$ac_gcc_accepts_std" = yes ; then
126 # -std=c89 defines __STRICT_ANSI__, which we don't want.
127 # (That appears to be the only additional preprocessor symbol
128 # it defines, in addition to the syntax changes it makes.)
130 # -std=gnu89 is no good, because // comments were a GNU extension
131 # before they were in the ANSI C 99 spec... (gcc 2.96 permits //
132 # with -std=gnu89 but not with -std=c89.)
134 CC="$CC -std=c89 -U__STRICT_ANSI__"
137 CC="$CC -Wp,-lang-c89"
143 ###############################################################################
145 # Function to figure out how to create directory trees.
147 ###############################################################################
149 AC_DEFUN(AC_PROG_INSTALL_DIRS,
150 [AC_CACHE_CHECK([whether \"\${INSTALL} -d\" creates intermediate directories],
151 ac_cv_install_d_creates_dirs,
152 [ac_cv_install_d_creates_dirs=no
154 if mkdir conftestdir; then
156 ${INSTALL} -d `pwd`/dir1/dir2 >&- 2>&-
157 if test -d dir1/dir2/. ; then
158 ac_cv_install_d_creates_dirs=yes
165 if test "$ac_cv_install_d_creates_dirs" = no ; then
166 AC_CACHE_CHECK([whether \"mkdir -p\" creates intermediate directories],
167 ac_cv_mkdir_p_creates_dirs,
168 [ac_cv_mkdir_p_creates_dirs=no
170 if mkdir conftestdir; then
172 mkdir -p dir1/dir2 >&- 2>&-
173 if test -d dir1/dir2/. ; then
174 ac_cv_mkdir_p_creates_dirs=yes
182 if test "$ac_cv_install_d_creates_dirs" = yes ; then
183 INSTALL_DIRS='${INSTALL} -d'
184 elif test "$ac_cv_mkdir_p_creates_dirs" = yes ; then
185 INSTALL_DIRS='mkdir -p'
188 INSTALL_DIRS='${INSTALL} -d'
193 ###############################################################################
195 # Function to check whether gettimeofday() exists, and how to call it.
196 # This may define HAVE_GETTIMEOFDAY and GETTIMEOFDAY_TWO_ARGS.
198 ###############################################################################
200 AC_DEFUN(AC_GETTIMEOFDAY_ARGS,
201 [AC_MSG_CHECKING(how to call gettimeofday)
202 AC_CACHE_VAL(ac_cv_gettimeofday_args,
203 [AC_TRY_COMPILE([#include <stdlib.h>
204 #include <sys/time.h>],
205 [struct timeval tv; struct timezone tzp;
206 gettimeofday(&tv, &tzp);],
207 [ac_gettimeofday_args=2],
208 [AC_TRY_COMPILE([#include <stdlib.h>
209 #include <sys/time.h>],
210 [struct timeval tv; gettimeofday(&tv);],
211 [ac_gettimeofday_args=1],
212 [ac_gettimeofday_args=0])])
213 ac_cv_gettimeofday_args=$ac_gettimeofday_args])
214 ac_gettimeofday_args=$ac_cv_gettimeofday_args
215 if test "$ac_gettimeofday_args" = 1 ; then
216 AC_DEFINE(HAVE_GETTIMEOFDAY)
217 AC_MSG_RESULT(one argument)
218 elif test "$ac_gettimeofday_args" = 2 ; then
219 AC_DEFINE(HAVE_GETTIMEOFDAY)
220 AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
221 AC_MSG_RESULT(two arguments)
223 AC_MSG_RESULT(unknown)
228 ###############################################################################
230 # Function to find perl5 (defines PERL and PERL_VERSION.)
232 ###############################################################################
234 # M4 sucks!! perl sucks too!!
236 perl_version_cmd='print $]'
239 AC_DEFUN(AC_PROG_PERL,
240 [AC_PATH_PROGS(PERL, [perl5 perl],,)
241 if test -z "$PERL" ; then
244 AC_CACHE_CHECK([perl version], ac_cv_perl_version,
245 [ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`])
246 PERL_VERSION=$ac_cv_perl_version
251 ###############################################################################
253 # Function to demand "bc". Losers.
255 ###############################################################################
257 AC_DEFUN(AC_DEMAND_BC,
258 [ac_bc_result=`echo 6+9 | bc 2>/dev/null`
259 AC_MSG_CHECKING([for bc])
260 if test "$ac_bc_result" = "15" ; then
265 AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard
266 part of Unix since the 1970s. Come back when your vendor
271 ###############################################################################
273 # Functions to check how to do ICMP PING requests.
275 ###############################################################################
277 AC_DEFUN(AC_CHECK_ICMP,
278 [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp,
279 [AC_TRY_COMPILE([#include <stdlib.h>
286 #include <sys/types.h>
287 #include <sys/time.h>
290 #include <sys/socket.h>
291 #include <netinet/in_systm.h>
292 #include <netinet/in.h>
293 #include <netinet/ip.h>
294 #include <netinet/ip_icmp.h>
295 #include <netinet/udp.h>
296 #include <arpa/inet.h>
300 struct sockaddr_in si;
302 i.icmp_type = ICMP_ECHO;
307 si.sin_family = AF_INET;
308 #if defined(__DECC) || defined(_IP_VHL)
314 [ac_cv_have_icmp=yes],
315 [ac_cv_have_icmp=no])])
316 if test "$ac_cv_have_icmp" = yes ; then
320 AC_DEFUN(AC_CHECK_ICMPHDR,
321 [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr,
322 [AC_TRY_COMPILE([#include <stdlib.h>
329 #include <sys/types.h>
330 #include <sys/time.h>
333 #include <sys/socket.h>
334 #include <netinet/in_systm.h>
335 #include <netinet/in.h>
336 #include <netinet/ip.h>
337 #include <netinet/ip_icmp.h>
338 #include <netinet/udp.h>
339 #include <arpa/inet.h>
343 struct sockaddr_in si;
349 i.un.echo.sequence = 0;
350 si.sin_family = AF_INET;
352 [ac_cv_have_icmphdr=yes],
353 [ac_cv_have_icmphdr=no])])
354 if test "$ac_cv_have_icmphdr" = yes ; then
355 AC_DEFINE(HAVE_ICMPHDR)
359 ###############################################################################
361 # Functions to check for various X11 crap.
363 ###############################################################################
365 # Try and find the app-defaults directory.
366 # It sucks that autoconf doesn't do this already...
368 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
370 if mkdir conftestdir; then
372 # Make sure to not put "make" in the Imakefile rules, since we grep it out.
373 cat > Imakefile <<'EOF'
375 @echo 'ac_x_app_defaults="${XAPPLOADDIR}"'
377 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
378 # GNU make sometimes prints "make[1]: Entering...", which'd confuse us.
379 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
385 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[
386 # Look for the directory under a standard set of common directories.
387 # Check X11 before X11Rn because it's often a symlink to the current release.
389 /usr/X11/lib/app-defaults \
390 /usr/X11R6/lib/app-defaults \
391 /usr/X11R6/lib/X11/app-defaults \
392 /usr/X11R5/lib/app-defaults \
393 /usr/X11R5/lib/X11/app-defaults \
394 /usr/X11R4/lib/app-defaults \
395 /usr/X11R4/lib/X11/app-defaults \
397 /usr/lib/X11/app-defaults \
398 /usr/lib/X11R6/app-defaults \
399 /usr/lib/X11R5/app-defaults \
400 /usr/lib/X11R4/app-defaults \
402 /usr/local/X11/lib/app-defaults \
403 /usr/local/X11R6/lib/app-defaults \
404 /usr/local/X11R5/lib/app-defaults \
405 /usr/local/X11R4/lib/app-defaults \
407 /usr/local/lib/X11/app-defaults \
408 /usr/local/lib/X11R6/app-defaults \
409 /usr/local/lib/X11R6/X11/app-defaults \
410 /usr/local/lib/X11R5/app-defaults \
411 /usr/local/lib/X11R5/X11/app-defaults \
412 /usr/local/lib/X11R4/app-defaults \
413 /usr/local/lib/X11R4/X11/app-defaults \
415 /usr/X386/lib/X11/app-defaults \
416 /usr/x386/lib/X11/app-defaults \
417 /usr/XFree86/lib/X11/app-defaults \
419 /usr/lib/X11/app-defaults \
420 /usr/local/lib/X11/app-defaults \
421 /usr/unsupported/lib/X11/app-defaults \
422 /usr/athena/lib/X11/app-defaults \
423 /usr/local/x11r5/lib/X11/app-defaults \
424 /usr/lpp/Xamples/lib/X11/app-defaults \
425 /lib/usr/lib/X11/app-defaults \
427 /usr/openwin/lib/app-defaults \
428 /usr/openwin/lib/X11/app-defaults \
429 /usr/openwin/share/lib/app-defaults \
430 /usr/openwin/share/lib/X11/app-defaults \
432 /X11R6/lib/app-defaults \
433 /X11R5/lib/app-defaults \
434 /X11R4/lib/app-defaults \
437 if test -d "$ac_dir"; then
438 ac_x_app_defaults=$ac_dir
444 AC_DEFUN(AC_PATH_X_APP_DEFAULTS,
446 AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
447 [AC_PATH_X_APP_DEFAULTS_XMKMF
448 if test x"$ac_x_app_defaults" = x; then
449 AC_PATH_X_APP_DEFAULTS_DIRECT
451 if test x"$ac_x_app_defaults" = x; then
452 ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
454 # Record where we found app-defaults for the cache.
455 ac_cv_x_app_defaults="$ac_x_app_defaults"
457 eval ac_x_app_defaults="$ac_cv_x_app_defaults"])
460 AC_DEFUN(AC_XPOINTER,
461 [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer,
462 [AC_TRY_X_COMPILE([#include <X11/Xlib.h>],
463 [XPointer foo = (XPointer) 0;],
464 [ac_cv_xpointer=yes],
465 [ac_cv_xpointer=no])])
466 if test "$ac_cv_xpointer" != yes; then
467 AC_DEFINE(XPointer,[char*])
471 # Random special-cases for X on certain pathological OSes.
472 # You know who you are.
474 AC_DEFUN(AC_X_RANDOM_PATHS,
478 # The following arcana was gleaned from conversations with
479 # Eric Schwartz <erics@col.hp.com>:
481 # On HPUX 10.x, the parts of X that HP considers "standard" live in
482 # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider
483 # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/.
484 # Yet /usr/contrib/X11R6/ comes preinstalled on all HPUX systems.
485 # Also, there are symlinks from /usr/include/ and /usr/lib/ into
486 # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all)
487 # you don't need any -I or -L arguments.
489 # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/
490 # are the same division as 10.x. However, there are no symlinks to
491 # the X stuff from /usr/include/ and /usr/lib/, so -I and -L
492 # arguments are always necessary.
494 # However, X11R6 was available on HPUX 9.x as a patch: if that
495 # patch was installed, then all of X11R6 went in to
496 # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.)
498 # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know
499 # whether R5 was available as a patch; R6 undoubtedly was not.)
501 # So. We try and use the highest numbered pair of
502 # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/
503 # that are available. We do not mix and match different versions
506 # Question I still don't know the answer to: (do you?)
508 # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and
509 # /usr/contrib/X11R6/ could be installed as a patch, what was in
510 # that contrib directory? Did it contain so-called "standard"
511 # X11R6, or did it include Xaw and Xmu as well? If the former,
512 # where did one find Xaw and Xmu on 9.x R6 systems? Would this
513 # be a situation where one had to reach into the R5 headers and
514 # libs to find Xmu? That is, must both R6 and R5 directories
515 # be on the -I and -L lists in that case?
517 for version in X11R6 X11R5 X11R4 ; do
518 # if either pair of directories exists...
519 if test -d /usr/include/$version || test -d /usr/contrib/$version/include
521 # if contrib exists, use it...
522 if test -d /usr/contrib/$version/include ; then
523 X_CFLAGS="$X_CFLAGS -I/usr/contrib/$version/include"
524 X_LIBS="$X_LIBS -L/usr/contrib/$version/lib"
526 # if the "standard" one exists, use it.
527 if test -d /usr/include/$version ; then
528 X_CFLAGS="$X_CFLAGS -I/usr/include/$version"
529 X_LIBS="$X_LIBS -L/usr/lib/$version"
531 # since at least one of the pair exists, go no farther.
536 # Now find Motif. Thanks for not making xmkmf find this by
537 # default, you losers.
539 if test -d /usr/include/Motif2.1 ; then
540 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif2.1"
541 X_LIBS="$X_LIBS -L/usr/lib/Motif2.1"
542 elif test -d /usr/include/Motif1.2 ; then
543 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2"
544 X_LIBS="$X_LIBS -L/usr/lib/Motif1.2"
545 elif test -d /usr/include/Motif1.1 ; then
546 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1"
547 X_LIBS="$X_LIBS -L/usr/lib/Motif1.1"
550 # Now let's check for the pseudo-standard locations for OpenGL and XPM.
552 if test -d /opt/graphics/OpenGL/include ; then
553 # HP-UX 10.20 puts it here
554 X_CFLAGS="-I/opt/graphics/OpenGL/include $X_CFLAGS"
555 X_LIBS="-L/opt/graphics/OpenGL/lib $X_LIBS"
556 elif test -d /opt/Mesa/lib ; then
557 X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS"
558 X_LIBS="-L/opt/Mesa/lib $X_LIBS"
562 if test -d /opt/xpm/lib/X11 ; then
563 X_CFLAGS="-I/opt/xpm/include $X_CFLAGS"
564 X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS"
567 # On HPUX, default to installing in /opt/xscreensaver/ instead of
568 # in /usr/local/, unless there is already an xscreensaver in
569 # /usr/local/bin/. This can be overridden with the --prefix arg
570 # to configure. I'm not sure this is the right thing to do, but
571 # Richard Lloyd says so...
573 if test \! -x /usr/local/bin/xscreensaver ; then
574 ac_default_prefix=/opt/xscreensaver
580 # Thanks for not making xmkmf find this by default, pinheads.
581 # And thanks for moving things around again, too. Is this
582 # really the standard location now? What happened to the
583 # joke that this kind of thing went in /opt?
584 # cthomp says "answer: CDE (Common Disorganized Environment)"
586 if test -f /usr/dt/include/Xm/Xm.h ; then
587 X_CFLAGS="$X_CFLAGS -I/usr/dt/include"
588 X_LIBS="$X_LIBS -L/usr/dt/lib -R:/usr/dt/lib"
590 # Some versions of Slowlaris Motif require -lgen. But not all. Why?
591 AC_CHECK_LIB(gen, regcmp, [X_LIBS="$X_LIBS -lgen"])
598 ###############################################################################
600 # Some utility functions to make checking for X things easier.
602 ###############################################################################
604 # Like AC_CHECK_HEADER, but it uses the already-computed -I directories.
606 AC_DEFUN(AC_CHECK_X_HEADER, [
607 ac_save_CPPFLAGS="$CPPFLAGS"
608 if test \! -z "$includedir" ; then
609 CPPFLAGS="$CPPFLAGS -I$includedir"
611 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
612 AC_CHECK_HEADER([$1], [$2])
613 CPPFLAGS="$ac_save_CPPFLAGS"])
615 # Like AC_EGREP_HEADER, but it uses the already-computed -I directories.
617 AC_DEFUN(AC_EGREP_X_HEADER, [
618 ac_save_CPPFLAGS="$CPPFLAGS"
619 if test \! -z "$includedir" ; then
620 CPPFLAGS="$CPPFLAGS -I$includedir"
622 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
623 AC_EGREP_HEADER([$1], [$2], [$3], [$4])
624 CPPFLAGS="$ac_save_CPPFLAGS"])
626 # Like AC_TRY_COMPILE, but it uses the already-computed -I directories.
628 AC_DEFUN(AC_TRY_X_COMPILE, [
629 ac_save_CPPFLAGS="$CPPFLAGS"
630 if test \! -z "$includedir" ; then
631 CPPFLAGS="$CPPFLAGS -I$includedir"
633 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
634 AC_TRY_COMPILE([$1], [$2], [$3], [$4])
635 CPPFLAGS="$ac_save_CPPFLAGS"])
638 # Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories.
639 # Use this sparingly; it probably doesn't work very well on X programs.
641 AC_DEFUN(AC_CHECK_X_LIB, [
642 ac_save_CPPFLAGS="$CPPFLAGS"
643 ac_save_LDFLAGS="$LDFLAGS"
644 # ac_save_LIBS="$LIBS"
646 if test \! -z "$includedir" ; then
647 CPPFLAGS="$CPPFLAGS -I$includedir"
649 # note: $X_CFLAGS includes $x_includes
650 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
652 if test \! -z "$libdir" ; then
653 LDFLAGS="$LDFLAGS -L$libdir"
655 # note: $X_LIBS includes $x_libraries
656 LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
658 AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
659 CPPFLAGS="$ac_save_CPPFLAGS"
660 LDFLAGS="$ac_save_LDFLAGS"
661 # LIBS="$ac_save_LIBS"
664 # Like AC_TRY_RUN, but it uses the already-computed -I directories.
665 # (But not the -L directories!)
667 AC_DEFUN(AC_TRY_X_RUN, [
668 ac_save_CPPFLAGS="$CPPFLAGS"
669 if test \! -z "$includedir" ; then
670 CPPFLAGS="$CPPFLAGS -I$includedir"
672 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
673 AC_TRY_RUN([$1], [$2], [$3], [$4])
674 CPPFLAGS="$ac_save_CPPFLAGS"])
678 # Usage: HANDLE_X_PATH_ARG([variable_name],
679 # [--command-line-option],
680 # [descriptive string])
682 # All of the --with options take three forms:
684 # --with-foo (or --with-foo=yes)
685 # --without-foo (or --with-foo=no)
688 # This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees
689 # a directory (string beginning with a slash) it checks to see whether
690 # /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS
693 AC_DEFUN(HANDLE_X_PATH_ARG, [
699 AC_MSG_CHECKING([for [$3] headers])
702 X_CFLAGS="-I$d $X_CFLAGS"
705 AC_MSG_RESULT(not found ($d: no such directory))
708 AC_MSG_CHECKING([for [$3] libs])
711 X_LIBS="-L$d $X_LIBS"
714 AC_MSG_RESULT(not found ($d: no such directory))
717 # replace the directory string with "yes".
724 echo "error: argument to [$2] must be \"yes\", \"no\", or a directory."
725 echo " If it is a directory, then \`DIR/include' will be added to"
726 echo " the -I list, and \`DIR/lib' will be added to the -L list."
734 ###############################################################################
735 ###############################################################################
737 # End of function definitions. Now start actually executing stuff.
739 ###############################################################################
740 ###############################################################################
742 # random compiler setup
745 AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
751 # stuff for Makefiles
756 # By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'.
757 # That's wrong: it should be set to '${INSTALL}', so that one can
758 # implement the "install-strip" target properly (strip executables,
759 # but do not try to strip scripts.)
761 INSTALL_SCRIPT='${INSTALL}'
765 AC_CHECK_HEADERS(unistd.h)
774 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
776 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
779 AC_CHECK_HEADERS(crypt.h sys/select.h)
782 if test -z "$PERL" ; then
783 # don't let it be blank...
789 if test "$have_x" != yes; then
790 AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.)
793 AC_PATH_X_APP_DEFAULTS
799 ###############################################################################
801 # Check for -lXmu (some fucked up vendors don't ship it...)
803 ###############################################################################
806 AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes])
807 if test "$have_xmu" = no ; then
808 XMU_SRCS='$(UTILS_SRC)/xmu.c'
809 XMU_OBJS='$(UTILS_BIN)/xmu.o'
819 ###############################################################################
821 # Check for the SunOS 4.1.x _get_wmShellWidgetClass bug.
822 # See comp.windows.x FAQ question 124. The right fix is to
823 # get OpenWindows 3.0 patches 100512-02 and 100573-03.
825 ###############################################################################
827 if test "$have_xmu" = yes ; then
830 AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
832 [ac_save_LDFLAGS="$LDFLAGS"
833 if test \! -z "$x_libraries" ; then
834 LDFLAGS="$LDFLAGS -L$x_libraries"
836 # Note: this trick never works! (Generally.)
837 # We're only getting away with using AC_TRY_LINK
838 # with X libraries because we know it's SunOS.
839 LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
841 [ac_cv_sunos_xmu_bug=no],
842 [ac_cv_sunos_xmu_bug=yes])
843 LDFLAGS="$ac_save_LDFLAGS"])
844 if test "$ac_cv_sunos_xmu_bug" = yes ; then
845 AC_CACHE_CHECK([whether the compiler understands -static],
847 [ac_save_LDFLAGS="$LDFLAGS"
848 LDFLAGS="$LDFLAGS -static"
849 AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
850 LDFLAGS="$ac_save_LDFLAGS"])
851 if test "$ac_cv_ld_static" = yes ; then
852 LDFLAGS="$LDFLAGS -static"
854 LDFLAGS="$LDFLAGS -Bstatic"
862 ###############################################################################
864 # Handle the --with-hackdir option
866 ###############################################################################
869 with_hackdir_req=unspecified
870 AC_ARG_WITH(hackdir,[
871 Installation options:
873 --with-hackdir=DIR Where to install the hundreds of demo executables.
874 Default: \`PREFIX/lib/xscreensaver/'
876 [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes])
878 if test x"$with_hackdir" = xyes; then
879 HACKDIR='${exec_prefix}/lib/xscreensaver'
880 elif test x"$with_hackdir" = xno; then
883 # there must be a better way than this...
884 if test -z "`echo $with_hackdir | sed 's@^/.*@@'`" ; then
886 HACKDIR=$with_hackdir
889 HACKDIR="\${exec_prefix}$with_hackdir"
893 # canonicalize slashes.
894 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
896 # This option used to be called --enable-subdir; make sure that is no longer
897 # used, since configure brain-damagedly ignores unknown --enable options.
900 AC_ARG_ENABLE(subdir,,[obsolete_enable=yes])
901 if test -n "$obsolete_enable"; then
902 echo "error: the --enable-subdir option has been replaced with"
903 echo " the new --with-hackdir option; see \`configure --help'"
904 echo " for more information."
909 ###############################################################################
911 # Handle the --with-configdir option
913 ###############################################################################
916 with_configdir_req=unspecified
917 AC_ARG_WITH(configdir,
918 [ --with-configdir=DIR Where to install the data files that describe each
919 of the display modes to the GUI.
920 Default: \`GNOMEPREFIX/control-center/screensavers/'
921 or \`PREFIX/lib/xscreensaver/config/', depending on
922 whether GNOME is available.
924 [with_configdir="$withval"; with_configdir_req="$withval"],
925 [with_configdir=yes])
927 if test x"$with_configdir" = xyes; then
930 elif test x"$with_configdir" = xno; then
931 echo "error: must be yes, or a pathname: --with-configdir=$with_configdir"
934 # there must be a better way than this...
935 if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then
937 CONFIGDIR=$with_configdir
940 CONFIGDIR="\${exec_prefix}$with_configdir"
944 # canonicalize slashes.
945 CONFIGDIR=`echo "${CONFIGDIR}" | sed 's@/$@@;s@//*@/@g'`
950 ###############################################################################
952 # Check for the SGI SCREEN_SAVER server extension.
954 ###############################################################################
957 with_sgi_req=unspecified
959 [Except where noted, all of the --with options below can also take a
960 directory argument: for example, \`--with-motif=/opt/Motif'. That would
961 cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
962 to be added to the -L list, assuming those directories exist.
964 By default, support for each of these options will be built in, if the
965 relevant library routines exist. At run time, they will then be used
966 only if the X server being used supports them. Each --with option has
967 a corresponding --without option, to override building support for them
970 Screen blanking and idle-detection options:
972 --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
973 [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
975 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
977 if test "$with_sgi" = yes; then
978 AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
980 AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
982 elif test "$with_sgi" != no; then
983 echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
988 ###############################################################################
990 # Check for the MIT-SCREEN-SAVER server extension.
992 ###############################################################################
995 with_mit_req=unspecified
997 [ --with-mit-ext Include support for the MIT-SCREEN-SAVER extension.],
998 [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
1000 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
1002 if test "$with_mit" = yes; then
1003 AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
1005 # Now check to see if it's really in the library; XF86Free-3.3 ships
1006 # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
1008 if test "$have_mit" = yes; then
1009 AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm)
1011 if test "$have_mit" = no; then
1012 # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead
1013 # of in Xext. Thank you master, may I have another.
1014 AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
1015 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"],
1016 [true], -lX11 -lXext -lm)
1019 if test "$have_mit" = no; then
1020 # Double fuck! Looks like some versions of XFree86 (whichever version
1021 # it is that comes with RedHat Linux 2.0 -- I can't find a version
1022 # number) put this garbage in Xss instead of Xext. Thank you master,
1023 # may I have another.
1024 AC_CHECK_X_LIB(Xss, XScreenSaverRegister,
1025 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"],
1026 [true], -lX11 -lXext -lm)
1029 if test "$have_mit" = yes; then
1030 AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
1035 elif test "$with_mit" != no; then
1036 echo "error: must be yes or no: --with-mit-ext=$with_mit"
1041 ###############################################################################
1043 # Check for the XIDLE server extension.
1045 ###############################################################################
1048 with_xidle_req=unspecified
1049 AC_ARG_WITH(xidle-ext,
1050 [ --with-xidle-ext Include support for the XIDLE extension.],
1051 [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
1053 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
1055 if test "$with_xidle" = yes; then
1056 AC_CHECK_X_HEADER(X11/extensions/xidle.h,
1058 AC_DEFINE(HAVE_XIDLE_EXTENSION)])
1059 elif test "$with_xidle" != no; then
1060 echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
1065 ###############################################################################
1067 # Check for the SGI-VIDEO-CONTROL server extension.
1069 ###############################################################################
1072 with_sgivc_req=unspecified
1073 AC_ARG_WITH(sgivc-ext,
1074 [ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
1075 [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
1077 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
1079 if test "$with_sgivc" = yes; then
1081 # first check for XSGIvc.h
1082 AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
1084 # if that succeeded, then check for the -lXsgivc
1085 if test "$have_sgivc" = yes; then
1087 AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
1088 [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
1092 # if that succeeded, then we've really got it.
1093 if test "$have_sgivc" = yes; then
1094 AC_DEFINE(HAVE_SGI_VC_EXTENSION)
1097 elif test "$with_sgivc" != no; then
1098 echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
1103 ###############################################################################
1105 # Check for the DPMS server extension.
1107 ###############################################################################
1110 with_dpms_req=unspecified
1111 AC_ARG_WITH(dpms-ext,
1112 [ --with-dpms-ext Include support for the DPMS extension.],
1113 [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes])
1115 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
1117 if test "$with_dpms" = yes; then
1119 # first check for dpms.h
1120 AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
1122 # if that succeeded, then check for the DPMS code in the libraries
1123 if test "$have_dpms" = yes; then
1125 # first look in -lXext (this is where it is with XFree86 4.0)
1127 AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11)
1129 # if that failed, look in -lXdpms (this is where it was in XFree86 3.x)
1130 if test "$have_dpms" = no; then
1131 AC_CHECK_X_LIB(Xdpms, DPMSInfo,
1132 [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true],
1138 # if that succeeded, then we've really got it.
1139 if test "$have_dpms" = yes; then
1140 AC_DEFINE(HAVE_DPMS_EXTENSION)
1143 elif test "$with_dpms" != no; then
1144 echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
1149 ###############################################################################
1151 # Check for the XINERAMA server extension.
1153 ###############################################################################
1156 with_xinerama_req=unspecified
1157 AC_ARG_WITH(xinerama-ext,
1158 [ --with-xinerama-ext Include support for the XINERAMA extension.],
1159 [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes])
1161 HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA)
1163 if test "$with_xinerama" = yes; then
1165 # first check for Xinerama.h
1166 AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes])
1168 # if that succeeded, then check for the XINERAMA code in the libraries
1169 if test "$have_xinerama" = yes; then
1171 # first look in -lXext
1173 AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [have_xinerama=yes], [true],
1176 # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.)
1177 if test "$have_xinerama" = no; then
1178 AC_CHECK_X_LIB(Xinerama, XineramaQueryExtension,
1179 [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"],
1180 [true], -lXext -lX11)
1184 # if that succeeded, then we've really got it.
1185 if test "$have_xinerama" = yes; then
1186 AC_DEFINE(HAVE_XINERAMA)
1189 elif test "$with_xinerama" != no; then
1190 echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama"
1195 ###############################################################################
1197 # Check for the XF86VMODE server extension (for virtual screens.)
1199 ###############################################################################
1202 with_xf86vmode_req=unspecified
1203 AC_ARG_WITH(xf86vmode-ext,
1204 [ --with-xf86vmode-ext Include support for XFree86 virtual screens.],
1205 [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"],
1206 [with_xf86vmode=yes])
1208 HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
1210 if test "$with_xf86vmode" = yes; then
1212 # first check for xf86vmode.h
1213 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes])
1215 # if that succeeded, then check for the -lXxf86vm
1216 if test "$have_xf86vmode" = yes; then
1218 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort,
1219 [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"],
1220 [true], -lXext -lX11)
1223 # if that succeeded, then we've really got it.
1224 if test "$have_xf86vmode" = yes; then
1225 AC_DEFINE(HAVE_XF86VMODE)
1228 elif test "$with_xf86vmode" != no; then
1229 echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode"
1234 ###############################################################################
1236 # Check for the XF86VMODE server extension (for gamma fading.)
1238 ###############################################################################
1241 have_xf86gamma_ramp=no
1242 with_xf86gamma_req=unspecified
1243 AC_ARG_WITH(xf86gamma-ext,
1244 [ --with-xf86gamma-ext Include support for XFree86 gamma fading.],
1245 [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"],
1246 [with_xf86gamma=yes])
1248 HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma)
1250 if test "$with_xf86gamma" = yes; then
1252 # first check for xf86vmode.h, if we haven't already
1253 if test "$have_xf86vmode" = yes; then
1256 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes])
1259 # if that succeeded, then check for the -lXxf86vm
1260 if test "$have_xf86gamma" = yes; then
1262 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma,
1263 [have_xf86gamma=yes],
1264 [true], -lXext -lX11)
1267 # check for the Ramp versions of the functions too.
1268 if test "$have_xf86gamma" = yes; then
1269 have_xf86gamma_ramp=no
1270 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp,
1271 [have_xf86gamma_ramp=yes],
1272 [true], -lXext -lX11)
1275 # if those tests succeeded, then we've really got the functions.
1276 if test "$have_xf86gamma" = yes; then
1277 AC_DEFINE(HAVE_XF86VMODE_GAMMA)
1280 if test "$have_xf86gamma_ramp" = yes; then
1281 AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP)
1284 # pull in the lib, if we haven't already
1285 if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then
1286 SAVER_LIBS="$SAVER_LIBS -lXxf86vm"
1289 elif test "$with_xf86gamma" != no; then
1290 echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode"
1295 ###############################################################################
1297 # Check for HP XHPDisableReset and XHPEnableReset.
1299 ###############################################################################
1301 AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h,
1302 [AC_DEFINE(HAVE_XHPDISABLERESET)
1303 SAVER_LIBS="-lXhp11 $SAVER_LIBS"])
1306 ###############################################################################
1308 # Check for /proc/interrupts.
1310 ###############################################################################
1312 have_proc_interrupts=no
1313 with_proc_interrupts_req=unspecified
1314 AC_ARG_WITH(proc-interrupts,
1315 [ --with-proc-interrupts Include support for consulting the /proc/interrupts
1316 file to notice keyboard activity.],
1317 [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
1318 [with_proc_interrupts=yes])
1320 if test "$with_proc_interrupts" = yes; then
1322 AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data],
1323 ac_cv_have_proc_interrupts,
1324 [ac_cv_have_proc_interrupts=no
1325 if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
1326 ac_cv_have_proc_interrupts=yes
1329 have_proc_interrupts=$ac_cv_have_proc_interrupts
1331 if test "$have_proc_interrupts" = yes; then
1332 AC_DEFINE(HAVE_PROC_INTERRUPTS)
1335 elif test "$with_proc_interrupts" != no; then
1336 echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
1341 ###############################################################################
1343 # The --enable-locking option
1345 ###############################################################################
1347 AC_ARG_ENABLE(locking,[
1348 Screen locking options:
1350 --enable-locking Compile in support for locking the display.
1351 --disable-locking Do not allow locking at all.
1353 [enable_locking="$enableval"],[enable_locking=yes])
1354 if test "$enable_locking" = yes; then
1356 elif test "$enable_locking" = no; then
1357 AC_DEFINE(NO_LOCKING)
1359 echo "error: must be yes or no: --enable-locking=$enable_locking"
1365 ###############################################################################
1367 # The --enable-vt-locking option
1369 ###############################################################################
1371 #ac_vt_lockswitch=no
1372 #AC_ARG_ENABLE(vt-locking,[
1373 # --enable-vt-locking Compile in support for locking Virtual Terminals.
1374 # This is the default if the system supports it, and
1375 # if locking support is included (--enable-locking.)
1376 # --disable-vt-locking Do not allow locking of VTs, even if locking is
1378 # [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
1379 #if test "$enable_vt_locking" = yes; then
1381 # AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch,
1382 # [AC_TRY_COMPILE([#include <fcntl.h>
1383 # #include <sys/ioctl.h>
1384 # #include <sys/vt.h>],
1385 # [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;],
1386 # [ac_cv_vt_lockswitch=yes],
1387 # [ac_cv_vt_lockswitch=no])])
1388 # ac_vt_lockswitch=$ac_cv_vt_lockswitch
1390 #elif test "$enable_vt_locking" = no; then
1393 # echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
1397 #if test "$ac_vt_lockswitch" = yes; then
1398 # AC_DEFINE(HAVE_VT_LOCKSWITCH)
1399 # # the VT_LOCKSWITCH ioctl can only be used when running as root.
1400 # # #### but it doesn't work yet, so don't worry about that for now.
1406 ###############################################################################
1410 ###############################################################################
1414 # Solaris systems tend to come with PAM misconfigured.
1415 # Don't build it by default, even if the headers exist.
1419 # Default to building PAM support on all other systems, if it exists.
1420 with_pam_default=yes
1425 with_pam_req=unspecified
1428 [ --with-pam Include support for PAM (Pluggable Auth Modules.)],
1429 [with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default])
1431 HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
1433 if test "$enable_locking" = yes -a "$with_pam" = yes; then
1434 AC_CACHE_CHECK([for PAM], ac_cv_pam,
1435 [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],,
1438 if test "$ac_cv_pam" = yes ; then
1441 PASSWD_LIBS="${PASSWD_LIBS} -lpam"
1443 # libpam typically requires dlopen and dlsym. On FreeBSD,
1444 # those are in libc. On Linux and Solaris, they're in libdl.
1445 AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"])
1447 AC_MSG_CHECKING(how to call pam_strerror)
1448 AC_CACHE_VAL(ac_cv_pam_strerror_args,
1449 [AC_TRY_COMPILE([#include <stdio.h>
1451 #include <security/pam_appl.h>],
1452 [pam_handle_t *pamh = 0;
1453 char *s = pam_strerror(pamh, PAM_SUCCESS);],
1454 [ac_pam_strerror_args=2],
1455 [AC_TRY_COMPILE([#include <stdio.h>
1457 #include <security/pam_appl.h>],
1459 pam_strerror(PAM_SUCCESS);],
1460 [ac_pam_strerror_args=1],
1461 [ac_pam_strerror_args=0])])
1462 ac_cv_pam_strerror_args=$ac_pam_strerror_args])
1463 ac_pam_strerror_args=$ac_cv_pam_strerror_args
1464 if test "$ac_pam_strerror_args" = 1 ; then
1465 AC_MSG_RESULT(one argument)
1466 elif test "$ac_pam_strerror_args" = 2 ; then
1467 AC_DEFINE(PAM_STRERROR_TWO_ARGS)
1468 AC_MSG_RESULT(two arguments)
1470 AC_MSG_RESULT(unknown)
1476 ###############################################################################
1478 # Check for Kerberos.
1480 ###############################################################################
1484 with_kerberos_req=unspecified
1486 AC_ARG_WITH(kerberos,
1487 [ --with-kerberos Include support for Kerberos authentication.],
1488 [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes])
1490 HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
1492 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
1493 AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos,
1494 [AC_TRY_X_COMPILE([#include <krb.h>],,
1495 [ac_cv_kerberos=yes],
1496 [ac_cv_kerberos=no])])
1497 AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5,
1498 [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],,
1499 [ac_cv_kerberos5=yes],
1500 [ac_cv_kerberos5=no])])
1502 if test "$ac_cv_kerberos" = yes ; then
1504 AC_DEFINE(HAVE_KERBEROS)
1507 if test "$ac_cv_kerberos5" = yes ; then
1510 AC_DEFINE(HAVE_KERBEROS)
1511 AC_DEFINE(HAVE_KERBEROS5)
1514 if test "$have_kerberos5" = yes ; then
1515 # from Matt Knopp <mhat@infocalypse.netlag.com>
1516 # (who got it from amu@mit.edu)
1517 PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
1518 elif test "$have_kerberos" = yes ; then
1519 # from Tim Showalter <tjs+@andrew.cmu.edu>
1520 PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes"
1523 if test "$have_kerberos" = yes ; then
1524 AC_CHECK_FUNC(res_search,,
1525 AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
1526 AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
1532 ###############################################################################
1534 # Check for the nine billion variants of shadow passwords...
1536 ###############################################################################
1541 with_shadow_req=unspecified
1544 [ --with-shadow Include support for shadow password authentication.],
1545 [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
1547 HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
1549 if test "$enable_locking" = no ; then
1555 ###############################################################################
1557 # Check for Sun "adjunct" passwords.
1559 ###############################################################################
1561 if test "$with_shadow" = yes ; then
1562 AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
1563 [AC_TRY_X_COMPILE([#include <stdlib.h>
1565 #include <sys/types.h>
1566 #include <sys/label.h>
1567 #include <sys/audit.h>
1568 #include <pwdadj.h>],
1569 [struct passwd_adjunct *p = getpwanam("nobody");
1570 const char *pw = p->pwa_passwd;],
1571 [ac_cv_sun_adjunct=yes],
1572 [ac_cv_sun_adjunct=no])])
1573 if test "$ac_cv_sun_adjunct" = yes; then
1574 have_shadow_adjunct=yes
1581 ###############################################################################
1583 # Check for DEC and SCO so-called "enhanced" security.
1585 ###############################################################################
1587 if test "$with_shadow" = yes ; then
1588 AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
1589 [AC_TRY_X_COMPILE([#include <stdlib.h>
1591 #include <sys/types.h>
1593 #include <sys/security.h>
1595 [struct pr_passwd *p;
1597 set_auth_parameters(0, 0);
1598 check_auth_parameters();
1599 p = getprpwnam("nobody");
1600 pw = p->ufld.fd_encrypt;],
1601 [ac_cv_enhanced_passwd=yes],
1602 [ac_cv_enhanced_passwd=no])])
1603 if test $ac_cv_enhanced_passwd = yes; then
1604 have_shadow_enhanced=yes
1608 # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
1609 # (I'm told it needs -lcurses too, but I don't understand why.)
1610 # But on DEC, it's in -lsecurity.
1612 AC_CHECK_LIB(prot, getprpwnam,
1613 [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"],
1614 [AC_CHECK_LIB(security, getprpwnam,
1615 [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])],
1620 ###############################################################################
1622 # Check for HP's entry in the "Not Invented Here" Sweepstakes.
1624 ###############################################################################
1626 if test "$with_shadow" = yes ; then
1627 AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
1628 [AC_TRY_X_COMPILE([#include <stdlib.h>
1630 #include <sys/types.h>
1632 #include <hpsecurity.h>
1634 [struct s_passwd *p = getspwnam("nobody");
1635 const char *pw = p->pw_passwd;],
1636 [ac_cv_hpux_passwd=yes],
1637 [ac_cv_hpux_passwd=no])])
1638 if test "$ac_cv_hpux_passwd" = yes; then
1639 have_shadow_hpux=yes
1643 # on HPUX, bigcrypt is in -lsec
1644 AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"])
1649 ###############################################################################
1651 # Check for FreeBSD-style shadow passwords.
1653 # On FreeBSD, getpwnam() and friends work just like on non-shadow-
1654 # password systems -- except you only get stuff in the pw_passwd field
1655 # if the running program is setuid. So, guess that we've got this
1656 # lossage to contend with if /etc/master.passwd exists, and default to
1657 # a setuid installation.
1659 ###############################################################################
1661 if test "$with_shadow" = yes ; then
1662 AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
1663 [if test -f /etc/master.passwd ; then
1664 ac_cv_master_passwd=yes
1666 ac_cv_master_passwd=no
1668 if test "$ac_cv_master_passwd" = yes; then
1674 ###############################################################################
1676 # Check for traditional (ha!) shadow passwords.
1678 ###############################################################################
1680 if test "$with_shadow" = yes ; then
1681 AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
1682 [AC_TRY_X_COMPILE([#include <stdlib.h>
1684 #include <sys/types.h>
1686 #include <shadow.h>],
1687 [struct spwd *p = getspnam("nobody");
1688 const char *pw = p->sp_pwdp;],
1690 [ac_cv_shadow=no])])
1691 if test "$ac_cv_shadow" = yes; then
1695 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
1697 AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
1698 if test "$have_getspnam" = no ; then
1699 AC_CHECK_LIB(gen, getspnam,
1700 [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
1706 ###############################################################################
1708 # Check for other libraries needed for non-shadow passwords.
1710 ###############################################################################
1712 if test "$enable_locking" = yes ; then
1714 # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
1716 AC_CHECK_LIB(c, crypt, [have_crypt=yes])
1717 if test "$have_crypt" = no ; then
1718 AC_CHECK_LIB(crypt, crypt,
1719 [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
1724 # Most of the above shadow mechanisms will have set need_setuid to yes,
1725 # if they were found. But, on some systems, we need setuid even when
1726 # using plain old vanilla passwords.
1728 if test "$enable_locking" = yes ; then
1730 *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
1737 if test "$have_shadow_adjunct" = yes ; then
1738 AC_DEFINE(HAVE_ADJUNCT_PASSWD)
1739 elif test "$have_shadow_enhanced" = yes ; then
1740 AC_DEFINE(HAVE_ENHANCED_PASSWD)
1741 elif test "$have_shadow_hpux" = yes ; then
1742 AC_DEFINE(HAVE_HPUX_PASSWD)
1743 elif test "$have_shadow" = yes ; then
1744 AC_DEFINE(HAVE_SHADOW_PASSWD)
1748 ###############################################################################
1752 ###############################################################################
1755 with_motif_req=unspecified
1757 User interface options:
1759 --with-motif Use the Motif toolkit for the user interface.],
1760 [with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
1762 HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
1764 if test "$with_motif" != yes -a "$with_motif" != no ; then
1765 echo "error: must be yes or no: --with-motif=$with_motif"
1769 if test "$with_motif" = yes; then
1771 AC_CHECK_X_HEADER(Xm/Xm.h,
1773 AC_DEFINE(HAVE_MOTIF)
1774 MOTIF_LIBS="$MOTIF_LIBS -lXm"])
1778 if test "$have_motif" = yes; then
1779 AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)])
1783 ###############################################################################
1785 # Check for -lgtk (and Gnome stuff)
1787 ###############################################################################
1790 with_gtk_req=unspecified
1792 [ --with-gtk Use the Gtk toolkit for the user interface.],
1793 [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes])
1795 # if --with-gtk=/directory/ was specified, remember that directory so that
1796 # we can also look for the `gtk-config' program in that directory.
1806 HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk)
1808 if test "$with_gtk" != yes -a "$with_gtk" != no ; then
1809 echo "error: must be yes or no: --with-gtk=$with_gtk"
1814 with_gnome_req=unspecified
1816 [ --with-gnome Include support for the Gnome Control Center.],
1817 [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
1819 # if --with-gnome=/directory/ was specified, remember that directory so that
1820 # we can also look for the `gnome-config' program in that directory.
1821 case "$with_gnome" in
1823 gnome_dir="$with_gnome"
1830 HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
1832 if test "$with_gnome" != yes -a "$with_gnome" != no ; then
1833 echo "error: must be yes or no: --with-gnome=$with_gnome"
1839 if test "$with_gtk" = yes; then
1842 # if the user specified --with-gtk=/foo/ then look in /foo/bin/
1843 # for glib-config and gtk-config.
1847 if test ! -z "$gtk_dir"; then
1848 # canonicalize slashes.
1849 gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
1850 gtk_path="$gtk_dir:$gtk_path"
1853 if test ! -z "gnome_dir"; then
1854 # canonicalize slashes.
1855 gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
1856 gtk_path="$gnome_dir:$gtk_path"
1859 AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
1860 AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
1862 if test "$with_gnome" = yes; then
1863 AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
1866 if test -n "$glib_config" -a -n "gtk_config" ; then
1868 if test "$with_gnome" = yes -a -n "$gnome_config" ; then
1873 if test "$have_gtk" = yes; then
1874 AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
1875 [ac_cv_gtk_version_string=`$gtk_config --version`])
1876 ac_gtk_version_string=$ac_cv_gtk_version_string
1879 maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
1880 min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
1882 ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
1883 if test -z "$ac_gtk_version"; then
1884 ac_gtk_version=unknown
1885 ac_gtk_version_string=unknown
1887 if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
1895 if test "$have_gtk" = yes; then
1896 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
1897 [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
1898 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
1899 [ac_cv_gtk_config_libs=`$gtk_config --libs`])
1901 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
1902 ac_gtk_config_libs=$ac_cv_gtk_config_libs
1904 # Check for Gnome Capplet support.
1906 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1907 gnome_config_libs="gtk capplet gnomeui xml"
1908 AC_MSG_CHECKING(for Gnome capplet includes)
1909 AC_CACHE_VAL(ac_cv_gnome_config_cflags,
1910 [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
1911 grep Unknown >/dev/null ) ; then
1912 ac_cv_gnome_config_cflags=''
1914 ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
1916 ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
1917 if test "$ac_gnome_config_cflags" = "" ; then
1921 AC_MSG_RESULT($ac_gnome_config_cflags)
1925 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1926 AC_MSG_CHECKING(for Gnome capplet libs)
1927 AC_CACHE_VAL(ac_cv_gnome_config_libs,
1928 [if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null |
1929 grep Unknown >/dev/null ) ; then
1930 ac_cv_gnome_config_libs=''
1932 ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
1934 ac_gnome_config_libs=$ac_cv_gnome_config_libs
1935 if test "$ac_gnome_config_libs" = "" ; then
1939 AC_MSG_RESULT($ac_gnome_config_libs)
1944 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1945 GNOME_DATADIR=`$gnome_config --datadir`
1949 # If we have Gnome, then override the gtk-config values with
1950 # the gnome-config values.
1952 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1953 ac_gtk_config_cflags=$ac_gnome_config_cflags
1954 ac_gtk_config_libs=$ac_gnome_config_libs
1955 AC_DEFINE(HAVE_CRAPPLET)
1959 if test "$have_gtk" = yes; then
1960 INCLUDES="$INCLUDES $ac_gtk_config_cflags"
1961 GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
1968 # Check for the Gnome Help Browser.
1970 if test "$have_gnome" = yes; then
1971 AC_CHECK_PROG(have_gnome_help, gnome-help-browser, yes, no)
1977 ###############################################################################
1979 # Check for -lxml (if we have Gtk)
1981 ###############################################################################
1984 with_xml_req=unspecified
1986 [ --with-xml The XML toolkit is needed for some parts of
1987 the Gtk interface.],
1988 [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
1990 HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
1992 if test "$with_xml" != yes -a "$with_xml" != no ; then
1993 echo "error: must be yes or no: --with-xml=$with_xml"
1997 if test "$have_gtk" != yes; then
1998 # don't bother if no GTK
2002 if test "$with_xml" = yes; then
2005 # the XML stuff is likely to be in GTK paths.
2006 ac_save_X_CFLAGS="$X_CFLAGS"
2007 ac_save_X_LIBS="$X_LIBS"
2008 X_CFLAGS="$X_CFLAGS $ac_gtk_config_cflags"
2009 X_LIBS="$X_LIBS $ac_gtk_config_libs"
2011 AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes])
2013 if test "$have_xml" = yes; then
2014 # we have the header, now check for the library
2016 AC_CHECK_X_LIB(xml, xmlParseChunk,
2019 AC_DEFINE(HAVE_XML)])
2022 X_CFLAGS="$ac_save_X_CFLAGS"
2023 X_LIBS="$ac_save_X_LIBS"
2028 ###############################################################################
2030 # Checking whether Motif is really Lesstif.
2032 ###############################################################################
2035 if test "$have_motif" = yes ; then
2036 AC_CACHE_CHECK([whether Motif is really LessTif],
2038 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
2039 [long vers = LesstifVersion;],
2040 [ac_cv_have_lesstif=yes],
2041 [ac_cv_have_lesstif=no])])
2042 have_lesstif=$ac_cv_have_lesstif
2046 lesstif_version=unknown
2047 lesstif_version_string=unknown
2049 if test "$have_lesstif" = yes ; then
2051 echo unknown > conftest-lt
2052 AC_CACHE_CHECK([LessTif version number],
2053 ac_cv_lesstif_version_string,
2054 [AC_TRY_X_RUN([#include <stdio.h>
2057 FILE *f = fopen("conftest-lt", "w");
2059 fprintf(f, "%d %d.%d\n", LesstifVersion,
2060 LESSTIF_VERSION, LESSTIF_REVISION);
2064 [ltv=`cat conftest-lt`
2065 ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
2066 ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`],
2067 [ac_cv_lesstif_version=unknown
2068 ac_cv_lesstif_version_string=unknown],
2069 [ac_cv_lesstif_version=unknown
2070 ac_cv_lesstif_version_string=unknown])])
2072 lesstif_version=$ac_cv_lesstif_version
2073 lesstif_version_string=$ac_cv_lesstif_version_string
2078 if test "$have_motif" = yes ; then
2080 echo unknown > conftest-mt
2081 AC_CACHE_CHECK([Motif version number],
2082 ac_cv_motif_version_string,
2083 [AC_TRY_X_RUN([#include <stdio.h>
2086 FILE *f = fopen("conftest-mt", "w");
2088 fprintf(f, "%d %d.%d\n", XmVersion,
2089 XmVERSION, XmREVISION);
2093 [mtv=`cat conftest-mt`
2094 ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
2095 ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
2096 [ac_cv_motif_version=unknown
2097 ac_cv_motif_version_string=unknown],
2098 [ac_cv_motif_version=unknown
2099 ac_cv_motif_version_string=unknown])])
2101 motif_version=$ac_cv_motif_version
2102 motif_version_string=$ac_cv_motif_version_string
2107 ###############################################################################
2109 # Checking whether Motif requires -lXpm.
2111 # If this is Motif 2.x, and we have XPM, then link against XPM as well.
2112 # The deal is, Motif 2.x requires XPM -- but it's a compilation option
2113 # of the library whether to build the XPM code into libXm, or whether
2114 # to rely on an external libXm. So the only way to tell whether XPM is
2115 # a link-time requirement is to examine libXm.a, which is very
2116 # difficult to do in an autoconf script. So... if it's Motif 2.x, we
2117 # always link against XPM if the XPM lib exists (and this will be a
2118 # no-op if libXm happens to already have the XPM code in it.)
2120 ###############################################################################
2122 motif_requires_xpm=no
2123 if test "$have_motif" = yes ; then
2124 AC_MSG_CHECKING(whether Motif requires XPM)
2125 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
2127 motif_requires_xpm=yes
2128 AC_MSG_RESULT(maybe)
2135 ###############################################################################
2137 # Checking whether Motif requires -lXp.
2139 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
2140 # Extension". Why this extension isn't in -lXext with all the others,
2143 ###############################################################################
2146 if test "$have_motif" = yes ; then
2148 AC_CHECK_X_LIB(Xp, XpQueryExtension,
2149 [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"],
2150 [true], -lX11 -lXext -lm)
2154 ###############################################################################
2156 # Checking whether Motif requires -lXintl (for _Xsetlocale.)
2158 ###############################################################################
2161 if test "$have_motif" = yes ; then
2162 AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no],
2164 if test "$have_xintl" = yes; then
2165 MOTIF_LIBS="$MOTIF_LIBS -lXintl"
2170 ###############################################################################
2172 # Check for -lGL or -lMesaGL.
2174 ###############################################################################
2178 with_gl_req=unspecified
2183 --with-gl Build those demos which depend on OpenGL.],
2184 [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes])
2186 HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
2188 ac_mesagl_version=unknown
2189 ac_mesagl_version_string=unknown
2191 if test "$with_gl" = yes; then
2192 AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
2193 if test "$have_gl" = yes ; then
2194 AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
2197 # If we have the headers, try and figure out which vendor it's from.
2199 if test "$have_gl" = yes ; then
2201 # We need to know whether it's MesaGL so that we know which libraries
2204 AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
2205 [ac_cv_have_mesa_gl=no
2206 AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
2208 ac_have_mesa_gl=$ac_cv_have_mesa_gl
2215 # Some versions of MesaGL are compiled to require -lpthread.
2216 # So if the Mesa headers exist, and -lpthread exists, then always
2217 # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
2219 if test "$ac_have_mesa_gl" = yes; then
2220 AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
2224 # If we have Mesa headers, check to see if we can link against -lMesaGL.
2225 # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
2226 # Else, warn that GL is busted. (We have the headers, but no libs.)
2229 if test "$ac_have_mesa_gl" = yes ; then
2230 AC_CHECK_X_LIB(MesaGL, glXCreateContext,
2232 GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"],
2233 [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm)
2236 if test "$gl_lib_1" = "" ; then
2237 AC_CHECK_X_LIB(GL, glXCreateContext,
2239 GL_LIBS="-lGL -lGLU $GL_LIBS"],
2240 [], -lGLU $GL_LIBS -lX11 -lXext -lm)
2243 if test "$gl_lib_1" = "" ; then
2244 # we have headers, but no libs -- bail.
2249 # linking works -- we can build the GL hacks.
2251 if test "$ac_have_mesa_gl" = yes ; then
2252 AC_DEFINE(HAVE_MESA_GL)
2258 # Now that we know we have GL headers and libs, do some more GL testing.
2261 if test "$have_gl" = yes ; then
2262 # If it's MesaGL, we'd like to issue a warning if the version number
2263 # is less than or equal to 2.6, because that version had a security bug.
2265 if test "$ac_have_mesa_gl" = yes; then
2267 AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string,
2268 [cat > conftest.$ac_ext <<EOF
2269 #line __oline__ "configure"
2270 #include "confdefs.h"
2272 #ifndef MESA_MAJOR_VERSION
2273 # include <GL/xmesa.h>
2274 # define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION
2275 # define MESA_MINOR_VERSION XMESA_MINOR_VERSION
2277 configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
2280 ac_save_CPPFLAGS="$CPPFLAGS"
2281 if test \! -z "$includedir" ; then
2282 CPPFLAGS="$CPPFLAGS -I$includedir"
2284 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2288 mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
2289 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
2292 rm -f conftest.$ac_ext
2294 CPPFLAGS="$ac_save_CPPFLAGS"
2296 if test "$mglv" = ""; then
2297 ac_mesagl_version=unknown
2298 ac_mesagl_version_string=unknown
2300 ac_mesagl_version_string=$mglv
2301 maj=`echo $mglv | sed -n 's/\..*//p'`
2302 min=`echo $mglv | sed -n 's/.*\.//p'`
2303 ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
2304 if test -z "$ac_mesagl_version"; then
2305 ac_mesagl_version=unknown
2306 ac_mesagl_version_string=unknown
2309 ac_cv_mesagl_version=$ac_mesagl_version
2310 ac_cv_mesagl_version_string=$ac_mesagl_version_string
2312 ac_mesagl_version=$ac_cv_mesagl_version
2313 ac_mesagl_version_string=$ac_cv_mesagl_version_string
2317 # Check for OpenGL 1.1 features.
2319 AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
2320 [true], $GL_LIBS -lX11 -lXext -lm)
2323 elif test "$with_gl" != no; then
2324 echo "error: must be yes or no: --with-gl=$with_gl"
2329 ###############################################################################
2333 ###############################################################################
2336 with_gle_req=unspecified
2339 [ --with-gle Build those demos which depend on GLE
2340 (the OpenGL "extrusion" library.)],
2341 [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes])
2343 HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE)
2347 if test "$with_gle" = yes; then
2349 AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no)
2350 if test "$have_gle3" = yes ; then
2353 AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no)
2354 if test "$have_gle" = yes ; then
2355 AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no)
2359 if test "$have_gle" = yes ; then
2362 AC_CHECK_X_LIB(gle, gleCreateGC,
2363 [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"],
2364 [], $GL_LIBS -lX11 -lXext -lm)
2366 if test "$have_gle" = yes ; then
2370 # sometimes the libmatrix stuff is included in libgle. look there first.
2372 # I don't get it. For some reason, this test passes on SGI, as if
2373 # uview_direction_d() was in libgle -- but it's not, it's in libmatrix.
2374 # Yet the link is succeeding. Why???
2376 # AC_CHECK_X_LIB(gle, uview_direction_d,
2377 # [have_gle=yes; gle_halfassed=no],
2378 # [], $GL_LIBS -lX11 -lXext -lm)
2380 # As of GLE 3 this is in libgle, and has changed name to uview_direction!
2382 if test "$have_gle3" = yes ; then
2383 AC_CHECK_X_LIB(gle, uview_direction,
2384 [have_gle=yes; gle_halfassed=no],
2385 [], $GL_LIBS -lX11 -lXext -lm)
2387 # if it wasn't in libgle, then look in libmatrix.
2388 if test "$have_gle" = no ; then
2389 AC_CHECK_X_LIB(matrix, uview_direction_d,
2390 [have_gle=yes; gle_halfassed=no;
2391 GLE_LIBS="$GLE_LIBS -lmatrix"],
2392 [], $GL_LIBS -lX11 -lXext -lm)
2396 if test "$have_gle" = yes ; then
2398 if test "$have_gle3" = yes ; then
2399 AC_DEFINE(HAVE_GLE3)
2403 elif test "$with_gle" != no; then
2404 echo "error: must be yes or no: --with-gle=$with_gle"
2411 ###############################################################################
2415 ###############################################################################
2418 with_xpm_req=unspecified
2420 [ --with-xpm Include support for XPM files in some demos.],
2421 [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
2423 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
2425 if test "$with_xpm" = yes; then
2426 AC_CHECK_X_HEADER(X11/xpm.h,
2430 elif test "$with_xpm" != no; then
2431 echo "error: must be yes or no: --with-xpm=$with_xpm"
2435 # See comment near $motif_requires_xpm, above.
2436 # Need to do this here, after both Motif and XPM have been checked for.
2438 if test "$have_motif" = yes -a "$have_xpm" = yes ; then
2439 if test "$motif_requires_xpm" = yes ; then
2440 MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
2445 ###############################################################################
2447 # Check for the XSHM server extension.
2449 ###############################################################################
2452 with_xshm_req=unspecified
2453 AC_ARG_WITH(xshm-ext,
2454 [ --with-xshm-ext Include support for the XSHM extension.],
2455 [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
2457 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
2459 if test "$with_xshm" = yes; then
2461 # first check for Xshm.h.
2462 AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
2464 # if that succeeded, then check for sys/ipc.h.
2465 if test "$have_xshm" = yes; then
2467 AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
2470 # if that succeeded, then check for sys/shm.h.
2471 if test "$have_xshm" = yes; then
2473 AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
2476 # AIX is pathological, as usual: apparently it's normal for the Xshm headers
2477 # to exist, but the library code to not exist. And even better, the library
2478 # code is in its own library: libXextSam.a. So, if we're on AIX, and that
2479 # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and
2480 # that's not quite right, but close enough.)
2484 if [ `uname -v` -eq 3 ]; then
2486 AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
2487 [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
2488 [true], -lX11 -lXext -lm)
2493 # if that succeeded, then we've really got it.
2494 if test "$have_xshm" = yes; then
2495 AC_DEFINE(HAVE_XSHM_EXTENSION)
2498 elif test "$with_xshm" != no; then
2499 echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
2504 ###############################################################################
2506 # Check for the DOUBLE-BUFFER server extension.
2508 ###############################################################################
2511 with_xdbe_req=unspecified
2512 AC_ARG_WITH(xdbe-ext,
2513 [ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.],
2514 [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
2516 HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
2518 if test "$with_xdbe" = yes; then
2520 AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes])
2521 if test "$have_xdbe" = yes; then
2522 AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
2525 elif test "$with_xdbe" != no; then
2526 echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
2531 ###############################################################################
2533 # Check for the SGI XReadDisplay server extension.
2535 # Note: this has to be down here, rather than up with the other server
2536 # extension tests, so that the output of `configure --help' is in the
2537 # right order. Arrgh!
2539 ###############################################################################
2542 with_readdisplay_req=unspecified
2543 AC_ARG_WITH(readdisplay,
2544 [ --with-readdisplay Include support for the XReadDisplay extension.],
2545 [with_readdisplay="$withval"; with_readdisplay_req="$withval"],
2546 [with_readdisplay=yes])
2548 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
2550 if test "$with_readdisplay" = yes; then
2551 AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
2552 AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
2553 elif test "$with_readdisplay" != no; then
2554 echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
2559 ###############################################################################
2561 # Check for a program to generate random text.
2563 # Zippy is funnier than the idiocy generally spat out by `fortune',
2564 # so first see if "fortune zippy" works. Else, use plain "fortune".
2566 # We used to dig around in Emacs to look for the "yow" program, but
2567 # most people who have Emacs also have "fortune zippy", so nevermind.
2569 ###############################################################################
2572 AC_ARG_WITH(fortune,[
2573 --with-fortune=PROGRAM Some demos are able to run an external program and
2574 display its text; this names the program to use by
2575 default (though it can be overridden with X
2576 resources.) Default is \"/usr/games/fortune\".],
2577 [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes])
2579 if test "$with_fortune" = no || test "$with_fortune" = yes ; then
2584 if test -n "$with_fortune_req" ; then
2585 ac_cv_fortune_program=""
2586 case "$with_fortune_req" in
2589 set dummy $with_fortune_req ; fortune_tmp=$2
2590 AC_MSG_CHECKING([for $fortune_tmp])
2591 if test -x "$fortune_tmp" ; then
2599 set dummy $with_fortune_req ; fortune_tmp=$2
2601 unset ac_cv_path_fortune_tmp
2602 AC_PATH_PROG(fortune_tmp, $fortune_tmp, [])
2603 if test -z "$fortune_tmp" ; then
2608 ac_cv_fortune_program="$with_fortune"
2610 elif test -n "$ac_cv_fortune_program"; then
2611 AC_MSG_RESULT([checking for fortune... (cached) $ac_cv_fortune_program])
2614 unset ac_cv_path_fortune_tmp
2617 if test -z "$ac_cv_fortune_program" ; then
2619 # first look for fortune in /usr/games/ (and use absolute path)
2620 AC_PATH_PROGS(fortune_tmp, fortune,, "/usr/games")
2622 # if it's not there, look on $PATH (and don't use absolute path)
2623 if test -z "$fortune_tmp" ; then
2624 AC_CHECK_PROGS(fortune_tmp, fortune)
2627 # if we didn't find anything, then just assume /usr/games/
2628 if test -z "$fortune_tmp" ; then
2629 fortune_tmp="/usr/games/fortune"
2632 ac_cv_fortune_program="$fortune_tmp"
2634 # now check to see whether "fortune zippy" works.
2636 fortune_tmp="$fortune_tmp zippy"
2637 AC_MSG_CHECKING([for zippy quotes])
2638 if ( $fortune_tmp >/dev/null 2>&1 ); then
2639 ac_cv_fortune_program="$fortune_tmp"
2640 AC_MSG_RESULT($fortune_tmp)
2647 unset ac_cv_path_fortune_tmp
2650 AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program")
2653 ###############################################################################
2655 # Check whether it's ok to install some hacks as setuid (e.g., "sonar")
2656 # This should be safe, but let's give people the option.
2658 ###############################################################################
2660 setuid_hacks_default=no
2661 setuid_hacks="$setuid_hacks_default"
2662 AC_ARG_WITH(setuid-hacks,
2663 [ --with-setuid-hacks Allow some demos to be installed \`setuid root'
2664 (which is needed in order to ping other hosts.)
2666 [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"])
2668 HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks)
2670 if test "$setuid_hacks" = yes; then
2672 elif test "$setuid_hacks" != no; then
2673 echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
2678 ###############################################################################
2680 # Done testing. Now, set up the various -I and -L variables,
2681 # and decide which GUI program to build by default.
2683 ###############################################################################
2690 if test \! -z "$includedir" ; then
2691 INCLUDES="$INCLUDES -I$includedir"
2694 if test \! -z "$libdir" ; then
2695 LDFLAGS="$LDFLAGS -L$libdir"
2699 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
2701 if test "$have_motif" = yes; then
2702 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
2703 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
2705 if test "$have_gtk" = yes; then
2706 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
2707 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
2711 if test "$have_kerberos" = yes; then
2712 PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
2713 PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)"
2715 if test "$have_pam" = yes; then
2716 PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)"
2717 PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
2718 INSTALL_PAM="install-pam"
2720 PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)"
2721 PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)"
2724 if test "$enable_locking" = yes; then
2725 LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
2726 LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
2728 LOCK_SRCS='$(NOLOCK_SRCS_1)'
2729 LOCK_OBJS='$(NOLOCK_OBJS_1)'
2732 INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)'
2734 if test "$need_setuid" = yes; then
2740 if test "$setuid_hacks" = yes; then
2747 if test "$have_gl" = yes; then
2748 GL_EXES='$(GL_EXES)'
2749 GL_UTIL_EXES='$(GL_UTIL_EXES)'
2753 GL_KLUDGE="-${tab} "
2756 if test "$have_gle" = yes; then
2757 GLE_EXES='$(GLE_EXES)'
2758 GLE_MEN='$(GLE_MEN)'
2759 GLE_KLUDGE="${tab} "
2761 GLE_KLUDGE="-${tab} "
2765 # Another substitution in the XScreenSaver.ad.in file:
2767 if test "$have_gnome_help" = yes; then
2776 # Now that we know whether we have Gnome, we can decide where the XML
2777 # config files get installed.
2778 if test -z "$HACK_CONF_DIR" ; then
2779 if test -n "$GNOME_DATADIR" ; then
2780 HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
2782 HACK_CONF_DIR='${prefix}/lib/xscreensaver/config'
2787 ###############################################################################
2789 # Perform substitutions and write Makefiles.
2791 ###############################################################################
2795 AC_SUBST(PREFERRED_DEMO_PROGRAM)
2796 AC_SUBST(ALL_DEMO_PROGRAMS)
2797 AC_SUBST(SAVER_LIBS)
2798 AC_SUBST(MOTIF_LIBS)
2805 AC_SUBST(XDPMS_LIBS)
2806 AC_SUBST(PASSWD_LIBS)
2807 AC_SUBST(INSTALL_SETUID)
2808 AC_SUBST(SETUID_HACKS)
2809 AC_SUBST(INSTALL_DIRS)
2810 AC_SUBST(NEED_SETUID)
2811 AC_SUBST(INSTALL_PAM)
2813 AC_SUBST(PASSWD_SRCS)
2814 AC_SUBST(PASSWD_OBJS)
2818 AC_SUBST(SAVER_GL_SRCS)
2819 AC_SUBST(SAVER_GL_OBJS)
2820 AC_SUBST(SAVER_GL_LIBS)
2824 AC_SUBST(GL_UTIL_EXES)
2829 AC_SUBST(GLE_KLUDGE)
2830 AC_SUBST(GNOMEHELP_Y)
2831 AC_SUBST(GNOMEHELP_N)
2833 AC_SUBST(GNOME_DATADIR)
2834 AC_SUBST(HACK_CONF_DIR)
2836 APPDEFAULTS=$ac_x_app_defaults
2837 AC_SUBST(APPDEFAULTS)
2840 AC_SUBST(DEPEND_FLAGS)
2841 AC_SUBST(DEPEND_DEFINES)
2849 driver/XScreenSaver.ad)
2851 ###############################################################################
2853 # Print some warnings at the end.
2855 ###############################################################################
2857 warn_prefix_1=" Warning:"
2858 warn_prefix_2=" Note:"
2859 warn_prefix="$warn_prefix_1"
2862 warnsep=' #################################################################'
2865 if test "$warning" = no ; then
2866 echo '' ; echo "$warnsep" ; echo ''
2873 if test "$warning" = long ; then echo '' ; fi
2876 echo "$warn_prefix $rest"
2883 if test "$was" != no ; then echo '' ; fi
2885 echo "$warn_prefix $rest"
2895 warn_prefix="$warn_prefix_2"
2897 warn_prefix="$warn_prefix_1"
2901 warn_prefix="$warn_prefix_2"
2903 warn_prefix="$warn_prefix_1"
2907 if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
2908 warn 'The SGI saver extension was requested, but was not found.'
2911 if test "$with_mit_req" = yes -a "$have_mit" = no ; then
2912 warn 'The MIT saver extension was requested, but was not found.'
2915 if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
2916 warn 'The XIdle extension was requested, but was not found.'
2919 if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
2920 warn 'The XSHM extension was requested, but was not found.'
2923 if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
2924 warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
2927 if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
2928 warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
2931 if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
2932 warn 'The DPMS extension was requested, but was not found.'
2935 if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then
2936 warn 'The Xinerama extension was requested, but was not found.'
2939 if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then
2940 warn 'The XF86VMODE extension was requested, but was not found.'
2943 if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then
2944 warn "Checking of /proc/interrupts was requested, but it's bogus."
2948 if test "$have_motif" = no -a "$have_gtk" = no; then
2949 warnL "Neither Motif nor Gtk seem to be available;"
2950 warn2 "the \`xscreensaver-demo' program requires one of these."
2952 elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
2953 warnL "Use of Motif was requested, but it wasn't found;"
2954 warn2 "Gtk will be used instead."
2956 elif test "$jurassic_gtk" = yes ; then
2960 v="$ac_gtk_version_string"
2961 if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then
2962 warnL "Use of Gtk was requested, but its version number is unknown;"
2963 elif test "$with_gtk_req" = yes ; then
2964 warnL "Use of Gtk was requested, but it is version $v;"
2966 warnL "Gtk was found on this system, but it is version $v;"
2969 warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
2971 elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
2972 warnL "Use of Gtk was requested, but it wasn't found;"
2973 warn2 "Motif will be used instead."
2978 if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
2979 warn 'Use of the Gnome Control Panel was requested, but the necessary'
2980 warn2 'headers and/or libraries were not found.'
2983 if test "$with_xml_req" = yes -a "$have_xml" = no ; then
2984 warn 'Use of the XML library was requested, but the necessary'
2985 warn2 'headers and/or libraries were not found.'
2986 elif test "$have_gtk" = yes -a "$have_xml" = no ; then
2987 warn 'GTK is being used, but the XML library was not found.'
2988 warn2 'Some functionality will be disabled.'
2991 if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
2993 preferred_lesstif=0.86
2995 if test "$lesstif_version" = unknown; then
2996 warnL "Unable to determine the LessTif version number!"
2997 warn2 "Make sure you are using version $preferred_lesstif or newer."
2998 warn2 "See <http://www.lesstif.org/>."
3000 elif test \! $lesstif_version -gt 82; then
3001 warnL "LessTif version $lesstif_version_string is being used."
3002 warn2 "LessTif versions 0.82 and earlier are too buggy to"
3003 warn2 "use with XScreenSaver; it is strongly recommended"
3004 warn2 "that you upgrade to at least version $preferred_lesstif!"
3005 warn2 "See <http://www.lesstif.org/>."
3011 if test "$have_xpm" = no ; then
3012 if test "$with_xpm_req" = yes ; then
3013 warnL 'Use of XPM was requested, but it was not found.'
3014 elif test "$with_xpm_req" = no ; then
3015 noteL 'The XPM library is not being used.'
3017 noteL 'The XPM library was not found.'
3021 warn2 'Some of the demos will not be as colorful as they'
3022 warn2 'could be. You might want to consider installing XPM'
3023 warn2 'and re-running configure. (Remember to delete the'
3024 warn2 'config.cache file first.) You can find XPM at most'
3025 warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
3029 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
3030 preferred_mesagl=3.4
3031 mgv="$ac_mesagl_version_string"
3032 pgl="$preferred_mesagl"
3034 if test "$ac_mesagl_version" = unknown; then
3035 warnL "Unable to determine the MesaGL version number!"
3036 warn2 "Make sure you are using version $preferred_mesagl or newer."
3038 elif test \! "$ac_mesagl_version" -gt 2006; then
3039 warnL "MesaGL version $mgv is being used. MesaGL 2.6 and earlier"
3040 warn2 "have a security bug. It is strongly recommended that you"
3041 warn2 "upgrade to at least version $preferred_mesagl."
3043 elif test \! "$ac_mesagl_version" -gt 3003; then
3044 warnL "MesaGL version $mgv is being used. That version has some"
3045 warn2 "bugs; it is recommended that you upgrade to $pgl or newer."
3049 if test "$have_gl" = no ; then
3050 if test "$with_gl_req" = yes ; then
3051 warnL 'Use of GL was requested, but it was not found.'
3052 elif test "$with_gl_req" = no ; then
3053 noteL 'The OpenGL 3D library is not being used.'
3055 noteL 'The OpenGL 3D library was not found.'
3058 if test "$gl_halfassed" = yes ; then
3060 warn2 'More specifically, we found the headers, but not the'
3061 warn2 'libraries; so either GL is half-installed on this'
3062 warn2 "system, or something else went wrong. The \`config.log'"
3063 warn2 'file might contain some clues.'
3067 warn2 'Those demos which use 3D will not be built or installed.'
3068 warn2 'You might want to consider installing OpenGL and'
3069 warn2 're-running configure. (Remember to delete the'
3070 warn2 "config.cache file first.) If your vendor doesn't ship"
3071 warn2 'their own implementation of OpenGL, you can get a free'
3072 warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
3073 warn2 'info, see <http://www.opengl.org/>.'
3078 if test "$have_gl" = yes -a "$have_gle" = no ; then
3079 if test "$with_gle_req" = yes ; then
3080 noteL 'Use of the GLE (GL Extrusion) library was requested, but'
3081 warn2 'it was not found (though the OpenGL library was found, and'
3082 warn2 'is being used.)'
3083 elif test "$with_gle_req" = no ; then
3084 noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)'
3085 warn2 'library is not.'
3087 noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
3091 if test "$gle_halfassed" = yes ; then
3093 warn2 'More specifically, we found the headers, but not the'
3094 warn2 'libraries; so either GLE is half-installed on this'
3095 warn2 "system, or something else went wrong. The \`config.log'"
3096 warn2 'file might contain some clues.'
3100 warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
3101 warn2 'will not be built or installed. You might want to consider'
3102 warn2 'installing GLE and re-running configure. (Remember to delete'
3103 warn2 'the config.cache file first.) You can find the GLE library'
3104 warn2 'at <http://www.linas.org/gle/>. For general OpenGL info,'
3105 warn2 'see <http://www.opengl.org/>.'
3110 if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
3111 warn 'Use of XReadDisplay was requested, but it was not found.'
3114 if test -n "$with_fortune_req"; then
3115 if test "$with_fortune_req" != "$ac_cv_fortune_program" ; then
3116 warnL "$with_fortune_req was requested as the Fortune program,"
3117 warn2 "but was not found. The default will be used instead."
3121 if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then
3122 warn 'Use of Kerberos was requested, but it was not found.'
3125 if test "$with_pam_req" = yes -a "$have_pam" = no ; then
3126 warn 'Use of PAM was requested, but it was not found.'
3129 if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then
3130 warn 'Use of shadow passwords was requested, but they were not found.'
3134 # You are in a twisty maze of namespaces and syntaxes, all alike.
3135 # Fuck the skull of Unix.
3137 eval bindir=${bindir}
3138 eval bindir=${bindir}
3139 eval bindir=${bindir}
3140 eval bindir=${bindir}
3141 eval bindir=${bindir}
3142 eval bindir=${bindir}
3143 eval HACKDIR=${HACKDIR}
3144 eval HACKDIR=${HACKDIR}
3145 eval HACKDIR=${HACKDIR}
3146 eval HACKDIR=${HACKDIR}
3147 eval HACKDIR=${HACKDIR}
3148 eval HACKDIR=${HACKDIR}
3149 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3150 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3151 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3152 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3153 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3154 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3156 # canonicalize slashes.
3157 bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
3158 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
3159 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
3162 # Sanity check the hackdir
3163 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
3164 if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
3166 AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
3167 There will be an executable installed with that name, so
3168 that can't be the name of a directory as well. Please
3169 re-configure with a different directory name.])
3176 # Now let's see if there's a previous RPM version already installed. Blargh!
3180 rpmv=`(rpm -qv xscreensaver) 2>&- | \
3181 sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'`
3184 if test \! -z "$rpmv" ; then
3185 rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
3186 rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'`
3189 warnL "There is already an installed RPM of xscreensaver $rpmv"
3190 warn2 "on this system. You might want to remove it (with"
3191 warn2 '"rpm -ve xscreensaver") before running "make install"'
3192 warn2 "from this directory."
3194 warn2 "Alternately, you could build this version of xscreensaver"
3195 warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
3196 warn2 "file is included. See the RPM documentation for more info."
3199 if test "$rpmbdir" = "$rpmhdir" ; then
3200 warn2 "The RPM version was installed in $rpmbdir."
3202 warn2 "The RPM version was installed in $rpmbdir,"
3203 warn2 "with demos in $rpmhdir."
3210 if test "${bindir}" = "${HACKDIR}" ; then
3214 if test "$do_dir_warning" = yes; then
3218 echo ' When you run "make install", the "xscreensaver",'
3219 echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
3220 echo " will be installed in ${bindir}."
3222 echo " The various graphics demos (120+ different executables) will"
3223 echo " also be installed in ${HACKDIR}."
3225 echo " If you would prefer the demos to be installed elsewhere"
3226 echo " (for example, in a dedicated directory) you should re-run"
3227 echo " configure with the --with-hackdir=DIR option. For more"
3228 echo " information, run $0 --help."
3232 if test "$warning" != no; then
3233 echo '' ; echo "$warnsep" ; echo ''
3236 if test "$do_dir_warning" = no; then
3237 if test "$warning" = no; then
3240 echo "User programs will be installed in ${bindir}/"
3241 echo "Screen savers will be installed in ${HACKDIR}/"
3242 echo "Configuration will be installed in ${HACK_CONF_DIR}/"