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 HACK_CONF_DIR=$with_configdir
940 HACK_CONF_DIR="\${exec_prefix}$with_configdir"
947 ###############################################################################
949 # Check for the SGI SCREEN_SAVER server extension.
951 ###############################################################################
954 with_sgi_req=unspecified
956 [Except where noted, all of the --with options below can also take a
957 directory argument: for example, \`--with-motif=/opt/Motif'. That would
958 cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
959 to be added to the -L list, assuming those directories exist.
961 By default, support for each of these options will be built in, if the
962 relevant library routines exist. At run time, they will then be used
963 only if the X server being used supports them. Each --with option has
964 a corresponding --without option, to override building support for them
967 Screen blanking and idle-detection options:
969 --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
970 [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
972 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
974 if test "$with_sgi" = yes; then
975 AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
977 AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
979 elif test "$with_sgi" != no; then
980 echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
985 ###############################################################################
987 # Check for the MIT-SCREEN-SAVER server extension.
989 ###############################################################################
992 with_mit_req=unspecified
994 [ --with-mit-ext Include support for the MIT-SCREEN-SAVER extension.],
995 [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
997 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
999 if test "$with_mit" = yes; then
1000 AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
1002 # Now check to see if it's really in the library; XF86Free-3.3 ships
1003 # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
1005 if test "$have_mit" = yes; then
1006 AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm)
1008 if test "$have_mit" = no; then
1009 # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead
1010 # of in Xext. Thank you master, may I have another.
1011 AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
1012 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"],
1013 [true], -lX11 -lXext -lm)
1016 if test "$have_mit" = no; then
1017 # Double fuck! Looks like some versions of XFree86 (whichever version
1018 # it is that comes with RedHat Linux 2.0 -- I can't find a version
1019 # number) put this garbage in Xss instead of Xext. Thank you master,
1020 # may I have another.
1021 AC_CHECK_X_LIB(Xss, XScreenSaverRegister,
1022 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"],
1023 [true], -lX11 -lXext -lm)
1026 if test "$have_mit" = yes; then
1027 AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
1032 elif test "$with_mit" != no; then
1033 echo "error: must be yes or no: --with-mit-ext=$with_mit"
1038 ###############################################################################
1040 # Check for the XIDLE server extension.
1042 ###############################################################################
1045 with_xidle_req=unspecified
1046 AC_ARG_WITH(xidle-ext,
1047 [ --with-xidle-ext Include support for the XIDLE extension.],
1048 [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
1050 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
1052 if test "$with_xidle" = yes; then
1053 AC_CHECK_X_HEADER(X11/extensions/xidle.h,
1055 AC_DEFINE(HAVE_XIDLE_EXTENSION)])
1056 elif test "$with_xidle" != no; then
1057 echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
1062 ###############################################################################
1064 # Check for the SGI-VIDEO-CONTROL server extension.
1066 ###############################################################################
1069 with_sgivc_req=unspecified
1070 AC_ARG_WITH(sgivc-ext,
1071 [ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
1072 [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
1074 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
1076 if test "$with_sgivc" = yes; then
1078 # first check for XSGIvc.h
1079 AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
1081 # if that succeeded, then check for the -lXsgivc
1082 if test "$have_sgivc" = yes; then
1084 AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
1085 [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
1089 # if that succeeded, then we've really got it.
1090 if test "$have_sgivc" = yes; then
1091 AC_DEFINE(HAVE_SGI_VC_EXTENSION)
1094 elif test "$with_sgivc" != no; then
1095 echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
1100 ###############################################################################
1102 # Check for the DPMS server extension.
1104 ###############################################################################
1107 with_dpms_req=unspecified
1108 AC_ARG_WITH(dpms-ext,
1109 [ --with-dpms-ext Include support for the DPMS extension.],
1110 [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes])
1112 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
1114 if test "$with_dpms" = yes; then
1116 # first check for dpms.h
1117 AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
1119 # if that succeeded, then check for the DPMS code in the libraries
1120 if test "$have_dpms" = yes; then
1122 # first look in -lXext (this is where it is with XFree86 4.0)
1124 AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11)
1126 # if that failed, look in -lXdpms (this is where it was in XFree86 3.x)
1127 if test "$have_dpms" = no; then
1128 AC_CHECK_X_LIB(Xdpms, DPMSInfo,
1129 [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true],
1135 # if that succeeded, then we've really got it.
1136 if test "$have_dpms" = yes; then
1137 AC_DEFINE(HAVE_DPMS_EXTENSION)
1140 elif test "$with_dpms" != no; then
1141 echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
1146 ###############################################################################
1148 # Check for the XINERAMA server extension.
1150 ###############################################################################
1153 with_xinerama_req=unspecified
1154 AC_ARG_WITH(xinerama-ext,
1155 [ --with-xinerama-ext Include support for the XINERAMA extension.],
1156 [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes])
1158 HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA)
1160 if test "$with_xinerama" = yes; then
1162 # first check for Xinerama.h
1163 AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes])
1165 # if that succeeded, then check for the XINERAMA code in the libraries
1166 if test "$have_xinerama" = yes; then
1168 # first look in -lXext
1170 AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [have_xinerama=yes], [true],
1173 # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.)
1174 if test "$have_xinerama" = no; then
1175 AC_CHECK_X_LIB(Xinerama, XineramaQueryExtension,
1176 [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"],
1177 [true], -lXext -lX11)
1181 # if that succeeded, then we've really got it.
1182 if test "$have_xinerama" = yes; then
1183 AC_DEFINE(HAVE_XINERAMA)
1186 elif test "$with_xinerama" != no; then
1187 echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama"
1192 ###############################################################################
1194 # Check for the XF86VMODE server extension (for virtual screens.)
1196 ###############################################################################
1199 with_xf86vmode_req=unspecified
1200 AC_ARG_WITH(xf86vmode-ext,
1201 [ --with-xf86vmode-ext Include support for XFree86 virtual screens.],
1202 [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"],
1203 [with_xf86vmode=yes])
1205 HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
1207 if test "$with_xf86vmode" = yes; then
1209 # first check for xf86vmode.h
1210 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes])
1212 # if that succeeded, then check for the -lXxf86vm
1213 if test "$have_xf86vmode" = yes; then
1215 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort,
1216 [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"],
1217 [true], -lXext -lX11)
1220 # if that succeeded, then we've really got it.
1221 if test "$have_xf86vmode" = yes; then
1222 AC_DEFINE(HAVE_XF86VMODE)
1225 elif test "$with_xf86vmode" != no; then
1226 echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode"
1231 ###############################################################################
1233 # Check for the XF86VMODE server extension (for gamma fading.)
1235 ###############################################################################
1238 have_xf86gamma_ramp=no
1239 with_xf86gamma_req=unspecified
1240 AC_ARG_WITH(xf86gamma-ext,
1241 [ --with-xf86gamma-ext Include support for XFree86 gamma fading.],
1242 [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"],
1243 [with_xf86gamma=yes])
1245 HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma)
1247 if test "$with_xf86gamma" = yes; then
1249 # first check for xf86vmode.h, if we haven't already
1250 if test "$have_xf86vmode" = yes; then
1253 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes])
1256 # if that succeeded, then check for the -lXxf86vm
1257 if test "$have_xf86gamma" = yes; then
1259 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma,
1260 [have_xf86gamma=yes],
1261 [true], -lXext -lX11)
1264 # check for the Ramp versions of the functions too.
1265 if test "$have_xf86gamma" = yes; then
1266 have_xf86gamma_ramp=no
1267 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp,
1268 [have_xf86gamma_ramp=yes],
1269 [true], -lXext -lX11)
1272 # if those tests succeeded, then we've really got the functions.
1273 if test "$have_xf86gamma" = yes; then
1274 AC_DEFINE(HAVE_XF86VMODE_GAMMA)
1277 if test "$have_xf86gamma_ramp" = yes; then
1278 AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP)
1281 # pull in the lib, if we haven't already
1282 if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then
1283 SAVER_LIBS="$SAVER_LIBS -lXxf86vm"
1286 elif test "$with_xf86gamma" != no; then
1287 echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode"
1292 ###############################################################################
1294 # Check for HP XHPDisableReset and XHPEnableReset.
1296 ###############################################################################
1298 AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h,
1299 [AC_DEFINE(HAVE_XHPDISABLERESET)
1300 SAVER_LIBS="-lXhp11 $SAVER_LIBS"])
1303 ###############################################################################
1305 # Check for /proc/interrupts.
1307 ###############################################################################
1309 have_proc_interrupts=no
1310 with_proc_interrupts_req=unspecified
1311 AC_ARG_WITH(proc-interrupts,
1312 [ --with-proc-interrupts Include support for consulting the /proc/interrupts
1313 file to notice keyboard activity.],
1314 [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
1315 [with_proc_interrupts=yes])
1317 if test "$with_proc_interrupts" = yes; then
1319 AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data],
1320 ac_cv_have_proc_interrupts,
1321 [ac_cv_have_proc_interrupts=no
1322 if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
1323 ac_cv_have_proc_interrupts=yes
1326 have_proc_interrupts=$ac_cv_have_proc_interrupts
1328 if test "$have_proc_interrupts" = yes; then
1329 AC_DEFINE(HAVE_PROC_INTERRUPTS)
1332 elif test "$with_proc_interrupts" != no; then
1333 echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
1338 ###############################################################################
1340 # The --enable-locking option
1342 ###############################################################################
1344 AC_ARG_ENABLE(locking,[
1345 Screen locking options:
1347 --enable-locking Compile in support for locking the display.
1348 --disable-locking Do not allow locking at all.
1350 [enable_locking="$enableval"],[enable_locking=yes])
1351 if test "$enable_locking" = yes; then
1353 elif test "$enable_locking" = no; then
1354 AC_DEFINE(NO_LOCKING)
1356 echo "error: must be yes or no: --enable-locking=$enable_locking"
1362 ###############################################################################
1364 # The --enable-vt-locking option
1366 ###############################################################################
1368 #ac_vt_lockswitch=no
1369 #AC_ARG_ENABLE(vt-locking,[
1370 # --enable-vt-locking Compile in support for locking Virtual Terminals.
1371 # This is the default if the system supports it, and
1372 # if locking support is included (--enable-locking.)
1373 # --disable-vt-locking Do not allow locking of VTs, even if locking is
1375 # [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
1376 #if test "$enable_vt_locking" = yes; then
1378 # AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch,
1379 # [AC_TRY_COMPILE([#include <fcntl.h>
1380 # #include <sys/ioctl.h>
1381 # #include <sys/vt.h>],
1382 # [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;],
1383 # [ac_cv_vt_lockswitch=yes],
1384 # [ac_cv_vt_lockswitch=no])])
1385 # ac_vt_lockswitch=$ac_cv_vt_lockswitch
1387 #elif test "$enable_vt_locking" = no; then
1390 # echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
1394 #if test "$ac_vt_lockswitch" = yes; then
1395 # AC_DEFINE(HAVE_VT_LOCKSWITCH)
1396 # # the VT_LOCKSWITCH ioctl can only be used when running as root.
1397 # # #### but it doesn't work yet, so don't worry about that for now.
1403 ###############################################################################
1407 ###############################################################################
1411 # Solaris systems tend to come with PAM misconfigured.
1412 # Don't build it by default, even if the headers exist.
1416 # Default to building PAM support on all other systems, if it exists.
1417 with_pam_default=yes
1422 with_pam_req=unspecified
1425 [ --with-pam Include support for PAM (Pluggable Auth Modules.)],
1426 [with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default])
1428 HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
1430 if test "$enable_locking" = yes -a "$with_pam" = yes; then
1431 AC_CACHE_CHECK([for PAM], ac_cv_pam,
1432 [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],,
1435 if test "$ac_cv_pam" = yes ; then
1438 PASSWD_LIBS="${PASSWD_LIBS} -lpam"
1440 # libpam typically requires dlopen and dlsym. On FreeBSD,
1441 # those are in libc. On Linux and Solaris, they're in libdl.
1442 AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"])
1444 AC_MSG_CHECKING(how to call pam_strerror)
1445 AC_CACHE_VAL(ac_cv_pam_strerror_args,
1446 [AC_TRY_COMPILE([#include <stdio.h>
1448 #include <security/pam_appl.h>],
1449 [pam_handle_t *pamh = 0;
1450 char *s = pam_strerror(pamh, PAM_SUCCESS);],
1451 [ac_pam_strerror_args=2],
1452 [AC_TRY_COMPILE([#include <stdio.h>
1454 #include <security/pam_appl.h>],
1456 pam_strerror(PAM_SUCCESS);],
1457 [ac_pam_strerror_args=1],
1458 [ac_pam_strerror_args=0])])
1459 ac_cv_pam_strerror_args=$ac_pam_strerror_args])
1460 ac_pam_strerror_args=$ac_cv_pam_strerror_args
1461 if test "$ac_pam_strerror_args" = 1 ; then
1462 AC_MSG_RESULT(one argument)
1463 elif test "$ac_pam_strerror_args" = 2 ; then
1464 AC_DEFINE(PAM_STRERROR_TWO_ARGS)
1465 AC_MSG_RESULT(two arguments)
1467 AC_MSG_RESULT(unknown)
1473 ###############################################################################
1475 # Check for Kerberos.
1477 ###############################################################################
1481 with_kerberos_req=unspecified
1483 AC_ARG_WITH(kerberos,
1484 [ --with-kerberos Include support for Kerberos authentication.],
1485 [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes])
1487 HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
1489 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
1490 AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos,
1491 [AC_TRY_X_COMPILE([#include <krb.h>],,
1492 [ac_cv_kerberos=yes],
1493 [ac_cv_kerberos=no])])
1494 AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5,
1495 [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],,
1496 [ac_cv_kerberos5=yes],
1497 [ac_cv_kerberos5=no])])
1499 if test "$ac_cv_kerberos" = yes ; then
1501 AC_DEFINE(HAVE_KERBEROS)
1504 if test "$ac_cv_kerberos5" = yes ; then
1507 AC_DEFINE(HAVE_KERBEROS)
1508 AC_DEFINE(HAVE_KERBEROS5)
1511 if test "$have_kerberos5" = yes ; then
1512 # from Matt Knopp <mhat@infocalypse.netlag.com>
1513 # (who got it from amu@mit.edu)
1514 PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
1515 elif test "$have_kerberos" = yes ; then
1516 # from Tim Showalter <tjs@psaux.com> for FreeBSD 4.2
1517 PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err"
1520 if test "$have_kerberos" = yes ; then
1521 AC_CHECK_FUNC(res_search,,
1522 AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
1523 AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
1529 ###############################################################################
1531 # Check for the nine billion variants of shadow passwords...
1533 ###############################################################################
1538 with_shadow_req=unspecified
1541 [ --with-shadow Include support for shadow password authentication.],
1542 [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
1544 HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
1546 if test "$enable_locking" = no ; then
1552 ###############################################################################
1554 # Check for Sun "adjunct" passwords.
1556 ###############################################################################
1558 if test "$with_shadow" = yes ; then
1559 AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
1560 [AC_TRY_X_COMPILE([#include <stdlib.h>
1562 #include <sys/types.h>
1563 #include <sys/label.h>
1564 #include <sys/audit.h>
1565 #include <pwdadj.h>],
1566 [struct passwd_adjunct *p = getpwanam("nobody");
1567 const char *pw = p->pwa_passwd;],
1568 [ac_cv_sun_adjunct=yes],
1569 [ac_cv_sun_adjunct=no])])
1570 if test "$ac_cv_sun_adjunct" = yes; then
1571 have_shadow_adjunct=yes
1578 ###############################################################################
1580 # Check for DEC and SCO so-called "enhanced" security.
1582 ###############################################################################
1584 if test "$with_shadow" = yes ; then
1585 AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
1586 [AC_TRY_X_COMPILE([#include <stdlib.h>
1588 #include <sys/types.h>
1590 #include <sys/security.h>
1592 [struct pr_passwd *p;
1594 set_auth_parameters(0, 0);
1595 check_auth_parameters();
1596 p = getprpwnam("nobody");
1597 pw = p->ufld.fd_encrypt;],
1598 [ac_cv_enhanced_passwd=yes],
1599 [ac_cv_enhanced_passwd=no])])
1600 if test $ac_cv_enhanced_passwd = yes; then
1601 have_shadow_enhanced=yes
1605 # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
1606 # (I'm told it needs -lcurses too, but I don't understand why.)
1607 # But on DEC, it's in -lsecurity.
1609 AC_CHECK_LIB(prot, getprpwnam,
1610 [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"],
1611 [AC_CHECK_LIB(security, getprpwnam,
1612 [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])],
1617 ###############################################################################
1619 # Check for HP's entry in the "Not Invented Here" Sweepstakes.
1621 ###############################################################################
1623 if test "$with_shadow" = yes ; then
1624 AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
1625 [AC_TRY_X_COMPILE([#include <stdlib.h>
1627 #include <sys/types.h>
1629 #include <hpsecurity.h>
1631 [struct s_passwd *p = getspwnam("nobody");
1632 const char *pw = p->pw_passwd;],
1633 [ac_cv_hpux_passwd=yes],
1634 [ac_cv_hpux_passwd=no])])
1635 if test "$ac_cv_hpux_passwd" = yes; then
1636 have_shadow_hpux=yes
1640 # on HPUX, bigcrypt is in -lsec
1641 AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"])
1646 ###############################################################################
1648 # Check for FreeBSD-style shadow passwords.
1650 # On FreeBSD, getpwnam() and friends work just like on non-shadow-
1651 # password systems -- except you only get stuff in the pw_passwd field
1652 # if the running program is setuid. So, guess that we've got this
1653 # lossage to contend with if /etc/master.passwd exists, and default to
1654 # a setuid installation.
1656 ###############################################################################
1658 if test "$with_shadow" = yes ; then
1659 AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
1660 [if test -f /etc/master.passwd ; then
1661 ac_cv_master_passwd=yes
1663 ac_cv_master_passwd=no
1665 if test "$ac_cv_master_passwd" = yes; then
1671 ###############################################################################
1673 # Check for traditional (ha!) shadow passwords.
1675 ###############################################################################
1677 if test "$with_shadow" = yes ; then
1678 AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
1679 [AC_TRY_X_COMPILE([#include <stdlib.h>
1681 #include <sys/types.h>
1683 #include <shadow.h>],
1684 [struct spwd *p = getspnam("nobody");
1685 const char *pw = p->sp_pwdp;],
1687 [ac_cv_shadow=no])])
1688 if test "$ac_cv_shadow" = yes; then
1692 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
1694 AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
1695 if test "$have_getspnam" = no ; then
1696 AC_CHECK_LIB(gen, getspnam,
1697 [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
1703 ###############################################################################
1705 # Check for other libraries needed for non-shadow passwords.
1707 ###############################################################################
1709 if test "$enable_locking" = yes ; then
1711 # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
1713 AC_CHECK_LIB(c, crypt, [have_crypt=yes])
1714 if test "$have_crypt" = no ; then
1715 AC_CHECK_LIB(crypt, crypt,
1716 [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
1721 # Most of the above shadow mechanisms will have set need_setuid to yes,
1722 # if they were found. But, on some systems, we need setuid even when
1723 # using plain old vanilla passwords.
1725 if test "$enable_locking" = yes ; then
1727 *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
1734 if test "$have_shadow_adjunct" = yes ; then
1735 AC_DEFINE(HAVE_ADJUNCT_PASSWD)
1736 elif test "$have_shadow_enhanced" = yes ; then
1737 AC_DEFINE(HAVE_ENHANCED_PASSWD)
1738 elif test "$have_shadow_hpux" = yes ; then
1739 AC_DEFINE(HAVE_HPUX_PASSWD)
1740 elif test "$have_shadow" = yes ; then
1741 AC_DEFINE(HAVE_SHADOW_PASSWD)
1745 ###############################################################################
1749 ###############################################################################
1752 with_motif_req=unspecified
1754 User interface options:
1756 --with-motif Use the Motif toolkit for the user interface.],
1757 [with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
1759 HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
1761 if test "$with_motif" != yes -a "$with_motif" != no ; then
1762 echo "error: must be yes or no: --with-motif=$with_motif"
1766 if test "$with_motif" = yes; then
1768 AC_CHECK_X_HEADER(Xm/Xm.h,
1770 AC_DEFINE(HAVE_MOTIF)
1771 MOTIF_LIBS="$MOTIF_LIBS -lXm"])
1775 if test "$have_motif" = yes; then
1776 AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)])
1780 ###############################################################################
1782 # Check for -lgtk (and Gnome stuff)
1784 ###############################################################################
1787 with_gtk_req=unspecified
1789 [ --with-gtk Use the Gtk toolkit for the user interface.],
1790 [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes])
1792 # if --with-gtk=/directory/ was specified, remember that directory so that
1793 # we can also look for the `gtk-config' program in that directory.
1803 HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk)
1805 if test "$with_gtk" != yes -a "$with_gtk" != no ; then
1806 echo "error: must be yes or no: --with-gtk=$with_gtk"
1811 with_gnome_req=unspecified
1813 [ --with-gnome Include support for the Gnome Control Center.],
1814 [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
1816 # if --with-gnome=/directory/ was specified, remember that directory so that
1817 # we can also look for the `gnome-config' program in that directory.
1818 case "$with_gnome" in
1820 gnome_dir="$with_gnome"
1827 HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
1829 if test "$with_gnome" != yes -a "$with_gnome" != no ; then
1830 echo "error: must be yes or no: --with-gnome=$with_gnome"
1836 if test "$with_gtk" = yes; then
1839 # if the user specified --with-gtk=/foo/ then look in /foo/bin/
1840 # for glib-config and gtk-config.
1844 if test ! -z "$gtk_dir"; then
1845 # canonicalize slashes.
1846 gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
1847 gtk_path="$gtk_dir:$gtk_path"
1850 if test ! -z "gnome_dir"; then
1851 # canonicalize slashes.
1852 gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
1853 gtk_path="$gnome_dir:$gtk_path"
1856 AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
1857 AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
1859 if test "$with_gnome" = yes; then
1860 AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
1863 if test -n "$glib_config" -a -n "gtk_config" ; then
1865 if test "$with_gnome" = yes -a -n "$gnome_config" ; then
1870 if test "$have_gtk" = yes; then
1871 AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
1872 [ac_cv_gtk_version_string=`$gtk_config --version`])
1873 ac_gtk_version_string=$ac_cv_gtk_version_string
1876 maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
1877 min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
1879 ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
1880 if test -z "$ac_gtk_version"; then
1881 ac_gtk_version=unknown
1882 ac_gtk_version_string=unknown
1884 if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
1892 if test "$have_gtk" = yes; then
1893 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
1894 [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
1895 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
1896 [ac_cv_gtk_config_libs=`$gtk_config --libs`])
1898 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
1899 ac_gtk_config_libs=$ac_cv_gtk_config_libs
1901 # Check for Gnome Capplet support.
1903 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1904 gnome_config_libs="gtk capplet gnomeui xml gdk_pixbuf"
1905 AC_MSG_CHECKING(for Gnome capplet includes)
1906 AC_CACHE_VAL(ac_cv_gnome_config_cflags,
1907 [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
1908 grep Unknown >/dev/null ) ; then
1909 ac_cv_gnome_config_cflags=''
1911 ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
1913 ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
1914 if test "$ac_gnome_config_cflags" = "" ; then
1918 AC_MSG_RESULT($ac_gnome_config_cflags)
1922 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1923 AC_MSG_CHECKING(for Gnome capplet libs)
1924 AC_CACHE_VAL(ac_cv_gnome_config_libs,
1925 [if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null |
1926 grep Unknown >/dev/null ) ; then
1927 ac_cv_gnome_config_libs=''
1929 ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
1931 ac_gnome_config_libs=$ac_cv_gnome_config_libs
1932 if test "$ac_gnome_config_libs" = "" ; then
1936 AC_MSG_RESULT($ac_gnome_config_libs)
1941 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1942 GNOME_DATADIR=`$gnome_config --datadir`
1946 # If we have Gnome, then override the gtk-config values with
1947 # the gnome-config values.
1949 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1950 ac_gtk_config_cflags=$ac_gnome_config_cflags
1951 ac_gtk_config_libs=$ac_gnome_config_libs
1952 AC_DEFINE(HAVE_CRAPPLET)
1954 # check for this function that was not in libcapplet 1.2.
1955 AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate,
1956 [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true],
1957 $ac_gnome_config_libs)
1961 if test "$have_gtk" = yes; then
1962 INCLUDES="$INCLUDES $ac_gtk_config_cflags"
1963 GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
1970 # Check for the Gnome Help Browser.
1972 if test "$have_gnome" = yes; then
1973 AC_CHECK_PROG(have_gnome_help, gnome-help-browser, yes, no)
1979 ###############################################################################
1981 # Check for -lxml (if we have Gtk)
1983 ###############################################################################
1986 with_xml_req=unspecified
1989 [ --with-xml The XML toolkit is needed for some parts of
1990 the Gtk interface.],
1991 [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
1993 HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
1995 if test "$with_xml" != yes -a "$with_xml" != no ; then
1996 echo "error: must be yes or no: --with-xml=$with_xml"
2000 if test "$have_gtk" != yes; then
2001 # don't bother if no GTK
2005 if test "$with_xml" = yes; then
2008 # the XML stuff is likely to be in GTK paths.
2009 ac_save_X_CFLAGS="$X_CFLAGS"
2010 ac_save_X_LIBS="$X_LIBS"
2011 X_CFLAGS="$X_CFLAGS $ac_gtk_config_cflags"
2012 X_LIBS="$X_LIBS $ac_gtk_config_libs"
2014 AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes])
2016 if test "$have_xml" = yes; then
2017 # we have the header, now check for the library
2020 AC_CHECK_X_LIB(xml, xmlParseChunk,
2024 AC_DEFINE(HAVE_XML)])
2027 X_CFLAGS="$ac_save_X_CFLAGS"
2028 X_LIBS="$ac_save_X_LIBS"
2033 ###############################################################################
2035 # Checking whether Motif is really Lesstif.
2037 ###############################################################################
2040 if test "$have_motif" = yes ; then
2041 AC_CACHE_CHECK([whether Motif is really LessTif],
2043 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
2044 [long vers = LesstifVersion;],
2045 [ac_cv_have_lesstif=yes],
2046 [ac_cv_have_lesstif=no])])
2047 have_lesstif=$ac_cv_have_lesstif
2051 lesstif_version=unknown
2052 lesstif_version_string=unknown
2054 if test "$have_lesstif" = yes ; then
2056 echo unknown > conftest-lt
2057 AC_CACHE_CHECK([LessTif version number],
2058 ac_cv_lesstif_version_string,
2059 [AC_TRY_X_RUN([#include <stdio.h>
2062 FILE *f = fopen("conftest-lt", "w");
2064 fprintf(f, "%d %d.%d\n", LesstifVersion,
2065 LESSTIF_VERSION, LESSTIF_REVISION);
2069 [ltv=`cat conftest-lt`
2070 ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
2071 ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`],
2072 [ac_cv_lesstif_version=unknown
2073 ac_cv_lesstif_version_string=unknown],
2074 [ac_cv_lesstif_version=unknown
2075 ac_cv_lesstif_version_string=unknown])])
2077 lesstif_version=$ac_cv_lesstif_version
2078 lesstif_version_string=$ac_cv_lesstif_version_string
2083 if test "$have_motif" = yes ; then
2085 echo unknown > conftest-mt
2086 AC_CACHE_CHECK([Motif version number],
2087 ac_cv_motif_version_string,
2088 [AC_TRY_X_RUN([#include <stdio.h>
2091 FILE *f = fopen("conftest-mt", "w");
2093 fprintf(f, "%d %d.%d\n", XmVersion,
2094 XmVERSION, XmREVISION);
2098 [mtv=`cat conftest-mt`
2099 ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
2100 ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
2101 [ac_cv_motif_version=unknown
2102 ac_cv_motif_version_string=unknown],
2103 [ac_cv_motif_version=unknown
2104 ac_cv_motif_version_string=unknown])])
2106 motif_version=$ac_cv_motif_version
2107 motif_version_string=$ac_cv_motif_version_string
2112 ###############################################################################
2114 # Checking whether Motif requires -lXpm.
2116 # If this is Motif 2.x, and we have XPM, then link against XPM as well.
2117 # The deal is, Motif 2.x requires XPM -- but it's a compilation option
2118 # of the library whether to build the XPM code into libXm, or whether
2119 # to rely on an external libXm. So the only way to tell whether XPM is
2120 # a link-time requirement is to examine libXm.a, which is very
2121 # difficult to do in an autoconf script. So... if it's Motif 2.x, we
2122 # always link against XPM if the XPM lib exists (and this will be a
2123 # no-op if libXm happens to already have the XPM code in it.)
2125 ###############################################################################
2127 motif_requires_xpm=no
2128 if test "$have_motif" = yes ; then
2129 AC_MSG_CHECKING(whether Motif requires XPM)
2130 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
2132 motif_requires_xpm=yes
2133 AC_MSG_RESULT(maybe)
2140 ###############################################################################
2142 # Checking whether Motif requires -lXp.
2144 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
2145 # Extension". Why this extension isn't in -lXext with all the others,
2148 ###############################################################################
2151 if test "$have_motif" = yes ; then
2153 AC_CHECK_X_LIB(Xp, XpQueryExtension,
2154 [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"],
2155 [true], -lX11 -lXext -lm)
2159 ###############################################################################
2161 # Checking whether Motif requires -lXintl (for _Xsetlocale.)
2163 ###############################################################################
2166 if test "$have_motif" = yes ; then
2167 AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no],
2169 if test "$have_xintl" = yes; then
2170 MOTIF_LIBS="$MOTIF_LIBS -lXintl"
2175 ###############################################################################
2177 # Check for -lGL or -lMesaGL.
2179 ###############################################################################
2183 with_gl_req=unspecified
2188 --with-gl Build those demos which depend on OpenGL.],
2189 [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes])
2191 HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
2193 ac_mesagl_version=unknown
2194 ac_mesagl_version_string=unknown
2196 if test "$with_gl" = yes; then
2197 AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
2198 if test "$have_gl" = yes ; then
2199 AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
2202 # If we have the headers, try and figure out which vendor it's from.
2204 if test "$have_gl" = yes ; then
2206 # We need to know whether it's MesaGL so that we know which libraries
2209 AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
2210 [ac_cv_have_mesa_gl=no
2211 AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
2213 ac_have_mesa_gl=$ac_cv_have_mesa_gl
2220 # Some versions of MesaGL are compiled to require -lpthread.
2221 # So if the Mesa headers exist, and -lpthread exists, then always
2222 # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
2224 if test "$ac_have_mesa_gl" = yes; then
2225 AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
2229 # If we have Mesa headers, check to see if we can link against -lMesaGL.
2230 # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
2231 # Else, warn that GL is busted. (We have the headers, but no libs.)
2234 if test "$ac_have_mesa_gl" = yes ; then
2235 AC_CHECK_X_LIB(MesaGL, glXCreateContext,
2237 GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"],
2238 [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm)
2241 if test "$gl_lib_1" = "" ; then
2242 AC_CHECK_X_LIB(GL, glXCreateContext,
2244 GL_LIBS="-lGL -lGLU $GL_LIBS"],
2245 [], -lGLU $GL_LIBS -lX11 -lXext -lm)
2248 if test "$gl_lib_1" = "" ; then
2249 # we have headers, but no libs -- bail.
2254 # linking works -- we can build the GL hacks.
2256 if test "$ac_have_mesa_gl" = yes ; then
2257 AC_DEFINE(HAVE_MESA_GL)
2263 # Now that we know we have GL headers and libs, do some more GL testing.
2266 if test "$have_gl" = yes ; then
2267 # If it's MesaGL, we'd like to issue a warning if the version number
2268 # is less than or equal to 2.6, because that version had a security bug.
2270 if test "$ac_have_mesa_gl" = yes; then
2272 AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string,
2273 [cat > conftest.$ac_ext <<EOF
2274 #line __oline__ "configure"
2275 #include "confdefs.h"
2277 #ifndef MESA_MAJOR_VERSION
2278 # include <GL/xmesa.h>
2279 # define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION
2280 # define MESA_MINOR_VERSION XMESA_MINOR_VERSION
2282 configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
2285 ac_save_CPPFLAGS="$CPPFLAGS"
2286 if test \! -z "$includedir" ; then
2287 CPPFLAGS="$CPPFLAGS -I$includedir"
2289 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2293 mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
2294 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
2297 rm -f conftest.$ac_ext
2299 CPPFLAGS="$ac_save_CPPFLAGS"
2301 if test "$mglv" = ""; then
2302 ac_mesagl_version=unknown
2303 ac_mesagl_version_string=unknown
2305 ac_mesagl_version_string=$mglv
2306 maj=`echo $mglv | sed -n 's/\..*//p'`
2307 min=`echo $mglv | sed -n 's/.*\.//p'`
2308 ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
2309 if test -z "$ac_mesagl_version"; then
2310 ac_mesagl_version=unknown
2311 ac_mesagl_version_string=unknown
2314 ac_cv_mesagl_version=$ac_mesagl_version
2315 ac_cv_mesagl_version_string=$ac_mesagl_version_string
2317 ac_mesagl_version=$ac_cv_mesagl_version
2318 ac_mesagl_version_string=$ac_cv_mesagl_version_string
2322 # Check for OpenGL 1.1 features.
2324 AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
2325 [true], $GL_LIBS -lX11 -lXext -lm)
2328 elif test "$with_gl" != no; then
2329 echo "error: must be yes or no: --with-gl=$with_gl"
2334 ###############################################################################
2338 ###############################################################################
2341 with_gle_req=unspecified
2344 [ --with-gle Build those demos which depend on GLE
2345 (the OpenGL "extrusion" library.)],
2346 [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes])
2348 HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE)
2352 if test "$with_gle" = yes; then
2354 AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no)
2355 if test "$have_gle3" = yes ; then
2358 AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no)
2359 if test "$have_gle" = yes ; then
2360 AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no)
2364 if test "$have_gle" = yes ; then
2367 AC_CHECK_X_LIB(gle, gleCreateGC,
2368 [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"],
2369 [], $GL_LIBS -lX11 -lXext -lm)
2371 if test "$have_gle" = yes ; then
2375 # sometimes the libmatrix stuff is included in libgle. look there first.
2377 # I don't get it. For some reason, this test passes on SGI, as if
2378 # uview_direction_d() was in libgle -- but it's not, it's in libmatrix.
2379 # Yet the link is succeeding. Why???
2381 # AC_CHECK_X_LIB(gle, uview_direction_d,
2382 # [have_gle=yes; gle_halfassed=no],
2383 # [], $GL_LIBS -lX11 -lXext -lm)
2385 # As of GLE 3 this is in libgle, and has changed name to uview_direction!
2387 if test "$have_gle3" = yes ; then
2388 AC_CHECK_X_LIB(gle, uview_direction,
2389 [have_gle=yes; gle_halfassed=no],
2390 [], $GL_LIBS -lX11 -lXext -lm)
2392 # if it wasn't in libgle, then look in libmatrix.
2393 if test "$have_gle" = no ; then
2394 AC_CHECK_X_LIB(matrix, uview_direction_d,
2395 [have_gle=yes; gle_halfassed=no;
2396 GLE_LIBS="$GLE_LIBS -lmatrix"],
2397 [], $GL_LIBS -lX11 -lXext -lm)
2401 if test "$have_gle" = yes ; then
2403 if test "$have_gle3" = yes ; then
2404 AC_DEFINE(HAVE_GLE3)
2408 elif test "$with_gle" != no; then
2409 echo "error: must be yes or no: --with-gle=$with_gle"
2416 ###############################################################################
2420 ###############################################################################
2423 with_xpm_req=unspecified
2425 [ --with-xpm Include support for XPM files in some demos.],
2426 [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
2428 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
2430 if test "$with_xpm" = yes; then
2431 AC_CHECK_X_HEADER(X11/xpm.h,
2435 elif test "$with_xpm" != no; then
2436 echo "error: must be yes or no: --with-xpm=$with_xpm"
2440 # See comment near $motif_requires_xpm, above.
2441 # Need to do this here, after both Motif and XPM have been checked for.
2443 if test "$have_motif" = yes -a "$have_xpm" = yes ; then
2444 if test "$motif_requires_xpm" = yes ; then
2445 MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
2450 ###############################################################################
2452 # Check for -lgdk_pixbuf.
2454 ###############################################################################
2457 with_gdk_pixbuf_req=unspecified
2459 [ --with-pixbuf Include support for the GDK-Pixbuf library in some
2460 demos, which will make it possible for them to read
2461 GIF, JPEG, and PNG files as well.],
2462 [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
2463 [with_gdk_pixbuf=yes])
2465 HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF)
2467 if test "$with_gdk_pixbuf" = yes; then
2469 if test "$have_gtk" = yes; then
2471 ac_save_gdk_CPPFLAGS="$CPPFLAGS"
2472 CPPFLAGS="$CPPFLAGS $ac_gtk_config_cflags"
2475 AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
2476 if test "$have_gdk_pixbuf" = yes; then
2478 AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h, [have_gdk_pixbuf=yes])
2481 CPPFLAGS="$ac_save_gdk_CPPFLAGS"
2483 if test "$have_gdk_pixbuf" = yes; then
2484 AC_DEFINE(HAVE_GDK_PIXBUF)
2485 XPM_LIBS="-lgdk_pixbuf -lgdk_pixbuf_xlib"
2489 elif test "$with_gdk_pixbuf" != no; then
2490 echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
2495 ###############################################################################
2499 ###############################################################################
2502 with_jpeg_req=unspecified
2505 [ --with-jpeg Include support for the JPEG library in some demos,
2506 which will make it possible for them to read JPEG
2508 [with_jpeg="$withval"; with_jpeg_req="$withval"],
2511 HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG)
2513 if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then
2514 echo "error: must be yes or no: --with-jpeg=$with_jpeg"
2518 if test "$with_jpeg" = yes; then
2521 AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes])
2523 if test "$have_jpeg" = yes; then
2524 # we have the header, now check for the library
2527 AC_CHECK_X_LIB(jpeg, jpeg_start_compress,
2531 AC_DEFINE(HAVE_JPEGLIB)])
2536 ###############################################################################
2538 # Check for the XSHM server extension.
2540 ###############################################################################
2543 with_xshm_req=unspecified
2544 AC_ARG_WITH(xshm-ext,
2545 [ --with-xshm-ext Include support for the Shared Memory extension.],
2546 [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
2548 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
2550 if test "$with_xshm" = yes; then
2552 # first check for Xshm.h.
2553 AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
2555 # if that succeeded, then check for sys/ipc.h.
2556 if test "$have_xshm" = yes; then
2558 AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
2561 # if that succeeded, then check for sys/shm.h.
2562 if test "$have_xshm" = yes; then
2564 AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
2567 # AIX is pathological, as usual: apparently it's normal for the Xshm headers
2568 # to exist, but the library code to not exist. And even better, the library
2569 # code is in its own library: libXextSam.a. So, if we're on AIX, and that
2570 # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and
2571 # that's not quite right, but close enough.)
2575 if [ `uname -v` -eq 3 ]; then
2577 AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
2578 [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
2579 [true], -lX11 -lXext -lm)
2584 # if that succeeded, then we've really got it.
2585 if test "$have_xshm" = yes; then
2586 AC_DEFINE(HAVE_XSHM_EXTENSION)
2589 elif test "$with_xshm" != no; then
2590 echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
2595 ###############################################################################
2597 # Check for the DOUBLE-BUFFER server extension.
2599 ###############################################################################
2602 with_xdbe_req=unspecified
2603 AC_ARG_WITH(xdbe-ext,
2604 [ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.],
2605 [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
2607 HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
2609 if test "$with_xdbe" = yes; then
2611 AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes])
2612 if test "$have_xdbe" = yes; then
2613 AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
2616 elif test "$with_xdbe" != no; then
2617 echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
2622 ###############################################################################
2624 # Check for the SGI XReadDisplay server extension.
2626 # Note: this has to be down here, rather than up with the other server
2627 # extension tests, so that the output of `configure --help' is in the
2628 # right order. Arrgh!
2630 ###############################################################################
2633 with_readdisplay_req=unspecified
2634 AC_ARG_WITH(readdisplay,
2635 [ --with-readdisplay Include support for the XReadDisplay extension.],
2636 [with_readdisplay="$withval"; with_readdisplay_req="$withval"],
2637 [with_readdisplay=yes])
2639 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
2641 if test "$with_readdisplay" = yes; then
2642 AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
2643 AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
2644 elif test "$with_readdisplay" != no; then
2645 echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
2650 ###############################################################################
2652 # Check for a program to generate random text.
2654 # Zippy is funnier than the idiocy generally spat out by `fortune',
2655 # so first see if "fortune zippy" works. Else, use plain "fortune".
2657 # We used to dig around in Emacs to look for the "yow" program, but
2658 # most people who have Emacs also have "fortune zippy", so nevermind.
2660 ###############################################################################
2663 AC_ARG_WITH(fortune,[
2664 --with-fortune=PROGRAM Some demos are able to run an external program and
2665 display its text; this names the program to use by
2666 default (though it can be overridden with X
2667 resources.) Default is \"/usr/games/fortune\".],
2668 [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes])
2670 if test "$with_fortune" = no || test "$with_fortune" = yes ; then
2675 if test -n "$with_fortune_req" ; then
2676 ac_cv_fortune_program=""
2677 case "$with_fortune_req" in
2680 set dummy $with_fortune_req ; fortune_tmp=$2
2681 AC_MSG_CHECKING([for $fortune_tmp])
2682 if test -x "$fortune_tmp" ; then
2690 set dummy $with_fortune_req ; fortune_tmp=$2
2692 unset ac_cv_path_fortune_tmp
2693 AC_PATH_PROG(fortune_tmp, $fortune_tmp, [])
2694 if test -z "$fortune_tmp" ; then
2699 ac_cv_fortune_program="$with_fortune"
2701 elif test -n "$ac_cv_fortune_program"; then
2702 AC_MSG_RESULT([checking for fortune... (cached) $ac_cv_fortune_program])
2705 unset ac_cv_path_fortune_tmp
2708 if test -z "$ac_cv_fortune_program" ; then
2710 # first look for fortune in /usr/games/ (and use absolute path)
2711 AC_PATH_PROGS(fortune_tmp, fortune,, "/usr/games")
2713 # if it's not there, look on $PATH (and don't use absolute path)
2714 if test -z "$fortune_tmp" ; then
2715 AC_CHECK_PROGS(fortune_tmp, fortune)
2718 # if we didn't find anything, then just assume /usr/games/
2719 if test -z "$fortune_tmp" ; then
2720 fortune_tmp="/usr/games/fortune"
2723 ac_cv_fortune_program="$fortune_tmp"
2725 # now check to see whether "fortune zippy" works.
2727 fortune_tmp="$fortune_tmp zippy"
2728 AC_MSG_CHECKING([for zippy quotes])
2729 if ( $fortune_tmp >/dev/null 2>&1 ); then
2730 ac_cv_fortune_program="$fortune_tmp"
2731 AC_MSG_RESULT($fortune_tmp)
2738 unset ac_cv_path_fortune_tmp
2741 AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program")
2744 ###############################################################################
2746 # Check whether it's ok to install some hacks as setuid (e.g., "sonar")
2747 # This should be safe, but let's give people the option.
2749 ###############################################################################
2751 setuid_hacks_default=no
2752 setuid_hacks="$setuid_hacks_default"
2753 AC_ARG_WITH(setuid-hacks,
2754 [ --with-setuid-hacks Allow some demos to be installed \`setuid root'
2755 (which is needed in order to ping other hosts.)
2757 [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"])
2759 HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks)
2761 if test "$setuid_hacks" = yes; then
2763 elif test "$setuid_hacks" != no; then
2764 echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
2769 ###############################################################################
2771 # Done testing. Now, set up the various -I and -L variables,
2772 # and decide which GUI program to build by default.
2774 ###############################################################################
2781 if test \! -z "$includedir" ; then
2782 INCLUDES="$INCLUDES -I$includedir"
2785 if test \! -z "$libdir" ; then
2786 LDFLAGS="$LDFLAGS -L$libdir"
2790 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
2792 if test "$have_motif" = yes; then
2793 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
2794 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
2796 if test "$have_gtk" = yes; then
2797 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
2798 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
2802 if test "$have_kerberos" = yes; then
2803 PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
2804 PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)"
2806 if test "$have_pam" = yes; then
2807 PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)"
2808 PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
2809 INSTALL_PAM="install-pam"
2811 PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)"
2812 PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)"
2815 if test "$enable_locking" = yes; then
2816 LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
2817 LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
2819 LOCK_SRCS='$(NOLOCK_SRCS_1)'
2820 LOCK_OBJS='$(NOLOCK_OBJS_1)'
2823 INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)'
2825 if test "$need_setuid" = yes; then
2831 if test "$setuid_hacks" = yes; then
2838 if test "$have_gl" = yes; then
2839 GL_EXES='$(GL_EXES)'
2840 GL_UTIL_EXES='$(GL_UTIL_EXES)'
2844 GL_KLUDGE="-${tab} "
2847 if test "$have_gle" = yes; then
2848 GLE_EXES='$(GLE_EXES)'
2849 GLE_MEN='$(GLE_MEN)'
2850 GLE_KLUDGE="${tab} "
2852 GLE_KLUDGE="-${tab} "
2855 if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then
2856 JPEG_EXES='$(JPEG_EXES)'
2860 # Another substitution in the XScreenSaver.ad.in file:
2862 if test "$have_gnome_help" = yes; then
2871 # Now that we know whether we have Gnome, we can decide where the XML
2872 # config files get installed.
2873 if test -z "$HACK_CONF_DIR" ; then
2874 if test -n "$GNOME_DATADIR" ; then
2875 HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
2877 HACK_CONF_DIR='${prefix}/lib/xscreensaver/config'
2881 # canonicalize slashes.
2882 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
2886 ###############################################################################
2888 # Perform substitutions and write Makefiles.
2890 ###############################################################################
2894 AC_SUBST(PREFERRED_DEMO_PROGRAM)
2895 AC_SUBST(ALL_DEMO_PROGRAMS)
2896 AC_SUBST(SAVER_LIBS)
2897 AC_SUBST(MOTIF_LIBS)
2905 AC_SUBST(XDPMS_LIBS)
2906 AC_SUBST(PASSWD_LIBS)
2907 AC_SUBST(INSTALL_SETUID)
2908 AC_SUBST(SETUID_HACKS)
2909 AC_SUBST(INSTALL_DIRS)
2910 AC_SUBST(NEED_SETUID)
2911 AC_SUBST(INSTALL_PAM)
2913 AC_SUBST(PASSWD_SRCS)
2914 AC_SUBST(PASSWD_OBJS)
2918 AC_SUBST(SAVER_GL_SRCS)
2919 AC_SUBST(SAVER_GL_OBJS)
2920 AC_SUBST(SAVER_GL_LIBS)
2925 AC_SUBST(GL_UTIL_EXES)
2930 AC_SUBST(GLE_KLUDGE)
2931 AC_SUBST(GNOMEHELP_Y)
2932 AC_SUBST(GNOMEHELP_N)
2934 AC_SUBST(GNOME_DATADIR)
2935 AC_SUBST(HACK_CONF_DIR)
2937 APPDEFAULTS=$ac_x_app_defaults
2938 AC_SUBST(APPDEFAULTS)
2941 AC_SUBST(DEPEND_FLAGS)
2942 AC_SUBST(DEPEND_DEFINES)
2950 driver/XScreenSaver.ad)
2952 ###############################################################################
2954 # Print some warnings at the end.
2956 ###############################################################################
2958 warn_prefix_1=" Warning:"
2959 warn_prefix_2=" Note:"
2960 warn_prefix="$warn_prefix_1"
2963 warnsep=' #################################################################'
2966 if test "$warning" = no ; then
2967 echo '' ; echo "$warnsep" ; echo ''
2974 if test "$warning" = long ; then echo '' ; fi
2977 echo "$warn_prefix $rest"
2984 if test "$was" != no ; then echo '' ; fi
2986 echo "$warn_prefix $rest"
2996 warn_prefix="$warn_prefix_2"
2998 warn_prefix="$warn_prefix_1"
3002 warn_prefix="$warn_prefix_2"
3004 warn_prefix="$warn_prefix_1"
3008 if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
3009 warn 'The SGI saver extension was requested, but was not found.'
3012 if test "$with_mit_req" = yes -a "$have_mit" = no ; then
3013 warn 'The MIT saver extension was requested, but was not found.'
3016 if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
3017 warn 'The XIdle extension was requested, but was not found.'
3020 if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
3021 warn 'The XSHM extension was requested, but was not found.'
3024 if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
3025 warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
3028 if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
3029 warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
3032 if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
3033 warn 'The DPMS extension was requested, but was not found.'
3036 if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then
3037 warn 'The Xinerama extension was requested, but was not found.'
3040 if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then
3041 warn 'The XF86VMODE extension was requested, but was not found.'
3044 if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then
3045 warn "Checking of /proc/interrupts was requested, but it's bogus."
3049 if test "$have_motif" = no -a "$have_gtk" = no; then
3050 warnL "Neither Motif nor Gtk seem to be available;"
3051 warn2 "the \`xscreensaver-demo' program requires one of these."
3053 elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
3054 warnL "Use of Motif was requested, but it wasn't found;"
3055 warn2 "Gtk will be used instead."
3057 elif test "$jurassic_gtk" = yes ; then
3061 v="$ac_gtk_version_string"
3062 if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then
3063 warnL "Use of Gtk was requested, but its version number is unknown;"
3064 elif test "$with_gtk_req" = yes ; then
3065 warnL "Use of Gtk was requested, but it is version $v;"
3067 warnL "Gtk was found on this system, but it is version $v;"
3070 warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
3072 elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
3073 warnL "Use of Gtk was requested, but it wasn't found;"
3074 warn2 "Motif will be used instead."
3079 if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
3080 warn 'Use of the Gnome Control Panel was requested, but the necessary'
3081 warn2 'headers and/or libraries were not found.'
3084 if test "$have_gtk" = yes ; then
3085 if test "$have_xml" = no ; then
3086 if test "$with_xml_req" = yes ; then
3087 warn 'Use of the XML library was requested, but the necessary'
3088 warn2 'headers and/or libraries were not found.'
3090 warn 'GTK is being used, but the XML library was not found.'
3093 if test "$xml_halfassed" = yes ; then
3095 warn2 'More specifically, we found the headers, but not the'
3096 warn2 'libraries; so either XML is half-installed on this'
3097 warn2 "system, or something else went wrong. The \`config.log'"
3098 warn2 'file might contain some clues.'
3102 warn2 "Without XML, the per-display-mode \`Settings' dialogs"
3103 warn2 'will not be available. Specify the location of the XML'
3104 warn2 'library through the --with-xml option to configure.'
3108 if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
3110 preferred_lesstif=0.92
3112 if test "$lesstif_version" = unknown; then
3113 warnL "Unable to determine the LessTif version number!"
3114 warn2 "Make sure you are using version $preferred_lesstif or newer."
3115 warn2 "See <http://www.lesstif.org/>."
3117 elif test \! $lesstif_version -gt 82; then
3118 warnL "LessTif version $lesstif_version_string is being used."
3119 warn2 "LessTif versions 0.82 and earlier are too buggy to"
3120 warn2 "use with XScreenSaver; it is strongly recommended"
3121 warn2 "that you upgrade to at least version $preferred_lesstif!"
3122 warn2 "See <http://www.lesstif.org/>."
3127 if test "$have_motif" = yes -a "$have_gtk" = no ; then
3128 warn 'Motif is being used, and GTK is not.'
3130 warn2 'Though the Motif front-end to xscreensaver is still'
3131 warn2 'maintained, it is no longer being updated with new'
3132 warn2 'features: all new development on the xscreensaver-demo'
3133 warn2 'program is happening in the GTK version, and not in the'
3134 warn2 'Motif version. It is recommended that you build against'
3135 warn2 'GTK instead of Motif. See <http://www.gtk.org/>.'
3139 if test "$with_xpm_req" = yes ; then
3140 warnL 'Use of XPM was requested, but it was not found.'
3143 if test "$with_gdk_pixbuf_req" = yes ; then
3144 warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
3147 if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no; then
3149 if test "$with_xpm_req" = yes ; then
3151 elif test "$with_xpm_req" = no ; then
3152 warnL 'The XPM library is not being used.'
3154 warnL 'The XPM library was not found.'
3157 if test "$with_gdk_pixbuf_req" = yes ; then
3159 elif test "$with_gdk_pixbuf_req" = no ; then
3160 warnL 'The GDK-Pixbuf library is not being used.'
3162 warnL 'The GDK-Pixbuf library was not found.'
3166 warn2 'Some of the demos will not be as colorful as they'
3167 warn2 'could be. You should consider installing Pixbuf or'
3168 warn2 'XPM and re-running configure. (Remember to delete'
3169 warn2 'the config.cache file first.) The Pixbuf library is'
3170 warn2 'a part of GNOME. The XPM library comes with most'
3171 warn2 'X11 installations; you can also find it at the X11'
3172 warn2 'archive sites, such as <http://sunsite.unc.edu/>.'
3174 warn2 'GDK-Pixbuf is recommended over XPM, as it provides'
3175 warn2 'support for more image formats.'
3179 if test "$have_jpeg" = no ; then
3180 if test "$with_jpeg_req" = yes ; then
3181 warnL 'Use of libjpeg was requested, but it was not found.'
3182 elif test "$with_jpeg_req" = no ; then
3183 noteL 'The JPEG library is not being used.'
3185 noteL 'The JPEG library was not found.'
3188 if test "$jpeg_halfassed" = yes ; then
3190 warn2 'More specifically, we found the headers, but not the'
3191 warn2 'library; so either JPEG is half-installed on this'
3192 warn2 "system, or something else went wrong. The \`config.log'"
3193 warn2 'file might contain some clues.'
3197 warn2 "This means the \`webcollage' program will be much slower."
3201 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
3202 preferred_mesagl=3.4
3203 mgv="$ac_mesagl_version_string"
3204 pgl="$preferred_mesagl"
3206 if test "$ac_mesagl_version" = unknown; then
3207 warnL "Unable to determine the MesaGL version number!"
3208 warn2 "Make sure you are using version $preferred_mesagl or newer."
3210 elif test \! "$ac_mesagl_version" -gt 2006; then
3211 warnL "MesaGL version $mgv is being used. MesaGL 2.6 and earlier"
3212 warn2 "have a security bug. It is strongly recommended that you"
3213 warn2 "upgrade to at least version $preferred_mesagl."
3215 elif test \! "$ac_mesagl_version" -gt 3003; then
3216 warnL "MesaGL version $mgv is being used. That version has some"
3217 warn2 "bugs; it is recommended that you upgrade to $pgl or newer."
3221 if test "$have_gl" = no ; then
3222 if test "$with_gl_req" = yes ; then
3223 warnL 'Use of GL was requested, but it was not found.'
3224 elif test "$with_gl_req" = no ; then
3225 noteL 'The OpenGL 3D library is not being used.'
3227 noteL 'The OpenGL 3D library was not found.'
3230 if test "$gl_halfassed" = yes ; then
3232 warn2 'More specifically, we found the headers, but not the'
3233 warn2 'libraries; so either GL is half-installed on this'
3234 warn2 "system, or something else went wrong. The \`config.log'"
3235 warn2 'file might contain some clues.'
3239 warn2 'Those demos which use 3D will not be built or installed.'
3240 warn2 'You might want to consider installing OpenGL and'
3241 warn2 're-running configure. (Remember to delete the'
3242 warn2 "config.cache file first.) If your vendor doesn't ship"
3243 warn2 'their own implementation of OpenGL, you can get a free'
3244 warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
3245 warn2 'info, see <http://www.opengl.org/>.'
3250 if test "$have_gl" = yes -a "$have_gle" = no ; then
3251 if test "$with_gle_req" = yes ; then
3252 noteL 'Use of the GLE (GL Extrusion) library was requested, but'
3253 warn2 'it was not found (though the OpenGL library was found, and'
3254 warn2 'is being used.)'
3255 elif test "$with_gle_req" = no ; then
3256 noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)'
3257 warn2 'library is not.'
3259 noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
3263 if test "$gle_halfassed" = yes ; then
3265 warn2 'More specifically, we found the headers, but not the'
3266 warn2 'libraries; so either GLE is half-installed on this'
3267 warn2 "system, or something else went wrong. The \`config.log'"
3268 warn2 'file might contain some clues.'
3272 warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
3273 warn2 'will not be built or installed. You might want to consider'
3274 warn2 'installing GLE and re-running configure. (Remember to delete'
3275 warn2 'the config.cache file first.) You can find the GLE library'
3276 warn2 'at <http://www.linas.org/gle/>. For general OpenGL info,'
3277 warn2 'see <http://www.opengl.org/>.'
3282 if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
3283 warn 'Use of XReadDisplay was requested, but it was not found.'
3286 if test -n "$with_fortune_req"; then
3287 if test "$with_fortune_req" != "$ac_cv_fortune_program" ; then
3288 warnL "$with_fortune_req was requested as the Fortune program,"
3289 warn2 "but was not found. The default will be used instead."
3293 if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then
3294 warn 'Use of Kerberos was requested, but it was not found.'
3297 if test "$with_pam_req" = yes -a "$have_pam" = no ; then
3298 warn 'Use of PAM was requested, but it was not found.'
3301 if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then
3302 warn 'Use of shadow passwords was requested, but they were not found.'
3306 # You are in a twisty maze of namespaces and syntaxes, all alike.
3307 # Fuck the skull of Unix.
3309 eval bindir=${bindir}
3310 eval bindir=${bindir}
3311 eval bindir=${bindir}
3312 eval bindir=${bindir}
3313 eval bindir=${bindir}
3314 eval bindir=${bindir}
3315 eval HACKDIR=${HACKDIR}
3316 eval HACKDIR=${HACKDIR}
3317 eval HACKDIR=${HACKDIR}
3318 eval HACKDIR=${HACKDIR}
3319 eval HACKDIR=${HACKDIR}
3320 eval HACKDIR=${HACKDIR}
3321 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3322 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3323 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3324 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3325 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3326 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3328 # canonicalize slashes.
3329 bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
3330 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
3331 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
3334 # Sanity check the hackdir
3335 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
3336 if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
3338 AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
3339 There will be an executable installed with that name, so
3340 that can't be the name of a directory as well. Please
3341 re-configure with a different directory name.])
3348 # Now let's see if there's a previous RPM version already installed. Blargh!
3352 rpmv=`(rpm -qv xscreensaver) 2>&- | \
3353 sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'`
3356 if test \! -z "$rpmv" ; then
3357 rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
3358 rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'`
3361 warnL "There is already an installed RPM of xscreensaver $rpmv"
3362 warn2 "on this system. You might want to remove it (with"
3363 warn2 '"rpm -ve xscreensaver") before running "make install"'
3364 warn2 "from this directory."
3366 warn2 "Alternately, you could build this version of xscreensaver"
3367 warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
3368 warn2 "file is included. See the RPM documentation for more info."
3371 if test "$rpmbdir" = "$rpmhdir" ; then
3372 warn2 "The RPM version was installed in $rpmbdir/."
3374 warn2 "The RPM version was installed in $rpmbdir/,"
3375 warn2 "with demos in $rpmhdir/."
3382 if test "${bindir}" = "${HACKDIR}" ; then
3386 if test "$do_dir_warning" = yes; then
3390 echo ' When you run "make install", the "xscreensaver",'
3391 echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
3392 echo " will be installed in ${bindir}/."
3394 echo " The various graphics demos (140+ different executables) will"
3395 echo " also be installed in ${HACKDIR}/."
3397 echo " If you would prefer the demos to be installed elsewhere"
3398 echo " (for example, in a dedicated directory) you should re-run"
3399 echo " configure with the --with-hackdir=DIR option. For more"
3400 echo " information, run $0 --help."
3404 if test "$warning" != no; then
3405 echo '' ; echo "$warnsep" ; echo ''
3408 if test "$do_dir_warning" = no; then
3409 if test "$warning" = no; then
3412 echo "User programs will be installed in ${bindir}/"
3413 echo "Screen savers will be installed in ${HACKDIR}/"
3414 echo "Configuration will be installed in ${HACK_CONF_DIR}/"