1 # configure.in --- xscreensaver, Copyright (c) 1997-2003 Jamie Zawinski.
5 AC_INIT(driver/subprocs.c)
6 AC_CONFIG_HEADER(config.h)
8 echo "current directory: `pwd`"
9 echo "command line was: $0 $@"
12 # After checking to see that --srcdir is correct (which AC_INIT does)
13 # check for some random other files that come later in the tar file,
14 # to make sure everything is here.
16 for d in driver utils hacks hacks/glx ; do
17 f=$srcdir/$d/Makefile.in
18 if test \! -r $f ; then
20 echo "ERROR: The package is incomplete: $f does not exist."
21 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"
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 >/dev/null ) 2>&1 | \
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 turn off Objective C on MacOS X.
146 # (We have to do this to work around an Apple-specific gcc bug.)
148 ###############################################################################
150 AC_DEFUN(AC_GCC_ACCEPTS_NO_CPP_PRECOMP,
151 [if test -n "$GCC"; then
152 AC_CACHE_CHECK([whether gcc accepts -no-cpp-precomp],
153 ac_cv_gcc_accepts_no_cpp_precomp,
154 [if ( ( gcc -E -no-cpp-precomp - </dev/null >/dev/null ) 2>&1 | \
155 grep unrecognized >/dev/null ); then
156 ac_cv_gcc_accepts_no_cpp_precomp=no
158 ac_cv_gcc_accepts_no_cpp_precomp=yes
160 ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp"
164 AC_DEFUN(AC_NO_OBJECTIVE_C,
165 [if test -n "$GCC"; then
166 AC_GCC_ACCEPTS_NO_CPP_PRECOMP
167 if test "$ac_gcc_accepts_no_cpp_precomp" = yes ; then
168 AC_MSG_RESULT(Disabling Objective C extensions in ANSI C code.)
169 CC="$CC -no-cpp-precomp"
175 ###############################################################################
177 # Function to figure out how to create directory trees.
179 ###############################################################################
181 AC_DEFUN(AC_PROG_INSTALL_DIRS,
182 [AC_CACHE_CHECK([whether \"\${INSTALL} -d\" creates intermediate directories],
183 ac_cv_install_d_creates_dirs,
184 [ac_cv_install_d_creates_dirs=no
186 if mkdir conftestdir; then
187 cd conftestdir 2>/dev/null
188 ${INSTALL} -d `pwd`/dir1/dir2 >/dev/null 2>&1
189 if test -d dir1/dir2/. ; then
190 ac_cv_install_d_creates_dirs=yes
197 if test "$ac_cv_install_d_creates_dirs" = no ; then
198 AC_CACHE_CHECK([whether \"mkdir -p\" creates intermediate directories],
199 ac_cv_mkdir_p_creates_dirs,
200 [ac_cv_mkdir_p_creates_dirs=no
202 if mkdir conftestdir; then
203 cd conftestdir 2>/dev/null
204 mkdir -p dir1/dir2 >/dev/null 2>&1
205 if test -d dir1/dir2/. ; then
206 ac_cv_mkdir_p_creates_dirs=yes
214 if test "$ac_cv_install_d_creates_dirs" = yes ; then
215 INSTALL_DIRS='${INSTALL} -d'
216 elif test "$ac_cv_mkdir_p_creates_dirs" = yes ; then
217 INSTALL_DIRS='mkdir -p'
220 INSTALL_DIRS='${INSTALL} -d'
225 ###############################################################################
227 # Function to check whether gettimeofday() exists, and how to call it.
228 # This may define HAVE_GETTIMEOFDAY and GETTIMEOFDAY_TWO_ARGS.
230 ###############################################################################
232 AC_DEFUN(AC_GETTIMEOFDAY_ARGS,
233 [AC_MSG_CHECKING(how to call gettimeofday)
234 AC_CACHE_VAL(ac_cv_gettimeofday_args,
235 [AC_TRY_COMPILE([#include <stdlib.h>
236 #include <sys/time.h>],
237 [struct timeval tv; struct timezone tzp;
238 gettimeofday(&tv, &tzp);],
239 [ac_gettimeofday_args=2],
240 [AC_TRY_COMPILE([#include <stdlib.h>
241 #include <sys/time.h>],
242 [struct timeval tv; gettimeofday(&tv);],
243 [ac_gettimeofday_args=1],
244 [ac_gettimeofday_args=0])])
245 ac_cv_gettimeofday_args=$ac_gettimeofday_args])
246 ac_gettimeofday_args=$ac_cv_gettimeofday_args
247 if test "$ac_gettimeofday_args" = 1 ; then
248 AC_DEFINE(HAVE_GETTIMEOFDAY)
249 AC_MSG_RESULT(one argument)
250 elif test "$ac_gettimeofday_args" = 2 ; then
251 AC_DEFINE(HAVE_GETTIMEOFDAY)
252 AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
253 AC_MSG_RESULT(two arguments)
255 AC_MSG_RESULT(unknown)
260 ###############################################################################
262 # Function to find perl5 (defines PERL and PERL_VERSION.)
264 ###############################################################################
266 # M4 sucks!! perl sucks too!!
268 perl_version_cmd='print $]'
271 AC_DEFUN(AC_PROG_PERL,
272 [AC_PATH_PROGS(PERL, [perl5 perl],,)
273 if test -z "$PERL" ; then
276 AC_CACHE_CHECK([perl version], ac_cv_perl_version,
277 [ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`])
278 PERL_VERSION=$ac_cv_perl_version
283 ###############################################################################
285 # Function to demand "bc". Losers.
287 ###############################################################################
289 AC_DEFUN(AC_DEMAND_BC,
290 [ac_bc_result=`echo 6+9 | bc 2>/dev/null`
291 AC_MSG_CHECKING([for bc])
292 if test "$ac_bc_result" = "15" ; then
297 AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard
298 part of Unix since the 1970s. Come back when your vendor
303 ###############################################################################
305 # Functions to check how to do ICMP PING requests.
307 ###############################################################################
309 AC_DEFUN(AC_CHECK_ICMP,
310 [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp,
311 [AC_TRY_COMPILE([#include <stdlib.h>
318 #include <sys/types.h>
319 #include <sys/time.h>
322 #include <sys/socket.h>
323 #include <netinet/in_systm.h>
324 #include <netinet/in.h>
325 #include <netinet/ip.h>
326 #include <netinet/ip_icmp.h>
327 #include <netinet/udp.h>
328 #include <arpa/inet.h>
332 struct sockaddr_in si;
334 i.icmp_type = ICMP_ECHO;
339 si.sin_family = AF_INET;
340 #if defined(__DECC) || defined(_IP_VHL)
346 [ac_cv_have_icmp=yes],
347 [ac_cv_have_icmp=no])])
348 if test "$ac_cv_have_icmp" = yes ; then
352 AC_DEFUN(AC_CHECK_ICMPHDR,
353 [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr,
354 [AC_TRY_COMPILE([#include <stdlib.h>
361 #include <sys/types.h>
362 #include <sys/time.h>
365 #include <sys/socket.h>
366 #include <netinet/in_systm.h>
367 #include <netinet/in.h>
368 #include <netinet/ip.h>
369 #include <netinet/ip_icmp.h>
370 #include <netinet/udp.h>
371 #include <arpa/inet.h>
375 struct sockaddr_in si;
381 i.un.echo.sequence = 0;
382 si.sin_family = AF_INET;
384 [ac_cv_have_icmphdr=yes],
385 [ac_cv_have_icmphdr=no])])
386 if test "$ac_cv_have_icmphdr" = yes ; then
387 AC_DEFINE(HAVE_ICMPHDR)
391 ###############################################################################
393 # Functions to check for various X11 crap.
395 ###############################################################################
397 # Try and find the app-defaults directory.
398 # It sucks that autoconf doesn't do this already...
400 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
402 if mkdir conftestdir; then
403 cd conftestdir 2>/dev/null
404 # Make sure to not put "make" in the Imakefile rules, since we grep it out.
405 cat > Imakefile <<'EOF'
407 @echo 'ac_x_app_defaults="${XAPPLOADDIR}"'
409 if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then
410 # GNU make sometimes prints "make[1]: Entering...", which'd confuse us.
411 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
417 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[
418 # Look for the directory under a standard set of common directories.
419 # Check X11 before X11Rn because it's often a symlink to the current release.
421 /usr/X11/lib/app-defaults \
422 /usr/X11R6/lib/app-defaults \
423 /usr/X11R6/lib/X11/app-defaults \
424 /usr/X11R5/lib/app-defaults \
425 /usr/X11R5/lib/X11/app-defaults \
426 /usr/X11R4/lib/app-defaults \
427 /usr/X11R4/lib/X11/app-defaults \
429 /usr/lib/X11/app-defaults \
430 /usr/lib/X11R6/app-defaults \
431 /usr/lib/X11R5/app-defaults \
432 /usr/lib/X11R4/app-defaults \
434 /usr/local/X11/lib/app-defaults \
435 /usr/local/X11R6/lib/app-defaults \
436 /usr/local/X11R5/lib/app-defaults \
437 /usr/local/X11R4/lib/app-defaults \
439 /usr/local/lib/X11/app-defaults \
440 /usr/local/lib/X11R6/app-defaults \
441 /usr/local/lib/X11R6/X11/app-defaults \
442 /usr/local/lib/X11R5/app-defaults \
443 /usr/local/lib/X11R5/X11/app-defaults \
444 /usr/local/lib/X11R4/app-defaults \
445 /usr/local/lib/X11R4/X11/app-defaults \
447 /usr/X386/lib/X11/app-defaults \
448 /usr/x386/lib/X11/app-defaults \
449 /usr/XFree86/lib/X11/app-defaults \
451 /usr/lib/X11/app-defaults \
452 /usr/local/lib/X11/app-defaults \
453 /usr/unsupported/lib/X11/app-defaults \
454 /usr/athena/lib/X11/app-defaults \
455 /usr/local/x11r5/lib/X11/app-defaults \
456 /usr/lpp/Xamples/lib/X11/app-defaults \
457 /lib/usr/lib/X11/app-defaults \
459 /usr/openwin/lib/app-defaults \
460 /usr/openwin/lib/X11/app-defaults \
461 /usr/openwin/share/lib/app-defaults \
462 /usr/openwin/share/lib/X11/app-defaults \
464 /X11R6/lib/app-defaults \
465 /X11R5/lib/app-defaults \
466 /X11R4/lib/app-defaults \
469 if test -d "$ac_dir"; then
470 ac_x_app_defaults=$ac_dir
476 AC_DEFUN(AC_PATH_X_APP_DEFAULTS,
478 AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
479 [AC_PATH_X_APP_DEFAULTS_XMKMF
480 if test x"$ac_x_app_defaults" = x; then
481 AC_PATH_X_APP_DEFAULTS_DIRECT
483 if test x"$ac_x_app_defaults" = x; then
484 ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
486 # Record where we found app-defaults for the cache.
487 ac_cv_x_app_defaults="$ac_x_app_defaults"
489 eval ac_x_app_defaults="$ac_cv_x_app_defaults"])
492 AC_DEFUN(AC_XPOINTER,
493 [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer,
494 [AC_TRY_X_COMPILE([#include <X11/Xlib.h>],
495 [XPointer foo = (XPointer) 0;],
496 [ac_cv_xpointer=yes],
497 [ac_cv_xpointer=no])])
498 if test "$ac_cv_xpointer" != yes; then
499 AC_DEFINE(XPointer,[char*])
503 # Random special-cases for X on certain pathological OSes.
504 # You know who you are.
506 AC_DEFUN(AC_X_RANDOM_PATHS,
510 # The following arcana was gleaned from conversations with
511 # Eric Schwartz <erics@col.hp.com>:
513 # On HPUX 10.x, the parts of X that HP considers "standard" live in
514 # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider
515 # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/.
516 # Yet /usr/contrib/X11R6/ comes preinstalled on all HPUX systems.
517 # Also, there are symlinks from /usr/include/ and /usr/lib/ into
518 # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all)
519 # you don't need any -I or -L arguments.
521 # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/
522 # are the same division as 10.x. However, there are no symlinks to
523 # the X stuff from /usr/include/ and /usr/lib/, so -I and -L
524 # arguments are always necessary.
526 # However, X11R6 was available on HPUX 9.x as a patch: if that
527 # patch was installed, then all of X11R6 went in to
528 # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.)
530 # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know
531 # whether R5 was available as a patch; R6 undoubtedly was not.)
533 # So. We try and use the highest numbered pair of
534 # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/
535 # that are available. We do not mix and match different versions
538 # Question I still don't know the answer to: (do you?)
540 # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and
541 # /usr/contrib/X11R6/ could be installed as a patch, what was in
542 # that contrib directory? Did it contain so-called "standard"
543 # X11R6, or did it include Xaw and Xmu as well? If the former,
544 # where did one find Xaw and Xmu on 9.x R6 systems? Would this
545 # be a situation where one had to reach into the R5 headers and
546 # libs to find Xmu? That is, must both R6 and R5 directories
547 # be on the -I and -L lists in that case?
549 for version in X11R6 X11R5 X11R4 ; do
550 # if either pair of directories exists...
551 if test -d /usr/include/$version || test -d /usr/contrib/$version/include
553 # if contrib exists, use it...
554 if test -d /usr/contrib/$version/include ; then
555 X_CFLAGS="$X_CFLAGS -I/usr/contrib/$version/include"
556 X_LIBS="$X_LIBS -L/usr/contrib/$version/lib"
558 # if the "standard" one exists, use it.
559 if test -d /usr/include/$version ; then
560 X_CFLAGS="$X_CFLAGS -I/usr/include/$version"
561 X_LIBS="$X_LIBS -L/usr/lib/$version"
563 # since at least one of the pair exists, go no farther.
568 # Now find Motif. Thanks for not making xmkmf find this by
569 # default, you losers.
571 if test -d /usr/include/Motif2.1 ; then
572 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif2.1"
573 X_LIBS="$X_LIBS -L/usr/lib/Motif2.1"
574 elif test -d /usr/include/Motif1.2 ; then
575 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2"
576 X_LIBS="$X_LIBS -L/usr/lib/Motif1.2"
577 elif test -d /usr/include/Motif1.1 ; then
578 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1"
579 X_LIBS="$X_LIBS -L/usr/lib/Motif1.1"
582 # Now let's check for the pseudo-standard locations for OpenGL and XPM.
584 if test -d /opt/graphics/OpenGL/include ; then
585 # HP-UX 10.20 puts it here
586 X_CFLAGS="-I/opt/graphics/OpenGL/include $X_CFLAGS"
587 X_LIBS="-L/opt/graphics/OpenGL/lib $X_LIBS"
588 elif test -d /opt/Mesa/lib ; then
589 X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS"
590 X_LIBS="-L/opt/Mesa/lib $X_LIBS"
594 if test -d /opt/xpm/lib/X11 ; then
595 X_CFLAGS="-I/opt/xpm/include $X_CFLAGS"
596 X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS"
599 # On HPUX, default to installing in /opt/xscreensaver/ instead of
600 # in /usr/local/, unless there is already an xscreensaver in
601 # /usr/local/bin/. This can be overridden with the --prefix arg
602 # to configure. I'm not sure this is the right thing to do, but
603 # Richard Lloyd says so...
605 if test \! -x /usr/local/bin/xscreensaver ; then
606 ac_default_prefix=/opt/xscreensaver
612 # Thanks for not making xmkmf find this by default, pinheads.
613 # And thanks for moving things around again, too. Is this
614 # really the standard location now? What happened to the
615 # joke that this kind of thing went in /opt?
616 # cthomp says "answer: CDE (Common Disorganized Environment)"
618 if test -f /usr/dt/include/Xm/Xm.h ; then
619 X_CFLAGS="$X_CFLAGS -I/usr/dt/include"
620 X_LIBS="$X_LIBS -L/usr/dt/lib -R:/usr/dt/lib"
622 # Some versions of Slowlaris Motif require -lgen. But not all. Why?
623 AC_CHECK_LIB(gen, regcmp, [X_LIBS="$X_LIBS -lgen"])
629 # On MacOS X (10.x with "fink"), many things are under /sw/.
631 if test -d /sw/include ; then
632 X_CFLAGS="-I/sw/include $X_CFLAGS"
633 X_LIBS="-L/sw/lib $X_LIBS"
640 ###############################################################################
642 # Some utility functions to make checking for X things easier.
644 ###############################################################################
646 # Like AC_CHECK_HEADER, but it uses the already-computed -I directories.
648 AC_DEFUN(AC_CHECK_X_HEADER, [
649 ac_save_CPPFLAGS="$CPPFLAGS"
650 if test \! -z "$includedir" ; then
651 CPPFLAGS="$CPPFLAGS -I$includedir"
653 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
654 AC_CHECK_HEADER([$1],[$2],[$3],[$4])
655 CPPFLAGS="$ac_save_CPPFLAGS"])
657 # Like AC_EGREP_HEADER, but it uses the already-computed -I directories.
659 AC_DEFUN(AC_EGREP_X_HEADER, [
660 ac_save_CPPFLAGS="$CPPFLAGS"
661 if test \! -z "$includedir" ; then
662 CPPFLAGS="$CPPFLAGS -I$includedir"
664 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
665 AC_EGREP_HEADER([$1], [$2], [$3], [$4])
666 CPPFLAGS="$ac_save_CPPFLAGS"])
668 # Like AC_TRY_COMPILE, but it uses the already-computed -I directories.
670 AC_DEFUN(AC_TRY_X_COMPILE, [
671 ac_save_CPPFLAGS="$CPPFLAGS"
672 if test \! -z "$includedir" ; then
673 CPPFLAGS="$CPPFLAGS -I$includedir"
675 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
676 AC_TRY_COMPILE([$1], [$2], [$3], [$4])
677 CPPFLAGS="$ac_save_CPPFLAGS"])
680 # Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories.
681 # Use this sparingly; it probably doesn't work very well on X programs.
683 AC_DEFUN(AC_CHECK_X_LIB, [
684 ac_save_CPPFLAGS="$CPPFLAGS"
685 ac_save_LDFLAGS="$LDFLAGS"
686 # ac_save_LIBS="$LIBS"
688 if test \! -z "$includedir" ; then
689 CPPFLAGS="$CPPFLAGS -I$includedir"
691 # note: $X_CFLAGS includes $x_includes
692 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
694 if test \! -z "$libdir" ; then
695 LDFLAGS="$LDFLAGS -L$libdir"
697 # note: $X_LIBS includes $x_libraries
698 LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
700 AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
701 CPPFLAGS="$ac_save_CPPFLAGS"
702 LDFLAGS="$ac_save_LDFLAGS"
703 # LIBS="$ac_save_LIBS"
706 # Like AC_TRY_RUN, but it uses the already-computed -I directories.
707 # (But not the -L directories!)
709 AC_DEFUN(AC_TRY_X_RUN, [
710 ac_save_CPPFLAGS="$CPPFLAGS"
711 if test \! -z "$includedir" ; then
712 CPPFLAGS="$CPPFLAGS -I$includedir"
714 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
715 AC_TRY_RUN([$1], [$2], [$3], [$4])
716 CPPFLAGS="$ac_save_CPPFLAGS"])
720 # Usage: HANDLE_X_PATH_ARG([variable_name],
721 # [--command-line-option],
722 # [descriptive string])
724 # All of the --with options take three forms:
726 # --with-foo (or --with-foo=yes)
727 # --without-foo (or --with-foo=no)
730 # This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees
731 # a directory (string beginning with a slash) it checks to see whether
732 # /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS
735 AC_DEFUN(HANDLE_X_PATH_ARG, [
741 AC_MSG_CHECKING([for [$3] headers])
744 X_CFLAGS="-I$d $X_CFLAGS"
747 AC_MSG_RESULT(not found ($d: no such directory))
750 AC_MSG_CHECKING([for [$3] libs])
753 X_LIBS="-L$d $X_LIBS"
756 AC_MSG_RESULT(not found ($d: no such directory))
759 # replace the directory string with "yes".
766 echo "error: argument to [$2] must be \"yes\", \"no\", or a directory."
767 echo " If it is a directory, then \`DIR/include' will be added to"
768 echo " the -I list, and \`DIR/lib' will be added to the -L list."
776 ###############################################################################
777 ###############################################################################
779 # End of function definitions. Now start actually executing stuff.
781 ###############################################################################
782 ###############################################################################
784 # random compiler setup
787 AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
795 # stuff for Makefiles
800 # By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'.
801 # That's wrong: it should be set to '${INSTALL}', so that one can
802 # implement the "install-strip" target properly (strip executables,
803 # but do not try to strip scripts.)
805 INSTALL_SCRIPT='${INSTALL}'
809 AC_CHECK_HEADERS(unistd.h)
818 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
820 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
823 AC_CHECK_HEADERS(crypt.h sys/select.h)
826 if test -z "$PERL" ; then
827 # don't let it be blank...
833 if test "$have_x" != yes; then
834 AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.)
837 AC_PATH_X_APP_DEFAULTS
842 ###############################################################################
846 ###############################################################################
849 GETTEXT_PACKAGE=xscreensaver
850 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
851 AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE")
852 AC_SUBST(GETTEXT_PACKAGE)
854 ALL_LINGUAS="ca da de es et fi fr hu it ja ko nl no pl pt pt_BR ru sk sv vi wa zh_CN zh_TW"
858 ###############################################################################
860 # Check for -lXmu (some fucked up vendors don't ship it...)
862 ###############################################################################
865 AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes],,
868 #include <X11/Intrinsic.h>])
869 if test "$have_xmu" = no ; then
870 XMU_SRCS='$(UTILS_SRC)/xmu.c'
871 XMU_OBJS='$(UTILS_BIN)/xmu.o'
881 ###############################################################################
883 # Check for the SunOS 4.1.x _get_wmShellWidgetClass bug.
884 # See comp.windows.x FAQ question 124. The right fix is to
885 # get OpenWindows 3.0 patches 100512-02 and 100573-03.
887 ###############################################################################
889 if test "$have_xmu" = yes ; then
892 AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
894 [ac_save_LDFLAGS="$LDFLAGS"
895 if test \! -z "$x_libraries" ; then
896 LDFLAGS="$LDFLAGS -L$x_libraries"
898 # Note: this trick never works! (Generally.)
899 # We're only getting away with using AC_TRY_LINK
900 # with X libraries because we know it's SunOS.
901 LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
903 [ac_cv_sunos_xmu_bug=no],
904 [ac_cv_sunos_xmu_bug=yes])
905 LDFLAGS="$ac_save_LDFLAGS"])
906 if test "$ac_cv_sunos_xmu_bug" = yes ; then
907 AC_CACHE_CHECK([whether the compiler understands -static],
909 [ac_save_LDFLAGS="$LDFLAGS"
910 LDFLAGS="$LDFLAGS -static"
911 AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
912 LDFLAGS="$ac_save_LDFLAGS"])
913 if test "$ac_cv_ld_static" = yes ; then
914 LDFLAGS="$LDFLAGS -static"
916 LDFLAGS="$LDFLAGS -Bstatic"
924 ###############################################################################
926 # Handle the --with-hackdir option
928 ###############################################################################
931 with_hackdir_req=unspecified
932 AC_ARG_WITH(hackdir,[
933 Installation options:
935 --with-hackdir=DIR Where to install the hundreds of demo executables.
936 Default: \`PREFIX/lib/xscreensaver/'],
937 [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes])
939 if test x"$with_hackdir" = xyes; then
940 HACKDIR='${exec_prefix}/lib/xscreensaver'
941 elif test x"$with_hackdir" = xno; then
944 # there must be a better way than this...
945 if test -z "`echo $with_hackdir | sed 's@^/.*@@'`" ; then
947 HACKDIR=$with_hackdir
950 HACKDIR="\${exec_prefix}$with_hackdir"
954 # canonicalize slashes.
955 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
957 # This option used to be called --enable-subdir; make sure that is no longer
958 # used, since configure brain-damagedly ignores unknown --enable options.
961 AC_ARG_ENABLE(subdir,,[obsolete_enable=yes])
962 if test -n "$obsolete_enable"; then
963 echo "error: the --enable-subdir option has been replaced with"
964 echo " the new --with-hackdir option; see \`configure --help'"
965 echo " for more information."
970 ###############################################################################
972 # Handle the --with-configdir option
974 ###############################################################################
977 with_configdir_req=unspecified
978 AC_ARG_WITH(configdir,
979 [ --with-configdir=DIR Where to install the data files that describe each
980 of the display modes to the GUI.
981 Default: \`GNOMEPREFIX/control-center/screensavers/'
982 or \`PREFIX/lib/xscreensaver/config/', depending on
983 whether GNOME is available.
985 [with_configdir="$withval"; with_configdir_req="$withval"],
986 [with_configdir=yes])
988 if test x"$with_configdir" = xyes; then
991 elif test x"$with_configdir" = xno; then
992 echo "error: must be yes, or a pathname: --with-configdir=$with_configdir"
995 # there must be a better way than this...
996 if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then
998 HACK_CONF_DIR=$with_configdir
1001 HACK_CONF_DIR="\${exec_prefix}$with_configdir"
1008 ###############################################################################
1010 # Check for the SGI SCREEN_SAVER server extension.
1012 ###############################################################################
1015 with_sgi_req=unspecified
1016 AC_ARG_WITH(sgi-ext,
1017 [Except where noted, all of the --with options below can also take a
1018 directory argument: for example, \`--with-motif=/opt/Motif'. That would
1019 cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
1020 to be added to the -L list, assuming those directories exist.
1022 By default, support for each of these options will be built in, if the
1023 relevant library routines exist. At run time, they will then be used
1024 only if the X server being used supports them. Each --with option has
1025 a corresponding --without option, to override building support for them
1028 Screen blanking and idle-detection options:
1030 --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
1031 [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
1033 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
1035 if test "$with_sgi" = yes; then
1036 AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
1038 AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)],,
1039 [#include <X11/Xlib.h>])
1041 elif test "$with_sgi" != no; then
1042 echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
1047 ###############################################################################
1049 # Check for the MIT-SCREEN-SAVER server extension.
1051 ###############################################################################
1054 with_mit_req=unspecified
1055 AC_ARG_WITH(mit-ext,
1056 [ --with-mit-ext Include support for the MIT-SCREEN-SAVER extension.],
1057 [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
1059 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
1061 if test "$with_mit" = yes; then
1062 AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes],,
1063 [#include <X11/Xlib.h>])
1065 # Now check to see if it's really in the library; XF86Free-3.3 ships
1066 # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
1068 if test "$have_mit" = yes; then
1069 AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm)
1071 if test "$have_mit" = no; then
1072 # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead
1073 # of in Xext. Thank you master, may I have another.
1074 AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
1075 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"],
1076 [true], -lX11 -lXext -lm)
1079 if test "$have_mit" = no; then
1080 # Double fuck! Looks like some versions of XFree86 (whichever version
1081 # it is that comes with RedHat Linux 2.0 -- I can't find a version
1082 # number) put this garbage in Xss instead of Xext. Thank you master,
1083 # may I have another.
1084 AC_CHECK_X_LIB(Xss, XScreenSaverRegister,
1085 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"],
1086 [true], -lX11 -lXext -lm)
1089 if test "$have_mit" = yes; then
1090 AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
1095 elif test "$with_mit" != no; then
1096 echo "error: must be yes or no: --with-mit-ext=$with_mit"
1101 ###############################################################################
1103 # Check for the XIDLE server extension.
1105 ###############################################################################
1108 with_xidle_req=unspecified
1109 AC_ARG_WITH(xidle-ext,
1110 [ --with-xidle-ext Include support for the XIDLE extension.],
1111 [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
1113 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
1115 if test "$with_xidle" = yes; then
1116 AC_CHECK_X_HEADER(X11/extensions/xidle.h,
1118 AC_DEFINE(HAVE_XIDLE_EXTENSION)],,
1119 [#include <X11/Xlib.h>])
1120 elif test "$with_xidle" != no; then
1121 echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
1126 ###############################################################################
1128 # Check for the SGI-VIDEO-CONTROL server extension.
1130 ###############################################################################
1133 with_sgivc_req=unspecified
1134 AC_ARG_WITH(sgivc-ext,
1135 [ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
1136 [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
1138 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
1140 if test "$with_sgivc" = yes; then
1142 # first check for XSGIvc.h
1143 AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes],,
1144 [#include <X11/Xlib.h>])
1146 # if that succeeded, then check for the -lXsgivc
1147 if test "$have_sgivc" = yes; then
1149 AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
1150 [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
1154 # if that succeeded, then we've really got it.
1155 if test "$have_sgivc" = yes; then
1156 AC_DEFINE(HAVE_SGI_VC_EXTENSION)
1159 elif test "$with_sgivc" != no; then
1160 echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
1165 ###############################################################################
1167 # Check for the DPMS server extension.
1169 ###############################################################################
1172 with_dpms_req=unspecified
1173 AC_ARG_WITH(dpms-ext,
1174 [ --with-dpms-ext Include support for the DPMS extension.],
1175 [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes])
1177 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
1179 if test "$with_dpms" = yes; then
1181 # first check for dpms.h
1182 AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],,
1183 [#include <X11/Xlib.h>])
1185 # if that succeeded, then check for the DPMS code in the libraries
1186 if test "$have_dpms" = yes; then
1188 # first look in -lXext (this is where it is with XFree86 4.0)
1190 AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11)
1192 # if that failed, look in -lXdpms (this is where it was in XFree86 3.x)
1193 if test "$have_dpms" = no; then
1194 AC_CHECK_X_LIB(Xdpms, DPMSInfo,
1195 [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true],
1201 # if that succeeded, then we've really got it.
1202 if test "$have_dpms" = yes; then
1203 AC_DEFINE(HAVE_DPMS_EXTENSION)
1206 elif test "$with_dpms" != no; then
1207 echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
1212 ###############################################################################
1214 # Check for the XINERAMA server extension.
1216 ###############################################################################
1219 with_xinerama_req=unspecified
1220 AC_ARG_WITH(xinerama-ext,
1221 [ --with-xinerama-ext Include support for the XINERAMA extension.],
1222 [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes])
1224 HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA)
1226 if test "$with_xinerama" = yes; then
1228 # first check for Xinerama.h
1229 AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes],,
1230 [#include <X11/Xlib.h>])
1232 # if that succeeded, then check for the XINERAMA code in the libraries
1233 if test "$have_xinerama" = yes; then
1235 # first look in -lXext
1237 AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [have_xinerama=yes], [true],
1240 # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.)
1241 if test "$have_xinerama" = no; then
1242 AC_CHECK_X_LIB(Xinerama, XineramaQueryExtension,
1243 [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"],
1244 [true], -lXext -lX11)
1248 # if that succeeded, then we've really got it.
1249 if test "$have_xinerama" = yes; then
1250 AC_DEFINE(HAVE_XINERAMA)
1253 elif test "$with_xinerama" != no; then
1254 echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama"
1259 ###############################################################################
1261 # Check for the XF86VMODE server extension (for virtual screens.)
1263 ###############################################################################
1266 with_xf86vmode_req=unspecified
1267 AC_ARG_WITH(xf86vmode-ext,
1268 [ --with-xf86vmode-ext Include support for XFree86 virtual screens.],
1269 [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"],
1270 [with_xf86vmode=yes])
1272 HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
1274 if test "$with_xf86vmode" = yes; then
1276 # first check for xf86vmode.h
1277 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes],,
1278 [#include <X11/Xlib.h>])
1280 # if that succeeded, then check for the -lXxf86vm
1281 if test "$have_xf86vmode" = yes; then
1283 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort,
1284 [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"],
1285 [true], -lXext -lX11)
1288 # if that succeeded, then we've really got it.
1289 if test "$have_xf86vmode" = yes; then
1290 AC_DEFINE(HAVE_XF86VMODE)
1293 elif test "$with_xf86vmode" != no; then
1294 echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode"
1299 ###############################################################################
1301 # Check for the XF86VMODE server extension (for gamma fading.)
1303 ###############################################################################
1306 have_xf86gamma_ramp=no
1307 with_xf86gamma_req=unspecified
1308 AC_ARG_WITH(xf86gamma-ext,
1309 [ --with-xf86gamma-ext Include support for XFree86 gamma fading.],
1310 [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"],
1311 [with_xf86gamma=yes])
1313 HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma)
1315 if test "$with_xf86gamma" = yes; then
1317 # first check for xf86vmode.h, if we haven't already
1318 if test "$have_xf86vmode" = yes; then
1321 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes],,
1322 [#include <X11/Xlib.h>])
1325 # if that succeeded, then check for the -lXxf86vm
1326 if test "$have_xf86gamma" = yes; then
1328 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma,
1329 [have_xf86gamma=yes],
1330 [true], -lXext -lX11)
1333 # check for the Ramp versions of the functions too.
1334 if test "$have_xf86gamma" = yes; then
1335 have_xf86gamma_ramp=no
1336 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp,
1337 [have_xf86gamma_ramp=yes],
1338 [true], -lXext -lX11)
1341 # if those tests succeeded, then we've really got the functions.
1342 if test "$have_xf86gamma" = yes; then
1343 AC_DEFINE(HAVE_XF86VMODE_GAMMA)
1346 if test "$have_xf86gamma_ramp" = yes; then
1347 AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP)
1350 # pull in the lib, if we haven't already
1351 if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then
1352 SAVER_LIBS="$SAVER_LIBS -lXxf86vm"
1355 elif test "$with_xf86gamma" != no; then
1356 echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode"
1361 ###############################################################################
1363 # Check for XF86MiscSetGrabKeysState (but only bother if we are already
1364 # using other XF86 stuff.)
1366 ###############################################################################
1368 have_xf86miscsetgrabkeysstate=no
1369 if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then
1370 AC_CHECK_X_LIB(Xxf86misc, XF86MiscSetGrabKeysState,
1371 [have_xf86miscsetgrabkeysstate=yes],
1372 [true], -lXext -lX11)
1373 if test "$have_xf86miscsetgrabkeysstate" = yes ; then
1374 SAVER_LIBS="$SAVER_LIBS -lXxf86misc"
1375 AC_DEFINE(HAVE_XF86MISCSETGRABKEYSSTATE)
1380 ###############################################################################
1382 # Check for HP XHPDisableReset and XHPEnableReset.
1384 ###############################################################################
1386 AC_MSG_CHECKING([for XHPDisableReset in X11/XHPlib.h])
1387 AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h,
1388 [AC_DEFINE(HAVE_XHPDISABLERESET)
1389 SAVER_LIBS="-lXhp11 $SAVER_LIBS"
1390 AC_MSG_RESULT(yes)],
1391 [AC_MSG_RESULT(no)])
1394 ###############################################################################
1396 # Check for /proc/interrupts.
1398 ###############################################################################
1400 have_proc_interrupts=no
1401 with_proc_interrupts_req=unspecified
1402 AC_ARG_WITH(proc-interrupts,
1403 [ --with-proc-interrupts Include support for consulting the /proc/interrupts
1404 file to notice keyboard activity.],
1405 [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
1406 [with_proc_interrupts=yes])
1408 if test "$with_proc_interrupts" = yes; then
1410 AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data],
1411 ac_cv_have_proc_interrupts,
1412 [ac_cv_have_proc_interrupts=no
1413 if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
1414 ac_cv_have_proc_interrupts=yes
1417 have_proc_interrupts=$ac_cv_have_proc_interrupts
1419 if test "$have_proc_interrupts" = yes; then
1420 AC_DEFINE(HAVE_PROC_INTERRUPTS)
1423 elif test "$with_proc_interrupts" != no; then
1424 echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
1429 ###############################################################################
1431 # The --enable-locking option
1433 ###############################################################################
1435 AC_ARG_ENABLE(locking,[
1436 Screen locking options:
1438 --enable-locking Compile in support for locking the display.
1439 --disable-locking Do not allow locking at all.],
1440 [enable_locking="$enableval"],[enable_locking=yes])
1441 if test "$enable_locking" = yes; then
1443 elif test "$enable_locking" = no; then
1444 AC_DEFINE(NO_LOCKING)
1446 echo "error: must be yes or no: --enable-locking=$enable_locking"
1452 ###############################################################################
1454 # The --enable-vt-locking option
1456 ###############################################################################
1458 #ac_vt_lockswitch=no
1459 #AC_ARG_ENABLE(vt-locking,[
1460 # --enable-vt-locking Compile in support for locking Virtual Terminals.
1461 # This is the default if the system supports it, and
1462 # if locking support is included (--enable-locking.)
1463 # --disable-vt-locking Do not allow locking of VTs, even if locking is
1465 # [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
1466 #if test "$enable_vt_locking" = yes; then
1468 # AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch,
1469 # [AC_TRY_COMPILE([#include <fcntl.h>
1470 # #include <sys/ioctl.h>
1471 # #include <sys/vt.h>],
1472 # [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;],
1473 # [ac_cv_vt_lockswitch=yes],
1474 # [ac_cv_vt_lockswitch=no])])
1475 # ac_vt_lockswitch=$ac_cv_vt_lockswitch
1477 #elif test "$enable_vt_locking" = no; then
1480 # echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
1484 #if test "$ac_vt_lockswitch" = yes; then
1485 # AC_DEFINE(HAVE_VT_LOCKSWITCH)
1486 # # the VT_LOCKSWITCH ioctl can only be used when running as root.
1487 # # #### but it doesn't work yet, so don't worry about that for now.
1492 ###############################################################################
1496 ###############################################################################
1500 # Solaris systems tend to come with PAM misconfigured.
1501 # Don't build it by default, even if the headers exist.
1505 # Default to building PAM support on all other systems, if it exists.
1506 with_pam_default=yes
1511 with_pam_req=unspecified
1514 [ --with-pam Include support for PAM (Pluggable Auth Modules.)],
1515 [with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default])
1517 HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
1519 if test "$enable_locking" = yes -a "$with_pam" = yes; then
1520 AC_CACHE_CHECK([for PAM], ac_cv_pam,
1521 [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],,
1524 if test "$ac_cv_pam" = yes ; then
1527 PASSWD_LIBS="${PASSWD_LIBS} -lpam"
1529 # libpam typically requires dlopen and dlsym. On FreeBSD,
1530 # those are in libc. On Linux and Solaris, they're in libdl.
1531 AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"])
1533 AC_MSG_CHECKING(how to call pam_strerror)
1534 AC_CACHE_VAL(ac_cv_pam_strerror_args,
1535 [AC_TRY_COMPILE([#include <stdio.h>
1537 #include <security/pam_appl.h>],
1538 [pam_handle_t *pamh = 0;
1539 char *s = pam_strerror(pamh, PAM_SUCCESS);],
1540 [ac_pam_strerror_args=2],
1541 [AC_TRY_COMPILE([#include <stdio.h>
1543 #include <security/pam_appl.h>],
1545 pam_strerror(PAM_SUCCESS);],
1546 [ac_pam_strerror_args=1],
1547 [ac_pam_strerror_args=0])])
1548 ac_cv_pam_strerror_args=$ac_pam_strerror_args])
1549 ac_pam_strerror_args=$ac_cv_pam_strerror_args
1550 if test "$ac_pam_strerror_args" = 1 ; then
1551 AC_MSG_RESULT(one argument)
1552 elif test "$ac_pam_strerror_args" = 2 ; then
1553 AC_DEFINE(PAM_STRERROR_TWO_ARGS)
1554 AC_MSG_RESULT(two arguments)
1556 AC_MSG_RESULT(unknown)
1562 ###############################################################################
1564 # Check for Kerberos.
1566 ###############################################################################
1570 with_kerberos_req=unspecified
1572 AC_ARG_WITH(kerberos,
1573 [ --with-kerberos Include support for Kerberos authentication.],
1574 [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes])
1576 HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
1578 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
1579 AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos,
1580 [AC_TRY_X_COMPILE([#include <krb.h>],,
1581 [ac_cv_kerberos=yes],
1582 [ac_cv_kerberos=no])])
1583 AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5,
1584 [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],,
1585 [ac_cv_kerberos5=yes],
1586 [ac_cv_kerberos5=no])])
1588 if test "$ac_cv_kerberos" = yes ; then
1590 AC_DEFINE(HAVE_KERBEROS)
1593 if test "$ac_cv_kerberos5" = yes ; then
1596 AC_DEFINE(HAVE_KERBEROS)
1597 AC_DEFINE(HAVE_KERBEROS5)
1600 if test "$have_kerberos5" = yes ; then
1601 # from Matt Knopp <mhat@infocalypse.netlag.com>
1602 # (who got it from amu@mit.edu)
1604 PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"
1606 # jwz: MacOS X uses -lkrb5, but not -lcrypt
1607 AC_CHECK_X_LIB(crypt, crypt, [PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
1609 elif test "$have_kerberos" = yes ; then
1610 # from Tim Showalter <tjs@psaux.com> for FreeBSD 4.2
1611 PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err"
1614 if test "$have_kerberos" = yes ; then
1615 AC_CHECK_FUNC(res_search,,
1616 AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
1617 AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
1623 ###############################################################################
1625 # Check for the nine billion variants of shadow passwords...
1627 ###############################################################################
1632 with_shadow_req=unspecified
1635 [ --with-shadow Include support for shadow password authentication.],
1636 [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
1638 HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
1640 if test "$enable_locking" = no ; then
1646 ###############################################################################
1648 # Check for Sun "adjunct" passwords.
1650 ###############################################################################
1652 if test "$with_shadow" = yes ; then
1653 AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
1654 [AC_TRY_X_COMPILE([#include <stdlib.h>
1656 #include <sys/types.h>
1657 #include <sys/label.h>
1658 #include <sys/audit.h>
1659 #include <pwdadj.h>],
1660 [struct passwd_adjunct *p = getpwanam("nobody");
1661 const char *pw = p->pwa_passwd;],
1662 [ac_cv_sun_adjunct=yes],
1663 [ac_cv_sun_adjunct=no])])
1664 if test "$ac_cv_sun_adjunct" = yes; then
1665 have_shadow_adjunct=yes
1672 ###############################################################################
1674 # Check for DEC and SCO so-called "enhanced" security.
1676 ###############################################################################
1678 if test "$with_shadow" = yes ; then
1679 AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
1680 [AC_TRY_X_COMPILE([#include <stdlib.h>
1682 #include <sys/types.h>
1684 #include <sys/security.h>
1686 [struct pr_passwd *p;
1688 set_auth_parameters(0, 0);
1689 check_auth_parameters();
1690 p = getprpwnam("nobody");
1691 pw = p->ufld.fd_encrypt;],
1692 [ac_cv_enhanced_passwd=yes],
1693 [ac_cv_enhanced_passwd=no])])
1694 if test $ac_cv_enhanced_passwd = yes; then
1695 have_shadow_enhanced=yes
1699 # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
1700 # (I'm told it needs -lcurses too, but I don't understand why.)
1701 # But on DEC, it's in -lsecurity.
1703 AC_CHECK_LIB(prot, getprpwnam,
1704 [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"],
1705 [AC_CHECK_LIB(security, getprpwnam,
1706 [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])],
1711 ###############################################################################
1713 # Check for HP's entry in the "Not Invented Here" Sweepstakes.
1715 ###############################################################################
1717 if test "$with_shadow" = yes ; then
1718 AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
1719 [AC_TRY_X_COMPILE([#include <stdlib.h>
1721 #include <sys/types.h>
1723 #include <hpsecurity.h>
1725 [struct s_passwd *p = getspwnam("nobody");
1726 const char *pw = p->pw_passwd;],
1727 [ac_cv_hpux_passwd=yes],
1728 [ac_cv_hpux_passwd=no])])
1729 if test "$ac_cv_hpux_passwd" = yes; then
1730 have_shadow_hpux=yes
1734 # on HPUX, bigcrypt is in -lsec
1735 AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"])
1740 ###############################################################################
1742 # Check for FreeBSD-style shadow passwords.
1744 # On FreeBSD, getpwnam() and friends work just like on non-shadow-
1745 # password systems -- except you only get stuff in the pw_passwd field
1746 # if the running program is setuid. So, guess that we've got this
1747 # lossage to contend with if /etc/master.passwd exists, and default to
1748 # a setuid installation.
1750 ###############################################################################
1752 if test "$with_shadow" = yes ; then
1753 AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
1754 [if test -f /etc/master.passwd ; then
1755 ac_cv_master_passwd=yes
1757 ac_cv_master_passwd=no
1759 if test "$ac_cv_master_passwd" = yes; then
1765 ###############################################################################
1767 # Check for traditional (ha!) shadow passwords.
1769 ###############################################################################
1771 if test "$with_shadow" = yes ; then
1772 AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
1773 [AC_TRY_X_COMPILE([#include <stdlib.h>
1775 #include <sys/types.h>
1777 #include <shadow.h>],
1778 [struct spwd *p = getspnam("nobody");
1779 const char *pw = p->sp_pwdp;],
1781 [ac_cv_shadow=no])])
1782 if test "$ac_cv_shadow" = yes; then
1786 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
1788 AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
1789 if test "$have_getspnam" = no ; then
1790 AC_CHECK_LIB(gen, getspnam,
1791 [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
1797 ###############################################################################
1799 # Check for other libraries needed for non-shadow passwords.
1801 ###############################################################################
1803 if test "$enable_locking" = yes ; then
1805 # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
1807 AC_CHECK_LIB(c, crypt, [have_crypt=yes])
1808 if test "$have_crypt" = no ; then
1809 AC_CHECK_LIB(crypt, crypt,
1810 [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
1815 # Most of the above shadow mechanisms will have set need_setuid to yes,
1816 # if they were found. But, on some systems, we need setuid even when
1817 # using plain old vanilla passwords.
1819 if test "$enable_locking" = yes ; then
1821 *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
1828 if test "$have_shadow_adjunct" = yes ; then
1829 AC_DEFINE(HAVE_ADJUNCT_PASSWD)
1830 elif test "$have_shadow_enhanced" = yes ; then
1831 AC_DEFINE(HAVE_ENHANCED_PASSWD)
1832 elif test "$have_shadow_hpux" = yes ; then
1833 AC_DEFINE(HAVE_HPUX_PASSWD)
1834 elif test "$have_shadow" = yes ; then
1835 AC_DEFINE(HAVE_SHADOW_PASSWD)
1839 ###############################################################################
1843 ###############################################################################
1846 with_motif_req=unspecified
1848 User interface options:
1850 --with-motif Use the Motif toolkit for the user interface
1851 (not recommended.)],
1852 [with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
1854 HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
1856 if test "$with_motif" != yes -a "$with_motif" != no ; then
1857 echo "error: must be yes or no: --with-motif=$with_motif"
1861 if test "$with_motif" = yes; then
1863 AC_CHECK_X_HEADER(Xm/Xm.h,
1865 AC_DEFINE(HAVE_MOTIF)
1866 MOTIF_LIBS="$MOTIF_LIBS -lXm"],,
1867 [#include <stdlib.h>
1869 #include <X11/Intrinsic.h>])
1873 if test "$have_motif" = yes; then
1874 AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],,
1875 [#include <stdlib.h>
1877 #include <X11/Intrinsic.h>])
1881 ###############################################################################
1883 # Check for -lgtk (and Gnome stuff)
1885 ###############################################################################
1889 with_gtk_req=unspecified
1891 [ --with-gtk Use the Gtk toolkit for the user interface.],
1892 [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes])
1894 # if --with-gtk=/directory/ was specified, remember that directory so that
1895 # we can also look for the `gtk-config' program in that directory.
1905 HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk)
1907 if test "$with_gtk" != yes -a "$with_gtk" != no ; then
1908 echo "error: must be yes or no: --with-gtk=$with_gtk"
1913 with_gnome_req=unspecified
1915 [ --with-gnome Include support for the Gnome 1.x Control Center.
1916 (This option is not needed with GTK 2.x / Gnome 2.x.)
1918 [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
1920 # if --with-gnome=/directory/ was specified, remember that directory so that
1921 # we can also look for the `gnome-config' program in that directory.
1922 case "$with_gnome" in
1924 gnome_dir="$with_gnome"
1931 HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
1933 if test "$with_gnome" != yes -a "$with_gnome" != no ; then
1934 echo "error: must be yes or no: --with-gnome=$with_gnome"
1938 parse_gtk_version_string() {
1941 maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
1942 min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
1944 ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
1945 if test -z "$ac_gtk_version"; then
1946 ac_gtk_version=unknown
1947 ac_gtk_version_string=unknown
1955 if test "$with_gtk" = yes; then
1958 # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
1959 # look in /foo/bin/ for glib-config, gtk-config, and gnome-config.
1963 if test ! -z "$gtk_dir"; then
1964 # canonicalize slashes.
1965 foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
1966 gtk_path="$foo:$gtk_path"
1969 if test ! -z "$gnome_dir"; then
1970 # canonicalize slashes.
1971 foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
1972 gtk_path="$foo:$gtk_path"
1975 AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
1977 if test -n "$pkg_config" ; then
1980 # run pkg-config based tests.
1984 pkg_check_version() {
1985 if test "$ok" = yes ; then
1988 AC_MSG_CHECKING(for $req)
1989 if $pkg_config --exists "$req" ; then
1990 vers=`$pkg_config --modversion "$req"`
1991 if $pkg_config --exists "$req >= $min" ; then
1992 AC_MSG_RESULT($vers)
1996 AC_MSG_RESULT($vers (wanted >= $min))
2009 pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers"
2010 pkg_check_version gmodule-2.0 2.0.0
2011 pkg_check_version libxml-2.0 2.4.6
2012 pkg_check_version libglade-2.0 1.99.0
2015 if test "$have_gtk" = yes; then
2017 AC_DEFINE(HAVE_GTK2)
2019 if test -n "$ac_gtk_version_string" ; then
2020 gtk2_halfassed="$ac_gtk_version_string"
2021 gtk2_halfassed_lib="$req"
2025 if test "$have_gtk" = no; then
2027 # we don't have GTK 2. Let's look for GTK 1.
2031 pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers"
2032 pkg_check_version glib 1.0
2035 # Now check for Gnome...
2037 if test "$have_gtk" = yes -a "$with_gnome" = yes; then
2040 pkg_check_version capplet 1.0
2041 pkg_check_version gnomeui 1.0
2042 pkg_check_version gdk_pixbuf 0.1
2045 if test "$have_gnome" = no; then
2048 AC_DEFINE(HAVE_CRAPPLET)
2053 if test "$have_gtk" = yes; then
2054 parse_gtk_version_string
2060 if test "$have_gtk" = yes; then
2061 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
2062 [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
2063 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
2064 [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`])
2066 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
2067 ac_gtk_config_libs=$ac_cv_gtk_config_libs
2069 ac_gnome_config_cflags=$ac_gtk_config_cflags
2070 ac_gnome_config_libs=$ac_gtk_config_libs
2075 # run {gnome,gtk}-config based tests.
2078 AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
2079 AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
2081 if test "$with_gnome" = yes; then
2082 AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
2085 if test -n "$glib_config" -a -n "$gtk_config" ; then
2087 if test "$with_gnome" = yes -a -n "$gnome_config" ; then
2092 if test "$have_gtk" = yes; then
2093 AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
2094 [ac_cv_gtk_version_string=`$gtk_config --version`])
2095 ac_gtk_version_string=$ac_cv_gtk_version_string
2096 parse_gtk_version_string
2099 if test "$have_gtk" = yes; then
2100 if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
2108 if test "$have_gtk" = yes; then
2109 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
2110 [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
2111 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
2112 [ac_cv_gtk_config_libs=`$gtk_config --libs`])
2114 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
2115 ac_gtk_config_libs=$ac_cv_gtk_config_libs
2117 # Check for Gnome Capplet support.
2118 # Note that this is only needed with Gnome 1.x, not Gnome 2.x.
2119 # In a Gnome 2.x world, libcapplet will not exist.
2120 # (In fact, this likely won't even be checked, since in a Gnome 2.x
2121 # world, we will probably be up in the "$pkg_config" branch instead
2122 # of here in the "$gnome_config" branch.)
2124 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2125 gnome_config_libs="gtk capplet gnomeui gdk_pixbuf"
2126 AC_MSG_CHECKING(for Gnome capplet includes)
2127 AC_CACHE_VAL(ac_cv_gnome_config_cflags,
2128 [if ( $gnome_config --cflags $gnome_config_libs 2>&1 | \
2129 grep Unknown >/dev/null ) ; then
2130 ac_cv_gnome_config_cflags=''
2132 ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
2134 ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
2135 if test "$ac_gnome_config_cflags" = "" ; then
2139 AC_MSG_RESULT($ac_gnome_config_cflags)
2143 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2144 AC_MSG_CHECKING(for Gnome capplet libs)
2145 AC_CACHE_VAL(ac_cv_gnome_config_libs,
2146 [if ( $gnome_config --libs $gnome_config_libs 2>&1 |
2147 grep Unknown >/dev/null ) ; then
2148 ac_cv_gnome_config_libs=''
2150 ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
2152 ac_gnome_config_libs=$ac_cv_gnome_config_libs
2153 if test "$ac_gnome_config_libs" = "" ; then
2157 AC_MSG_RESULT($ac_gnome_config_libs)
2161 # If we have Gnome, then override the gtk-config values with
2162 # the gnome-config values.
2164 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2165 ac_gtk_config_cflags=$ac_gnome_config_cflags
2166 ac_gtk_config_libs=$ac_gnome_config_libs
2167 AC_DEFINE(HAVE_CRAPPLET)
2170 fi # end of {gnome,gtk}-config based tests
2172 if test "$have_gtk" = yes -a "$have_gtk2" = no; then
2173 # check for this function that was not in libcapplet 1.2.
2174 # (only needed in Gnome/Gtk 1.x, not Gnome/Gtk 2.x)
2175 AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate,
2176 [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true],
2177 $ac_gnome_config_libs)
2182 if test "$have_gtk" = yes; then
2183 if test -n "$pkg_config"; then
2184 if test "$have_gtk2" = yes; then
2185 GNOME_DATADIR=`$pkg_config --variable=prefix gtk+-2.0`
2187 GNOME_DATADIR=`$pkg_config --variable=prefix gtk+`
2190 GNOME_DATADIR=`$gtk_config --prefix`
2192 GNOME_DATADIR="$GNOME_DATADIR/share"
2195 # .desktop files go in different places in Gnome 1.x and Gnome 2.x...
2196 if test "$have_gtk2" = yes; then
2197 GNOME_PANELDIR='$(GNOME_PANELDIR2)'
2199 GNOME_PANELDIR='$(GNOME_PANELDIR1)'
2203 if test "$have_gtk" = yes; then
2204 INCLUDES="$INCLUDES $ac_gtk_config_cflags"
2205 GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
2208 if test "$have_gtk2" = yes; then
2211 GTK_EXTRA_OBJS="\$(GTK_EXTRA_OBJS)"
2218 # Check for the Gnome Help Browser.
2220 if test "$have_gtk" = yes; then
2221 AC_CHECK_PROGS(have_gnome_help, yelp gnome-help-browser, no)
2222 if test "$have_gnome_help" != no; then
2228 ###############################################################################
2232 ###############################################################################
2235 with_xml_req=unspecified
2238 [ --with-xml The XML toolkit is needed for some parts of
2239 the Gtk interface. Without it, the configuration
2240 interface will be much less featureful.],
2241 [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
2243 # if --with-xml=/directory/ was specified, remember that directory so that
2244 # we can also look for the `xml-config' program in that directory.
2254 HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
2256 if test "$with_xml" != yes -a "$with_xml" != no ; then
2257 echo "error: must be yes or no: --with-xml=$with_xml"
2261 if test "$with_xml" = yes; then
2265 # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
2266 # look in /foo/bin/ for for xml-config.
2270 if test ! -z "$gtk_dir"; then
2271 # canonicalize slashes.
2272 foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
2273 xml_path="$foo:$xml_path"
2276 if test ! -z "$gnome_dir"; then
2277 # canonicalize slashes.
2278 foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
2279 xml_path="$foo:$xml_path"
2282 if test -n "$pkg_config" ; then
2285 # run pkg-config based tests.
2290 # If we have Gtk 2.x, then *only* XML 2.x will work.
2291 # If we have Gtk 1.x, or don't have Gtk at all, then
2292 # either XML 1.x or 2.x will work.
2294 # First check for XML 2.x.
2296 pkg_check_version libxml-2.0 2.4.6
2298 # If that didn't work (we don't have XML 2.x) and we *don't* have
2299 # Gtk 2.x, then check to see if we have XML 1.x
2301 if test "$ok" = no -a "$have_gtk2" = no; then
2303 pkg_check_version libxml 1.0
2308 if test "$have_xml" = yes; then
2309 AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
2310 [ac_cv_xml_config_cflags=`$pkg_config --cflags $pkgs`])
2311 AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
2312 [ac_cv_xml_config_libs=`$pkg_config --libs $pkgs`])
2313 ac_xml_config_cflags=$ac_cv_xml_config_cflags
2314 ac_xml_config_libs=$ac_cv_xml_config_libs
2320 # run {xml2,xml}-config based tests.
2323 AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path)
2325 # If we found the xml-config program, run it to get flags.
2327 if test -n "$xml_config" ; then
2328 AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
2329 [ac_cv_xml_config_cflags=`$xml_config --cflags`])
2330 AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
2331 [ac_cv_xml_config_libs=`$xml_config --libs`])
2332 ac_xml_config_cflags=$ac_cv_xml_config_cflags
2333 ac_xml_config_libs=$ac_cv_xml_config_libs
2336 ac_save_xml_CPPFLAGS="$CPPFLAGS"
2337 CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
2339 # first try <libxml/parser.h> which is the new way...
2341 AC_CHECK_X_HEADER(libxml/xmlIO.h, [have_xml=yes],,
2342 [#include <libxml/parser.h>])
2344 # if that didn't work, then try just <parser.h> which is the old way...
2346 if test "$have_xml" = no; then
2347 AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes; have_old_xml=yes],,
2348 [#include <parser.h>])
2351 CPPFLAGS="$ac_save_xml_CPPFLAGS"
2356 if test "$have_xml" = yes; then
2357 # we have the XML headers; now make sure zlib is around.
2358 # yes, it's stupid we have to do this too, but there is
2359 # dependency screwage in Gnome.
2360 AC_CHECK_X_LIB(z, zlibVersion, [have_zlib=yes])
2361 if test "$have_zlib" = no; then
2367 if test "$have_xml" = yes; then
2368 # we have the header, now check for the library
2371 AC_CHECK_X_LIB(c, xmlParseChunk,
2374 XML_LIBS="$ac_xml_config_libs"
2375 AC_DEFINE(HAVE_XML)],
2377 $ac_xml_config_libs)
2380 if test "$have_xml" = yes; then
2381 INCLUDES="$INCLUDES $ac_xml_config_cflags"
2382 GTK_LIBS="$GTK_LIBS $ac_xml_config_libs"
2384 if test "$have_old_xml" = yes; then
2385 AC_DEFINE(HAVE_OLD_XML_HEADERS)
2392 ###############################################################################
2394 # Checking whether Motif is really Lesstif.
2396 ###############################################################################
2399 if test "$have_motif" = yes ; then
2400 AC_CACHE_CHECK([whether Motif is really LessTif],
2402 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
2403 [long vers = LesstifVersion;],
2404 [ac_cv_have_lesstif=yes],
2405 [ac_cv_have_lesstif=no])])
2406 have_lesstif=$ac_cv_have_lesstif
2410 lesstif_version=unknown
2411 lesstif_version_string=unknown
2413 if test "$have_lesstif" = yes ; then
2415 echo unknown > conftest-lt
2416 AC_CACHE_CHECK([LessTif version number],
2417 ac_cv_lesstif_version_string,
2418 [AC_TRY_X_RUN([#include <stdio.h>
2421 FILE *f = fopen("conftest-lt", "w");
2423 fprintf(f, "%d %d.%d\n", LesstifVersion,
2424 LESSTIF_VERSION, LESSTIF_REVISION);
2428 [ltv=`cat conftest-lt`
2429 ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
2430 ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`],
2431 [ac_cv_lesstif_version=unknown
2432 ac_cv_lesstif_version_string=unknown],
2433 [ac_cv_lesstif_version=unknown
2434 ac_cv_lesstif_version_string=unknown])])
2436 lesstif_version=$ac_cv_lesstif_version
2437 lesstif_version_string=$ac_cv_lesstif_version_string
2442 if test "$have_motif" = yes ; then
2444 echo unknown > conftest-mt
2445 AC_CACHE_CHECK([Motif version number],
2446 ac_cv_motif_version_string,
2447 [AC_TRY_X_RUN([#include <stdio.h>
2450 FILE *f = fopen("conftest-mt", "w");
2452 fprintf(f, "%d %d.%d\n", XmVersion,
2453 XmVERSION, XmREVISION);
2457 [mtv=`cat conftest-mt`
2458 ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
2459 ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
2460 [ac_cv_motif_version=unknown
2461 ac_cv_motif_version_string=unknown],
2462 [ac_cv_motif_version=unknown
2463 ac_cv_motif_version_string=unknown])])
2465 motif_version=$ac_cv_motif_version
2466 motif_version_string=$ac_cv_motif_version_string
2471 ###############################################################################
2473 # Checking whether Motif requires -lXpm.
2475 # If this is Motif 2.x, and we have XPM, then link against XPM as well.
2476 # The deal is, Motif 2.x requires XPM -- but it's a compilation option
2477 # of the library whether to build the XPM code into libXm, or whether
2478 # to rely on an external libXm. So the only way to tell whether XPM is
2479 # a link-time requirement is to examine libXm.a, which is very
2480 # difficult to do in an autoconf script. So... if it's Motif 2.x, we
2481 # always link against XPM if the XPM lib exists (and this will be a
2482 # no-op if libXm happens to already have the XPM code in it.)
2484 ###############################################################################
2486 motif_requires_xpm=no
2487 if test "$have_motif" = yes ; then
2488 AC_MSG_CHECKING(whether Motif requires XPM)
2489 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
2491 motif_requires_xpm=yes
2492 AC_MSG_RESULT(maybe)
2499 ###############################################################################
2501 # Checking whether Motif requires -lXp.
2503 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
2504 # Extension". Why this extension isn't in -lXext with all the others,
2507 ###############################################################################
2510 if test "$have_motif" = yes ; then
2512 AC_CHECK_X_LIB(Xp, XpQueryExtension,
2513 [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"],
2514 [true], -lX11 -lXext -lm)
2518 ###############################################################################
2520 # Checking whether Motif requires -lXintl (for _Xsetlocale.)
2522 ###############################################################################
2525 if test "$have_motif" = yes ; then
2526 AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no],
2528 if test "$have_xintl" = yes; then
2529 MOTIF_LIBS="$MOTIF_LIBS -lXintl"
2534 ###############################################################################
2536 # Check for -lGL or -lMesaGL.
2538 ###############################################################################
2542 with_gl_req=unspecified
2547 --with-gl Build those demos which depend on OpenGL.],
2548 [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes])
2550 HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
2552 ac_mesagl_version=unknown
2553 ac_mesagl_version_string=unknown
2555 if test "$with_gl" = yes; then
2556 AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
2557 if test "$have_gl" = yes ; then
2558 AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no,
2559 [#include <GL/gl.h>])
2562 # If we have the headers, try and figure out which vendor it's from.
2564 if test "$have_gl" = yes ; then
2566 # We need to know whether it's MesaGL so that we know which libraries
2569 AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
2570 [ac_cv_have_mesa_gl=no
2571 AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
2573 ac_have_mesa_gl=$ac_cv_have_mesa_gl
2580 # Some versions of MesaGL are compiled to require -lpthread.
2581 # So if the Mesa headers exist, and -lpthread exists, then always
2582 # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
2584 if test "$ac_have_mesa_gl" = yes; then
2585 AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
2589 # If we have Mesa headers, check to see if we can link against -lMesaGL.
2590 # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
2591 # Else, warn that GL is busted. (We have the headers, but no libs.)
2594 if test "$ac_have_mesa_gl" = yes ; then
2595 AC_CHECK_X_LIB(MesaGL, glXCreateContext,
2597 GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"],
2598 [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm)
2601 if test "$gl_lib_1" = "" ; then
2602 AC_CHECK_X_LIB(GL, glXCreateContext,
2604 GL_LIBS="-lGL -lGLU $GL_LIBS"],
2605 [], -lGLU $GL_LIBS -lX11 -lXext -lm)
2608 if test "$gl_lib_1" = "" ; then
2609 # we have headers, but no libs -- bail.
2614 # linking works -- we can build the GL hacks.
2616 if test "$ac_have_mesa_gl" = yes ; then
2617 AC_DEFINE(HAVE_MESA_GL)
2623 # Now that we know we have GL headers and libs, do some more GL testing.
2626 if test "$have_gl" = yes ; then
2627 # If it's MesaGL, we'd like to issue a warning if the version number
2628 # is less than or equal to 2.6, because that version had a security bug.
2630 if test "$ac_have_mesa_gl" = yes; then
2632 AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string,
2633 [cat > conftest.$ac_ext <<EOF
2634 #line __oline__ "configure"
2635 #include "confdefs.h"
2637 #ifndef MESA_MAJOR_VERSION
2638 # include <GL/xmesa.h>
2639 # ifdef XMESA_MAJOR_VERSION
2640 /* Around Mesa 3.2, they took out the Mesa version number, so instead,
2641 we have to check the XMesa version number (the number of the X protocol
2642 support, which seems to be the same as the Mesa version number.)
2644 # define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION
2645 # define MESA_MINOR_VERSION XMESA_MINOR_VERSION
2647 /* Oh great. Some time after 3.4, they took out the xmesa.h header file,
2648 so we have no way of telling what version of Mesa this is at all.
2649 So, we'll guess that the osmesa version (the "offscreen protocol")
2650 is less than or equal to the real mesa version number. Except that
2651 if OSmesa is 3.3, assume at least Mesa 3.4, since OSmesa was 3.3 in
2652 Mesa 3.4. And Mesa 3.3 had xmesa.h. What a complete load of shit!
2654 # include <GL/osmesa.h>
2655 # define MESA_MAJOR_VERSION OSMESA_MAJOR_VERSION
2656 # define MESA_MINOR_VERSION OSMESA_MINOR_VERSION or newer, probably?
2657 # if OSMESA_MAJOR_VERSION == 3 && OSMESA_MINOR_VERSION == 3
2658 # undef MESA_MINOR_VERSION
2659 # define MESA_MINOR_VERSION 4 or newer, probably?
2663 configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
2666 ac_save_CPPFLAGS="$CPPFLAGS"
2667 if test \! -z "$includedir" ; then
2668 CPPFLAGS="$CPPFLAGS -I$includedir"
2670 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2672 mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | grep configure:`
2676 mglv=`echo "$mglv" | sed -n \
2677 's/^configure: *\([0-9][0-9]*\) *\([0-9].*\)$/\1.\2/p'`
2680 rm -f conftest.$ac_ext
2682 CPPFLAGS="$ac_save_CPPFLAGS"
2684 if test "$mglv" = ""; then
2685 ac_mesagl_version=unknown
2686 ac_mesagl_version_string=unknown
2688 ac_mesagl_version_string="$mglv"
2691 maj=`echo "$mglv" | sed -n 's/^\([0-9][0-9]*\)\..*$/\1/p'`
2692 min=`echo "$mglv" | sed -n 's/^.*\.\([0-9][0-9]*\).*$/\1/p'`
2694 ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
2695 if test -z "$ac_mesagl_version"; then
2696 ac_mesagl_version=unknown
2697 ac_mesagl_version_string=unknown
2700 ac_cv_mesagl_version=$ac_mesagl_version
2701 ac_cv_mesagl_version_string=$ac_mesagl_version_string
2703 ac_mesagl_version=$ac_cv_mesagl_version
2704 ac_mesagl_version_string=$ac_cv_mesagl_version_string
2708 # Check for OpenGL 1.1 features.
2710 AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
2711 [true], $GL_LIBS -lX11 -lXext -lm)
2714 elif test "$with_gl" != no; then
2715 echo "error: must be yes or no: --with-gl=$with_gl"
2720 ###############################################################################
2724 ###############################################################################
2727 with_gle_req=unspecified
2730 [ --with-gle Build those demos which depend on GLE
2731 (the OpenGL "extrusion" library.)],
2732 [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes])
2734 HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE)
2738 if test "$have_gl" = no ; then
2740 elif test "$with_gle" = yes; then
2742 AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no,
2743 [#include <GL/gl.h>])
2744 if test "$have_gle3" = yes ; then
2747 AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no,
2748 [#include <GL/gl.h>])
2749 if test "$have_gle" = yes ; then
2750 AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no,
2751 [#include <GL/gl.h>])
2755 if test "$have_gle" = yes ; then
2758 AC_CHECK_X_LIB(gle, gleCreateGC,
2759 [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"],
2760 [], $GL_LIBS -lX11 -lXext -lm)
2762 if test "$have_gle" = yes ; then
2766 # sometimes the libmatrix stuff is included in libgle. look there first.
2768 # I don't get it. For some reason, this test passes on SGI, as if
2769 # uview_direction_d() was in libgle -- but it's not, it's in libmatrix.
2770 # Yet the link is succeeding. Why???
2772 # AC_CHECK_X_LIB(gle, uview_direction_d,
2773 # [have_gle=yes; gle_halfassed=no],
2774 # [], $GL_LIBS -lX11 -lXext -lm)
2776 # As of GLE 3 this is in libgle, and has changed name to uview_direction!
2778 if test "$have_gle3" = yes ; then
2779 AC_CHECK_X_LIB(gle, uview_direction,
2780 [have_gle=yes; gle_halfassed=no],
2781 [], $GL_LIBS -lX11 -lXext -lm)
2783 # if it wasn't in libgle, then look in libmatrix.
2784 if test "$have_gle" = no ; then
2785 AC_CHECK_X_LIB(matrix, uview_direction_d,
2786 [have_gle=yes; gle_halfassed=no;
2787 GLE_LIBS="$GLE_LIBS -lmatrix"],
2788 [], $GL_LIBS -lX11 -lXext -lm)
2792 if test "$have_gle" = yes ; then
2794 if test "$have_gle3" = yes ; then
2795 AC_DEFINE(HAVE_GLE3)
2799 elif test "$with_gle" != no; then
2800 echo "error: must be yes or no: --with-gle=$with_gle"
2807 ###############################################################################
2811 ###############################################################################
2814 with_xpm_req=unspecified
2816 [ --with-xpm Include support for XPM files in some demos.
2817 (Not needed if Pixbuf is used.)],
2818 [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
2820 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
2822 if test "$with_xpm" = yes; then
2823 AC_CHECK_X_HEADER(X11/xpm.h,
2827 [#include <X11/Xlib.h>])
2828 elif test "$with_xpm" != no; then
2829 echo "error: must be yes or no: --with-xpm=$with_xpm"
2833 # See comment near $motif_requires_xpm, above.
2834 # Need to do this here, after both Motif and XPM have been checked for.
2836 if test "$have_motif" = yes -a "$have_xpm" = yes ; then
2837 if test "$motif_requires_xpm" = yes ; then
2838 MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
2842 ###############################################################################
2844 # Check for -lgdk_pixbuf.
2846 ###############################################################################
2849 with_gdk_pixbuf_req=unspecified
2851 [ --with-pixbuf Include support for the GDK-Pixbuf library in some
2852 demos, which will make it possible for them to read
2853 GIF, JPEG, and PNG files as well. (The path here is
2854 ignored if GTK 2.x is being used.)],
2855 [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
2856 [with_gdk_pixbuf=yes])
2858 # if --with-pixbuf=/directory/ was specified, remember that directory so that
2859 # we can also look for the `gdk-pixbuf-config' program in that directory.
2860 case "$with_gdk_pixbuf" in
2862 gdk_pixbuf_dir="$with_gdk_pixbuf"
2869 HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF)
2871 if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then
2872 echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
2876 if test "$with_gdk_pixbuf" = yes; then
2880 if test -n "$pkg_config" ; then
2883 # run pkg-config based tests.
2888 # If we have Gtk 2.x, then *only* gdk-pixbuf 2.x will work.
2889 # If we have Gtk 1.x, then *only* gdk-pixbuf 1.x will work.
2890 # If we don't have Gtk at all, then either will work.
2892 if test "$have_gtk" = no -o "$have_gtk2" = yes; then
2894 # we don't have Gtk; or we have Gtk 2.x. Check for pixbuf 2.x.
2896 pkg_check_version gdk-pixbuf-2.0 2.0.0
2897 pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
2898 have_gdk_pixbuf="$ok"
2899 have_gdk_pixbuf2="$ok"
2902 if test "$have_gtk" = no -o "$have_gtk2" = no; then
2904 # we don't have Gtk; or we have Gtk 1.x.
2905 # If we don't have pixbuf 2.x, then check for pixbuf 1.x.
2907 if test "$have_gdk_pixbuf2" = no; then
2910 pkg_check_version gdk-pixbuf 0.0
2911 pkg_check_version gdk-pixbuf-xlib 0.0
2912 have_gdk_pixbuf="$ok"
2916 if test "$have_gdk_pixbuf" = yes; then
2917 AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
2918 [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`])
2919 AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
2920 [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`])
2922 ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
2923 ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
2927 if test "$have_gdk_pixbuf" = no; then
2930 # run gdk-pixbuf-config based tests.
2931 # note that we can't assume that the existence of "pkg-config" means
2932 # that we don't have to look for gdk-pixbuf-config -- in Gnome 1.4,
2933 # pkg-config exists, but doesn't know about pixbuf.
2936 # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
2937 # look in /foo/bin/ for for gdk-pixbuf-config.
2939 gdk_pixbuf_path="$PATH"
2941 if test ! -z "$gtk_dir"; then
2942 # canonicalize slashes.
2943 foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
2944 gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
2947 if test ! -z "$gnome_dir"; then
2948 # canonicalize slashes.
2949 foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
2950 gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
2953 AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path)
2955 # If we found the gdk-pixbuf-config program, run it to get flags.
2957 if test -n "$gdk_pixbuf_config" ; then
2958 AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
2959 [ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`])
2960 AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
2961 [ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`])
2963 # note that "gdk-pixbuf-config --libs" produces a link line including
2964 # -lgdk_pixbuf, but there's no way to get it to produce one that also
2965 # includes -lgdk_pixbuf_xlib. Since we don't know *exactly* what the
2966 # name of the library will be, construct it with sed...
2969 ac_cv_gdk_pixbuf_config_libs=`echo $ac_cv_gdk_pixbuf_config_libs | \
2970 sed 's@ \(-lgdk_pixbuf\([-_a-zA-Z0-9.]*\)\) @ \1 -lgdk_pixbuf_xlib\2 @'`
2973 ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
2974 ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
2978 ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
2979 CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
2981 if test "$have_gdk_pixbuf" = no; then
2983 # we appear to have pixbuf; check for headers/libs to be sure.
2988 # check for header A...
2989 AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
2991 # if that worked, check for header B...
2992 if test "$have_gdk_pixbuf" = yes; then
2994 gdk_pixbuf_halfassed=yes
2995 AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h,
2996 [have_gdk_pixbuf=yes
2997 gdk_pixbuf_halfassed=no])
2999 # yay, it has a new name in Gtk 2.x...
3000 if test "$have_gdk_pixbuf" = no; then
3002 gdk_pixbuf_halfassed=yes
3003 AC_CHECK_X_HEADER(gdk-pixbuf-xlib/gdk-pixbuf-xlib.h,
3004 [have_gdk_pixbuf=yes
3005 gdk_pixbuf_halfassed=no])
3010 CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
3012 if test "$have_gdk_pixbuf" = yes; then
3013 # we have the headers, now check for the libraries
3015 gdk_pixbuf_halfassed=yes
3018 AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],,
3019 $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
3021 if test "$have_gdk_pixbuf" = yes; then
3023 AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init,
3024 [have_gdk_pixbuf=yes
3025 gdk_pixbuf_halfassed=no],,
3026 $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
3030 if test "$have_gdk_pixbuf" = yes; then
3031 INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
3032 XPM_LIBS="$ac_gdk_pixbuf_config_libs"
3033 AC_DEFINE(HAVE_GDK_PIXBUF)
3040 ###############################################################################
3044 ###############################################################################
3047 with_jpeg_req=unspecified
3050 [ --with-jpeg Include support for the JPEG library.],
3051 [with_jpeg="$withval"; with_jpeg_req="$withval"],
3054 HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG)
3056 if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then
3057 echo "error: must be yes or no: --with-jpeg=$with_jpeg"
3061 if test "$with_jpeg" = yes; then
3064 AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes])
3066 if test "$have_jpeg" = yes; then
3067 # we have the header, now check for the library
3070 AC_CHECK_X_LIB(jpeg, jpeg_start_compress,
3074 AC_DEFINE(HAVE_JPEGLIB)])
3079 ###############################################################################
3081 # Check for the XSHM server extension.
3083 ###############################################################################
3086 with_xshm_req=unspecified
3087 AC_ARG_WITH(xshm-ext,
3088 [ --with-xshm-ext Include support for the Shared Memory extension.],
3089 [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
3091 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
3093 if test "$with_xshm" = yes; then
3095 # first check for Xshm.h.
3096 AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes],,
3097 [#include <X11/Xlib.h>])
3099 # if that succeeded, then check for sys/ipc.h.
3100 if test "$have_xshm" = yes; then
3102 AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
3105 # if that succeeded, then check for sys/shm.h.
3106 if test "$have_xshm" = yes; then
3108 AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
3111 # AIX is pathological, as usual: apparently it's normal for the Xshm headers
3112 # to exist, but the library code to not exist. And even better, the library
3113 # code is in its own library: libXextSam.a. So, if we're on AIX, and that
3114 # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and
3115 # that's not quite right, but close enough.)
3119 if [ `uname -v` -eq 3 ]; then
3121 AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
3122 [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
3123 [true], -lX11 -lXext -lm)
3128 # if that succeeded, then we've really got it.
3129 if test "$have_xshm" = yes; then
3130 AC_DEFINE(HAVE_XSHM_EXTENSION)
3133 elif test "$with_xshm" != no; then
3134 echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
3139 ###############################################################################
3141 # Check for the DOUBLE-BUFFER server extension.
3143 ###############################################################################
3146 with_xdbe_req=unspecified
3147 AC_ARG_WITH(xdbe-ext,
3148 [ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.],
3149 [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
3151 HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
3153 if test "$with_xdbe" = yes; then
3155 AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes],,
3156 [#include <X11/Xlib.h>])
3157 if test "$have_xdbe" = yes; then
3158 AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
3161 elif test "$with_xdbe" != no; then
3162 echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
3167 ###############################################################################
3169 # Check for the SGI XReadDisplay server extension.
3171 # Note: this has to be down here, rather than up with the other server
3172 # extension tests, so that the output of `configure --help' is in the
3173 # right order. Arrgh!
3175 ###############################################################################
3178 with_readdisplay_req=unspecified
3179 AC_ARG_WITH(readdisplay,
3180 [ --with-readdisplay Include support for the XReadDisplay extension.],
3181 [with_readdisplay="$withval"; with_readdisplay_req="$withval"],
3182 [with_readdisplay=yes])
3184 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
3186 if test "$with_readdisplay" = yes; then
3187 AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
3188 AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION),,
3189 [#include <X11/Xlib.h>])
3190 elif test "$with_readdisplay" != no; then
3191 echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
3196 ###############################################################################
3198 # Check for a program to generate random text.
3200 # Zippy is funnier than the idiocy generally spat out by `fortune',
3201 # so first see if "fortune zippy" works. Else, use plain "fortune".
3203 # We used to dig around in Emacs to look for the "yow" program, but
3204 # most people who have Emacs also have "fortune zippy", so nevermind.
3206 ###############################################################################
3209 AC_ARG_WITH(fortune,[
3210 --with-fortune=PROGRAM Some demos are able to run an external program and
3211 display its text; this names the program to use by
3212 default (though it can be overridden with X
3213 resources.) Default is \"/usr/games/fortune\".],
3214 [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes])
3216 if test "$with_fortune" = no || test "$with_fortune" = yes ; then
3221 if test -n "$with_fortune_req" ; then
3222 ac_cv_fortune_program=""
3223 case "$with_fortune_req" in
3226 set dummy $with_fortune_req ; fortune_tmp=$2
3227 AC_MSG_CHECKING([for $fortune_tmp])
3228 if test -x "$fortune_tmp" ; then
3236 set dummy $with_fortune_req ; fortune_tmp=$2
3238 unset ac_cv_path_fortune_tmp
3239 AC_PATH_PROG(fortune_tmp, $fortune_tmp, [])
3240 if test -z "$fortune_tmp" ; then
3245 ac_cv_fortune_program="$with_fortune"
3247 elif test -n "$ac_cv_fortune_program"; then
3248 AC_MSG_RESULT([checking for fortune... (cached) $ac_cv_fortune_program])
3251 unset ac_cv_path_fortune_tmp
3254 if test -z "$ac_cv_fortune_program" ; then
3256 # first look for fortune in /usr/games/ (and use absolute path)
3257 AC_PATH_PROGS(fortune_tmp, fortune,, "/usr/games")
3259 # if it's not there, look on $PATH (and don't use absolute path)
3260 if test -z "$fortune_tmp" ; then
3261 AC_CHECK_PROGS(fortune_tmp, fortune)
3264 # if we didn't find anything, then just assume /usr/games/
3265 if test -z "$fortune_tmp" ; then
3266 fortune_tmp="/usr/games/fortune"
3269 ac_cv_fortune_program="$fortune_tmp"
3271 # now check to see whether "fortune zippy" works.
3273 fortune_tmp="$fortune_tmp zippy"
3274 AC_MSG_CHECKING([for zippy quotes])
3275 if ( $fortune_tmp >/dev/null 2>&1 ); then
3276 ac_cv_fortune_program="$fortune_tmp"
3277 AC_MSG_RESULT($fortune_tmp)
3284 unset ac_cv_path_fortune_tmp
3287 AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program")
3290 ###############################################################################
3292 # Check whether it's ok to install some hacks as setuid (e.g., "sonar")
3293 # This should be safe, but let's give people the option.
3295 ###############################################################################
3297 setuid_hacks_default=no
3298 setuid_hacks="$setuid_hacks_default"
3299 AC_ARG_WITH(setuid-hacks,
3300 [ --with-setuid-hacks Allow some demos to be installed \`setuid root'
3301 (which is needed in order to ping other hosts.)
3303 [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"])
3305 HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks)
3307 if test "$setuid_hacks" = yes; then
3309 elif test "$setuid_hacks" != no; then
3310 echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
3315 ###############################################################################
3317 # Done testing. Now, set up the various -I and -L variables,
3318 # and decide which GUI program to build by default.
3320 ###############################################################################
3327 if test \! -z "$includedir" ; then
3328 INCLUDES="$INCLUDES -I$includedir"
3331 if test \! -z "$libdir" ; then
3332 LDFLAGS="$LDFLAGS -L$libdir"
3336 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
3338 if test "$have_motif" = yes; then
3339 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
3340 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
3342 if test "$have_gtk" = yes; then
3343 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
3344 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
3348 if test "$have_kerberos" = yes; then
3349 PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
3350 PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)"
3352 if test "$have_pam" = yes; then
3353 PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)"
3354 PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
3355 INSTALL_PAM="install-pam"
3357 PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)"
3358 PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)"
3361 if test "$enable_locking" = yes; then
3362 LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
3363 LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
3365 LOCK_SRCS='$(NOLOCK_SRCS_1)'
3366 LOCK_OBJS='$(NOLOCK_OBJS_1)'
3369 INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)'
3371 if test "$need_setuid" = yes; then
3377 if test "$setuid_hacks" = yes; then
3384 if test "$have_gl" = yes; then
3385 GL_EXES='$(GL_EXES)'
3386 GL_UTIL_EXES='$(GL_UTIL_EXES)'
3390 GL_KLUDGE="-${tab} "
3393 if test "$have_gle" = yes; then
3394 GLE_EXES='$(GLE_EXES)'
3395 GLE_KLUDGE="${tab} "
3397 GLE_KLUDGE="-${tab} "
3400 if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then
3401 JPEG_EXES='$(JPEG_EXES)'
3405 # Another substitution in the XScreenSaver.ad.in file:
3407 if test "$have_gnome_help" = yes; then
3416 # Now that we know whether we have Gnome, we can decide where the XML
3417 # config files get installed.
3419 if test -z "$HACK_CONF_DIR" ; then
3420 if test -n "$GNOME_DATADIR" ; then
3421 HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
3423 HACK_CONF_DIR='${prefix}/lib/xscreensaver/config'
3429 # After computing $HACK_CONF_DIR, make sure $GLADE_DATADIR has a value
3430 # so that we know where to install the Gtk pixmaps.
3432 # It should usually be "/usr/share/pixmaps/", but we can't just use
3433 # "$(prefix)/share/pixmaps" because that would usually result in
3434 # "/usr/X11R6/share/pixmaps/", which is wrong. It needs to be the
3435 # Gnome/Gtk prefix, not the overall prefix.
3437 if test -n "$GNOME_DATADIR" ; then
3438 GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver'
3439 elif test "$have_gtk" = yes; then
3440 if test -n "$pkg_config"; then
3441 if test "$have_gtk2" = yes; then
3442 GLADE_DATADIR=`$pkg_config --variable=prefix gtk+-2.0`
3444 GLADE_DATADIR=`$pkg_config --variable=prefix gtk+`
3447 GLADE_DATADIR=`$gtk_config --prefix`
3449 GLADE_DATADIR="$GLADE_DATADIR/share/xscreensaver"
3455 # Set PO_DATADIR to something sensible.
3457 AC_MSG_CHECKING([for locale directory])
3458 if test -n "$GNOME_DATADIR" ; then
3459 PO_DATADIR="$GNOME_DATADIR"
3460 elif test "$have_gtk" = yes; then
3461 if test -n "$pkg_config"; then
3462 if test "$have_gtk2" = yes; then
3463 PO_DATADIR=`$pkg_config --variable=prefix gtk+-2.0`
3465 PO_DATADIR=`$pkg_config --variable=prefix gtk+`
3468 PO_DATADIR=`$gtk_config --prefix`
3470 PO_DATADIR="$PO_DATADIR/share"
3473 if test -z "$PO_DATADIR" ; then
3475 # #### Total fucking kludge --
3476 # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/
3477 # but of course we need to expand all the nested variables to do that...
3485 PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'`
3488 AC_MSG_RESULT($PO_DATADIR/locale)
3491 # canonicalize slashes.
3492 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
3494 # gcc 3.0 likes to issue this warning for every file:
3496 # cc1: warning: changing search order for system directory "/usr/local/include"
3497 # cc1: warning: as it has already been specified as a non-system directory
3499 # Yay. We can only avoid that by deleting "-I${prefix}/include" from the list.
3500 # Which *should* be totally redundant, and thus an ok thing to delete?
3502 INCLUDES=`echo "$INCLUDES" | sed 's@ -I${prefix}/include@@g;'`
3505 ###############################################################################
3507 # Perform substitutions and write Makefiles.
3509 ###############################################################################
3513 AC_SUBST(PREFERRED_DEMO_PROGRAM)
3514 AC_SUBST(ALL_DEMO_PROGRAMS)
3515 AC_SUBST(SAVER_LIBS)
3516 AC_SUBST(MOTIF_LIBS)
3524 AC_SUBST(XDPMS_LIBS)
3525 AC_SUBST(PASSWD_LIBS)
3526 AC_SUBST(INSTALL_SETUID)
3527 AC_SUBST(SETUID_HACKS)
3528 AC_SUBST(INSTALL_DIRS)
3529 AC_SUBST(NEED_SETUID)
3530 AC_SUBST(INSTALL_PAM)
3532 AC_SUBST(PASSWD_SRCS)
3533 AC_SUBST(PASSWD_OBJS)
3537 AC_SUBST(SAVER_GL_SRCS)
3538 AC_SUBST(SAVER_GL_OBJS)
3539 AC_SUBST(SAVER_GL_LIBS)
3544 AC_SUBST(GL_UTIL_EXES)
3548 AC_SUBST(GLE_KLUDGE)
3549 AC_SUBST(GNOMEHELP_Y)
3550 AC_SUBST(GNOMEHELP_N)
3552 AC_SUBST(GNOME_DATADIR)
3553 AC_SUBST(GLADE_DATADIR)
3554 AC_SUBST(PO_DATADIR)
3555 AC_SUBST(GNOME_PANELDIR)
3556 AC_SUBST(HACK_CONF_DIR)
3557 AC_SUBST(GTK_EXTRA_OBJS)
3559 APPDEFAULTS=$ac_x_app_defaults
3560 AC_SUBST(APPDEFAULTS)
3563 AC_SUBST(DEPEND_FLAGS)
3564 AC_SUBST(DEPEND_DEFINES)
3573 driver/XScreenSaver.ad
3574 driver/xscreensaver.kss)
3576 ###############################################################################
3578 # Print some warnings at the end.
3580 ###############################################################################
3582 warn_prefix_1=" Warning:"
3583 warn_prefix_2=" Note:"
3584 warn_prefix="$warn_prefix_1"
3587 warnsep=' #################################################################'
3590 if test "$warning" = no ; then
3591 echo '' ; echo "$warnsep" ; echo ''
3598 if test "$warning" = long ; then echo '' ; fi
3601 echo "$warn_prefix $rest"
3608 if test "$was" != no ; then echo '' ; fi
3610 echo "$warn_prefix $rest"
3620 warn_prefix="$warn_prefix_2"
3622 warn_prefix="$warn_prefix_1"
3626 warn_prefix="$warn_prefix_2"
3628 warn_prefix="$warn_prefix_1"
3632 if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
3633 warn 'The SGI saver extension was requested, but was not found.'
3636 if test "$with_mit_req" = yes -a "$have_mit" = no ; then
3637 warn 'The MIT saver extension was requested, but was not found.'
3640 if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
3641 warn 'The XIdle extension was requested, but was not found.'
3644 if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
3645 warn 'The XSHM extension was requested, but was not found.'
3648 if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
3649 warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
3652 if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
3653 warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
3656 if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
3657 warn 'The DPMS extension was requested, but was not found.'
3660 if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then
3661 warn 'The Xinerama extension was requested, but was not found.'
3664 if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then
3665 warn 'The XF86VMODE extension was requested, but was not found.'
3668 if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then
3669 warn "Checking of /proc/interrupts was requested, but it's bogus."
3673 if test "$have_motif" = no -a "$have_gtk" = no; then
3674 warnL "Neither Motif nor Gtk seem to be available;"
3675 warn2 "the \`xscreensaver-demo' program requires one of these."
3677 elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
3678 warnL "Use of Motif was requested, but it wasn't found;"
3679 warn2 "Gtk will be used instead."
3681 elif test "$jurassic_gtk" = yes ; then
3685 v="$ac_gtk_version_string"
3686 if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then
3687 warnL "Use of Gtk was requested, but its version number is unknown;"
3688 elif test "$with_gtk_req" = yes ; then
3689 warnL "Use of Gtk was requested, but it is version $v;"
3691 warnL "Gtk was found on this system, but it is version $v;"
3694 warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
3696 elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
3697 warnL "Use of Gtk was requested, but it wasn't found."
3698 if test "$have_motif" = yes; then
3699 warn2 "Motif will be used instead."
3703 if test "$gtk2_halfassed" != no ; then
3704 warnL "GTK version $gtk2_halfassed was found, but at least one supporting"
3705 warn2 "library ($gtk2_halfassed_lib) was not, so GTK 2.x can't be used."
3706 v="$ac_gtk_version_string"
3707 warn2 "GTK $v is also installed, so it will be used instead."
3708 warn2 "Please read the above output and the \`config.log' file"
3709 warn2 "for more details."
3713 if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
3714 warn 'Use of the Gnome Control Panel was requested, but the necessary'
3715 warn2 'headers and/or libraries were not found.'
3718 if test "$have_gtk" = yes ; then
3719 if test "$have_xml" = no ; then
3720 if test "$with_xml_req" = yes ; then
3721 warn 'Use of the XML library was requested, but the necessary'
3722 warn2 'headers and/or libraries were not found.'
3724 warn 'GTK is being used, but the XML library was not found.'
3727 if test "$xml_halfassed" = yes ; then
3729 if test "$have_zlib" = yes ; then
3730 which="XML libraries"
3732 which="\`zlib' library"
3736 warn2 'More specifically, we found the headers, but not the'
3737 warn2 "$which; so either XML is half-installed on this"
3738 warn2 "system, or something else went wrong. The \`config.log'"
3739 warn2 'file might contain some clues.'
3743 warn2 "Without XML, the per-display-mode \`Settings' dialogs"
3744 warn2 'will not be available. Specify the location of the XML'
3745 warn2 'library through the --with-xml option to configure.'
3749 if test "$have_gtk" = yes -a "$have_gdk_pixbuf" = no ; then
3750 warn "GTK is being used, but the GDK-Pixbuf library and/or"
3751 warn2 "headers were not found. That can't be good. Please"
3752 warn2 "install the GDK-Pixbuf development kit and re-configure."
3755 if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
3757 preferred_lesstif=0.92
3759 if test "$lesstif_version" = unknown; then
3760 warnL "Unable to determine the LessTif version number!"
3761 warn2 "Make sure you are using version $preferred_lesstif or newer."
3762 warn2 "See <http://www.lesstif.org/>."
3764 elif test \! $lesstif_version -gt 82; then
3765 warnL "LessTif version $lesstif_version_string is being used."
3766 warn2 "LessTif versions 0.82 and earlier are too buggy to"
3767 warn2 "use with XScreenSaver; it is strongly recommended"
3768 warn2 "that you upgrade to at least version $preferred_lesstif!"
3769 warn2 "See <http://www.lesstif.org/>."
3774 if test "$have_motif" = yes -a "$have_gtk" = no ; then
3775 warn 'Motif is being used, and GTK is not.'
3777 warn2 'Though the Motif front-end to xscreensaver is still'
3778 warn2 'maintained, it is no longer being updated with new'
3779 warn2 'features: all new development on the xscreensaver-demo'
3780 warn2 'program is happening in the GTK version, and not in the'
3781 warn2 'Motif version. It is recommended that you build against'
3782 warn2 'GTK instead of Motif. See <http://www.gtk.org/>.'
3786 if test "$with_xpm_req" = yes -a "$have_xpm" = no; then
3787 warnL 'Use of XPM was requested, but it was not found.'
3790 if test "$with_gdk_pixbuf_req" = yes -a "$have_gdk_pixbuf" = no; then
3791 warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
3794 if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no || \
3795 test "$gdk_pixbuf_halfassed" = yes; then
3797 if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then
3799 elif test "$with_xpm_req" = no ; then
3800 warnL 'The XPM library is not being used.'
3802 warnL 'The XPM library was not found.'
3805 if test "$with_gdk_pixbuf_req" = yes ; then
3807 elif test "$with_gdk_pixbuf_req" = no ; then
3808 warnL 'The GDK-Pixbuf library is not being used.'
3810 warnL 'The GDK-Pixbuf library was not found.'
3813 if test "$gdk_pixbuf_halfassed" = yes ; then
3815 warn2 'More specifically, we found the headers, but not the'
3816 warn2 'libraries; so either GDK-Pixbuf is half-installed on this'
3817 warn2 "system, or something else went wrong. The \`config.log'"
3818 warn2 'file might contain some clues.'
3822 warn2 'Some of the demos will not be as colorful as they'
3823 warn2 'could be. You should consider installing Pixbuf or'
3824 warn2 'XPM and re-running configure. The Pixbuf library is'
3825 warn2 'a part of GNOME. The XPM library comes with most'
3826 warn2 'X11 installations; you can also find it at the X11'
3827 warn2 'archive sites, such as <http://sunsite.unc.edu/>.'
3829 warn2 'GDK-Pixbuf is recommended over XPM, as it provides'
3830 warn2 'support for more image formats.'
3834 if test "$have_jpeg" = no ; then
3835 if test "$with_jpeg_req" = yes ; then
3836 warnL 'Use of libjpeg was requested, but it was not found.'
3837 elif test "$with_jpeg_req" = no ; then
3838 noteL 'The JPEG library is not being used.'
3840 noteL 'The JPEG library was not found.'
3843 if test "$jpeg_halfassed" = yes ; then
3845 warn2 'More specifically, we found the headers, but not the'
3846 warn2 'library; so either JPEG is half-installed on this'
3847 warn2 "system, or something else went wrong. The \`config.log'"
3848 warn2 'file might contain some clues.'
3852 if test "$have_gdk_pixbuf" = no ; then
3853 warn2 "This means that it won't be possible for the image-manipulating"
3854 warn2 "display modes to load files from disk; and it also means that"
3855 warn2 "the \`webcollage' program will be much slower."
3857 warn2 "This means the \`webcollage' program will be much slower."
3862 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
3863 preferred_mesagl=3.4
3864 mgv="$ac_mesagl_version_string"
3865 pgl="$preferred_mesagl"
3867 if test "$ac_mesagl_version" = unknown; then
3868 warnL "Unable to determine the MesaGL version number!"
3869 warn2 "Make sure you are using version $preferred_mesagl or newer."
3871 elif test \! "$ac_mesagl_version" -gt 2006; then
3872 warnL "MesaGL version number is $mgv --"
3873 warn2 "MesaGL 2.6 and earlier have a security bug. It is strongly"
3874 warn2 "recommended that you upgrade to at least version $preferred_mesagl."
3876 elif test \! "$ac_mesagl_version" -gt 3003; then
3877 warnL "MesaGL version number is $mgv --"
3878 warn2 "MesaGL 3.3 and earlier have some bugs; it is recommended"
3879 warn2 "that you upgrade to $pgl or newer."
3883 if test "$have_gl" = no ; then
3884 if test "$with_gl_req" = yes ; then
3885 warnL 'Use of GL was requested, but it was not found.'
3886 elif test "$with_gl_req" = no ; then
3887 noteL 'The OpenGL 3D library is not being used.'
3889 noteL 'The OpenGL 3D library was not found.'
3892 if test "$gl_halfassed" = yes ; then
3894 warn2 'More specifically, we found the headers, but not the'
3895 warn2 'libraries; so either GL is half-installed on this'
3896 warn2 "system, or something else went wrong. The \`config.log'"
3897 warn2 'file might contain some clues.'
3901 warn2 'Those demos which use 3D will not be built or installed.'
3902 warn2 'You might want to consider installing OpenGL and'
3903 warn2 "re-running configure. If your vendor doesn't ship"
3904 warn2 'their own implementation of OpenGL, you can get a free'
3905 warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
3906 warn2 'info, see <http://www.opengl.org/>.'
3911 if test "$have_gl" = yes -a "$have_gle" = no ; then
3913 # nobody cares about this; don't print the warning unless it was
3914 # requested and not found, or halfway-found.
3915 if test "$with_gle_req" = yes -o "$gle_halfassed" = yes ; then
3917 if test "$with_gle_req" = yes ; then
3918 noteL 'Use of the GLE (GL Extrusion) library was requested, but'
3919 warn2 'it was not found (though the OpenGL library was found, and'
3920 warn2 'is being used.)'
3921 elif test "$with_gle_req" = no ; then
3922 noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)'
3923 warn2 'library is not.'
3925 noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
3929 if test "$gle_halfassed" = yes ; then
3931 warn2 'More specifically, we found the headers, but not the'
3932 warn2 'libraries; so either GLE is half-installed on this'
3933 warn2 "system, or something else went wrong. The \`config.log'"
3934 warn2 'file might contain some clues.'
3938 warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
3939 warn2 'will not be built or installed. You might want to consider'
3940 warn2 'installing GLE and re-running configure. You can find the'
3941 warn2 'GLE library at <http://www.linas.org/gle/>. For general'
3942 warn2 'OpenGL info, see <http://www.opengl.org/>.'
3948 if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
3949 warn 'Use of XReadDisplay was requested, but it was not found.'
3952 if test -n "$with_fortune_req"; then
3953 if test "$with_fortune_req" != "$ac_cv_fortune_program" ; then
3954 warnL "$with_fortune_req was requested as the Fortune program,"
3955 warn2 "but was not found. The default will be used instead."
3959 if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then
3960 warn 'Use of Kerberos was requested, but it was not found.'
3963 if test "$with_pam_req" = yes -a "$have_pam" = no ; then
3964 warn 'Use of PAM was requested, but it was not found.'
3967 if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then
3968 warn 'Use of shadow passwords was requested, but they were not found.'
3972 # You are in a twisty maze of namespaces and syntaxes, all alike.
3973 # Fuck the skull of Unix.
3975 eval bindir=${bindir}
3976 eval bindir=${bindir}
3977 eval bindir=${bindir}
3978 eval bindir=${bindir}
3979 eval bindir=${bindir}
3980 eval bindir=${bindir}
3981 eval HACKDIR=${HACKDIR}
3982 eval HACKDIR=${HACKDIR}
3983 eval HACKDIR=${HACKDIR}
3984 eval HACKDIR=${HACKDIR}
3985 eval HACKDIR=${HACKDIR}
3986 eval HACKDIR=${HACKDIR}
3987 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3988 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3989 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3990 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3991 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3992 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3994 # canonicalize slashes.
3995 bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
3996 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
3997 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
4000 # Sanity check the hackdir
4001 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
4002 if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
4004 AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
4005 There will be an executable installed with that name, so
4006 that can't be the name of a directory as well. Please
4007 re-configure with a different directory name.])
4014 # Now let's see if there's a previous RPM version already installed. Blargh!
4018 rpmv=`(rpm -qv xscreensaver) 2>/dev/null | \
4019 sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'`
4022 if test \! -z "$rpmv" ; then
4023 rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
4024 rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'`
4027 warnL "There is already an installed RPM of xscreensaver $rpmv"
4028 warn2 "on this system. You might want to remove it (with"
4029 warn2 '"rpm -ve xscreensaver") before running "make install"'
4030 warn2 "from this directory."
4032 warn2 "Alternately, you could build this version of xscreensaver"
4033 warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
4034 warn2 "file is included. See the RPM documentation for more info."
4037 if test "$rpmbdir" = "$rpmhdir" ; then
4038 warn2 "The RPM version was installed in $rpmbdir/."
4040 warn2 "The RPM version was installed in $rpmbdir/,"
4041 warn2 "with demos in $rpmhdir/."
4048 if test "${bindir}" = "${HACKDIR}" ; then
4052 if test "$do_dir_warning" = yes; then
4056 echo ' When you run "make install", the "xscreensaver",'
4057 echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
4058 echo " will be installed in ${bindir}/."
4060 echo " The various graphics demos (150+ different executables) will"
4061 echo " be installed in ${HACKDIR}/."
4063 echo " If you would prefer the demos to be installed elsewhere,"
4064 echo " you should re-run configure with the --with-hackdir=DIR"
4065 echo " option. For more information, run \`./configure --help'."
4069 if test "$warning" != no; then
4070 echo '' ; echo "$warnsep" ; echo ''
4073 if test "$do_dir_warning" = no; then
4074 if test "$warning" = no; then
4077 echo "User programs will be installed in ${bindir}/"
4078 echo "Screen savers will be installed in ${HACKDIR}/"
4079 echo "Configuration will be installed in ${HACK_CONF_DIR}/"