1 # configure.in --- xscreensaver, Copyright (c) 1997-2000 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 -Wno-format"
71 *-irix5* |*-irix6.[0-3]* )
72 AC_MSG_RESULT(Turning on SGI compiler warnings.)
73 CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
76 # if test -z "$GCC"; then
77 # AC_MSG_RESULT(Turning on DEC C compiler warnings.)
78 # CC="$CC -migrate -w0 -verbose -warnprotos"
86 ###############################################################################
88 # Functions to figure out how to disable // comments in ANSI C code.
90 # (With recent gcc, this is done with "-std=c89". With older gcc, this
91 # is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to
92 # gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang.
93 # so much for compatibility!)
95 ###############################################################################
97 AC_DEFUN(AC_GCC_ACCEPTS_STD,
98 [if test -n "$GCC"; then
99 AC_CACHE_CHECK([whether gcc accepts -std],
100 ac_cv_gcc_accepts_std,
101 [if ( ( gcc -E -std=c89 - </dev/null >/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 create directory trees.
147 ###############################################################################
149 AC_DEFUN(AC_PROG_INSTALL_DIRS,
150 [AC_CACHE_CHECK([whether \"\${INSTALL} -d\" creates intermediate directories],
151 ac_cv_install_d_creates_dirs,
152 [ac_cv_install_d_creates_dirs=no
154 if mkdir conftestdir; then
155 cd conftestdir 2>/dev/null
156 ${INSTALL} -d `pwd`/dir1/dir2 >/dev/null 2>&1
157 if test -d dir1/dir2/. ; then
158 ac_cv_install_d_creates_dirs=yes
165 if test "$ac_cv_install_d_creates_dirs" = no ; then
166 AC_CACHE_CHECK([whether \"mkdir -p\" creates intermediate directories],
167 ac_cv_mkdir_p_creates_dirs,
168 [ac_cv_mkdir_p_creates_dirs=no
170 if mkdir conftestdir; then
171 cd conftestdir 2>/dev/null
172 mkdir -p dir1/dir2 >/dev/null 2>&1
173 if test -d dir1/dir2/. ; then
174 ac_cv_mkdir_p_creates_dirs=yes
182 if test "$ac_cv_install_d_creates_dirs" = yes ; then
183 INSTALL_DIRS='${INSTALL} -d'
184 elif test "$ac_cv_mkdir_p_creates_dirs" = yes ; then
185 INSTALL_DIRS='mkdir -p'
188 INSTALL_DIRS='${INSTALL} -d'
193 ###############################################################################
195 # Function to check whether gettimeofday() exists, and how to call it.
196 # This may define HAVE_GETTIMEOFDAY and GETTIMEOFDAY_TWO_ARGS.
198 ###############################################################################
200 AC_DEFUN(AC_GETTIMEOFDAY_ARGS,
201 [AC_MSG_CHECKING(how to call gettimeofday)
202 AC_CACHE_VAL(ac_cv_gettimeofday_args,
203 [AC_TRY_COMPILE([#include <stdlib.h>
204 #include <sys/time.h>],
205 [struct timeval tv; struct timezone tzp;
206 gettimeofday(&tv, &tzp);],
207 [ac_gettimeofday_args=2],
208 [AC_TRY_COMPILE([#include <stdlib.h>
209 #include <sys/time.h>],
210 [struct timeval tv; gettimeofday(&tv);],
211 [ac_gettimeofday_args=1],
212 [ac_gettimeofday_args=0])])
213 ac_cv_gettimeofday_args=$ac_gettimeofday_args])
214 ac_gettimeofday_args=$ac_cv_gettimeofday_args
215 if test "$ac_gettimeofday_args" = 1 ; then
216 AC_DEFINE(HAVE_GETTIMEOFDAY)
217 AC_MSG_RESULT(one argument)
218 elif test "$ac_gettimeofday_args" = 2 ; then
219 AC_DEFINE(HAVE_GETTIMEOFDAY)
220 AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
221 AC_MSG_RESULT(two arguments)
223 AC_MSG_RESULT(unknown)
228 ###############################################################################
230 # Function to find perl5 (defines PERL and PERL_VERSION.)
232 ###############################################################################
234 # M4 sucks!! perl sucks too!!
236 perl_version_cmd='print $]'
239 AC_DEFUN(AC_PROG_PERL,
240 [AC_PATH_PROGS(PERL, [perl5 perl],,)
241 if test -z "$PERL" ; then
244 AC_CACHE_CHECK([perl version], ac_cv_perl_version,
245 [ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`])
246 PERL_VERSION=$ac_cv_perl_version
251 ###############################################################################
253 # Function to demand "bc". Losers.
255 ###############################################################################
257 AC_DEFUN(AC_DEMAND_BC,
258 [ac_bc_result=`echo 6+9 | bc 2>/dev/null`
259 AC_MSG_CHECKING([for bc])
260 if test "$ac_bc_result" = "15" ; then
265 AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard
266 part of Unix since the 1970s. Come back when your vendor
271 ###############################################################################
273 # Functions to check how to do ICMP PING requests.
275 ###############################################################################
277 AC_DEFUN(AC_CHECK_ICMP,
278 [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp,
279 [AC_TRY_COMPILE([#include <stdlib.h>
286 #include <sys/types.h>
287 #include <sys/time.h>
290 #include <sys/socket.h>
291 #include <netinet/in_systm.h>
292 #include <netinet/in.h>
293 #include <netinet/ip.h>
294 #include <netinet/ip_icmp.h>
295 #include <netinet/udp.h>
296 #include <arpa/inet.h>
300 struct sockaddr_in si;
302 i.icmp_type = ICMP_ECHO;
307 si.sin_family = AF_INET;
308 #if defined(__DECC) || defined(_IP_VHL)
314 [ac_cv_have_icmp=yes],
315 [ac_cv_have_icmp=no])])
316 if test "$ac_cv_have_icmp" = yes ; then
320 AC_DEFUN(AC_CHECK_ICMPHDR,
321 [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr,
322 [AC_TRY_COMPILE([#include <stdlib.h>
329 #include <sys/types.h>
330 #include <sys/time.h>
333 #include <sys/socket.h>
334 #include <netinet/in_systm.h>
335 #include <netinet/in.h>
336 #include <netinet/ip.h>
337 #include <netinet/ip_icmp.h>
338 #include <netinet/udp.h>
339 #include <arpa/inet.h>
343 struct sockaddr_in si;
349 i.un.echo.sequence = 0;
350 si.sin_family = AF_INET;
352 [ac_cv_have_icmphdr=yes],
353 [ac_cv_have_icmphdr=no])])
354 if test "$ac_cv_have_icmphdr" = yes ; then
355 AC_DEFINE(HAVE_ICMPHDR)
359 ###############################################################################
361 # Functions to check for various X11 crap.
363 ###############################################################################
365 # Try and find the app-defaults directory.
366 # It sucks that autoconf doesn't do this already...
368 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
370 if mkdir conftestdir; then
371 cd conftestdir 2>/dev/null
372 # Make sure to not put "make" in the Imakefile rules, since we grep it out.
373 cat > Imakefile <<'EOF'
375 @echo 'ac_x_app_defaults="${XAPPLOADDIR}"'
377 if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then
378 # GNU make sometimes prints "make[1]: Entering...", which'd confuse us.
379 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
385 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[
386 # Look for the directory under a standard set of common directories.
387 # Check X11 before X11Rn because it's often a symlink to the current release.
389 /usr/X11/lib/app-defaults \
390 /usr/X11R6/lib/app-defaults \
391 /usr/X11R6/lib/X11/app-defaults \
392 /usr/X11R5/lib/app-defaults \
393 /usr/X11R5/lib/X11/app-defaults \
394 /usr/X11R4/lib/app-defaults \
395 /usr/X11R4/lib/X11/app-defaults \
397 /usr/lib/X11/app-defaults \
398 /usr/lib/X11R6/app-defaults \
399 /usr/lib/X11R5/app-defaults \
400 /usr/lib/X11R4/app-defaults \
402 /usr/local/X11/lib/app-defaults \
403 /usr/local/X11R6/lib/app-defaults \
404 /usr/local/X11R5/lib/app-defaults \
405 /usr/local/X11R4/lib/app-defaults \
407 /usr/local/lib/X11/app-defaults \
408 /usr/local/lib/X11R6/app-defaults \
409 /usr/local/lib/X11R6/X11/app-defaults \
410 /usr/local/lib/X11R5/app-defaults \
411 /usr/local/lib/X11R5/X11/app-defaults \
412 /usr/local/lib/X11R4/app-defaults \
413 /usr/local/lib/X11R4/X11/app-defaults \
415 /usr/X386/lib/X11/app-defaults \
416 /usr/x386/lib/X11/app-defaults \
417 /usr/XFree86/lib/X11/app-defaults \
419 /usr/lib/X11/app-defaults \
420 /usr/local/lib/X11/app-defaults \
421 /usr/unsupported/lib/X11/app-defaults \
422 /usr/athena/lib/X11/app-defaults \
423 /usr/local/x11r5/lib/X11/app-defaults \
424 /usr/lpp/Xamples/lib/X11/app-defaults \
425 /lib/usr/lib/X11/app-defaults \
427 /usr/openwin/lib/app-defaults \
428 /usr/openwin/lib/X11/app-defaults \
429 /usr/openwin/share/lib/app-defaults \
430 /usr/openwin/share/lib/X11/app-defaults \
432 /X11R6/lib/app-defaults \
433 /X11R5/lib/app-defaults \
434 /X11R4/lib/app-defaults \
437 if test -d "$ac_dir"; then
438 ac_x_app_defaults=$ac_dir
444 AC_DEFUN(AC_PATH_X_APP_DEFAULTS,
446 AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
447 [AC_PATH_X_APP_DEFAULTS_XMKMF
448 if test x"$ac_x_app_defaults" = x; then
449 AC_PATH_X_APP_DEFAULTS_DIRECT
451 if test x"$ac_x_app_defaults" = x; then
452 ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
454 # Record where we found app-defaults for the cache.
455 ac_cv_x_app_defaults="$ac_x_app_defaults"
457 eval ac_x_app_defaults="$ac_cv_x_app_defaults"])
460 AC_DEFUN(AC_XPOINTER,
461 [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer,
462 [AC_TRY_X_COMPILE([#include <X11/Xlib.h>],
463 [XPointer foo = (XPointer) 0;],
464 [ac_cv_xpointer=yes],
465 [ac_cv_xpointer=no])])
466 if test "$ac_cv_xpointer" != yes; then
467 AC_DEFINE(XPointer,[char*])
471 # Random special-cases for X on certain pathological OSes.
472 # You know who you are.
474 AC_DEFUN(AC_X_RANDOM_PATHS,
478 # The following arcana was gleaned from conversations with
479 # Eric Schwartz <erics@col.hp.com>:
481 # On HPUX 10.x, the parts of X that HP considers "standard" live in
482 # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider
483 # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/.
484 # Yet /usr/contrib/X11R6/ comes preinstalled on all HPUX systems.
485 # Also, there are symlinks from /usr/include/ and /usr/lib/ into
486 # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all)
487 # you don't need any -I or -L arguments.
489 # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/
490 # are the same division as 10.x. However, there are no symlinks to
491 # the X stuff from /usr/include/ and /usr/lib/, so -I and -L
492 # arguments are always necessary.
494 # However, X11R6 was available on HPUX 9.x as a patch: if that
495 # patch was installed, then all of X11R6 went in to
496 # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.)
498 # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know
499 # whether R5 was available as a patch; R6 undoubtedly was not.)
501 # So. We try and use the highest numbered pair of
502 # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/
503 # that are available. We do not mix and match different versions
506 # Question I still don't know the answer to: (do you?)
508 # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and
509 # /usr/contrib/X11R6/ could be installed as a patch, what was in
510 # that contrib directory? Did it contain so-called "standard"
511 # X11R6, or did it include Xaw and Xmu as well? If the former,
512 # where did one find Xaw and Xmu on 9.x R6 systems? Would this
513 # be a situation where one had to reach into the R5 headers and
514 # libs to find Xmu? That is, must both R6 and R5 directories
515 # be on the -I and -L lists in that case?
517 for version in X11R6 X11R5 X11R4 ; do
518 # if either pair of directories exists...
519 if test -d /usr/include/$version || test -d /usr/contrib/$version/include
521 # if contrib exists, use it...
522 if test -d /usr/contrib/$version/include ; then
523 X_CFLAGS="$X_CFLAGS -I/usr/contrib/$version/include"
524 X_LIBS="$X_LIBS -L/usr/contrib/$version/lib"
526 # if the "standard" one exists, use it.
527 if test -d /usr/include/$version ; then
528 X_CFLAGS="$X_CFLAGS -I/usr/include/$version"
529 X_LIBS="$X_LIBS -L/usr/lib/$version"
531 # since at least one of the pair exists, go no farther.
536 # Now find Motif. Thanks for not making xmkmf find this by
537 # default, you losers.
539 if test -d /usr/include/Motif2.1 ; then
540 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif2.1"
541 X_LIBS="$X_LIBS -L/usr/lib/Motif2.1"
542 elif test -d /usr/include/Motif1.2 ; then
543 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2"
544 X_LIBS="$X_LIBS -L/usr/lib/Motif1.2"
545 elif test -d /usr/include/Motif1.1 ; then
546 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1"
547 X_LIBS="$X_LIBS -L/usr/lib/Motif1.1"
550 # Now let's check for the pseudo-standard locations for OpenGL and XPM.
552 if test -d /opt/graphics/OpenGL/include ; then
553 # HP-UX 10.20 puts it here
554 X_CFLAGS="-I/opt/graphics/OpenGL/include $X_CFLAGS"
555 X_LIBS="-L/opt/graphics/OpenGL/lib $X_LIBS"
556 elif test -d /opt/Mesa/lib ; then
557 X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS"
558 X_LIBS="-L/opt/Mesa/lib $X_LIBS"
562 if test -d /opt/xpm/lib/X11 ; then
563 X_CFLAGS="-I/opt/xpm/include $X_CFLAGS"
564 X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS"
567 # On HPUX, default to installing in /opt/xscreensaver/ instead of
568 # in /usr/local/, unless there is already an xscreensaver in
569 # /usr/local/bin/. This can be overridden with the --prefix arg
570 # to configure. I'm not sure this is the right thing to do, but
571 # Richard Lloyd says so...
573 if test \! -x /usr/local/bin/xscreensaver ; then
574 ac_default_prefix=/opt/xscreensaver
580 # Thanks for not making xmkmf find this by default, pinheads.
581 # And thanks for moving things around again, too. Is this
582 # really the standard location now? What happened to the
583 # joke that this kind of thing went in /opt?
584 # cthomp says "answer: CDE (Common Disorganized Environment)"
586 if test -f /usr/dt/include/Xm/Xm.h ; then
587 X_CFLAGS="$X_CFLAGS -I/usr/dt/include"
588 X_LIBS="$X_LIBS -L/usr/dt/lib -R:/usr/dt/lib"
590 # Some versions of Slowlaris Motif require -lgen. But not all. Why?
591 AC_CHECK_LIB(gen, regcmp, [X_LIBS="$X_LIBS -lgen"])
598 ###############################################################################
600 # Some utility functions to make checking for X things easier.
602 ###############################################################################
604 # Like AC_CHECK_HEADER, but it uses the already-computed -I directories.
606 AC_DEFUN(AC_CHECK_X_HEADER, [
607 ac_save_CPPFLAGS="$CPPFLAGS"
608 if test \! -z "$includedir" ; then
609 CPPFLAGS="$CPPFLAGS -I$includedir"
611 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
612 AC_CHECK_HEADER([$1],[$2],[$3],[$4])
613 CPPFLAGS="$ac_save_CPPFLAGS"])
615 # Like AC_EGREP_HEADER, but it uses the already-computed -I directories.
617 AC_DEFUN(AC_EGREP_X_HEADER, [
618 ac_save_CPPFLAGS="$CPPFLAGS"
619 if test \! -z "$includedir" ; then
620 CPPFLAGS="$CPPFLAGS -I$includedir"
622 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
623 AC_EGREP_HEADER([$1], [$2], [$3], [$4])
624 CPPFLAGS="$ac_save_CPPFLAGS"])
626 # Like AC_TRY_COMPILE, but it uses the already-computed -I directories.
628 AC_DEFUN(AC_TRY_X_COMPILE, [
629 ac_save_CPPFLAGS="$CPPFLAGS"
630 if test \! -z "$includedir" ; then
631 CPPFLAGS="$CPPFLAGS -I$includedir"
633 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
634 AC_TRY_COMPILE([$1], [$2], [$3], [$4])
635 CPPFLAGS="$ac_save_CPPFLAGS"])
638 # Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories.
639 # Use this sparingly; it probably doesn't work very well on X programs.
641 AC_DEFUN(AC_CHECK_X_LIB, [
642 ac_save_CPPFLAGS="$CPPFLAGS"
643 ac_save_LDFLAGS="$LDFLAGS"
644 # ac_save_LIBS="$LIBS"
646 if test \! -z "$includedir" ; then
647 CPPFLAGS="$CPPFLAGS -I$includedir"
649 # note: $X_CFLAGS includes $x_includes
650 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
652 if test \! -z "$libdir" ; then
653 LDFLAGS="$LDFLAGS -L$libdir"
655 # note: $X_LIBS includes $x_libraries
656 LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
658 AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
659 CPPFLAGS="$ac_save_CPPFLAGS"
660 LDFLAGS="$ac_save_LDFLAGS"
661 # LIBS="$ac_save_LIBS"
664 # Like AC_TRY_RUN, but it uses the already-computed -I directories.
665 # (But not the -L directories!)
667 AC_DEFUN(AC_TRY_X_RUN, [
668 ac_save_CPPFLAGS="$CPPFLAGS"
669 if test \! -z "$includedir" ; then
670 CPPFLAGS="$CPPFLAGS -I$includedir"
672 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
673 AC_TRY_RUN([$1], [$2], [$3], [$4])
674 CPPFLAGS="$ac_save_CPPFLAGS"])
678 # Usage: HANDLE_X_PATH_ARG([variable_name],
679 # [--command-line-option],
680 # [descriptive string])
682 # All of the --with options take three forms:
684 # --with-foo (or --with-foo=yes)
685 # --without-foo (or --with-foo=no)
688 # This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees
689 # a directory (string beginning with a slash) it checks to see whether
690 # /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS
693 AC_DEFUN(HANDLE_X_PATH_ARG, [
699 AC_MSG_CHECKING([for [$3] headers])
702 X_CFLAGS="-I$d $X_CFLAGS"
705 AC_MSG_RESULT(not found ($d: no such directory))
708 AC_MSG_CHECKING([for [$3] libs])
711 X_LIBS="-L$d $X_LIBS"
714 AC_MSG_RESULT(not found ($d: no such directory))
717 # replace the directory string with "yes".
724 echo "error: argument to [$2] must be \"yes\", \"no\", or a directory."
725 echo " If it is a directory, then \`DIR/include' will be added to"
726 echo " the -I list, and \`DIR/lib' will be added to the -L list."
734 ###############################################################################
735 ###############################################################################
737 # End of function definitions. Now start actually executing stuff.
739 ###############################################################################
740 ###############################################################################
742 # random compiler setup
745 AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
752 # stuff for Makefiles
757 # By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'.
758 # That's wrong: it should be set to '${INSTALL}', so that one can
759 # implement the "install-strip" target properly (strip executables,
760 # but do not try to strip scripts.)
762 INSTALL_SCRIPT='${INSTALL}'
766 AC_CHECK_HEADERS(unistd.h)
775 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
777 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
780 AC_CHECK_HEADERS(crypt.h sys/select.h)
783 if test -z "$PERL" ; then
784 # don't let it be blank...
790 if test "$have_x" != yes; then
791 AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.)
794 AC_PATH_X_APP_DEFAULTS
799 ###############################################################################
803 ###############################################################################
806 GETTEXT_PACKAGE=xscreensaver
807 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
808 AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE")
809 AC_SUBST(GETTEXT_PACKAGE)
811 # #### no sign of en_GB
812 #ALL_LINGUAS="ca de en_GB et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa"
813 ALL_LINGUAS="ca de et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa"
817 ###############################################################################
819 # Check for -lXmu (some fucked up vendors don't ship it...)
821 ###############################################################################
824 AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes],,
827 #include <X11/Intrinsic.h>])
828 if test "$have_xmu" = no ; then
829 XMU_SRCS='$(UTILS_SRC)/xmu.c'
830 XMU_OBJS='$(UTILS_BIN)/xmu.o'
840 ###############################################################################
842 # Check for the SunOS 4.1.x _get_wmShellWidgetClass bug.
843 # See comp.windows.x FAQ question 124. The right fix is to
844 # get OpenWindows 3.0 patches 100512-02 and 100573-03.
846 ###############################################################################
848 if test "$have_xmu" = yes ; then
851 AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
853 [ac_save_LDFLAGS="$LDFLAGS"
854 if test \! -z "$x_libraries" ; then
855 LDFLAGS="$LDFLAGS -L$x_libraries"
857 # Note: this trick never works! (Generally.)
858 # We're only getting away with using AC_TRY_LINK
859 # with X libraries because we know it's SunOS.
860 LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
862 [ac_cv_sunos_xmu_bug=no],
863 [ac_cv_sunos_xmu_bug=yes])
864 LDFLAGS="$ac_save_LDFLAGS"])
865 if test "$ac_cv_sunos_xmu_bug" = yes ; then
866 AC_CACHE_CHECK([whether the compiler understands -static],
868 [ac_save_LDFLAGS="$LDFLAGS"
869 LDFLAGS="$LDFLAGS -static"
870 AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
871 LDFLAGS="$ac_save_LDFLAGS"])
872 if test "$ac_cv_ld_static" = yes ; then
873 LDFLAGS="$LDFLAGS -static"
875 LDFLAGS="$LDFLAGS -Bstatic"
883 ###############################################################################
885 # Handle the --with-hackdir option
887 ###############################################################################
890 with_hackdir_req=unspecified
891 AC_ARG_WITH(hackdir,[
892 Installation options:
894 --with-hackdir=DIR Where to install the hundreds of demo executables.
895 Default: \`PREFIX/lib/xscreensaver/'],
896 [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes])
898 if test x"$with_hackdir" = xyes; then
899 HACKDIR='${exec_prefix}/lib/xscreensaver'
900 elif test x"$with_hackdir" = xno; then
903 # there must be a better way than this...
904 if test -z "`echo $with_hackdir | sed 's@^/.*@@'`" ; then
906 HACKDIR=$with_hackdir
909 HACKDIR="\${exec_prefix}$with_hackdir"
913 # canonicalize slashes.
914 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
916 # This option used to be called --enable-subdir; make sure that is no longer
917 # used, since configure brain-damagedly ignores unknown --enable options.
920 AC_ARG_ENABLE(subdir,,[obsolete_enable=yes])
921 if test -n "$obsolete_enable"; then
922 echo "error: the --enable-subdir option has been replaced with"
923 echo " the new --with-hackdir option; see \`configure --help'"
924 echo " for more information."
929 ###############################################################################
931 # Handle the --with-configdir option
933 ###############################################################################
936 with_configdir_req=unspecified
937 AC_ARG_WITH(configdir,
938 [ --with-configdir=DIR Where to install the data files that describe each
939 of the display modes to the GUI.
940 Default: \`GNOMEPREFIX/control-center/screensavers/'
941 or \`PREFIX/lib/xscreensaver/config/', depending on
942 whether GNOME is available.
944 [with_configdir="$withval"; with_configdir_req="$withval"],
945 [with_configdir=yes])
947 if test x"$with_configdir" = xyes; then
950 elif test x"$with_configdir" = xno; then
951 echo "error: must be yes, or a pathname: --with-configdir=$with_configdir"
954 # there must be a better way than this...
955 if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then
957 HACK_CONF_DIR=$with_configdir
960 HACK_CONF_DIR="\${exec_prefix}$with_configdir"
967 ###############################################################################
969 # Check for the SGI SCREEN_SAVER server extension.
971 ###############################################################################
974 with_sgi_req=unspecified
976 [Except where noted, all of the --with options below can also take a
977 directory argument: for example, \`--with-motif=/opt/Motif'. That would
978 cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
979 to be added to the -L list, assuming those directories exist.
981 By default, support for each of these options will be built in, if the
982 relevant library routines exist. At run time, they will then be used
983 only if the X server being used supports them. Each --with option has
984 a corresponding --without option, to override building support for them
987 Screen blanking and idle-detection options:
989 --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
990 [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
992 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
994 if test "$with_sgi" = yes; then
995 AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
997 AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)],,
998 [#include <X11/Xlib.h>])
1000 elif test "$with_sgi" != no; then
1001 echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
1006 ###############################################################################
1008 # Check for the MIT-SCREEN-SAVER server extension.
1010 ###############################################################################
1013 with_mit_req=unspecified
1014 AC_ARG_WITH(mit-ext,
1015 [ --with-mit-ext Include support for the MIT-SCREEN-SAVER extension.],
1016 [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
1018 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
1020 if test "$with_mit" = yes; then
1021 AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes],,
1022 [#include <X11/Xlib.h>])
1024 # Now check to see if it's really in the library; XF86Free-3.3 ships
1025 # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
1027 if test "$have_mit" = yes; then
1028 AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm)
1030 if test "$have_mit" = no; then
1031 # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead
1032 # of in Xext. Thank you master, may I have another.
1033 AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
1034 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"],
1035 [true], -lX11 -lXext -lm)
1038 if test "$have_mit" = no; then
1039 # Double fuck! Looks like some versions of XFree86 (whichever version
1040 # it is that comes with RedHat Linux 2.0 -- I can't find a version
1041 # number) put this garbage in Xss instead of Xext. Thank you master,
1042 # may I have another.
1043 AC_CHECK_X_LIB(Xss, XScreenSaverRegister,
1044 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"],
1045 [true], -lX11 -lXext -lm)
1048 if test "$have_mit" = yes; then
1049 AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
1054 elif test "$with_mit" != no; then
1055 echo "error: must be yes or no: --with-mit-ext=$with_mit"
1060 ###############################################################################
1062 # Check for the XIDLE server extension.
1064 ###############################################################################
1067 with_xidle_req=unspecified
1068 AC_ARG_WITH(xidle-ext,
1069 [ --with-xidle-ext Include support for the XIDLE extension.],
1070 [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
1072 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
1074 if test "$with_xidle" = yes; then
1075 AC_CHECK_X_HEADER(X11/extensions/xidle.h,
1077 AC_DEFINE(HAVE_XIDLE_EXTENSION)],,
1078 [#include <X11/Xlib.h>])
1079 elif test "$with_xidle" != no; then
1080 echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
1085 ###############################################################################
1087 # Check for the SGI-VIDEO-CONTROL server extension.
1089 ###############################################################################
1092 with_sgivc_req=unspecified
1093 AC_ARG_WITH(sgivc-ext,
1094 [ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
1095 [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
1097 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
1099 if test "$with_sgivc" = yes; then
1101 # first check for XSGIvc.h
1102 AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes],,
1103 [#include <X11/Xlib.h>])
1105 # if that succeeded, then check for the -lXsgivc
1106 if test "$have_sgivc" = yes; then
1108 AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
1109 [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
1113 # if that succeeded, then we've really got it.
1114 if test "$have_sgivc" = yes; then
1115 AC_DEFINE(HAVE_SGI_VC_EXTENSION)
1118 elif test "$with_sgivc" != no; then
1119 echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
1124 ###############################################################################
1126 # Check for the DPMS server extension.
1128 ###############################################################################
1131 with_dpms_req=unspecified
1132 AC_ARG_WITH(dpms-ext,
1133 [ --with-dpms-ext Include support for the DPMS extension.],
1134 [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes])
1136 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
1138 if test "$with_dpms" = yes; then
1140 # first check for dpms.h
1141 AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],,
1142 [#include <X11/Xlib.h>])
1144 # if that succeeded, then check for the DPMS code in the libraries
1145 if test "$have_dpms" = yes; then
1147 # first look in -lXext (this is where it is with XFree86 4.0)
1149 AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11)
1151 # if that failed, look in -lXdpms (this is where it was in XFree86 3.x)
1152 if test "$have_dpms" = no; then
1153 AC_CHECK_X_LIB(Xdpms, DPMSInfo,
1154 [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true],
1160 # if that succeeded, then we've really got it.
1161 if test "$have_dpms" = yes; then
1162 AC_DEFINE(HAVE_DPMS_EXTENSION)
1165 elif test "$with_dpms" != no; then
1166 echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
1171 ###############################################################################
1173 # Check for the XINERAMA server extension.
1175 ###############################################################################
1178 with_xinerama_req=unspecified
1179 AC_ARG_WITH(xinerama-ext,
1180 [ --with-xinerama-ext Include support for the XINERAMA extension.],
1181 [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes])
1183 HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA)
1185 if test "$with_xinerama" = yes; then
1187 # first check for Xinerama.h
1188 AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes],,
1189 [#include <X11/Xlib.h>])
1191 # if that succeeded, then check for the XINERAMA code in the libraries
1192 if test "$have_xinerama" = yes; then
1194 # first look in -lXext
1196 AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [have_xinerama=yes], [true],
1199 # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.)
1200 if test "$have_xinerama" = no; then
1201 AC_CHECK_X_LIB(Xinerama, XineramaQueryExtension,
1202 [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"],
1203 [true], -lXext -lX11)
1207 # if that succeeded, then we've really got it.
1208 if test "$have_xinerama" = yes; then
1209 AC_DEFINE(HAVE_XINERAMA)
1212 elif test "$with_xinerama" != no; then
1213 echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama"
1218 ###############################################################################
1220 # Check for the XF86VMODE server extension (for virtual screens.)
1222 ###############################################################################
1225 with_xf86vmode_req=unspecified
1226 AC_ARG_WITH(xf86vmode-ext,
1227 [ --with-xf86vmode-ext Include support for XFree86 virtual screens.],
1228 [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"],
1229 [with_xf86vmode=yes])
1231 HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
1233 if test "$with_xf86vmode" = yes; then
1235 # first check for xf86vmode.h
1236 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes],,
1237 [#include <X11/Xlib.h>])
1239 # if that succeeded, then check for the -lXxf86vm
1240 if test "$have_xf86vmode" = yes; then
1242 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort,
1243 [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"],
1244 [true], -lXext -lX11)
1247 # if that succeeded, then we've really got it.
1248 if test "$have_xf86vmode" = yes; then
1249 AC_DEFINE(HAVE_XF86VMODE)
1252 elif test "$with_xf86vmode" != no; then
1253 echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode"
1258 ###############################################################################
1260 # Check for the XF86VMODE server extension (for gamma fading.)
1262 ###############################################################################
1265 have_xf86gamma_ramp=no
1266 with_xf86gamma_req=unspecified
1267 AC_ARG_WITH(xf86gamma-ext,
1268 [ --with-xf86gamma-ext Include support for XFree86 gamma fading.],
1269 [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"],
1270 [with_xf86gamma=yes])
1272 HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma)
1274 if test "$with_xf86gamma" = yes; then
1276 # first check for xf86vmode.h, if we haven't already
1277 if test "$have_xf86vmode" = yes; then
1280 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes],,
1281 [#include <X11/Xlib.h>])
1284 # if that succeeded, then check for the -lXxf86vm
1285 if test "$have_xf86gamma" = yes; then
1287 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma,
1288 [have_xf86gamma=yes],
1289 [true], -lXext -lX11)
1292 # check for the Ramp versions of the functions too.
1293 if test "$have_xf86gamma" = yes; then
1294 have_xf86gamma_ramp=no
1295 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp,
1296 [have_xf86gamma_ramp=yes],
1297 [true], -lXext -lX11)
1300 # if those tests succeeded, then we've really got the functions.
1301 if test "$have_xf86gamma" = yes; then
1302 AC_DEFINE(HAVE_XF86VMODE_GAMMA)
1305 if test "$have_xf86gamma_ramp" = yes; then
1306 AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP)
1309 # pull in the lib, if we haven't already
1310 if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then
1311 SAVER_LIBS="$SAVER_LIBS -lXxf86vm"
1314 elif test "$with_xf86gamma" != no; then
1315 echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode"
1320 ###############################################################################
1322 # Check for HP XHPDisableReset and XHPEnableReset.
1324 ###############################################################################
1326 AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h,
1327 [AC_DEFINE(HAVE_XHPDISABLERESET)
1328 SAVER_LIBS="-lXhp11 $SAVER_LIBS"])
1331 ###############################################################################
1333 # Check for /proc/interrupts.
1335 ###############################################################################
1337 have_proc_interrupts=no
1338 with_proc_interrupts_req=unspecified
1339 AC_ARG_WITH(proc-interrupts,
1340 [ --with-proc-interrupts Include support for consulting the /proc/interrupts
1341 file to notice keyboard activity.],
1342 [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
1343 [with_proc_interrupts=yes])
1345 if test "$with_proc_interrupts" = yes; then
1347 AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data],
1348 ac_cv_have_proc_interrupts,
1349 [ac_cv_have_proc_interrupts=no
1350 if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
1351 ac_cv_have_proc_interrupts=yes
1354 have_proc_interrupts=$ac_cv_have_proc_interrupts
1356 if test "$have_proc_interrupts" = yes; then
1357 AC_DEFINE(HAVE_PROC_INTERRUPTS)
1360 elif test "$with_proc_interrupts" != no; then
1361 echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
1366 ###############################################################################
1368 # The --enable-locking option
1370 ###############################################################################
1372 AC_ARG_ENABLE(locking,[
1373 Screen locking options:
1375 --enable-locking Compile in support for locking the display.
1376 --disable-locking Do not allow locking at all.],
1377 [enable_locking="$enableval"],[enable_locking=yes])
1378 if test "$enable_locking" = yes; then
1380 elif test "$enable_locking" = no; then
1381 AC_DEFINE(NO_LOCKING)
1383 echo "error: must be yes or no: --enable-locking=$enable_locking"
1389 ###############################################################################
1391 # The --enable-vt-locking option
1393 ###############################################################################
1395 #ac_vt_lockswitch=no
1396 #AC_ARG_ENABLE(vt-locking,[
1397 # --enable-vt-locking Compile in support for locking Virtual Terminals.
1398 # This is the default if the system supports it, and
1399 # if locking support is included (--enable-locking.)
1400 # --disable-vt-locking Do not allow locking of VTs, even if locking is
1402 # [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
1403 #if test "$enable_vt_locking" = yes; then
1405 # AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch,
1406 # [AC_TRY_COMPILE([#include <fcntl.h>
1407 # #include <sys/ioctl.h>
1408 # #include <sys/vt.h>],
1409 # [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;],
1410 # [ac_cv_vt_lockswitch=yes],
1411 # [ac_cv_vt_lockswitch=no])])
1412 # ac_vt_lockswitch=$ac_cv_vt_lockswitch
1414 #elif test "$enable_vt_locking" = no; then
1417 # echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
1421 #if test "$ac_vt_lockswitch" = yes; then
1422 # AC_DEFINE(HAVE_VT_LOCKSWITCH)
1423 # # the VT_LOCKSWITCH ioctl can only be used when running as root.
1424 # # #### but it doesn't work yet, so don't worry about that for now.
1429 ###############################################################################
1433 ###############################################################################
1437 # Solaris systems tend to come with PAM misconfigured.
1438 # Don't build it by default, even if the headers exist.
1442 # Default to building PAM support on all other systems, if it exists.
1443 with_pam_default=yes
1448 with_pam_req=unspecified
1451 [ --with-pam Include support for PAM (Pluggable Auth Modules.)],
1452 [with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default])
1454 HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
1456 if test "$enable_locking" = yes -a "$with_pam" = yes; then
1457 AC_CACHE_CHECK([for PAM], ac_cv_pam,
1458 [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],,
1461 if test "$ac_cv_pam" = yes ; then
1464 PASSWD_LIBS="${PASSWD_LIBS} -lpam"
1466 # libpam typically requires dlopen and dlsym. On FreeBSD,
1467 # those are in libc. On Linux and Solaris, they're in libdl.
1468 AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"])
1470 AC_MSG_CHECKING(how to call pam_strerror)
1471 AC_CACHE_VAL(ac_cv_pam_strerror_args,
1472 [AC_TRY_COMPILE([#include <stdio.h>
1474 #include <security/pam_appl.h>],
1475 [pam_handle_t *pamh = 0;
1476 char *s = pam_strerror(pamh, PAM_SUCCESS);],
1477 [ac_pam_strerror_args=2],
1478 [AC_TRY_COMPILE([#include <stdio.h>
1480 #include <security/pam_appl.h>],
1482 pam_strerror(PAM_SUCCESS);],
1483 [ac_pam_strerror_args=1],
1484 [ac_pam_strerror_args=0])])
1485 ac_cv_pam_strerror_args=$ac_pam_strerror_args])
1486 ac_pam_strerror_args=$ac_cv_pam_strerror_args
1487 if test "$ac_pam_strerror_args" = 1 ; then
1488 AC_MSG_RESULT(one argument)
1489 elif test "$ac_pam_strerror_args" = 2 ; then
1490 AC_DEFINE(PAM_STRERROR_TWO_ARGS)
1491 AC_MSG_RESULT(two arguments)
1493 AC_MSG_RESULT(unknown)
1499 ###############################################################################
1501 # Check for Kerberos.
1503 ###############################################################################
1507 with_kerberos_req=unspecified
1509 AC_ARG_WITH(kerberos,
1510 [ --with-kerberos Include support for Kerberos authentication.],
1511 [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes])
1513 HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
1515 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
1516 AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos,
1517 [AC_TRY_X_COMPILE([#include <krb.h>],,
1518 [ac_cv_kerberos=yes],
1519 [ac_cv_kerberos=no])])
1520 AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5,
1521 [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],,
1522 [ac_cv_kerberos5=yes],
1523 [ac_cv_kerberos5=no])])
1525 if test "$ac_cv_kerberos" = yes ; then
1527 AC_DEFINE(HAVE_KERBEROS)
1530 if test "$ac_cv_kerberos5" = yes ; then
1533 AC_DEFINE(HAVE_KERBEROS)
1534 AC_DEFINE(HAVE_KERBEROS5)
1537 if test "$have_kerberos5" = yes ; then
1538 # from Matt Knopp <mhat@infocalypse.netlag.com>
1539 # (who got it from amu@mit.edu)
1540 PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
1541 elif test "$have_kerberos" = yes ; then
1542 # from Tim Showalter <tjs@psaux.com> for FreeBSD 4.2
1543 PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err"
1546 if test "$have_kerberos" = yes ; then
1547 AC_CHECK_FUNC(res_search,,
1548 AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
1549 AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
1555 ###############################################################################
1557 # Check for the nine billion variants of shadow passwords...
1559 ###############################################################################
1564 with_shadow_req=unspecified
1567 [ --with-shadow Include support for shadow password authentication.],
1568 [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
1570 HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
1572 if test "$enable_locking" = no ; then
1578 ###############################################################################
1580 # Check for Sun "adjunct" passwords.
1582 ###############################################################################
1584 if test "$with_shadow" = yes ; then
1585 AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
1586 [AC_TRY_X_COMPILE([#include <stdlib.h>
1588 #include <sys/types.h>
1589 #include <sys/label.h>
1590 #include <sys/audit.h>
1591 #include <pwdadj.h>],
1592 [struct passwd_adjunct *p = getpwanam("nobody");
1593 const char *pw = p->pwa_passwd;],
1594 [ac_cv_sun_adjunct=yes],
1595 [ac_cv_sun_adjunct=no])])
1596 if test "$ac_cv_sun_adjunct" = yes; then
1597 have_shadow_adjunct=yes
1604 ###############################################################################
1606 # Check for DEC and SCO so-called "enhanced" security.
1608 ###############################################################################
1610 if test "$with_shadow" = yes ; then
1611 AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
1612 [AC_TRY_X_COMPILE([#include <stdlib.h>
1614 #include <sys/types.h>
1616 #include <sys/security.h>
1618 [struct pr_passwd *p;
1620 set_auth_parameters(0, 0);
1621 check_auth_parameters();
1622 p = getprpwnam("nobody");
1623 pw = p->ufld.fd_encrypt;],
1624 [ac_cv_enhanced_passwd=yes],
1625 [ac_cv_enhanced_passwd=no])])
1626 if test $ac_cv_enhanced_passwd = yes; then
1627 have_shadow_enhanced=yes
1631 # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
1632 # (I'm told it needs -lcurses too, but I don't understand why.)
1633 # But on DEC, it's in -lsecurity.
1635 AC_CHECK_LIB(prot, getprpwnam,
1636 [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"],
1637 [AC_CHECK_LIB(security, getprpwnam,
1638 [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])],
1643 ###############################################################################
1645 # Check for HP's entry in the "Not Invented Here" Sweepstakes.
1647 ###############################################################################
1649 if test "$with_shadow" = yes ; then
1650 AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
1651 [AC_TRY_X_COMPILE([#include <stdlib.h>
1653 #include <sys/types.h>
1655 #include <hpsecurity.h>
1657 [struct s_passwd *p = getspwnam("nobody");
1658 const char *pw = p->pw_passwd;],
1659 [ac_cv_hpux_passwd=yes],
1660 [ac_cv_hpux_passwd=no])])
1661 if test "$ac_cv_hpux_passwd" = yes; then
1662 have_shadow_hpux=yes
1666 # on HPUX, bigcrypt is in -lsec
1667 AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"])
1672 ###############################################################################
1674 # Check for FreeBSD-style shadow passwords.
1676 # On FreeBSD, getpwnam() and friends work just like on non-shadow-
1677 # password systems -- except you only get stuff in the pw_passwd field
1678 # if the running program is setuid. So, guess that we've got this
1679 # lossage to contend with if /etc/master.passwd exists, and default to
1680 # a setuid installation.
1682 ###############################################################################
1684 if test "$with_shadow" = yes ; then
1685 AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
1686 [if test -f /etc/master.passwd ; then
1687 ac_cv_master_passwd=yes
1689 ac_cv_master_passwd=no
1691 if test "$ac_cv_master_passwd" = yes; then
1697 ###############################################################################
1699 # Check for traditional (ha!) shadow passwords.
1701 ###############################################################################
1703 if test "$with_shadow" = yes ; then
1704 AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
1705 [AC_TRY_X_COMPILE([#include <stdlib.h>
1707 #include <sys/types.h>
1709 #include <shadow.h>],
1710 [struct spwd *p = getspnam("nobody");
1711 const char *pw = p->sp_pwdp;],
1713 [ac_cv_shadow=no])])
1714 if test "$ac_cv_shadow" = yes; then
1718 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
1720 AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
1721 if test "$have_getspnam" = no ; then
1722 AC_CHECK_LIB(gen, getspnam,
1723 [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
1729 ###############################################################################
1731 # Check for other libraries needed for non-shadow passwords.
1733 ###############################################################################
1735 if test "$enable_locking" = yes ; then
1737 # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
1739 AC_CHECK_LIB(c, crypt, [have_crypt=yes])
1740 if test "$have_crypt" = no ; then
1741 AC_CHECK_LIB(crypt, crypt,
1742 [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
1747 # Most of the above shadow mechanisms will have set need_setuid to yes,
1748 # if they were found. But, on some systems, we need setuid even when
1749 # using plain old vanilla passwords.
1751 if test "$enable_locking" = yes ; then
1753 *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
1760 if test "$have_shadow_adjunct" = yes ; then
1761 AC_DEFINE(HAVE_ADJUNCT_PASSWD)
1762 elif test "$have_shadow_enhanced" = yes ; then
1763 AC_DEFINE(HAVE_ENHANCED_PASSWD)
1764 elif test "$have_shadow_hpux" = yes ; then
1765 AC_DEFINE(HAVE_HPUX_PASSWD)
1766 elif test "$have_shadow" = yes ; then
1767 AC_DEFINE(HAVE_SHADOW_PASSWD)
1771 ###############################################################################
1775 ###############################################################################
1778 with_motif_req=unspecified
1780 User interface options:
1782 --with-motif Use the Motif toolkit for the user interface
1783 (not recommended.)],
1784 [with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
1786 HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
1788 if test "$with_motif" != yes -a "$with_motif" != no ; then
1789 echo "error: must be yes or no: --with-motif=$with_motif"
1793 if test "$with_motif" = yes; then
1795 AC_CHECK_X_HEADER(Xm/Xm.h,
1797 AC_DEFINE(HAVE_MOTIF)
1798 MOTIF_LIBS="$MOTIF_LIBS -lXm"],,
1799 [#include <stdlib.h>
1801 #include <X11/Intrinsic.h>])
1805 if test "$have_motif" = yes; then
1806 AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],,
1807 [#include <stdlib.h>
1809 #include <X11/Intrinsic.h>])
1813 ###############################################################################
1815 # Check for -lgtk (and Gnome stuff)
1817 ###############################################################################
1821 with_gtk_req=unspecified
1823 [ --with-gtk Use the Gtk toolkit for the user interface.],
1824 [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes])
1826 # if --with-gtk=/directory/ was specified, remember that directory so that
1827 # we can also look for the `gtk-config' program in that directory.
1837 HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk)
1839 if test "$with_gtk" != yes -a "$with_gtk" != no ; then
1840 echo "error: must be yes or no: --with-gtk=$with_gtk"
1845 with_gnome_req=unspecified
1847 [ --with-gnome Include support for the Gnome 1.x Control Center.
1848 (This option is not needed with GTK 2.x / Gnome 2.x.)
1850 [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
1852 # if --with-gnome=/directory/ was specified, remember that directory so that
1853 # we can also look for the `gnome-config' program in that directory.
1854 case "$with_gnome" in
1856 gnome_dir="$with_gnome"
1863 HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
1865 if test "$with_gnome" != yes -a "$with_gnome" != no ; then
1866 echo "error: must be yes or no: --with-gnome=$with_gnome"
1870 parse_gtk_version_string() {
1873 maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
1874 min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
1876 ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
1877 if test -z "$ac_gtk_version"; then
1878 ac_gtk_version=unknown
1879 ac_gtk_version_string=unknown
1885 if test "$with_gtk" = yes; then
1888 # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
1889 # look in /foo/bin/ for glib-config, gtk-config, and gnome-config.
1893 if test ! -z "$gtk_dir"; then
1894 # canonicalize slashes.
1895 foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
1896 gtk_path="$foo:$gtk_path"
1899 if test ! -z "$gnome_dir"; then
1900 # canonicalize slashes.
1901 foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
1902 gtk_path="$foo:$gtk_path"
1905 AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
1907 if test -n "$pkg_config" ; then
1910 # run pkg-config based tests.
1914 pkg_check_version() {
1915 if test "$ok" = yes ; then
1918 AC_MSG_CHECKING(for $req)
1919 if $pkg_config --exists "$req" ; then
1920 vers=`$pkg_config --modversion "$req"`
1921 if $pkg_config --exists "$req >= $min" ; then
1922 AC_MSG_RESULT($vers)
1926 AC_MSG_RESULT($vers (wanted >= $min))
1939 pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers"
1940 pkg_check_version gmodule-2.0 2.0.0
1941 pkg_check_version libxml-2.0 2.4.6
1942 pkg_check_version libglade-2.0 1.99.0
1945 if test "$have_gtk" = yes; then
1947 AC_DEFINE(HAVE_GTK2)
1950 if test "$have_gtk" = no; then
1952 # we don't have GTK 2. Let's look for GTK 1.
1956 pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers"
1957 pkg_check_version glib 1.0
1960 # Now check for Gnome...
1962 if test "$have_gtk" = yes; then
1965 pkg_check_version capplet 1.0
1966 pkg_check_version gnomeui 1.0
1967 pkg_check_version gdk_pixbuf 0.1
1970 if test "$have_gnome" = no; then
1973 AC_DEFINE(HAVE_CRAPPLET)
1978 if test "$have_gtk" = yes; then
1979 parse_gtk_version_string
1985 if test "$have_gtk" = yes; then
1986 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
1987 [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
1988 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
1989 [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`])
1991 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
1992 ac_gtk_config_libs=$ac_cv_gtk_config_libs
1994 ac_gnome_config_cflags=$ac_gtk_config_cflags
1995 ac_gnome_config_libs=$ac_gtk_config_libs
2000 # run {gnome,gtk}-config based tests.
2003 AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
2004 AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
2006 if test "$with_gnome" = yes; then
2007 AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
2010 if test -n "$glib_config" -a -n "$gtk_config" ; then
2012 if test "$with_gnome" = yes -a -n "$gnome_config" ; then
2017 if test "$have_gtk" = yes; then
2018 AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
2019 [ac_cv_gtk_version_string=`$gtk_config --version`])
2020 ac_gtk_version_string=$ac_cv_gtk_version_string
2023 parse_gtk_version_string
2025 if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
2032 if test "$have_gtk" = yes; then
2033 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
2034 [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
2035 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
2036 [ac_cv_gtk_config_libs=`$gtk_config --libs`])
2038 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
2039 ac_gtk_config_libs=$ac_cv_gtk_config_libs
2041 # Check for Gnome Capplet support.
2043 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2044 gnome_config_libs="gtk capplet gnomeui gdk_pixbuf"
2045 AC_MSG_CHECKING(for Gnome capplet includes)
2046 AC_CACHE_VAL(ac_cv_gnome_config_cflags,
2047 [if ( $gnome_config --cflags $gnome_config_libs >/dev/null 2>&1 | \
2048 grep Unknown >/dev/null ) ; then
2049 ac_cv_gnome_config_cflags=''
2051 ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
2053 ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
2054 if test "$ac_gnome_config_cflags" = "" ; then
2058 AC_MSG_RESULT($ac_gnome_config_cflags)
2062 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2063 AC_MSG_CHECKING(for Gnome capplet libs)
2064 AC_CACHE_VAL(ac_cv_gnome_config_libs,
2065 [if ( $gnome_config --libs $gnome_config_libs >/dev/null 2>&1 |
2066 grep Unknown >/dev/null ) ; then
2067 ac_cv_gnome_config_libs=''
2069 ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
2071 ac_gnome_config_libs=$ac_cv_gnome_config_libs
2072 if test "$ac_gnome_config_libs" = "" ; then
2076 AC_MSG_RESULT($ac_gnome_config_libs)
2080 # If we have Gnome, then override the gtk-config values with
2081 # the gnome-config values.
2083 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2084 ac_gtk_config_cflags=$ac_gnome_config_cflags
2085 ac_gtk_config_libs=$ac_gnome_config_libs
2086 AC_DEFINE(HAVE_CRAPPLET)
2089 fi # end of {gnome,gtk}-config based tests
2091 if test "$have_gtk" = yes -a "$have_gtk2" = no; then
2092 # check for this function that was not in libcapplet 1.2.
2093 AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate,
2094 [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true],
2095 $ac_gnome_config_libs)
2100 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
2101 if test -n "$gnome_config"; then
2102 GNOME_DATADIR=`$gnome_config --datadir`
2105 GNOME_DATADIR=`$pkg_config --variable=prefix gtk+`
2106 GNOME_DATADIR="$GNOME_DATADIR/share"
2110 # .desktop files go in different places in Gnome 1.x and Gnome 2.x...
2111 if test "$have_gtk2" = yes; then
2112 GNOME_PANELDIR='$(GNOME_PANELDIR2)'
2114 GNOME_PANELDIR='$(GNOME_PANELDIR1)'
2118 if test "$have_gtk" = yes; then
2119 INCLUDES="$INCLUDES $ac_gtk_config_cflags"
2120 GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
2123 if test "$have_gtk2" = yes; then
2126 GTK_EXTRA_OBJS="\$(GTK_EXTRA_OBJS)"
2133 # Check for the Gnome Help Browser.
2135 if test "$have_gnome" = yes; then
2136 AC_CHECK_PROG(have_gnome_help, gnome-help-browser, yes, no)
2142 ###############################################################################
2146 ###############################################################################
2149 with_xml_req=unspecified
2152 [ --with-xml The XML toolkit is needed for some parts of
2153 the Gtk interface. Without it, the configuration
2154 interface will be much less featureful.],
2155 [with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
2157 # if --with-xml=/directory/ was specified, remember that directory so that
2158 # we can also look for the `xml-config' program in that directory.
2168 HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
2170 if test "$with_xml" != yes -a "$with_xml" != no ; then
2171 echo "error: must be yes or no: --with-xml=$with_xml"
2175 if test "$with_xml" = yes; then
2179 # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
2180 # look in /foo/bin/ for for xml-config.
2184 if test ! -z "$gtk_dir"; then
2185 # canonicalize slashes.
2186 foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
2187 xml_path="$foo:$xml_path"
2190 if test ! -z "$gnome_dir"; then
2191 # canonicalize slashes.
2192 foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
2193 xml_path="$foo:$xml_path"
2196 if test -n "$pkg_config" ; then
2199 # run pkg-config based tests.
2203 pkg_check_version xml2 1.0
2205 if test "$ok" = no; then
2207 pkg_check_version xml 1.0
2212 if test "$have_xml" = yes; then
2213 AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
2214 [ac_cv_xml_config_cflags=`$pkg_config --cflags $pkgs`])
2215 AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
2216 [ac_cv_xml_config_libs=`$pkg_config --libs $pkgs`])
2217 ac_xml_config_cflags=$ac_cv_xml_config_cflags
2218 ac_xml_config_libs=$ac_cv_xml_config_libs
2224 # run {gnome,gtk}-config based tests.
2227 AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path)
2229 # If we found the xml-config program, run it to get flags.
2231 if test -n "$xml_config" ; then
2232 AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
2233 [ac_cv_xml_config_cflags=`$xml_config --cflags`])
2234 AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
2235 [ac_cv_xml_config_libs=`$xml_config --libs`])
2236 ac_xml_config_cflags=$ac_cv_xml_config_cflags
2237 ac_xml_config_libs=$ac_cv_xml_config_libs
2240 ac_save_xml_CPPFLAGS="$CPPFLAGS"
2241 CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
2243 # first try <libxml/parser.h> which is the new way...
2245 AC_CHECK_X_HEADER(libxml/xmlIO.h, [have_xml=yes],,
2246 [#include <libxml/parser.h>])
2248 # if that didn't work, then try just <parser.h> which is the old way...
2250 if test "$have_xml" = no; then
2251 AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes; have_old_xml=yes],,
2252 [#include <parser.h>])
2255 CPPFLAGS="$ac_save_xml_CPPFLAGS"
2260 if test "$have_xml" = yes; then
2261 # we have the XML headers; now make sure zlib is around.
2262 # yes, it's stupid we have to do this too, but there is
2263 # dependency screwage in Gnome.
2264 AC_CHECK_X_LIB(z, zlibVersion, [have_zlib=yes])
2265 if test "$have_zlib" = no; then
2271 if test "$have_xml" = yes; then
2272 # we have the header, now check for the library
2275 AC_CHECK_X_LIB(xml, xmlParseChunk,
2278 XML_LIBS="$ac_xml_config_libs"
2279 AC_DEFINE(HAVE_XML)],
2281 $ac_xml_config_libs)
2284 if test "$have_xml" = yes; then
2285 INCLUDES="$INCLUDES $ac_xml_config_cflags"
2286 GTK_LIBS="$GTK_LIBS $ac_xml_config_libs"
2288 if test "$have_old_xml" = yes; then
2289 AC_DEFINE(HAVE_OLD_XML_HEADERS)
2296 ###############################################################################
2298 # Checking whether Motif is really Lesstif.
2300 ###############################################################################
2303 if test "$have_motif" = yes ; then
2304 AC_CACHE_CHECK([whether Motif is really LessTif],
2306 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
2307 [long vers = LesstifVersion;],
2308 [ac_cv_have_lesstif=yes],
2309 [ac_cv_have_lesstif=no])])
2310 have_lesstif=$ac_cv_have_lesstif
2314 lesstif_version=unknown
2315 lesstif_version_string=unknown
2317 if test "$have_lesstif" = yes ; then
2319 echo unknown > conftest-lt
2320 AC_CACHE_CHECK([LessTif version number],
2321 ac_cv_lesstif_version_string,
2322 [AC_TRY_X_RUN([#include <stdio.h>
2325 FILE *f = fopen("conftest-lt", "w");
2327 fprintf(f, "%d %d.%d\n", LesstifVersion,
2328 LESSTIF_VERSION, LESSTIF_REVISION);
2332 [ltv=`cat conftest-lt`
2333 ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
2334 ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`],
2335 [ac_cv_lesstif_version=unknown
2336 ac_cv_lesstif_version_string=unknown],
2337 [ac_cv_lesstif_version=unknown
2338 ac_cv_lesstif_version_string=unknown])])
2340 lesstif_version=$ac_cv_lesstif_version
2341 lesstif_version_string=$ac_cv_lesstif_version_string
2346 if test "$have_motif" = yes ; then
2348 echo unknown > conftest-mt
2349 AC_CACHE_CHECK([Motif version number],
2350 ac_cv_motif_version_string,
2351 [AC_TRY_X_RUN([#include <stdio.h>
2354 FILE *f = fopen("conftest-mt", "w");
2356 fprintf(f, "%d %d.%d\n", XmVersion,
2357 XmVERSION, XmREVISION);
2361 [mtv=`cat conftest-mt`
2362 ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
2363 ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
2364 [ac_cv_motif_version=unknown
2365 ac_cv_motif_version_string=unknown],
2366 [ac_cv_motif_version=unknown
2367 ac_cv_motif_version_string=unknown])])
2369 motif_version=$ac_cv_motif_version
2370 motif_version_string=$ac_cv_motif_version_string
2375 ###############################################################################
2377 # Checking whether Motif requires -lXpm.
2379 # If this is Motif 2.x, and we have XPM, then link against XPM as well.
2380 # The deal is, Motif 2.x requires XPM -- but it's a compilation option
2381 # of the library whether to build the XPM code into libXm, or whether
2382 # to rely on an external libXm. So the only way to tell whether XPM is
2383 # a link-time requirement is to examine libXm.a, which is very
2384 # difficult to do in an autoconf script. So... if it's Motif 2.x, we
2385 # always link against XPM if the XPM lib exists (and this will be a
2386 # no-op if libXm happens to already have the XPM code in it.)
2388 ###############################################################################
2390 motif_requires_xpm=no
2391 if test "$have_motif" = yes ; then
2392 AC_MSG_CHECKING(whether Motif requires XPM)
2393 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
2395 motif_requires_xpm=yes
2396 AC_MSG_RESULT(maybe)
2403 ###############################################################################
2405 # Checking whether Motif requires -lXp.
2407 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
2408 # Extension". Why this extension isn't in -lXext with all the others,
2411 ###############################################################################
2414 if test "$have_motif" = yes ; then
2416 AC_CHECK_X_LIB(Xp, XpQueryExtension,
2417 [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"],
2418 [true], -lX11 -lXext -lm)
2422 ###############################################################################
2424 # Checking whether Motif requires -lXintl (for _Xsetlocale.)
2426 ###############################################################################
2429 if test "$have_motif" = yes ; then
2430 AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no],
2432 if test "$have_xintl" = yes; then
2433 MOTIF_LIBS="$MOTIF_LIBS -lXintl"
2438 ###############################################################################
2440 # Check for -lGL or -lMesaGL.
2442 ###############################################################################
2446 with_gl_req=unspecified
2451 --with-gl Build those demos which depend on OpenGL.],
2452 [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes])
2454 HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
2456 ac_mesagl_version=unknown
2457 ac_mesagl_version_string=unknown
2459 if test "$with_gl" = yes; then
2460 AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
2461 if test "$have_gl" = yes ; then
2462 AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no,
2463 [#include <GL/gl.h>])
2466 # If we have the headers, try and figure out which vendor it's from.
2468 if test "$have_gl" = yes ; then
2470 # We need to know whether it's MesaGL so that we know which libraries
2473 AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
2474 [ac_cv_have_mesa_gl=no
2475 AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
2477 ac_have_mesa_gl=$ac_cv_have_mesa_gl
2484 # Some versions of MesaGL are compiled to require -lpthread.
2485 # So if the Mesa headers exist, and -lpthread exists, then always
2486 # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
2488 if test "$ac_have_mesa_gl" = yes; then
2489 AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
2493 # If we have Mesa headers, check to see if we can link against -lMesaGL.
2494 # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
2495 # Else, warn that GL is busted. (We have the headers, but no libs.)
2498 if test "$ac_have_mesa_gl" = yes ; then
2499 AC_CHECK_X_LIB(MesaGL, glXCreateContext,
2501 GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"],
2502 [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm)
2505 if test "$gl_lib_1" = "" ; then
2506 AC_CHECK_X_LIB(GL, glXCreateContext,
2508 GL_LIBS="-lGL -lGLU $GL_LIBS"],
2509 [], -lGLU $GL_LIBS -lX11 -lXext -lm)
2512 if test "$gl_lib_1" = "" ; then
2513 # we have headers, but no libs -- bail.
2518 # linking works -- we can build the GL hacks.
2520 if test "$ac_have_mesa_gl" = yes ; then
2521 AC_DEFINE(HAVE_MESA_GL)
2527 # Now that we know we have GL headers and libs, do some more GL testing.
2530 if test "$have_gl" = yes ; then
2531 # If it's MesaGL, we'd like to issue a warning if the version number
2532 # is less than or equal to 2.6, because that version had a security bug.
2534 if test "$ac_have_mesa_gl" = yes; then
2536 AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string,
2537 [cat > conftest.$ac_ext <<EOF
2538 #line __oline__ "configure"
2539 #include "confdefs.h"
2541 #ifndef MESA_MAJOR_VERSION
2542 # include <GL/xmesa.h>
2543 # define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION
2544 # define MESA_MINOR_VERSION XMESA_MINOR_VERSION
2546 configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
2549 ac_save_CPPFLAGS="$CPPFLAGS"
2550 if test \! -z "$includedir" ; then
2551 CPPFLAGS="$CPPFLAGS -I$includedir"
2553 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2555 mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | grep configure:`
2559 mglv=`echo "$mglv" | sed -n \
2560 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
2563 rm -f conftest.$ac_ext
2565 CPPFLAGS="$ac_save_CPPFLAGS"
2567 if test "$mglv" = ""; then
2568 ac_mesagl_version=unknown
2569 ac_mesagl_version_string=unknown
2571 ac_mesagl_version_string=$mglv
2572 maj=`echo $mglv | sed -n 's/\..*//p'`
2573 min=`echo $mglv | sed -n 's/.*\.//p'`
2574 ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
2575 if test -z "$ac_mesagl_version"; then
2576 ac_mesagl_version=unknown
2577 ac_mesagl_version_string=unknown
2580 ac_cv_mesagl_version=$ac_mesagl_version
2581 ac_cv_mesagl_version_string=$ac_mesagl_version_string
2583 ac_mesagl_version=$ac_cv_mesagl_version
2584 ac_mesagl_version_string=$ac_cv_mesagl_version_string
2588 # Check for OpenGL 1.1 features.
2590 AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
2591 [true], $GL_LIBS -lX11 -lXext -lm)
2594 elif test "$with_gl" != no; then
2595 echo "error: must be yes or no: --with-gl=$with_gl"
2600 ###############################################################################
2604 ###############################################################################
2607 with_gle_req=unspecified
2610 [ --with-gle Build those demos which depend on GLE
2611 (the OpenGL "extrusion" library.)],
2612 [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes])
2614 HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE)
2618 if test "$with_gle" = yes; then
2620 AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no,
2621 [#include <GL/gl.h>])
2622 if test "$have_gle3" = yes ; then
2625 AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no,
2626 [#include <GL/gl.h>])
2627 if test "$have_gle" = yes ; then
2628 AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no,
2629 [#include <GL/gl.h>])
2633 if test "$have_gle" = yes ; then
2636 AC_CHECK_X_LIB(gle, gleCreateGC,
2637 [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"],
2638 [], $GL_LIBS -lX11 -lXext -lm)
2640 if test "$have_gle" = yes ; then
2644 # sometimes the libmatrix stuff is included in libgle. look there first.
2646 # I don't get it. For some reason, this test passes on SGI, as if
2647 # uview_direction_d() was in libgle -- but it's not, it's in libmatrix.
2648 # Yet the link is succeeding. Why???
2650 # AC_CHECK_X_LIB(gle, uview_direction_d,
2651 # [have_gle=yes; gle_halfassed=no],
2652 # [], $GL_LIBS -lX11 -lXext -lm)
2654 # As of GLE 3 this is in libgle, and has changed name to uview_direction!
2656 if test "$have_gle3" = yes ; then
2657 AC_CHECK_X_LIB(gle, uview_direction,
2658 [have_gle=yes; gle_halfassed=no],
2659 [], $GL_LIBS -lX11 -lXext -lm)
2661 # if it wasn't in libgle, then look in libmatrix.
2662 if test "$have_gle" = no ; then
2663 AC_CHECK_X_LIB(matrix, uview_direction_d,
2664 [have_gle=yes; gle_halfassed=no;
2665 GLE_LIBS="$GLE_LIBS -lmatrix"],
2666 [], $GL_LIBS -lX11 -lXext -lm)
2670 if test "$have_gle" = yes ; then
2672 if test "$have_gle3" = yes ; then
2673 AC_DEFINE(HAVE_GLE3)
2677 elif test "$with_gle" != no; then
2678 echo "error: must be yes or no: --with-gle=$with_gle"
2685 ###############################################################################
2689 ###############################################################################
2692 with_xpm_req=unspecified
2694 [ --with-xpm Include support for XPM files in some demos.
2695 (Not needed if Pixbuf is used.)],
2696 [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
2698 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
2700 if test "$with_xpm" = yes; then
2701 AC_CHECK_X_HEADER(X11/xpm.h,
2705 [#include <X11/Xlib.h>])
2706 elif test "$with_xpm" != no; then
2707 echo "error: must be yes or no: --with-xpm=$with_xpm"
2711 # See comment near $motif_requires_xpm, above.
2712 # Need to do this here, after both Motif and XPM have been checked for.
2714 if test "$have_motif" = yes -a "$have_xpm" = yes ; then
2715 if test "$motif_requires_xpm" = yes ; then
2716 MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
2721 ###############################################################################
2723 # Check for -lgdk_pixbuf.
2725 ###############################################################################
2728 with_gdk_pixbuf_req=unspecified
2730 [ --with-pixbuf Include support for the GDK-Pixbuf library in some
2731 demos, which will make it possible for them to read
2732 GIF, JPEG, and PNG files as well. (The path here is
2733 ignored if GTK 2.x is being used.)],
2734 [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
2735 [with_gdk_pixbuf=yes])
2737 # if --with-pixbuf=/directory/ was specified, remember that directory so that
2738 # we can also look for the `gdk-pixbuf-config' program in that directory.
2739 case "$with_gdk_pixbuf" in
2741 gdk_pixbuf_dir="$with_gdk_pixbuf"
2748 HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF)
2750 if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then
2751 echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
2755 if test "$with_gdk_pixbuf" = yes; then
2759 if test -n "$pkg_config" ; then
2762 # run pkg-config based tests.
2766 pkg_check_version gdk-pixbuf-2.0 2.0.0
2767 pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
2768 have_gdk_pixbuf="$ok"
2769 have_gdk_pixbuf2="$ok"
2771 if test "$have_gdk_pixbuf2" = no; then
2773 # We don't have pixbuf 2.x; check for 1.x.
2777 pkg_check_version gdk-pixbuf 0.0
2778 pkg_check_version gdk-pixbuf-xlib 0.0
2779 have_gdk_pixbuf="$ok"
2782 if test "$have_gdk_pixbuf" = yes; then
2783 AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
2784 [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`])
2785 AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
2786 [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`])
2788 ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
2789 ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
2792 if test "$have_gdk_pixbuf" = no; then
2795 # run gdk-pixbuf-config based tests.
2796 # note that we can't assume that the existence of "pkg-config" means
2797 # that we don't have to look for gdk-pixbuf-config -- in Gnome 1.4,
2798 # pkg-config exists, but doesn't know about pixbuf.
2801 # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
2802 # look in /foo/bin/ for for gdk-pixbuf-config.
2804 gdk_pixbuf_path="$PATH"
2806 if test ! -z "$gtk_dir"; then
2807 # canonicalize slashes.
2808 foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
2809 gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
2812 if test ! -z "$gnome_dir"; then
2813 # canonicalize slashes.
2814 foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
2815 gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
2818 AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path)
2820 # If we found the gdk-pixbuf-config program, run it to get flags.
2822 if test -n "$gdk_pixbuf_config" ; then
2823 AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
2824 [ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`])
2825 AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
2826 [ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`])
2828 # note that "gdk-pixbuf-config --libs" produces a link line including
2829 # -lgdk_pixbuf, but there's no way to get it to produce one that also
2830 # includes -lgdk_pixbuf_xlib. Since we don't know *exactly* what the
2831 # name of the library will be, construct it with sed...
2834 ac_cv_gdk_pixbuf_config_libs=`echo $ac_cv_gdk_pixbuf_config_libs | \
2835 sed 's@ \(-lgdk_pixbuf\([-_a-zA-Z0-9.]*\)\) @ \1 -lgdk_pixbuf_xlib\2 @'`
2838 ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
2839 ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
2843 ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
2844 CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
2846 if test "$have_gdk_pixbuf" = no; then
2848 # we appear to have pixbuf; check for headers/libs to be sure.
2853 # check for header 1...
2854 AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
2856 # if that worked, check for header 2...
2857 if test "$have_gdk_pixbuf" = yes; then
2859 gdk_pixbuf_halfassed=yes
2860 AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h,
2861 [have_gdk_pixbuf=yes
2862 gdk_pixbuf_halfassed=no])
2864 # yay, it has a new name in GTK2...
2865 if test "$have_gdk_pixbuf" = no; then
2867 gdk_pixbuf_halfassed=yes
2868 AC_CHECK_X_HEADER(gdk-pixbuf-xlib/gdk-pixbuf-xlib.h,
2869 [have_gdk_pixbuf=yes
2870 gdk_pixbuf_halfassed=no])
2875 CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
2877 if test "$have_gdk_pixbuf" = yes; then
2878 # we have the headers, now check for the libraries
2880 gdk_pixbuf_halfassed=yes
2883 AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],,
2884 $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
2886 if test "$have_gdk_pixbuf" = yes; then
2888 AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init,
2889 [have_gdk_pixbuf=yes
2890 gdk_pixbuf_halfassed=no],,
2891 $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
2895 if test "$have_gdk_pixbuf" = yes; then
2896 INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
2897 XPM_LIBS="$ac_gdk_pixbuf_config_libs"
2898 AC_DEFINE(HAVE_GDK_PIXBUF)
2905 ###############################################################################
2909 ###############################################################################
2912 with_jpeg_req=unspecified
2915 [ --with-jpeg Include support for the JPEG library in some demos.
2916 (If this library is available, webcollage will be a
2918 [with_jpeg="$withval"; with_jpeg_req="$withval"],
2921 HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG)
2923 if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then
2924 echo "error: must be yes or no: --with-jpeg=$with_jpeg"
2928 if test "$with_jpeg" = yes; then
2931 AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes])
2933 if test "$have_jpeg" = yes; then
2934 # we have the header, now check for the library
2937 AC_CHECK_X_LIB(jpeg, jpeg_start_compress,
2941 AC_DEFINE(HAVE_JPEGLIB)])
2946 ###############################################################################
2948 # Check for the XSHM server extension.
2950 ###############################################################################
2953 with_xshm_req=unspecified
2954 AC_ARG_WITH(xshm-ext,
2955 [ --with-xshm-ext Include support for the Shared Memory extension.],
2956 [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
2958 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
2960 if test "$with_xshm" = yes; then
2962 # first check for Xshm.h.
2963 AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes],,
2964 [#include <X11/Xlib.h>])
2966 # if that succeeded, then check for sys/ipc.h.
2967 if test "$have_xshm" = yes; then
2969 AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
2972 # if that succeeded, then check for sys/shm.h.
2973 if test "$have_xshm" = yes; then
2975 AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
2978 # AIX is pathological, as usual: apparently it's normal for the Xshm headers
2979 # to exist, but the library code to not exist. And even better, the library
2980 # code is in its own library: libXextSam.a. So, if we're on AIX, and that
2981 # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and
2982 # that's not quite right, but close enough.)
2986 if [ `uname -v` -eq 3 ]; then
2988 AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
2989 [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
2990 [true], -lX11 -lXext -lm)
2995 # if that succeeded, then we've really got it.
2996 if test "$have_xshm" = yes; then
2997 AC_DEFINE(HAVE_XSHM_EXTENSION)
3000 elif test "$with_xshm" != no; then
3001 echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
3006 ###############################################################################
3008 # Check for the DOUBLE-BUFFER server extension.
3010 ###############################################################################
3013 with_xdbe_req=unspecified
3014 AC_ARG_WITH(xdbe-ext,
3015 [ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.],
3016 [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
3018 HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
3020 if test "$with_xdbe" = yes; then
3022 AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes],,
3023 [#include <X11/Xlib.h>])
3024 if test "$have_xdbe" = yes; then
3025 AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
3028 elif test "$with_xdbe" != no; then
3029 echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
3034 ###############################################################################
3036 # Check for the SGI XReadDisplay server extension.
3038 # Note: this has to be down here, rather than up with the other server
3039 # extension tests, so that the output of `configure --help' is in the
3040 # right order. Arrgh!
3042 ###############################################################################
3045 with_readdisplay_req=unspecified
3046 AC_ARG_WITH(readdisplay,
3047 [ --with-readdisplay Include support for the XReadDisplay extension.],
3048 [with_readdisplay="$withval"; with_readdisplay_req="$withval"],
3049 [with_readdisplay=yes])
3051 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
3053 if test "$with_readdisplay" = yes; then
3054 AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
3055 AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION),,
3056 [#include <X11/Xlib.h>])
3057 elif test "$with_readdisplay" != no; then
3058 echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
3063 ###############################################################################
3065 # Check for a program to generate random text.
3067 # Zippy is funnier than the idiocy generally spat out by `fortune',
3068 # so first see if "fortune zippy" works. Else, use plain "fortune".
3070 # We used to dig around in Emacs to look for the "yow" program, but
3071 # most people who have Emacs also have "fortune zippy", so nevermind.
3073 ###############################################################################
3076 AC_ARG_WITH(fortune,[
3077 --with-fortune=PROGRAM Some demos are able to run an external program and
3078 display its text; this names the program to use by
3079 default (though it can be overridden with X
3080 resources.) Default is \"/usr/games/fortune\".],
3081 [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes])
3083 if test "$with_fortune" = no || test "$with_fortune" = yes ; then
3088 if test -n "$with_fortune_req" ; then
3089 ac_cv_fortune_program=""
3090 case "$with_fortune_req" in
3093 set dummy $with_fortune_req ; fortune_tmp=$2
3094 AC_MSG_CHECKING([for $fortune_tmp])
3095 if test -x "$fortune_tmp" ; then
3103 set dummy $with_fortune_req ; fortune_tmp=$2
3105 unset ac_cv_path_fortune_tmp
3106 AC_PATH_PROG(fortune_tmp, $fortune_tmp, [])
3107 if test -z "$fortune_tmp" ; then
3112 ac_cv_fortune_program="$with_fortune"
3114 elif test -n "$ac_cv_fortune_program"; then
3115 AC_MSG_RESULT([checking for fortune... (cached) $ac_cv_fortune_program])
3118 unset ac_cv_path_fortune_tmp
3121 if test -z "$ac_cv_fortune_program" ; then
3123 # first look for fortune in /usr/games/ (and use absolute path)
3124 AC_PATH_PROGS(fortune_tmp, fortune,, "/usr/games")
3126 # if it's not there, look on $PATH (and don't use absolute path)
3127 if test -z "$fortune_tmp" ; then
3128 AC_CHECK_PROGS(fortune_tmp, fortune)
3131 # if we didn't find anything, then just assume /usr/games/
3132 if test -z "$fortune_tmp" ; then
3133 fortune_tmp="/usr/games/fortune"
3136 ac_cv_fortune_program="$fortune_tmp"
3138 # now check to see whether "fortune zippy" works.
3140 fortune_tmp="$fortune_tmp zippy"
3141 AC_MSG_CHECKING([for zippy quotes])
3142 if ( $fortune_tmp >/dev/null 2>&1 ); then
3143 ac_cv_fortune_program="$fortune_tmp"
3144 AC_MSG_RESULT($fortune_tmp)
3151 unset ac_cv_path_fortune_tmp
3154 AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program")
3157 ###############################################################################
3159 # Check whether it's ok to install some hacks as setuid (e.g., "sonar")
3160 # This should be safe, but let's give people the option.
3162 ###############################################################################
3164 setuid_hacks_default=no
3165 setuid_hacks="$setuid_hacks_default"
3166 AC_ARG_WITH(setuid-hacks,
3167 [ --with-setuid-hacks Allow some demos to be installed \`setuid root'
3168 (which is needed in order to ping other hosts.)
3170 [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"])
3172 HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks)
3174 if test "$setuid_hacks" = yes; then
3176 elif test "$setuid_hacks" != no; then
3177 echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
3182 ###############################################################################
3184 # Done testing. Now, set up the various -I and -L variables,
3185 # and decide which GUI program to build by default.
3187 ###############################################################################
3194 if test \! -z "$includedir" ; then
3195 INCLUDES="$INCLUDES -I$includedir"
3198 if test \! -z "$libdir" ; then
3199 LDFLAGS="$LDFLAGS -L$libdir"
3203 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
3205 if test "$have_motif" = yes; then
3206 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
3207 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
3209 if test "$have_gtk" = yes; then
3210 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
3211 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
3215 if test "$have_kerberos" = yes; then
3216 PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
3217 PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)"
3219 if test "$have_pam" = yes; then
3220 PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)"
3221 PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
3222 INSTALL_PAM="install-pam"
3224 PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)"
3225 PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)"
3228 if test "$enable_locking" = yes; then
3229 LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
3230 LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
3232 LOCK_SRCS='$(NOLOCK_SRCS_1)'
3233 LOCK_OBJS='$(NOLOCK_OBJS_1)'
3236 INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)'
3238 if test "$need_setuid" = yes; then
3244 if test "$setuid_hacks" = yes; then
3251 if test "$have_gl" = yes; then
3252 GL_EXES='$(GL_EXES)'
3253 GL_UTIL_EXES='$(GL_UTIL_EXES)'
3257 GL_KLUDGE="-${tab} "
3260 if test "$have_gle" = yes; then
3261 GLE_EXES='$(GLE_EXES)'
3262 GLE_MEN='$(GLE_MEN)'
3263 GLE_KLUDGE="${tab} "
3265 GLE_KLUDGE="-${tab} "
3268 if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then
3269 JPEG_EXES='$(JPEG_EXES)'
3273 # Another substitution in the XScreenSaver.ad.in file:
3275 if test "$have_gnome_help" = yes; then
3284 # Now that we know whether we have Gnome, we can decide where the XML
3285 # config files get installed.
3287 if test -z "$HACK_CONF_DIR" ; then
3288 if test -n "$GNOME_DATADIR" ; then
3289 HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
3291 HACK_CONF_DIR='${prefix}/lib/xscreensaver/config'
3297 # After computing $HACK_CONF_DIR, make sure $GLADE_DATADIR has a value
3298 # so that we know where to install the Gtk pixmaps.
3300 if test -n "$GNOME_DATADIR" ; then
3301 GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver'
3302 elif test "$have_gtk" = yes; then
3303 # should this be "$(prefix)/share/pixmaps"? But /usr/X11R6/share/ is wrong...
3304 GLADE_DATADIR='/usr/share/xscreensaver'
3310 # canonicalize slashes.
3311 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
3315 ###############################################################################
3317 # Perform substitutions and write Makefiles.
3319 ###############################################################################
3323 AC_SUBST(PREFERRED_DEMO_PROGRAM)
3324 AC_SUBST(ALL_DEMO_PROGRAMS)
3325 AC_SUBST(SAVER_LIBS)
3326 AC_SUBST(MOTIF_LIBS)
3334 AC_SUBST(XDPMS_LIBS)
3335 AC_SUBST(PASSWD_LIBS)
3336 AC_SUBST(INSTALL_SETUID)
3337 AC_SUBST(SETUID_HACKS)
3338 AC_SUBST(INSTALL_DIRS)
3339 AC_SUBST(NEED_SETUID)
3340 AC_SUBST(INSTALL_PAM)
3342 AC_SUBST(PASSWD_SRCS)
3343 AC_SUBST(PASSWD_OBJS)
3347 AC_SUBST(SAVER_GL_SRCS)
3348 AC_SUBST(SAVER_GL_OBJS)
3349 AC_SUBST(SAVER_GL_LIBS)
3354 AC_SUBST(GL_UTIL_EXES)
3359 AC_SUBST(GLE_KLUDGE)
3360 AC_SUBST(GNOMEHELP_Y)
3361 AC_SUBST(GNOMEHELP_N)
3363 AC_SUBST(GNOME_DATADIR)
3364 AC_SUBST(GLADE_DATADIR)
3365 AC_SUBST(GNOME_PANELDIR)
3366 AC_SUBST(HACK_CONF_DIR)
3367 AC_SUBST(GTK_EXTRA_OBJS)
3369 APPDEFAULTS=$ac_x_app_defaults
3370 AC_SUBST(APPDEFAULTS)
3373 AC_SUBST(DEPEND_FLAGS)
3374 AC_SUBST(DEPEND_DEFINES)
3383 driver/XScreenSaver.ad)
3385 ###############################################################################
3387 # Print some warnings at the end.
3389 ###############################################################################
3391 warn_prefix_1=" Warning:"
3392 warn_prefix_2=" Note:"
3393 warn_prefix="$warn_prefix_1"
3396 warnsep=' #################################################################'
3399 if test "$warning" = no ; then
3400 echo '' ; echo "$warnsep" ; echo ''
3407 if test "$warning" = long ; then echo '' ; fi
3410 echo "$warn_prefix $rest"
3417 if test "$was" != no ; then echo '' ; fi
3419 echo "$warn_prefix $rest"
3429 warn_prefix="$warn_prefix_2"
3431 warn_prefix="$warn_prefix_1"
3435 warn_prefix="$warn_prefix_2"
3437 warn_prefix="$warn_prefix_1"
3441 if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
3442 warn 'The SGI saver extension was requested, but was not found.'
3445 if test "$with_mit_req" = yes -a "$have_mit" = no ; then
3446 warn 'The MIT saver extension was requested, but was not found.'
3449 if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
3450 warn 'The XIdle extension was requested, but was not found.'
3453 if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
3454 warn 'The XSHM extension was requested, but was not found.'
3457 if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
3458 warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
3461 if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
3462 warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
3465 if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
3466 warn 'The DPMS extension was requested, but was not found.'
3469 if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then
3470 warn 'The Xinerama extension was requested, but was not found.'
3473 if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then
3474 warn 'The XF86VMODE extension was requested, but was not found.'
3477 if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then
3478 warn "Checking of /proc/interrupts was requested, but it's bogus."
3482 if test "$have_motif" = no -a "$have_gtk" = no; then
3483 warnL "Neither Motif nor Gtk seem to be available;"
3484 warn2 "the \`xscreensaver-demo' program requires one of these."
3486 elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
3487 warnL "Use of Motif was requested, but it wasn't found;"
3488 warn2 "Gtk will be used instead."
3490 elif test "$jurassic_gtk" = yes ; then
3494 v="$ac_gtk_version_string"
3495 if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then
3496 warnL "Use of Gtk was requested, but its version number is unknown;"
3497 elif test "$with_gtk_req" = yes ; then
3498 warnL "Use of Gtk was requested, but it is version $v;"
3500 warnL "Gtk was found on this system, but it is version $v;"
3503 warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
3505 elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
3506 warnL "Use of Gtk was requested, but it wasn't found;"
3507 warn2 "Motif will be used instead."
3511 if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
3512 warn 'Use of the Gnome Control Panel was requested, but the necessary'
3513 warn2 'headers and/or libraries were not found.'
3516 if test "$have_gtk" = yes ; then
3517 if test "$have_xml" = no ; then
3518 if test "$with_xml_req" = yes ; then
3519 warn 'Use of the XML library was requested, but the necessary'
3520 warn2 'headers and/or libraries were not found.'
3522 warn 'GTK is being used, but the XML library was not found.'
3525 if test "$xml_halfassed" = yes ; then
3527 if test "$have_zlib" = yes ; then
3528 which="XML libraries"
3530 which="\`zlib' library"
3534 warn2 'More specifically, we found the headers, but not the'
3535 warn2 "$which; so either XML is half-installed on this"
3536 warn2 "system, or something else went wrong. The \`config.log'"
3537 warn2 'file might contain some clues.'
3541 warn2 "Without XML, the per-display-mode \`Settings' dialogs"
3542 warn2 'will not be available. Specify the location of the XML'
3543 warn2 'library through the --with-xml option to configure.'
3547 if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
3549 preferred_lesstif=0.92
3551 if test "$lesstif_version" = unknown; then
3552 warnL "Unable to determine the LessTif version number!"
3553 warn2 "Make sure you are using version $preferred_lesstif or newer."
3554 warn2 "See <http://www.lesstif.org/>."
3556 elif test \! $lesstif_version -gt 82; then
3557 warnL "LessTif version $lesstif_version_string is being used."
3558 warn2 "LessTif versions 0.82 and earlier are too buggy to"
3559 warn2 "use with XScreenSaver; it is strongly recommended"
3560 warn2 "that you upgrade to at least version $preferred_lesstif!"
3561 warn2 "See <http://www.lesstif.org/>."
3566 if test "$have_motif" = yes -a "$have_gtk" = no ; then
3567 warn 'Motif is being used, and GTK is not.'
3569 warn2 'Though the Motif front-end to xscreensaver is still'
3570 warn2 'maintained, it is no longer being updated with new'
3571 warn2 'features: all new development on the xscreensaver-demo'
3572 warn2 'program is happening in the GTK version, and not in the'
3573 warn2 'Motif version. It is recommended that you build against'
3574 warn2 'GTK instead of Motif. See <http://www.gtk.org/>.'
3578 if test "$with_xpm_req" = yes -a "$have_xpm" = no; then
3579 warnL 'Use of XPM was requested, but it was not found.'
3582 if test "$with_gdk_pixbuf_req" = yes -a "$have_gdk_pixbuf" = no; then
3583 warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
3586 if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no || \
3587 test "$gdk_pixbuf_halfassed" = yes; then
3589 if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then
3591 elif test "$with_xpm_req" = no ; then
3592 warnL 'The XPM library is not being used.'
3594 warnL 'The XPM library was not found.'
3597 if test "$with_gdk_pixbuf_req" = yes ; then
3599 elif test "$with_gdk_pixbuf_req" = no ; then
3600 warnL 'The GDK-Pixbuf library is not being used.'
3602 warnL 'The GDK-Pixbuf library was not found.'
3605 if test "$gdk_pixbuf_halfassed" = yes ; then
3607 warn2 'More specifically, we found the headers, but not the'
3608 warn2 'libraries; so either GDK-Pixbuf is half-installed on this'
3609 warn2 "system, or something else went wrong. The \`config.log'"
3610 warn2 'file might contain some clues.'
3614 warn2 'Some of the demos will not be as colorful as they'
3615 warn2 'could be. You should consider installing Pixbuf or'
3616 warn2 'XPM and re-running configure. (Remember to delete'
3617 warn2 'the config.cache file first.) The Pixbuf library is'
3618 warn2 'a part of GNOME. The XPM library comes with most'
3619 warn2 'X11 installations; you can also find it at the X11'
3620 warn2 'archive sites, such as <http://sunsite.unc.edu/>.'
3622 warn2 'GDK-Pixbuf is recommended over XPM, as it provides'
3623 warn2 'support for more image formats.'
3627 if test "$have_jpeg" = no ; then
3628 if test "$with_jpeg_req" = yes ; then
3629 warnL 'Use of libjpeg was requested, but it was not found.'
3630 elif test "$with_jpeg_req" = no ; then
3631 noteL 'The JPEG library is not being used.'
3633 noteL 'The JPEG library was not found.'
3636 if test "$jpeg_halfassed" = yes ; then
3638 warn2 'More specifically, we found the headers, but not the'
3639 warn2 'library; so either JPEG is half-installed on this'
3640 warn2 "system, or something else went wrong. The \`config.log'"
3641 warn2 'file might contain some clues.'
3645 warn2 "This means the \`webcollage' program will be much slower."
3649 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
3650 preferred_mesagl=3.4
3651 mgv="$ac_mesagl_version_string"
3652 pgl="$preferred_mesagl"
3654 if test "$ac_mesagl_version" = unknown; then
3655 warnL "Unable to determine the MesaGL version number!"
3656 warn2 "Make sure you are using version $preferred_mesagl or newer."
3658 elif test \! "$ac_mesagl_version" -gt 2006; then
3659 warnL "MesaGL version $mgv is being used. MesaGL 2.6 and earlier"
3660 warn2 "have a security bug. It is strongly recommended that you"
3661 warn2 "upgrade to at least version $preferred_mesagl."
3663 elif test \! "$ac_mesagl_version" -gt 3003; then
3664 warnL "MesaGL version $mgv is being used. That version has some"
3665 warn2 "bugs; it is recommended that you upgrade to $pgl or newer."
3669 if test "$have_gl" = no ; then
3670 if test "$with_gl_req" = yes ; then
3671 warnL 'Use of GL was requested, but it was not found.'
3672 elif test "$with_gl_req" = no ; then
3673 noteL 'The OpenGL 3D library is not being used.'
3675 noteL 'The OpenGL 3D library was not found.'
3678 if test "$gl_halfassed" = yes ; then
3680 warn2 'More specifically, we found the headers, but not the'
3681 warn2 'libraries; so either GL is half-installed on this'
3682 warn2 "system, or something else went wrong. The \`config.log'"
3683 warn2 'file might contain some clues.'
3687 warn2 'Those demos which use 3D will not be built or installed.'
3688 warn2 'You might want to consider installing OpenGL and'
3689 warn2 're-running configure. (Remember to delete the'
3690 warn2 "config.cache file first.) If your vendor doesn't ship"
3691 warn2 'their own implementation of OpenGL, you can get a free'
3692 warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
3693 warn2 'info, see <http://www.opengl.org/>.'
3698 if test "$have_gl" = yes -a "$have_gle" = no ; then
3699 if test "$with_gle_req" = yes ; then
3700 noteL 'Use of the GLE (GL Extrusion) library was requested, but'
3701 warn2 'it was not found (though the OpenGL library was found, and'
3702 warn2 'is being used.)'
3703 elif test "$with_gle_req" = no ; then
3704 noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)'
3705 warn2 'library is not.'
3707 noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
3711 if test "$gle_halfassed" = yes ; then
3713 warn2 'More specifically, we found the headers, but not the'
3714 warn2 'libraries; so either GLE is half-installed on this'
3715 warn2 "system, or something else went wrong. The \`config.log'"
3716 warn2 'file might contain some clues.'
3720 warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
3721 warn2 'will not be built or installed. You might want to consider'
3722 warn2 'installing GLE and re-running configure. (Remember to delete'
3723 warn2 'the config.cache file first.) You can find the GLE library'
3724 warn2 'at <http://www.linas.org/gle/>. For general OpenGL info,'
3725 warn2 'see <http://www.opengl.org/>.'
3730 if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
3731 warn 'Use of XReadDisplay was requested, but it was not found.'
3734 if test -n "$with_fortune_req"; then
3735 if test "$with_fortune_req" != "$ac_cv_fortune_program" ; then
3736 warnL "$with_fortune_req was requested as the Fortune program,"
3737 warn2 "but was not found. The default will be used instead."
3741 if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then
3742 warn 'Use of Kerberos was requested, but it was not found.'
3745 if test "$with_pam_req" = yes -a "$have_pam" = no ; then
3746 warn 'Use of PAM was requested, but it was not found.'
3749 if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then
3750 warn 'Use of shadow passwords was requested, but they were not found.'
3754 # You are in a twisty maze of namespaces and syntaxes, all alike.
3755 # Fuck the skull of Unix.
3757 eval bindir=${bindir}
3758 eval bindir=${bindir}
3759 eval bindir=${bindir}
3760 eval bindir=${bindir}
3761 eval bindir=${bindir}
3762 eval bindir=${bindir}
3763 eval HACKDIR=${HACKDIR}
3764 eval HACKDIR=${HACKDIR}
3765 eval HACKDIR=${HACKDIR}
3766 eval HACKDIR=${HACKDIR}
3767 eval HACKDIR=${HACKDIR}
3768 eval HACKDIR=${HACKDIR}
3769 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3770 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3771 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3772 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3773 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3774 eval HACK_CONF_DIR=${HACK_CONF_DIR}
3776 # canonicalize slashes.
3777 bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
3778 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
3779 HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
3782 # Sanity check the hackdir
3783 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
3784 if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
3786 AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
3787 There will be an executable installed with that name, so
3788 that can't be the name of a directory as well. Please
3789 re-configure with a different directory name.])
3796 # Now let's see if there's a previous RPM version already installed. Blargh!
3800 rpmv=`(rpm -qv xscreensaver) 2>/dev/null | \
3801 sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'`
3804 if test \! -z "$rpmv" ; then
3805 rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
3806 rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'`
3809 warnL "There is already an installed RPM of xscreensaver $rpmv"
3810 warn2 "on this system. You might want to remove it (with"
3811 warn2 '"rpm -ve xscreensaver") before running "make install"'
3812 warn2 "from this directory."
3814 warn2 "Alternately, you could build this version of xscreensaver"
3815 warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
3816 warn2 "file is included. See the RPM documentation for more info."
3819 if test "$rpmbdir" = "$rpmhdir" ; then
3820 warn2 "The RPM version was installed in $rpmbdir/."
3822 warn2 "The RPM version was installed in $rpmbdir/,"
3823 warn2 "with demos in $rpmhdir/."
3830 if test "${bindir}" = "${HACKDIR}" ; then
3834 if test "$do_dir_warning" = yes; then
3838 echo ' When you run "make install", the "xscreensaver",'
3839 echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
3840 echo " will be installed in ${bindir}/."
3842 echo " The various graphics demos (140+ different executables) will"
3843 echo " be installed in ${HACKDIR}/."
3845 echo " If you would prefer the demos to be installed elsewhere,"
3846 echo " you should re-run configure with the --with-hackdir=DIR"
3847 echo " option. For more information, run \`./configure --help'."
3851 if test "$warning" != no; then
3852 echo '' ; echo "$warnsep" ; echo ''
3855 if test "$do_dir_warning" = no; then
3856 if test "$warning" = no; then
3859 echo "User programs will be installed in ${bindir}/"
3860 echo "Screen savers will be installed in ${HACKDIR}/"
3861 echo "Configuration will be installed in ${HACK_CONF_DIR}/"