1 # configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski.
4 AC_INIT(driver/subprocs.c)
5 AC_CONFIG_HEADER(config.h)
7 echo "current directory: `pwd`"
8 echo "command line was: $0 $@"
11 # After checking to see that --srcdir is correct (which AC_INIT does)
12 # check for some random other files that come later in the tar file,
13 # to make sure everything is here.
15 for d in driver utils hacks hacks/glx ; do
16 f=$srcdir/$d/Makefile.in
17 if test \! -r $f ; then
19 echo "ERROR: The package is incomplete: $f does not exist."
20 echo " This probably means that your download was truncated."
27 ###############################################################################
29 # Function to figure out how to run the compiler.
31 ###############################################################################
33 AC_DEFUN(AC_PROG_CC_ANSI,
36 if test -z "$GCC"; then
37 AC_MSG_CHECKING(how to request ANSI compilation)
40 AC_MSG_RESULT(HPUX: adding -Ae)
44 AC_MSG_RESULT(AIX: adding -qlanglvl=ansi -qhalt=e)
45 CC="$CC -qlanglvl=ansi -qhalt=e"
49 AC_MSG_RESULT(DEC: adding -std1 -ieee)
54 AC_MSG_RESULT(no idea)
59 AC_MSG_CHECKING([whether the compiler works on ANSI C])
60 AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
63 AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
64 AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
66 if test -n "$GCC"; then
67 AC_MSG_RESULT(Turning on gcc compiler warnings.)
68 CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
71 *-irix5* |*-irix6.[0-3]* )
72 AC_MSG_RESULT(Turning on SGI compiler warnings.)
73 CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
76 # if test -z "$GCC"; then
77 # AC_MSG_RESULT(Turning on DEC C compiler warnings.)
78 # CC="$CC -migrate -w0 -verbose -warnprotos"
86 ###############################################################################
88 # Functions to figure out how to disable // comments in ANSI C code.
90 # (With recent gcc, this is done with "-std=c89". With older gcc, this
91 # is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to
92 # gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang.
93 # so much for compatibility!)
95 ###############################################################################
97 AC_DEFUN(AC_GCC_ACCEPTS_STD,
98 [if test -n "$GCC"; then
99 AC_CACHE_CHECK([whether gcc accepts -std],
100 ac_cv_gcc_accepts_std,
101 [if ( gcc -E -std=c89 - </dev/null 2>&1 >/dev/null | \
102 grep unrecognized >/dev/null ); then
103 ac_cv_gcc_accepts_std=no
105 ac_cv_gcc_accepts_std=yes
107 ac_gcc_accepts_std="$ac_cv_gcc_accepts_std"
111 AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE,
112 [if test -n "$GCC"; then
114 AC_MSG_RESULT(Disabling C++ comments in ANSI C code.)
116 # The reason that // comments are banned from xscreensaver is that gcc is
117 # basically the only compiler in the world that supports them in C code.
118 # All other vendors support them only in their C++ compilers, not in their
119 # ANSI C compilers. This means that it's a portability problem: every time
120 # these comments have snuck into the xscreensaver source code, I've gotten
121 # complaints about it the next day. So we turn off support for them in gcc
122 # as well to prevent them from accidentially slipping in.
124 if test "$ac_gcc_accepts_std" = yes ; then
126 # -std=c89 defines __STRICT_ANSI__, which we don't want.
127 # (That appears to be the only additional preprocessor symbol
128 # it defines, in addition to the syntax changes it makes.)
130 # -std=gnu89 is no good, because // comments were a GNU extension
131 # before they were in the ANSI C 99 spec... (gcc 2.96 permits //
132 # with -std=gnu89 but not with -std=c89.)
134 CC="$CC -std=c89 -U__STRICT_ANSI__"
137 CC="$CC -Wp,-lang-c89"
143 ###############################################################################
145 # Function to figure out how to create directory trees.
147 ###############################################################################
149 AC_DEFUN(AC_PROG_INSTALL_DIRS,
150 [AC_CACHE_CHECK([whether \"\${INSTALL} -d\" creates intermediate directories],
151 ac_cv_install_d_creates_dirs,
152 [ac_cv_install_d_creates_dirs=no
154 if mkdir conftestdir; then
156 ${INSTALL} -d `pwd`/dir1/dir2 >&- 2>&-
157 if test -d dir1/dir2/. ; then
158 ac_cv_install_d_creates_dirs=yes
165 if test "$ac_cv_install_d_creates_dirs" = no ; then
166 AC_CACHE_CHECK([whether \"mkdir -p\" creates intermediate directories],
167 ac_cv_mkdir_p_creates_dirs,
168 [ac_cv_mkdir_p_creates_dirs=no
170 if mkdir conftestdir; then
172 mkdir -p dir1/dir2 >&- 2>&-
173 if test -d dir1/dir2/. ; then
174 ac_cv_mkdir_p_creates_dirs=yes
182 if test "$ac_cv_install_d_creates_dirs" = yes ; then
183 INSTALL_DIRS='${INSTALL} -d'
184 elif test "$ac_cv_mkdir_p_creates_dirs" = yes ; then
185 INSTALL_DIRS='mkdir -p'
188 INSTALL_DIRS='${INSTALL} -d'
193 ###############################################################################
195 # Function to check whether gettimeofday() exists, and how to call it.
196 # This may define HAVE_GETTIMEOFDAY and GETTIMEOFDAY_TWO_ARGS.
198 ###############################################################################
200 AC_DEFUN(AC_GETTIMEOFDAY_ARGS,
201 [AC_MSG_CHECKING(how to call gettimeofday)
202 AC_CACHE_VAL(ac_cv_gettimeofday_args,
203 [AC_TRY_COMPILE([#include <stdlib.h>
204 #include <sys/time.h>],
205 [struct timeval tv; struct timezone tzp;
206 gettimeofday(&tv, &tzp);],
207 [ac_gettimeofday_args=2],
208 [AC_TRY_COMPILE([#include <stdlib.h>
209 #include <sys/time.h>],
210 [struct timeval tv; gettimeofday(&tv);],
211 [ac_gettimeofday_args=1],
212 [ac_gettimeofday_args=0])])
213 ac_cv_gettimeofday_args=$ac_gettimeofday_args])
214 ac_gettimeofday_args=$ac_cv_gettimeofday_args
215 if test "$ac_gettimeofday_args" = 1 ; then
216 AC_DEFINE(HAVE_GETTIMEOFDAY)
217 AC_MSG_RESULT(one argument)
218 elif test "$ac_gettimeofday_args" = 2 ; then
219 AC_DEFINE(HAVE_GETTIMEOFDAY)
220 AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
221 AC_MSG_RESULT(two arguments)
223 AC_MSG_RESULT(unknown)
228 ###############################################################################
230 # Function to find perl5 (defines PERL and PERL_VERSION.)
232 ###############################################################################
234 # M4 sucks!! perl sucks too!!
236 perl_version_cmd='print $]'
239 AC_DEFUN(AC_PROG_PERL,
240 [AC_PATH_PROGS(PERL, [perl5 perl],,)
241 if test -z "$PERL" ; then
244 AC_CACHE_CHECK([perl version], ac_cv_perl_version,
245 [ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`])
246 PERL_VERSION=$ac_cv_perl_version
251 ###############################################################################
253 # Function to demand "bc". Losers.
255 ###############################################################################
257 AC_DEFUN(AC_DEMAND_BC,
258 [ac_bc_result=`echo 6+9 | bc 2>/dev/null`
259 AC_MSG_CHECKING([for bc])
260 if test "$ac_bc_result" = "15" ; then
265 AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard
266 part of Unix since the 1970s. Come back when your vendor
271 ###############################################################################
273 # Functions to check how to do ICMP PING requests.
275 ###############################################################################
277 AC_DEFUN(AC_CHECK_ICMP,
278 [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp,
279 [AC_TRY_COMPILE([#include <stdlib.h>
286 #include <sys/types.h>
287 #include <sys/time.h>
290 #include <sys/socket.h>
291 #include <netinet/in_systm.h>
292 #include <netinet/in.h>
293 #include <netinet/ip.h>
294 #include <netinet/ip_icmp.h>
295 #include <netinet/udp.h>
296 #include <arpa/inet.h>
300 struct sockaddr_in si;
302 i.icmp_type = ICMP_ECHO;
307 si.sin_family = AF_INET;
308 #if defined(__DECC) || defined(_IP_VHL)
314 [ac_cv_have_icmp=yes],
315 [ac_cv_have_icmp=no])])
316 if test "$ac_cv_have_icmp" = yes ; then
320 AC_DEFUN(AC_CHECK_ICMPHDR,
321 [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr,
322 [AC_TRY_COMPILE([#include <stdlib.h>
329 #include <sys/types.h>
330 #include <sys/time.h>
333 #include <sys/socket.h>
334 #include <netinet/in_systm.h>
335 #include <netinet/in.h>
336 #include <netinet/ip.h>
337 #include <netinet/ip_icmp.h>
338 #include <netinet/udp.h>
339 #include <arpa/inet.h>
343 struct sockaddr_in si;
349 i.un.echo.sequence = 0;
350 si.sin_family = AF_INET;
352 [ac_cv_have_icmphdr=yes],
353 [ac_cv_have_icmphdr=no])])
354 if test "$ac_cv_have_icmphdr" = yes ; then
355 AC_DEFINE(HAVE_ICMPHDR)
359 ###############################################################################
361 # Functions to check for various X11 crap.
363 ###############################################################################
365 # Try and find the app-defaults directory.
366 # It sucks that autoconf doesn't do this already...
368 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
370 if mkdir conftestdir; then
372 # Make sure to not put "make" in the Imakefile rules, since we grep it out.
373 cat > Imakefile <<'EOF'
375 @echo 'ac_x_app_defaults="${XAPPLOADDIR}"'
377 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
378 # GNU make sometimes prints "make[1]: Entering...", which'd confuse us.
379 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
385 AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[
386 # Look for the directory under a standard set of common directories.
387 # Check X11 before X11Rn because it's often a symlink to the current release.
389 /usr/X11/lib/app-defaults \
390 /usr/X11R6/lib/app-defaults \
391 /usr/X11R6/lib/X11/app-defaults \
392 /usr/X11R5/lib/app-defaults \
393 /usr/X11R5/lib/X11/app-defaults \
394 /usr/X11R4/lib/app-defaults \
395 /usr/X11R4/lib/X11/app-defaults \
397 /usr/lib/X11/app-defaults \
398 /usr/lib/X11R6/app-defaults \
399 /usr/lib/X11R5/app-defaults \
400 /usr/lib/X11R4/app-defaults \
402 /usr/local/X11/lib/app-defaults \
403 /usr/local/X11R6/lib/app-defaults \
404 /usr/local/X11R5/lib/app-defaults \
405 /usr/local/X11R4/lib/app-defaults \
407 /usr/local/lib/X11/app-defaults \
408 /usr/local/lib/X11R6/app-defaults \
409 /usr/local/lib/X11R6/X11/app-defaults \
410 /usr/local/lib/X11R5/app-defaults \
411 /usr/local/lib/X11R5/X11/app-defaults \
412 /usr/local/lib/X11R4/app-defaults \
413 /usr/local/lib/X11R4/X11/app-defaults \
415 /usr/X386/lib/X11/app-defaults \
416 /usr/x386/lib/X11/app-defaults \
417 /usr/XFree86/lib/X11/app-defaults \
419 /usr/lib/X11/app-defaults \
420 /usr/local/lib/X11/app-defaults \
421 /usr/unsupported/lib/X11/app-defaults \
422 /usr/athena/lib/X11/app-defaults \
423 /usr/local/x11r5/lib/X11/app-defaults \
424 /usr/lpp/Xamples/lib/X11/app-defaults \
425 /lib/usr/lib/X11/app-defaults \
427 /usr/openwin/lib/app-defaults \
428 /usr/openwin/lib/X11/app-defaults \
429 /usr/openwin/share/lib/app-defaults \
430 /usr/openwin/share/lib/X11/app-defaults \
432 /X11R6/lib/app-defaults \
433 /X11R5/lib/app-defaults \
434 /X11R4/lib/app-defaults \
437 if test -d "$ac_dir"; then
438 ac_x_app_defaults=$ac_dir
444 AC_DEFUN(AC_PATH_X_APP_DEFAULTS,
446 AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
447 [AC_PATH_X_APP_DEFAULTS_XMKMF
448 if test x"$ac_x_app_defaults" = x; then
449 AC_PATH_X_APP_DEFAULTS_DIRECT
451 if test x"$ac_x_app_defaults" = x; then
452 ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
454 # Record where we found app-defaults for the cache.
455 ac_cv_x_app_defaults="$ac_x_app_defaults"
457 eval ac_x_app_defaults="$ac_cv_x_app_defaults"])
460 AC_DEFUN(AC_XPOINTER,
461 [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer,
462 [AC_TRY_X_COMPILE([#include <X11/Xlib.h>],
463 [XPointer foo = (XPointer) 0;],
464 [ac_cv_xpointer=yes],
465 [ac_cv_xpointer=no])])
466 if test "$ac_cv_xpointer" != yes; then
467 AC_DEFINE(XPointer,[char*])
471 # Random special-cases for X on certain pathological OSes.
472 # You know who you are.
474 AC_DEFUN(AC_X_RANDOM_PATHS,
478 # The following arcana was gleaned from conversations with
479 # Eric Schwartz <erics@col.hp.com>:
481 # On HPUX 10.x, the parts of X that HP considers "standard" live in
482 # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider
483 # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/.
484 # Yet /usr/contrib/X11R6/ comes preinstalled on all HPUX systems.
485 # Also, there are symlinks from /usr/include/ and /usr/lib/ into
486 # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all)
487 # you don't need any -I or -L arguments.
489 # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/
490 # are the same division as 10.x. However, there are no symlinks to
491 # the X stuff from /usr/include/ and /usr/lib/, so -I and -L
492 # arguments are always necessary.
494 # However, X11R6 was available on HPUX 9.x as a patch: if that
495 # patch was installed, then all of X11R6 went in to
496 # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.)
498 # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know
499 # whether R5 was available as a patch; R6 undoubtedly was not.)
501 # So. We try and use the highest numbered pair of
502 # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/
503 # that are available. We do not mix and match different versions
506 # Question I still don't know the answer to: (do you?)
508 # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and
509 # /usr/contrib/X11R6/ could be installed as a patch, what was in
510 # that contrib directory? Did it contain so-called "standard"
511 # X11R6, or did it include Xaw and Xmu as well? If the former,
512 # where did one find Xaw and Xmu on 9.x R6 systems? Would this
513 # be a situation where one had to reach into the R5 headers and
514 # libs to find Xmu? That is, must both R6 and R5 directories
515 # be on the -I and -L lists in that case?
517 for version in X11R6 X11R5 X11R4 ; do
518 # if either pair of directories exists...
519 if test -d /usr/lib/$version || test -d /usr/contrib/$version/lib
521 # if contrib exists, use it...
522 if test -d /usr/contrib/$version/lib ; 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/lib/$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/lib/Motif1.2 ; then
540 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2"
541 X_LIBS="$X_LIBS -L/usr/lib/Motif1.2"
542 elif test -d /usr/lib/Motif1.1 ; then
543 X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1"
544 X_LIBS="$X_LIBS -L/usr/lib/Motif1.1"
547 # Now let's check for the pseudo-standard locations for OpenGL and XPM.
549 if test -d /opt/Mesa/lib ; then
550 X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS"
551 X_LIBS="-L/opt/Mesa/lib $X_LIBS"
554 if test -d /opt/xpm/lib/X11 ; then
555 X_CFLAGS="-I/opt/xpm/include $X_CFLAGS"
556 X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS"
559 # On HPUX, default to installing in /opt/xscreensaver/ instead of
560 # in /usr/local/, unless there is already an xscreensaver in
561 # /usr/local/bin/. This can be overridden with the --prefix arg
562 # to configure. I'm not sure this is the right thing to do, but
563 # Richard Lloyd says so...
565 if test \! -x /usr/local/bin/xscreensaver ; then
566 ac_default_prefix=/opt/xscreensaver
572 # Thanks for not making xmkmf find this by default, pinheads.
573 # And thanks for moving things around again, too. Is this
574 # really the standard location now? What happened to the
575 # joke that this kind of thing went in /opt?
576 # cthomp says "answer: CDE (Common Disorganized Environment)"
578 if test -f /usr/dt/include/Xm/Xm.h ; then
579 X_CFLAGS="$X_CFLAGS -I/usr/dt/include"
580 X_LIBS="$X_LIBS -L/usr/dt/lib -R:/usr/dt/lib"
582 # Some versions of Slowlaris Motif require -lgen. But not all. Why?
583 AC_CHECK_LIB(gen, regcmp, [X_LIBS="$X_LIBS -lgen"])
590 ###############################################################################
592 # Some utility functions to make checking for X things easier.
594 ###############################################################################
596 # Like AC_CHECK_HEADER, but it uses the already-computed -I directories.
598 AC_DEFUN(AC_CHECK_X_HEADER, [
599 ac_save_CPPFLAGS="$CPPFLAGS"
600 if test \! -z "$includedir" ; then
601 CPPFLAGS="$CPPFLAGS -I$includedir"
603 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
604 AC_CHECK_HEADER([$1], [$2])
605 CPPFLAGS="$ac_save_CPPFLAGS"])
607 # Like AC_EGREP_HEADER, but it uses the already-computed -I directories.
609 AC_DEFUN(AC_EGREP_X_HEADER, [
610 ac_save_CPPFLAGS="$CPPFLAGS"
611 if test \! -z "$includedir" ; then
612 CPPFLAGS="$CPPFLAGS -I$includedir"
614 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
615 AC_EGREP_HEADER([$1], [$2], [$3], [$4])
616 CPPFLAGS="$ac_save_CPPFLAGS"])
618 # Like AC_TRY_COMPILE, but it uses the already-computed -I directories.
620 AC_DEFUN(AC_TRY_X_COMPILE, [
621 ac_save_CPPFLAGS="$CPPFLAGS"
622 if test \! -z "$includedir" ; then
623 CPPFLAGS="$CPPFLAGS -I$includedir"
625 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
626 AC_TRY_COMPILE([$1], [$2], [$3], [$4])
627 CPPFLAGS="$ac_save_CPPFLAGS"])
630 # Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories.
631 # Use this sparingly; it probably doesn't work very well on X programs.
633 AC_DEFUN(AC_CHECK_X_LIB, [
634 ac_save_CPPFLAGS="$CPPFLAGS"
635 ac_save_LDFLAGS="$LDFLAGS"
636 # ac_save_LIBS="$LIBS"
638 if test \! -z "$includedir" ; then
639 CPPFLAGS="$CPPFLAGS -I$includedir"
641 # note: $X_CFLAGS includes $x_includes
642 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
644 if test \! -z "$libdir" ; then
645 LDFLAGS="$LDFLAGS -L$libdir"
647 # note: $X_LIBS includes $x_libraries
648 LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
650 AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
651 CPPFLAGS="$ac_save_CPPFLAGS"
652 LDFLAGS="$ac_save_LDFLAGS"
653 # LIBS="$ac_save_LIBS"
656 # Like AC_TRY_RUN, but it uses the already-computed -I directories.
657 # (But not the -L directories!)
659 AC_DEFUN(AC_TRY_X_RUN, [
660 ac_save_CPPFLAGS="$CPPFLAGS"
661 if test \! -z "$includedir" ; then
662 CPPFLAGS="$CPPFLAGS -I$includedir"
664 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
665 AC_TRY_RUN([$1], [$2], [$3], [$4])
666 CPPFLAGS="$ac_save_CPPFLAGS"])
670 # Usage: HANDLE_X_PATH_ARG([variable_name],
671 # [--command-line-option],
672 # [descriptive string])
674 # All of the --with options take three forms:
676 # --with-foo (or --with-foo=yes)
677 # --without-foo (or --with-foo=no)
680 # This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees
681 # a directory (string beginning with a slash) it checks to see whether
682 # /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS
685 AC_DEFUN(HANDLE_X_PATH_ARG, [
691 AC_MSG_CHECKING([for [$3] headers])
694 X_CFLAGS="-I$d $X_CFLAGS"
697 AC_MSG_RESULT(not found ($d: no such directory))
700 AC_MSG_CHECKING([for [$3] libs])
703 X_LIBS="-L$d $X_LIBS"
706 AC_MSG_RESULT(not found ($d: no such directory))
709 # replace the directory string with "yes".
716 echo "error: argument to [$2] must be \"yes\", \"no\", or a directory."
717 echo " If it is a directory, then \`DIR/include' will be added to"
718 echo " the -I list, and \`DIR/lib' will be added to the -L list."
726 ###############################################################################
727 ###############################################################################
729 # End of function definitions. Now start actually executing stuff.
731 ###############################################################################
732 ###############################################################################
734 # random compiler setup
737 AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
743 # stuff for Makefiles
748 # By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'.
749 # That's wrong: it should be set to '${INSTALL}', so that one can
750 # implement the "install-strip" target properly (strip executables,
751 # but do not try to strip scripts.)
753 INSTALL_SCRIPT='${INSTALL}'
757 AC_CHECK_HEADERS(unistd.h)
766 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
768 AC_CHECK_FUNCS(sigaction syslog realpath)
771 AC_CHECK_HEADERS(crypt.h sys/select.h)
774 if test -z "$PERL" ; then
775 # don't let it be blank...
781 if test "$have_x" != yes; then
782 AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.)
785 AC_PATH_X_APP_DEFAULTS
791 ###############################################################################
793 # Check for -lXmu (some fucked up vendors don't ship it...)
795 ###############################################################################
798 AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes])
799 if test "$have_xmu" = no ; then
800 XMU_SRCS='$(UTILS_SRC)/xmu.c'
801 XMU_OBJS='$(UTILS_BIN)/xmu.o'
811 ###############################################################################
813 # Check for the SunOS 4.1.x _get_wmShellWidgetClass bug.
814 # See comp.windows.x FAQ question 124. The right fix is to
815 # get OpenWindows 3.0 patches 100512-02 and 100573-03.
817 ###############################################################################
819 if test "$have_xmu" = yes ; then
822 AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
824 [ac_save_LDFLAGS="$LDFLAGS"
825 if test \! -z "$x_libraries" ; then
826 LDFLAGS="$LDFLAGS -L$x_libraries"
828 # Note: this trick never works! (Generally.)
829 # We're only getting away with using AC_TRY_LINK
830 # with X libraries because we know it's SunOS.
831 LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
833 [ac_cv_sunos_xmu_bug=no],
834 [ac_cv_sunos_xmu_bug=yes])
835 LDFLAGS="$ac_save_LDFLAGS"])
836 if test "$ac_cv_sunos_xmu_bug" = yes ; then
837 AC_CACHE_CHECK([whether the compiler understands -static],
839 [ac_save_LDFLAGS="$LDFLAGS"
840 LDFLAGS="$LDFLAGS -static"
841 AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
842 LDFLAGS="$ac_save_LDFLAGS"])
843 if test "$ac_cv_ld_static" = yes ; then
844 LDFLAGS="$LDFLAGS -static"
846 LDFLAGS="$LDFLAGS -Bstatic"
854 ###############################################################################
856 # Handle the --enable-subdir option
858 ###############################################################################
860 AC_ARG_ENABLE(subdir,[
861 Installation options:
863 --enable-subdir=DIR Put the demo programs in a subdirectory of \`bindir',
864 instead of putting them in bindir itself. You can
865 specify the name of the subdirectory. For example,
866 \`--exec-prefix=/usr/local --enable-subdir=demos'
867 would put xscreensaver in /usr/local/bin/, and would
868 put the demos in /usr/local/bin/demos/. (If DIR
869 begins with /, then bindir will not be prepended.)
871 --disable-subdir Just put the demos in \`bindir' (this is the default.)
873 [enable_subdir="$enableval"],[enable_subdir=no])
874 if test x"$enable_subdir" = xno; then
876 elif test x"$enable_subdir" = xyes -o x"$enable_subdir" = x ; then
877 echo "error: must be a subdirectory name: --enable-subdir=$enable_subdir"
880 # there must be a better way than this...
881 if test -z "`echo $enable_subdir | sed 's@^/.*@@'`" ; then
883 HACKDIR=$enable_subdir
886 HACKDIR='${bindir}/'$enable_subdir
890 # canonicalize slashes.
891 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
894 ###############################################################################
896 # Check for the SGI SCREEN_SAVER server extension.
898 ###############################################################################
901 with_sgi_req=unspecified
903 [Except where noted, all of the --with options below can also take a
904 directory argument: for example, \`--with-motif=/opt/Motif'. That would
905 cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
906 to be added to the -L list, assuming those directories exist.
908 By default, support for each of these options will be built in, if the
909 relevant library routines exist. At run time, they will then be used
910 only if the X server being used supports them. Each --with option has
911 a corresponding --without option, to override building support for them
914 Screen blanking and idle-detection options:
916 --with-sgi-ext Include support for the SGI SCREEN_SAVER extension.],
917 [with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
919 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
921 if test "$with_sgi" = yes; then
922 AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
924 AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
926 elif test "$with_sgi" != no; then
927 echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
932 ###############################################################################
934 # Check for the MIT-SCREEN-SAVER server extension.
936 ###############################################################################
939 with_mit_req=unspecified
941 [ --with-mit-ext Include support for the MIT-SCREEN-SAVER extension.],
942 [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
944 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
946 if test "$with_mit" = yes; then
947 AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
949 # Now check to see if it's really in the library; XF86Free-3.3 ships
950 # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
952 if test "$have_mit" = yes; then
953 AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm)
955 if test "$have_mit" = no; then
956 # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead
957 # of in Xext. Thank you master, may I have another.
958 AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
959 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"],
960 [true], -lX11 -lXext -lm)
963 if test "$have_mit" = no; then
964 # Double fuck! Looks like some versions of XFree86 (whichever version
965 # it is that comes with RedHat Linux 2.0 -- I can't find a version
966 # number) put this garbage in Xss instead of Xext. Thank you master,
967 # may I have another.
968 AC_CHECK_X_LIB(Xss, XScreenSaverRegister,
969 [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"],
970 [true], -lX11 -lXext -lm)
973 if test "$have_mit" = yes; then
974 AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
979 elif test "$with_mit" != no; then
980 echo "error: must be yes or no: --with-mit-ext=$with_mit"
985 ###############################################################################
987 # Check for the XIDLE server extension.
989 ###############################################################################
992 with_xidle_req=unspecified
993 AC_ARG_WITH(xidle-ext,
994 [ --with-xidle-ext Include support for the XIDLE extension.],
995 [with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
997 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
999 if test "$with_xidle" = yes; then
1000 AC_CHECK_X_HEADER(X11/extensions/xidle.h,
1002 AC_DEFINE(HAVE_XIDLE_EXTENSION)])
1003 elif test "$with_xidle" != no; then
1004 echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
1009 ###############################################################################
1011 # Check for the SGI-VIDEO-CONTROL server extension.
1013 ###############################################################################
1016 with_sgivc_req=unspecified
1017 AC_ARG_WITH(sgivc-ext,
1018 [ --with-sgivc-ext Include support for the SGI-VIDEO-CONTROL extension.],
1019 [with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
1021 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
1023 if test "$with_sgivc" = yes; then
1025 # first check for XSGIvc.h
1026 AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
1028 # if that succeeded, then check for the -lXsgivc
1029 if test "$have_sgivc" = yes; then
1031 AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
1032 [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [true],
1036 # if that succeeded, then we've really got it.
1037 if test "$have_sgivc" = yes; then
1038 AC_DEFINE(HAVE_SGI_VC_EXTENSION)
1041 elif test "$with_sgivc" != no; then
1042 echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
1047 ###############################################################################
1049 # Check for the DPMS server extension.
1051 ###############################################################################
1054 with_dpms_req=unspecified
1055 AC_ARG_WITH(dpms-ext,
1056 [ --with-dpms-ext Include support for the DPMS extension.],
1057 [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes])
1059 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
1061 if test "$with_dpms" = yes; then
1063 # first check for dpms.h
1064 AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
1066 # if that succeeded, then check for the DPMS code in the libraries
1067 if test "$have_dpms" = yes; then
1069 # first look in -lXext (this is where it is with XFree86 4.0)
1071 AC_CHECK_X_LIB(Xext, DPMSInfo, [have_dpms=yes], [true], -lXext -lX11)
1073 # if that failed, look in -lXdpms (this is where it was in XFree86 3.x)
1074 if test "$have_dpms" = no; then
1075 AC_CHECK_X_LIB(Xdpms, DPMSInfo,
1076 [have_dpms=yes; XDPMS_LIBS="-lXdpms"], [true],
1082 # if that succeeded, then we've really got it.
1083 if test "$have_dpms" = yes; then
1084 AC_DEFINE(HAVE_DPMS_EXTENSION)
1087 elif test "$with_dpms" != no; then
1088 echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
1093 ###############################################################################
1095 # Check for the XF86VMODE server extension (for virtual screens.)
1097 ###############################################################################
1100 with_xf86vmode_req=unspecified
1101 AC_ARG_WITH(xf86vmode-ext,
1102 [ --with-xf86vmode-ext Include support for XFree86 virtual screens.],
1103 [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"],
1104 [with_xf86vmode=yes])
1106 HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
1108 if test "$with_xf86vmode" = yes; then
1110 # first check for xf86vmode.h
1111 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes])
1113 # if that succeeded, then check for the -lXxf86vm
1114 if test "$have_xf86vmode" = yes; then
1116 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort,
1117 [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"],
1118 [true], -lXext -lX11)
1121 # if that succeeded, then we've really got it.
1122 if test "$have_xf86vmode" = yes; then
1123 AC_DEFINE(HAVE_XF86VMODE)
1126 elif test "$with_xf86vmode" != no; then
1127 echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode"
1132 ###############################################################################
1134 # Check for the XF86VMODE server extension (for gamma fading.)
1136 ###############################################################################
1139 with_xf86gamma_req=unspecified
1140 AC_ARG_WITH(xf86gamma-ext,
1141 [ --with-xf86gamma-ext Include support for XFree86 gamma fading.],
1142 [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"],
1143 [with_xf86gamma=yes])
1145 HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma)
1147 if test "$with_xf86gamma" = yes; then
1149 # first check for xf86vmode.h, if we haven't already
1150 if test "$have_xf86vmode" = yes; then
1153 AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes])
1156 # if that succeeded, then check for the -lXxf86vm
1157 if test "$have_xf86gamma" = yes; then
1159 AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma,
1160 [have_xf86gamma=yes],
1161 [true], -lXext -lX11)
1164 # pull in the lib, if we haven't already
1165 if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then
1166 SAVER_LIBS="$SAVER_LIBS -lXxf86vm"
1169 # if that succeeded, then we've really got it.
1170 if test "$have_xf86gamma" = yes; then
1171 AC_DEFINE(HAVE_XF86VMODE_GAMMA)
1174 elif test "$with_xf86gamma" != no; then
1175 echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode"
1180 ###############################################################################
1182 # Check for HP XHPDisableReset and XHPEnableReset.
1184 ###############################################################################
1186 AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h,
1187 [AC_DEFINE(HAVE_XHPDISABLERESET)
1188 SAVER_LIBS="-lXhp11 $SAVER_LIBS"])
1191 ###############################################################################
1193 # Check for /proc/interrupts.
1195 ###############################################################################
1197 have_proc_interrupts=no
1198 with_proc_interrupts_req=unspecified
1199 AC_ARG_WITH(proc-interrupts,
1200 [ --with-proc-interrupts Include support for consulting the /proc/interrupts
1201 file to notice keyboard activity.],
1202 [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
1203 [with_proc_interrupts=yes])
1205 if test "$with_proc_interrupts" = yes; then
1207 AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data],
1208 ac_cv_have_proc_interrupts,
1209 [ac_cv_have_proc_interrupts=no
1210 if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
1211 ac_cv_have_proc_interrupts=yes
1214 have_proc_interrupts=$ac_cv_have_proc_interrupts
1216 if test "$have_proc_interrupts" = yes; then
1217 AC_DEFINE(HAVE_PROC_INTERRUPTS)
1220 elif test "$with_proc_interrupts" != no; then
1221 echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
1226 ###############################################################################
1228 # The --enable-locking option
1230 ###############################################################################
1232 AC_ARG_ENABLE(locking,[
1233 Screen locking options:
1235 --enable-locking Compile in support for locking the display.
1236 --disable-locking Do not allow locking at all.
1238 [enable_locking="$enableval"],[enable_locking=yes])
1239 if test "$enable_locking" = yes; then
1241 elif test "$enable_locking" = no; then
1242 AC_DEFINE(NO_LOCKING)
1244 echo "error: must be yes or no: --enable-locking=$enable_locking"
1250 ###############################################################################
1252 # The --enable-vt-locking option
1254 ###############################################################################
1256 #ac_vt_lockswitch=no
1257 #AC_ARG_ENABLE(vt-locking,[
1258 # --enable-vt-locking Compile in support for locking Virtual Terminals.
1259 # This is the default if the system supports it, and
1260 # if locking support is included (--enable-locking.)
1261 # --disable-vt-locking Do not allow locking of VTs, even if locking is
1263 # [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
1264 #if test "$enable_vt_locking" = yes; then
1266 # AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch,
1267 # [AC_TRY_COMPILE([#include <fcntl.h>
1268 # #include <sys/ioctl.h>
1269 # #include <sys/vt.h>],
1270 # [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;],
1271 # [ac_cv_vt_lockswitch=yes],
1272 # [ac_cv_vt_lockswitch=no])])
1273 # ac_vt_lockswitch=$ac_cv_vt_lockswitch
1275 #elif test "$enable_vt_locking" = no; then
1278 # echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
1282 #if test "$ac_vt_lockswitch" = yes; then
1283 # AC_DEFINE(HAVE_VT_LOCKSWITCH)
1284 # # the VT_LOCKSWITCH ioctl can only be used when running as root.
1285 # # #### but it doesn't work yet, so don't worry about that for now.
1291 ###############################################################################
1295 ###############################################################################
1299 # Solaris systems tend to come with PAM misconfigured.
1300 # Don't build it by default, even if the headers exist.
1304 # Default to building PAM support on all other systems, if it exists.
1305 with_pam_default=yes
1310 with_pam_req=unspecified
1313 [ --with-pam Include support for PAM (Pluggable Auth Modules.)],
1314 [with_pam="$withval"; with_pam_req="$withval"],[with_pam=$with_pam_default])
1316 HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
1318 if test "$enable_locking" = yes -a "$with_pam" = yes; then
1319 AC_CACHE_CHECK([for PAM], ac_cv_pam,
1320 [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],,
1323 if test "$ac_cv_pam" = yes ; then
1326 PASSWD_LIBS="${PASSWD_LIBS} -lpam"
1328 # libpam typically requires dlopen and dlsym. On FreeBSD,
1329 # those are in libc. On Linux and Solaris, they're in libdl.
1330 AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"])
1332 AC_MSG_CHECKING(how to call pam_strerror)
1333 AC_CACHE_VAL(ac_cv_pam_strerror_args,
1334 [AC_TRY_COMPILE([#include <stdio.h>
1336 #include <security/pam_appl.h>],
1337 [pam_handle_t *pamh = 0;
1338 char *s = pam_strerror(pamh, PAM_SUCCESS);],
1339 [ac_pam_strerror_args=2],
1340 [AC_TRY_COMPILE([#include <stdio.h>
1342 #include <security/pam_appl.h>],
1344 pam_strerror(PAM_SUCCESS);],
1345 [ac_pam_strerror_args=1],
1346 [ac_pam_strerror_args=0])])
1347 ac_cv_pam_strerror_args=$ac_pam_strerror_args])
1348 ac_pam_strerror_args=$ac_cv_pam_strerror_args
1349 if test "$ac_pam_strerror_args" = 1 ; then
1350 AC_MSG_RESULT(one argument)
1351 elif test "$ac_pam_strerror_args" = 2 ; then
1352 AC_DEFINE(PAM_STRERROR_TWO_ARGS)
1353 AC_MSG_RESULT(two arguments)
1355 AC_MSG_RESULT(unknown)
1361 ###############################################################################
1363 # Check for Kerberos.
1365 ###############################################################################
1369 with_kerberos_req=unspecified
1371 AC_ARG_WITH(kerberos,
1372 [ --with-kerberos Include support for Kerberos authentication.],
1373 [with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes])
1375 HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
1377 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
1378 AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos,
1379 [AC_TRY_X_COMPILE([#include <krb.h>],,
1380 [ac_cv_kerberos=yes],
1381 [ac_cv_kerberos=no])])
1382 AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5,
1383 [AC_TRY_X_COMPILE([#include <kerberosIV/krb.h>],,
1384 [ac_cv_kerberos5=yes],
1385 [ac_cv_kerberos5=no])])
1387 if test "$ac_cv_kerberos" = yes ; then
1389 AC_DEFINE(HAVE_KERBEROS)
1392 if test "$ac_cv_kerberos5" = yes ; then
1395 AC_DEFINE(HAVE_KERBEROS)
1396 AC_DEFINE(HAVE_KERBEROS5)
1399 if test "$have_kerberos5" = yes ; then
1400 # from Matt Knopp <mhat@infocalypse.netlag.com>
1401 # (who got it from amu@mit.edu)
1402 PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
1403 elif test "$have_kerberos" = yes ; then
1404 # from Tim Showalter <tjs+@andrew.cmu.edu>
1405 PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes"
1408 if test "$have_kerberos" = yes ; then
1409 AC_CHECK_FUNC(res_search,,
1410 AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
1411 AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
1417 ###############################################################################
1419 # Check for the nine billion variants of shadow passwords...
1421 ###############################################################################
1426 with_shadow_req=unspecified
1429 [ --with-shadow Include support for shadow password authentication.],
1430 [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
1432 HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
1434 if test "$enable_locking" = no ; then
1440 ###############################################################################
1442 # Check for Sun "adjunct" passwords.
1444 ###############################################################################
1446 if test "$with_shadow" = yes ; then
1447 AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
1448 [AC_TRY_X_COMPILE([#include <stdlib.h>
1450 #include <sys/types.h>
1451 #include <sys/label.h>
1452 #include <sys/audit.h>
1453 #include <pwdadj.h>],
1454 [struct passwd_adjunct *p = getpwanam("nobody");
1455 const char *pw = p->pwa_passwd;],
1456 [ac_cv_sun_adjunct=yes],
1457 [ac_cv_sun_adjunct=no])])
1458 if test "$ac_cv_sun_adjunct" = yes; then
1459 have_shadow_adjunct=yes
1466 ###############################################################################
1468 # Check for DEC and SCO so-called "enhanced" security.
1470 ###############################################################################
1472 if test "$with_shadow" = yes ; then
1473 AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
1474 [AC_TRY_X_COMPILE([#include <stdlib.h>
1476 #include <sys/types.h>
1478 #include <sys/security.h>
1480 [struct pr_passwd *p;
1482 set_auth_parameters(0, 0);
1483 check_auth_parameters();
1484 p = getprpwnam("nobody");
1485 pw = p->ufld.fd_encrypt;],
1486 [ac_cv_enhanced_passwd=yes],
1487 [ac_cv_enhanced_passwd=no])])
1488 if test $ac_cv_enhanced_passwd = yes; then
1489 have_shadow_enhanced=yes
1493 # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
1494 # (I'm told it needs -lcurses too, but I don't understand why.)
1495 # But on DEC, it's in -lsecurity.
1497 AC_CHECK_LIB(prot, getprpwnam,
1498 [PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"],
1499 [AC_CHECK_LIB(security, getprpwnam,
1500 [PASSWD_LIBS="$PASSWD_LIBS -lsecurity"])],
1505 ###############################################################################
1507 # Check for HP's entry in the "Not Invented Here" Sweepstakes.
1509 ###############################################################################
1511 if test "$with_shadow" = yes ; then
1512 AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
1513 [AC_TRY_X_COMPILE([#include <stdlib.h>
1515 #include <sys/types.h>
1517 #include <hpsecurity.h>
1519 [struct s_passwd *p = getspwnam("nobody");
1520 const char *pw = p->pw_passwd;],
1521 [ac_cv_hpux_passwd=yes],
1522 [ac_cv_hpux_passwd=no])])
1523 if test "$ac_cv_hpux_passwd" = yes; then
1524 have_shadow_hpux=yes
1528 # on HPUX, bigcrypt is in -lsec
1529 AC_CHECK_LIB(sec, bigcrypt, [PASSWD_LIBS="$PASSWD_LIBS -lsec"])
1534 ###############################################################################
1536 # Check for FreeBSD-style shadow passwords.
1538 # On FreeBSD, getpwnam() and friends work just like on non-shadow-
1539 # password systems -- except you only get stuff in the pw_passwd field
1540 # if the running program is setuid. So, guess that we've got this
1541 # lossage to contend with if /etc/master.passwd exists, and default to
1542 # a setuid installation.
1544 ###############################################################################
1546 if test "$with_shadow" = yes ; then
1547 AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
1548 [if test -f /etc/master.passwd ; then
1549 ac_cv_master_passwd=yes
1551 ac_cv_master_passwd=no
1553 if test "$ac_cv_master_passwd" = yes; then
1559 ###############################################################################
1561 # Check for traditional (ha!) shadow passwords.
1563 ###############################################################################
1565 if test "$with_shadow" = yes ; then
1566 AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
1567 [AC_TRY_X_COMPILE([#include <stdlib.h>
1569 #include <sys/types.h>
1571 #include <shadow.h>],
1572 [struct spwd *p = getspnam("nobody");
1573 const char *pw = p->sp_pwdp;],
1575 [ac_cv_shadow=no])])
1576 if test "$ac_cv_shadow" = yes; then
1580 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
1582 AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
1583 if test "$have_getspnam" = no ; then
1584 AC_CHECK_LIB(gen, getspnam,
1585 [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
1591 ###############################################################################
1593 # Check for other libraries needed for non-shadow passwords.
1595 ###############################################################################
1597 if test "$enable_locking" = yes ; then
1599 # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
1601 AC_CHECK_LIB(c, crypt, [have_crypt=yes])
1602 if test "$have_crypt" = no ; then
1603 AC_CHECK_LIB(crypt, crypt,
1604 [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
1609 # Most of the above shadow mechanisms will have set need_setuid to yes,
1610 # if they were found. But, on some systems, we need setuid even when
1611 # using plain old vanilla passwords.
1613 if test "$enable_locking" = yes ; then
1615 *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
1622 if test "$have_shadow_adjunct" = yes ; then
1623 AC_DEFINE(HAVE_ADJUNCT_PASSWD)
1624 elif test "$have_shadow_enhanced" = yes ; then
1625 AC_DEFINE(HAVE_ENHANCED_PASSWD)
1626 elif test "$have_shadow_hpux" = yes ; then
1627 AC_DEFINE(HAVE_HPUX_PASSWD)
1628 elif test "$have_shadow" = yes ; then
1629 AC_DEFINE(HAVE_SHADOW_PASSWD)
1633 ###############################################################################
1637 ###############################################################################
1640 with_motif_req=unspecified
1642 User interface options:
1644 --with-motif Use the Motif toolkit for the user interface.],
1645 [with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
1647 HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
1649 if test "$with_motif" != yes -a "$with_motif" != no ; then
1650 echo "error: must be yes or no: --with-motif=$with_motif"
1654 if test "$with_motif" = yes; then
1656 AC_CHECK_X_HEADER(Xm/Xm.h,
1658 AC_DEFINE(HAVE_MOTIF)
1659 MOTIF_LIBS="$MOTIF_LIBS -lXm"])
1663 if test "$have_motif" = yes; then
1664 AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)])
1668 ###############################################################################
1670 # Check for -lgtk (and Gnome stuff)
1672 ###############################################################################
1675 with_gtk_req=unspecified
1677 [ --with-gtk Use the Gtk toolkit for the user interface.],
1678 [with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes])
1680 # if --with-gtk=/directory/ was specified, remember that directory so that
1681 # we can also look for the `gtk-config' program in that directory.
1691 HANDLE_X_PATH_ARG(with_gtk, --with-gtk, Gtk)
1693 if test "$with_gtk" != yes -a "$with_gtk" != no ; then
1694 echo "error: must be yes or no: --with-gtk=$with_gtk"
1699 with_gnome_req=unspecified
1701 [ --with-gnome Include support for the Gnome Control Center.],
1702 [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
1704 # if --with-gnome=/directory/ was specified, remember that directory so that
1705 # we can also look for the `gnome-config' program in that directory.
1706 case "$with_gnome" in
1708 gnome_dir="$with_gnome"
1715 HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
1717 if test "$with_gnome" != yes -a "$with_gnome" != no ; then
1718 echo "error: must be yes or no: --with-gnome=$with_gnome"
1724 if test "$with_gtk" = yes; then
1727 # if the user specified --with-gtk=/foo/ then look in /foo/bin/
1728 # for glib-config and gtk-config.
1732 if test ! -z "$gtk_dir"; then
1733 # canonicalize slashes.
1734 gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
1735 gtk_path="$gtk_dir:$gtk_path"
1738 if test ! -z "gnome_dir"; then
1739 # canonicalize slashes.
1740 gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
1741 gtk_path="$gnome_dir:$gtk_path"
1744 AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
1745 AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
1747 if test "$with_gnome" = yes; then
1748 AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
1751 if test -n "$glib_config" -a -n "gtk_config" ; then
1753 if test "$with_gnome" = yes -a -n "$gnome_config" ; then
1758 if test "$have_gtk" = yes; then
1759 AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
1760 [ac_cv_gtk_version_string=`$gtk_config --version`])
1761 ac_gtk_version_string=$ac_cv_gtk_version_string
1764 maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
1765 min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
1767 ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
1768 if test -z "$ac_gtk_version"; then
1769 ac_gtk_version=unknown
1770 ac_gtk_version_string=unknown
1772 if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
1780 if test "$have_gtk" = yes; then
1781 AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
1782 [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
1783 AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
1784 [ac_cv_gtk_config_libs=`$gtk_config --libs`])
1786 ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
1787 ac_gtk_config_libs=$ac_cv_gtk_config_libs
1789 # Check for Gnome Capplet support.
1791 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1792 gnome_config_libs="capplet gnomeui"
1793 AC_MSG_CHECKING(for Gnome capplet includes)
1794 AC_CACHE_VAL(ac_cv_gnome_config_cflags,
1795 [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
1796 grep Unknown >/dev/null ) ; then
1797 ac_cv_gnome_config_cflags=''
1799 ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
1801 ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
1802 if test "$ac_gnome_config_cflags" = "" ; then
1806 AC_MSG_RESULT($ac_gnome_config_cflags)
1810 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1811 AC_MSG_CHECKING(for Gnome capplet libs)
1812 AC_CACHE_VAL(ac_cv_gnome_config_libs,
1813 [if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null |
1814 grep Unknown >/dev/null ) ; then
1815 ac_cv_gnome_config_libs=''
1817 ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
1819 ac_gnome_config_libs=$ac_cv_gnome_config_libs
1820 if test "$ac_gnome_config_libs" = "" ; then
1824 AC_MSG_RESULT($ac_gnome_config_libs)
1829 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1830 GNOME_DATADIR=`$gnome_config --datadir`
1834 # If we have Gnome, then override the gtk-config values with
1835 # the gnome-config values.
1837 if test "$have_gnome" = yes -a "$have_gtk" = yes; then
1838 ac_gtk_config_cflags=$ac_gnome_config_cflags
1839 ac_gtk_config_libs=$ac_gnome_config_libs
1840 AC_DEFINE(HAVE_CRAPPLET)
1844 if test "$have_gtk" = yes; then
1845 INCLUDES="$INCLUDES $ac_gtk_config_cflags"
1846 GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
1853 ###############################################################################
1855 # Checking whether Motif is really Lesstif.
1857 ###############################################################################
1860 if test "$have_motif" = yes ; then
1861 AC_CACHE_CHECK([whether Motif is really LessTif],
1863 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
1864 [long vers = LesstifVersion;],
1865 [ac_cv_have_lesstif=yes],
1866 [ac_cv_have_lesstif=no])])
1867 have_lesstif=$ac_cv_have_lesstif
1871 lesstif_version=unknown
1872 lesstif_version_string=unknown
1874 if test "$have_lesstif" = yes ; then
1876 echo unknown > conftest-lt
1877 AC_CACHE_CHECK([LessTif version number],
1878 ac_cv_lesstif_version_string,
1879 [AC_TRY_X_RUN([#include <stdio.h>
1882 FILE *f = fopen("conftest-lt", "w");
1884 fprintf(f, "%d %d.%d\n", LesstifVersion,
1885 LESSTIF_VERSION, LESSTIF_REVISION);
1889 [ltv=`cat conftest-lt`
1890 ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
1891 ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`],
1892 [ac_cv_lesstif_version=unknown
1893 ac_cv_lesstif_version_string=unknown],
1894 [ac_cv_lesstif_version=unknown
1895 ac_cv_lesstif_version_string=unknown])])
1897 lesstif_version=$ac_cv_lesstif_version
1898 lesstif_version_string=$ac_cv_lesstif_version_string
1903 if test "$have_motif" = yes ; then
1905 echo unknown > conftest-mt
1906 AC_CACHE_CHECK([Motif version number],
1907 ac_cv_motif_version_string,
1908 [AC_TRY_X_RUN([#include <stdio.h>
1911 FILE *f = fopen("conftest-mt", "w");
1913 fprintf(f, "%d %d.%d\n", XmVersion,
1914 XmVERSION, XmREVISION);
1918 [mtv=`cat conftest-mt`
1919 ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
1920 ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
1921 [ac_cv_motif_version=unknown
1922 ac_cv_motif_version_string=unknown],
1923 [ac_cv_motif_version=unknown
1924 ac_cv_motif_version_string=unknown])])
1926 motif_version=$ac_cv_motif_version
1927 motif_version_string=$ac_cv_motif_version_string
1932 ###############################################################################
1934 # Checking whether Motif requires -lXpm.
1936 # If this is Motif 2.x, and we have XPM, then link against XPM as well.
1937 # The deal is, Motif 2.x requires XPM -- but it's a compilation option
1938 # of the library whether to build the XPM code into libXm, or whether
1939 # to rely on an external libXm. So the only way to tell whether XPM is
1940 # a link-time requirement is to examine libXm.a, which is very
1941 # difficult to do in an autoconf script. So... if it's Motif 2.x, we
1942 # always link against XPM if the XPM lib exists (and this will be a
1943 # no-op if libXm happens to already have the XPM code in it.)
1945 ###############################################################################
1947 motif_requires_xpm=no
1948 if test "$have_motif" = yes ; then
1949 AC_MSG_CHECKING(whether Motif requires XPM)
1950 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
1952 motif_requires_xpm=yes
1953 AC_MSG_RESULT(maybe)
1960 ###############################################################################
1962 # Checking whether Motif requires -lXp.
1964 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
1965 # Extension". Why this extension isn't in -lXext with all the others,
1968 ###############################################################################
1971 if test "$have_motif" = yes ; then
1973 AC_CHECK_X_LIB(Xp, XpQueryExtension,
1974 [have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"],
1975 [true], -lX11 -lXext -lm)
1979 ###############################################################################
1981 # Checking whether Motif requires -lXintl (for _Xsetlocale.)
1983 ###############################################################################
1986 if test "$have_motif" = yes ; then
1987 AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no],
1989 if test "$have_xintl" = yes; then
1990 MOTIF_LIBS="$MOTIF_LIBS -lXintl"
1995 ###############################################################################
1997 # Check for -lGL or -lMesaGL.
1999 ###############################################################################
2003 with_gl_req=unspecified
2008 --with-gl Build those demos which depend on OpenGL.],
2009 [with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes])
2011 HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
2013 ac_mesagl_version=unknown
2014 ac_mesagl_version_string=unknown
2016 if test "$with_gl" = yes; then
2017 AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
2018 if test "$have_gl" = yes ; then
2019 AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
2022 # If we have the headers, try and figure out which vendor it's from.
2024 if test "$have_gl" = yes ; then
2026 # We need to know whether it's MesaGL so that we know which libraries
2029 AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
2030 [ac_cv_have_mesa_gl=no
2031 AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
2033 ac_have_mesa_gl=$ac_cv_have_mesa_gl
2040 # Some versions of MesaGL are compiled to require -lpthread.
2041 # So if the Mesa headers exist, and -lpthread exists, then always
2042 # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
2044 if test "$ac_have_mesa_gl" = yes; then
2045 AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
2049 # If we have Mesa headers, check to see if we can link against -lMesaGL.
2050 # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
2051 # Else, warn that GL is busted. (We have the headers, but no libs.)
2054 if test "$ac_have_mesa_gl" = yes ; then
2055 AC_CHECK_X_LIB(MesaGL, glXCreateContext,
2057 GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"],
2058 [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm)
2061 if test "$gl_lib_1" = "" ; then
2062 AC_CHECK_X_LIB(GL, glXCreateContext,
2064 GL_LIBS="-lGL -lGLU $GL_LIBS"],
2065 [], -lGLU $GL_LIBS -lX11 -lXext -lm)
2068 if test "$gl_lib_1" = "" ; then
2069 # we have headers, but no libs -- bail.
2074 # linking works -- we can build the GL hacks.
2076 if test "$ac_have_mesa_gl" = yes ; then
2077 AC_DEFINE(HAVE_MESA_GL)
2083 # Now that we know we have GL headers and libs, do some more GL testing.
2086 if test "$have_gl" = yes ; then
2087 # If it's MesaGL, we'd like to issue a warning if the version number
2088 # is less than or equal to 2.6, because that version had a security bug.
2090 if test "$ac_have_mesa_gl" = yes; then
2092 AC_CACHE_CHECK([MesaGL version number], ac_cv_mesagl_version_string,
2093 [cat > conftest.$ac_ext <<EOF
2094 #line __oline__ "configure"
2095 #include "confdefs.h"
2097 #ifndef MESA_MAJOR_VERSION
2098 # include <GL/xmesa.h>
2099 # define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION
2100 # define MESA_MINOR_VERSION XMESA_MINOR_VERSION
2102 configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
2105 ac_save_CPPFLAGS="$CPPFLAGS"
2106 if test \! -z "$includedir" ; then
2107 CPPFLAGS="$CPPFLAGS -I$includedir"
2109 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2113 mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
2114 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
2117 rm -f conftest.$ac_ext
2119 CPPFLAGS="$ac_save_CPPFLAGS"
2121 if test "$mglv" = ""; then
2122 ac_mesagl_version=unknown
2123 ac_mesagl_version_string=unknown
2125 ac_mesagl_version_string=$mglv
2126 maj=`echo $mglv | sed -n 's/\..*//p'`
2127 min=`echo $mglv | sed -n 's/.*\.//p'`
2128 ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
2129 if test -z "$ac_mesagl_version"; then
2130 ac_mesagl_version=unknown
2131 ac_mesagl_version_string=unknown
2134 ac_cv_mesagl_version=$ac_mesagl_version
2135 ac_cv_mesagl_version_string=$ac_mesagl_version_string
2137 ac_mesagl_version=$ac_cv_mesagl_version
2138 ac_mesagl_version_string=$ac_cv_mesagl_version_string
2142 # Check for OpenGL 1.1 features.
2144 AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
2145 [true], $GL_LIBS -lX11 -lXext -lm)
2148 elif test "$with_gl" != no; then
2149 echo "error: must be yes or no: --with-gl=$with_gl"
2154 ###############################################################################
2158 ###############################################################################
2161 with_gle_req=unspecified
2164 [ --with-gle Build those demos which depend on GLE
2165 (the OpenGL "extrusion" library.)],
2166 [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes])
2168 HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE)
2172 if test "$with_gle" = yes; then
2174 AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no)
2175 if test "$have_gle3" = yes ; then
2178 AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no)
2179 if test "$have_gle" = yes ; then
2180 AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no)
2184 if test "$have_gle" = yes ; then
2187 AC_CHECK_X_LIB(gle, gleCreateGC,
2188 [have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"],
2189 [], $GL_LIBS -lX11 -lXext -lm)
2191 if test "$have_gle" = yes ; then
2195 # sometimes the libmatrix stuff is included in libgle. look there first.
2197 # I don't get it. For some reason, this test passes on SGI, as if
2198 # uview_direction_d() was in libgle -- but it's not, it's in libmatrix.
2199 # Yet the link is succeeding. Why???
2201 # AC_CHECK_X_LIB(gle, uview_direction_d,
2202 # [have_gle=yes; gle_halfassed=no],
2203 # [], $GL_LIBS -lX11 -lXext -lm)
2205 # As of GLE 3 this is in libgle, and has changed name to uview_direction!
2207 if test "$have_gle3" = yes ; then
2208 AC_CHECK_X_LIB(gle, uview_direction,
2209 [have_gle=yes; gle_halfassed=no],
2210 [], $GL_LIBS -lX11 -lXext -lm)
2212 # if it wasn't in libgle, then look in libmatrix.
2213 if test "$have_gle" = no ; then
2214 AC_CHECK_X_LIB(matrix, uview_direction_d,
2215 [have_gle=yes; gle_halfassed=no;
2216 GLE_LIBS="$GLE_LIBS -lmatrix"],
2217 [], $GL_LIBS -lX11 -lXext -lm)
2221 if test "$have_gle" = yes ; then
2223 if test "$have_gle3" = yes ; then
2224 AC_DEFINE(HAVE_GLE3)
2228 elif test "$with_gle" != no; then
2229 echo "error: must be yes or no: --with-gle=$with_gle"
2236 ###############################################################################
2240 ###############################################################################
2243 with_xpm_req=unspecified
2245 [ --with-xpm Include support for XPM files in some demos.],
2246 [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
2248 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
2250 if test "$with_xpm" = yes; then
2251 AC_CHECK_X_HEADER(X11/xpm.h,
2255 elif test "$with_xpm" != no; then
2256 echo "error: must be yes or no: --with-xpm=$with_xpm"
2260 # See comment near $motif_requires_xpm, above.
2261 # Need to do this here, after both Motif and XPM have been checked for.
2263 if test "$have_motif" = yes -a "$have_xpm" = yes ; then
2264 if test "$motif_requires_xpm" = yes ; then
2265 MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
2270 ###############################################################################
2272 # Check for the XSHM server extension.
2274 ###############################################################################
2277 with_xshm_req=unspecified
2278 AC_ARG_WITH(xshm-ext,
2279 [ --with-xshm-ext Include support for the XSHM extension.],
2280 [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
2282 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
2284 if test "$with_xshm" = yes; then
2286 # first check for Xshm.h.
2287 AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
2289 # if that succeeded, then check for sys/ipc.h.
2290 if test "$have_xshm" = yes; then
2292 AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
2295 # if that succeeded, then check for sys/shm.h.
2296 if test "$have_xshm" = yes; then
2298 AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
2301 # AIX is pathological, as usual: apparently it's normal for the Xshm headers
2302 # to exist, but the library code to not exist. And even better, the library
2303 # code is in its own library: libXextSam.a. So, if we're on AIX, and that
2304 # lib doesn't exist, give up. (This lib gets added to X_EXTRA_LIBS, and
2305 # that's not quite right, but close enough.)
2309 if [ `uname -v` -eq 3 ]; then
2311 AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
2312 [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
2313 [true], -lX11 -lXext -lm)
2318 # if that succeeded, then we've really got it.
2319 if test "$have_xshm" = yes; then
2320 AC_DEFINE(HAVE_XSHM_EXTENSION)
2323 elif test "$with_xshm" != no; then
2324 echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
2329 ###############################################################################
2331 # Check for the DOUBLE-BUFFER server extension.
2333 ###############################################################################
2336 with_xdbe_req=unspecified
2337 AC_ARG_WITH(xdbe-ext,
2338 [ --with-xdbe-ext Include support for the DOUBLE-BUFFER extension.],
2339 [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
2341 HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
2343 if test "$with_xdbe" = yes; then
2345 AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes])
2346 if test "$have_xdbe" = yes; then
2347 AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
2350 elif test "$with_xdbe" != no; then
2351 echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
2356 ###############################################################################
2358 # Check for the SGI XReadDisplay server extension.
2360 # Note: this has to be down here, rather than up with the other server
2361 # extension tests, so that the output of `configure --help' is in the
2362 # right order. Arrgh!
2364 ###############################################################################
2367 with_readdisplay_req=unspecified
2368 AC_ARG_WITH(readdisplay,
2369 [ --with-readdisplay Include support for the XReadDisplay extension.],
2370 [with_readdisplay="$withval"; with_readdisplay_req="$withval"],
2371 [with_readdisplay=yes])
2373 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
2375 if test "$with_readdisplay" = yes; then
2376 AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
2377 AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
2378 elif test "$with_readdisplay" != no; then
2379 echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
2384 ###############################################################################
2386 # Check for a program to generate random text.
2388 # Zippy is funnier than the idiocy generally spat out by `fortune',
2389 # so try to find that, by invoking Emacs and asking it where its
2390 # libexec directory is ("yow" lives in there.)
2392 # If that doesn't work, see if fortune, zippy, or yow are on $PATH,
2393 # and if so, use them.
2395 # If that doesn't work, look in /usr/games, and if it's there, use
2396 # the full pathname.
2398 ###############################################################################
2402 --with-zippy=PROGRAM Some demos are able to run an external program and
2403 display its text; this names the program to use by
2404 default (though it can be overridden with X
2405 resources.) If you don't specify this, the default
2406 is to use \"yow\" from the Emacs distribution (if you
2407 have it) or else to use \"fortune\".],
2408 [with_zippy_req="$withval"; with_zippy="$withval"],[with_zippy=yes])
2410 if test "$with_zippy" = no || test "$with_zippy" = yes ; then
2415 if test -n "$with_zippy_req" ; then
2416 ac_cv_zippy_program=""
2417 case "$with_zippy_req" in
2419 AC_MSG_CHECKING([for $with_zippy_req])
2420 if test -x "$with_zippy_req" ; then
2429 unset ac_cv_path_zip2
2430 AC_PATH_PROG(zip2, $with_zippy_req, [])
2431 if test "$zip2" = ""; then
2436 ac_cv_zippy_program="$with_zippy"
2438 elif test -n "$ac_cv_zippy_program"; then
2439 AC_MSG_RESULT([checking for zippy... (cached) $ac_cv_zippy_program])
2442 if test ! -n "$ac_cv_zippy_program"; then
2444 AC_CHECK_PROGS(emacs_exe, emacs)
2445 AC_CHECK_PROGS(xemacs_exe, xemacs)
2447 ac_cv_zippy_program=""
2448 eargs='-batch -q -nw --eval'
2450 if test -n "$emacs_exe" ; then
2451 AC_MSG_CHECKING([for emacs yow])
2453 # get emacs to tell us where the libexec directory is.
2455 dir=`$emacs_exe $eargs '(princ (concat exec-directory "\n"))' \
2456 2>/dev/null | tail -1`
2457 dir=`echo "$dir" | sed 's@///*@/@g;s@/$@@'`
2459 # try running libexec/yow and see if it exits without error.
2461 if test x"$dir" != x -a -x "$dir/yow" ; then
2462 if $dir/yow >&- 2>&- ; then
2463 ac_cv_zippy_program="$dir/yow"
2464 AC_MSG_RESULT($ac_cv_zippy_program)
2471 if test -z "$ac_cv_zippy_program" ; then
2472 AC_MSG_CHECKING([for xemacs yow])
2473 if test -n "$xemacs_exe" ; then
2475 # get xemacs to tell us where the libexec directory is.
2477 dir=`$xemacs_exe $eargs '(princ (concat exec-directory "\n"))' \
2478 2>/dev/null | tail -1`
2479 dir=`echo "$dir" | sed 's@///*@/@g;s@/$@@'`
2481 # try running libexec/yow and see if it exits without error.
2483 if test x"$dir" != x -a -x "$dir/yow" ; then
2484 if $dir/yow >&- 2>&- ; then
2485 ac_cv_zippy_program="$dir/yow"
2486 AC_MSG_RESULT($ac_cv_zippy_program)
2489 # in some xemacs installations, the pathname of the yow.lines file
2490 # isn't hardcoded into the yow executable, and must be passed on
2491 # the command line. See if it's in libexec/../etc/.
2495 dir_up=`echo "$dir" | sed 's@/[^/]*$@@'`
2498 yowlines="$dir_up/etc/yow.lines"
2499 if $dir/yow -f $yowlines >&- 2>&- ; then
2500 ac_cv_zippy_program="$dir/yow -f $yowlines"
2501 AC_MSG_RESULT($ac_cv_zippy_program)
2504 # In newer XEmacs releases, yow.lines is in a different place,
2505 # and the easiest way to get it is by calling the new function
2506 # `locate-data-file'.
2508 yowlines=`$xemacs_exe $eargs \
2509 '(princ (concat (locate-data-file "yow.lines") "\n"))' \
2510 2>/dev/null | tail -1`
2511 if $dir/yow -f $yowlines >&- 2>&- ; then
2512 ac_cv_zippy_program="$dir/yow -f $yowlines"
2513 AC_MSG_RESULT($ac_cv_zippy_program)
2523 # if that didn't work, try for some other programs...
2524 if test -z "$ac_cv_zippy_program" ; then
2526 AC_CHECK_PROGS(fortune, [fortune zippy yow])
2527 # if that didn't work, try for those programs in /usr/games...
2528 if test -z "$fortune" ; then
2529 AC_PATH_PROGS(fortune, [fortune zippy yow], fortune,
2530 /usr/games:/usr/local/games:$PATH)
2535 if test -z "$ac_cv_zippy_program" ; then
2536 ac_cv_zippy_program=fortune
2539 AC_DEFINE_UNQUOTED(ZIPPY_PROGRAM, "$ac_cv_zippy_program")
2542 ###############################################################################
2544 # Check whether it's ok to install some hacks as setuid (e.g., "sonar")
2545 # This should be safe, but let's give people the option.
2547 ###############################################################################
2549 setuid_hacks_default=no
2550 setuid_hacks="$setuid_hacks_default"
2551 AC_ARG_WITH(setuid-hacks,
2552 [ --with-setuid-hacks Allow some demos to be installed \`setuid root'
2553 (which is needed in order to ping other hosts.)
2555 [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"])
2557 HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks)
2559 if test "$setuid_hacks" = yes; then
2561 elif test "$setuid_hacks" != no; then
2562 echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
2567 ###############################################################################
2569 # Done testing. Now, set up the various -I and -L variables,
2570 # and decide which GUI program to build by default.
2572 ###############################################################################
2579 if test \! -z "$includedir" ; then
2580 INCLUDES="$INCLUDES -I$includedir"
2583 if test \! -z "$libdir" ; then
2584 LDFLAGS="$LDFLAGS -L$libdir"
2588 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
2590 if test "$have_motif" = yes; then
2591 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
2592 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
2594 if test "$have_gtk" = yes; then
2595 PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
2596 ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
2600 if test "$have_kerberos" = yes; then
2601 PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
2602 PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)"
2604 if test "$have_pam" = yes; then
2605 PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)"
2606 PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
2607 INSTALL_PAM="install-pam"
2609 PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)"
2610 PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)"
2613 if test "$enable_locking" = yes; then
2614 LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
2615 LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
2617 LOCK_SRCS='$(NOLOCK_SRCS_1)'
2618 LOCK_OBJS='$(NOLOCK_OBJS_1)'
2621 INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)'
2623 if test "$need_setuid" = yes; then
2629 if test "$setuid_hacks" = yes; then
2636 if test "$have_gl" = yes; then
2637 GL_EXES='$(GL_EXES)'
2641 GL_KLUDGE="-${tab} "
2644 if test "$have_gle" = yes; then
2645 GLE_EXES='$(GLE_EXES)'
2646 GLE_MEN='$(GLE_MEN)'
2647 GLE_KLUDGE="${tab} "
2649 GLE_KLUDGE="-${tab} "
2653 ###############################################################################
2655 # Perform substitutions and write Makefiles.
2657 ###############################################################################
2661 AC_SUBST(PREFERRED_DEMO_PROGRAM)
2662 AC_SUBST(ALL_DEMO_PROGRAMS)
2663 AC_SUBST(SAVER_LIBS)
2664 AC_SUBST(MOTIF_LIBS)
2670 AC_SUBST(XDPMS_LIBS)
2671 AC_SUBST(PASSWD_LIBS)
2672 AC_SUBST(INSTALL_SETUID)
2673 AC_SUBST(SETUID_HACKS)
2674 AC_SUBST(INSTALL_DIRS)
2675 AC_SUBST(NEED_SETUID)
2676 AC_SUBST(INSTALL_PAM)
2678 AC_SUBST(PASSWD_SRCS)
2679 AC_SUBST(PASSWD_OBJS)
2683 AC_SUBST(SAVER_GL_SRCS)
2684 AC_SUBST(SAVER_GL_OBJS)
2685 AC_SUBST(SAVER_GL_LIBS)
2693 AC_SUBST(GLE_KLUDGE)
2695 AC_SUBST(GNOME_DATADIR)
2697 APPDEFAULTS=$ac_x_app_defaults
2698 AC_SUBST(APPDEFAULTS)
2701 AC_SUBST(DEPEND_FLAGS)
2702 AC_SUBST(DEPEND_DEFINES)
2710 driver/XScreenSaver.ad)
2712 ###############################################################################
2714 # Print some warnings at the end.
2716 ###############################################################################
2718 warn_prefix_1=" Warning:"
2719 warn_prefix_2=" Note:"
2720 warn_prefix="$warn_prefix_1"
2723 warnsep=' #################################################################'
2726 if test "$warning" = no ; then
2727 echo '' ; echo "$warnsep" ; echo ''
2734 if test "$warning" = long ; then echo '' ; fi
2737 echo "$warn_prefix $rest"
2744 if test "$was" != no ; then echo '' ; fi
2746 echo "$warn_prefix $rest"
2756 warn_prefix="$warn_prefix_2"
2758 warn_prefix="$warn_prefix_1"
2762 warn_prefix="$warn_prefix_2"
2764 warn_prefix="$warn_prefix_1"
2768 if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
2769 warn 'The SGI saver extension was requested, but was not found.'
2772 if test "$with_mit_req" = yes -a "$have_mit" = no ; then
2773 warn 'The MIT saver extension was requested, but was not found.'
2776 if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
2777 warn 'The XIdle extension was requested, but was not found.'
2780 if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
2781 warn 'The XSHM extension was requested, but was not found.'
2784 if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
2785 warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
2788 if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
2789 warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
2792 if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
2793 warn 'The DPMS extension was requested, but was not found.'
2796 if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then
2797 warn 'The XF86VMODE extension was requested, but was not found.'
2800 if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then
2801 warn "Checking of /proc/interrupts was requested, but it's bogus."
2805 if test "$have_motif" = no -a "$have_gtk" = no; then
2806 warnL "Neither Motif nor Gtk seem to be available;"
2807 warn2 "the \`xscreensaver-demo' program requires one of these."
2809 elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
2810 warnL "Use of Motif was requested, but it wasn't found;"
2811 warn2 "Gtk will be used instead."
2813 elif test "$jurassic_gtk" = yes ; then
2817 v="$ac_gtk_version_string"
2818 if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; then
2819 warnL "Use of Gtk was requested, but its version number is unknown;"
2820 elif test "$with_gtk_req" = yes ; then
2821 warnL "Use of Gtk was requested, but it is version $v;"
2823 warnL "Gtk was found on this system, but it is version $v;"
2826 warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
2828 elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
2829 warnL "Use of Gtk was requested, but it wasn't found;"
2830 warn2 "Motif will be used instead."
2835 if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then
2836 warn 'Use of the Gnome Control Panel was requested, but the necessary'
2837 warn2 'headers and/or libraries were not found.'
2841 if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
2843 preferred_lesstif=0.86
2845 if test "$lesstif_version" = unknown; then
2846 warnL "Unable to determine the LessTif version number!"
2847 warn2 "Make sure you are using version $preferred_lesstif or newer."
2848 warn2 "See <http://www.lesstif.org/>."
2850 elif test \! $lesstif_version -gt 82; then
2851 warnL "LessTif version $lesstif_version_string is being used."
2852 warn2 "LessTif versions 0.82 and earlier are too buggy to"
2853 warn2 "use with XScreenSaver; it is strongly recommended"
2854 warn2 "that you upgrade to at least version $preferred_lesstif!"
2855 warn2 "See <http://www.lesstif.org/>."
2861 if test "$have_xpm" = no ; then
2862 if test "$with_xpm_req" = yes ; then
2863 warnL 'Use of XPM was requested, but it was not found.'
2864 elif test "$with_xpm_req" = no ; then
2865 noteL 'The XPM library is not being used.'
2867 noteL 'The XPM library was not found.'
2871 warn2 'Some of the demos will not be as colorful as they'
2872 warn2 'could be. You might want to consider installing XPM'
2873 warn2 'and re-running configure. (Remember to delete the'
2874 warn2 'config.cache file first.) You can find XPM at most'
2875 warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
2879 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
2880 preferred_mesagl=3.0
2882 if test "$ac_mesagl_version" = unknown; then
2883 warnL "Unable to determine the MesaGL version number!"
2884 warn2 "Make sure you are using version $preferred_mesagl or newer."
2886 elif test \! "$ac_mesagl_version" -gt 2006; then
2887 warnL "MesaGL version $ac_mesagl_version_string is being used."
2888 warn2 "MesaGL versions 2.6 and earlier have a security bug."
2889 warn2 "It is strongly recommended that you upgrade to at"
2890 warn2 "least version $preferred_mesagl."
2894 if test "$have_gl" = no ; then
2895 if test "$with_gl_req" = yes ; then
2896 warnL 'Use of GL was requested, but it was not found.'
2897 elif test "$with_gl_req" = no ; then
2898 noteL 'The OpenGL 3D library is not being used.'
2900 noteL 'The OpenGL 3D library was not found.'
2903 if test "$gl_halfassed" = yes ; then
2905 warn2 'More specifically, we found the headers, but not the'
2906 warn2 'libraries; so either GL is half-installed on this'
2907 warn2 "system, or something else went wrong. The \`config.log'"
2908 warn2 'file might contain some clues.'
2912 warn2 'Those demos which use 3D will not be built or installed.'
2913 warn2 'You might want to consider installing OpenGL and'
2914 warn2 're-running configure. (Remember to delete the'
2915 warn2 "config.cache file first.) If your vendor doesn't ship"
2916 warn2 'their own implementation of OpenGL, you can get a free'
2917 warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
2918 warn2 'info, see <http://www.opengl.org/>.'
2923 if test "$have_gl" = yes -a "$have_gle" = no ; then
2924 if test "$with_gle_req" = yes ; then
2925 noteL 'Use of the GLE (GL Extrusion) library was requested, but'
2926 warn2 'it was not found (though the OpenGL library was found, and'
2927 warn2 'is being used.)'
2928 elif test "$with_gle_req" = no ; then
2929 noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)'
2930 warn2 'library is not.'
2932 noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
2936 if test "$gle_halfassed" = yes ; then
2938 warn2 'More specifically, we found the headers, but not the'
2939 warn2 'libraries; so either GLE is half-installed on this'
2940 warn2 "system, or something else went wrong. The \`config.log'"
2941 warn2 'file might contain some clues.'
2945 warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
2946 warn2 'will not be built or installed. You might want to consider'
2947 warn2 'installing GLE and re-running configure. (Remember to delete'
2948 warn2 'the config.cache file first.) You can find the GLE library'
2949 warn2 'at <http://www.linas.org/gle/>. For general OpenGL info,'
2950 warn2 'see <http://www.opengl.org/>.'
2955 if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
2956 warn 'Use of XReadDisplay was requested, but it was not found.'
2959 if test -n "$with_zippy_req"; then
2960 if test "$with_zippy_req" != "$ac_cv_zippy_program" ; then
2961 warnL "$with_zippy_req was requested as the Zippy program,"
2962 warn2 "but was not found. The default will be used instead."
2966 if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then
2967 warn 'Use of Kerberos was requested, but it was not found.'
2970 if test "$with_pam_req" = yes -a "$have_pam" = no ; then
2971 warn 'Use of PAM was requested, but it was not found.'
2974 if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then
2975 warn 'Use of shadow passwords was requested, but they were not found.'
2979 # You are in a twisty maze of namespaces and syntaxes, all alike.
2980 # Fuck the skull of Unix.
2982 eval bindir=${bindir}
2983 eval bindir=${bindir}
2984 eval bindir=${bindir}
2985 eval bindir=${bindir}
2986 eval bindir=${bindir}
2987 eval bindir=${bindir}
2988 eval HACKDIR=${HACKDIR}
2989 eval HACKDIR=${HACKDIR}
2990 eval HACKDIR=${HACKDIR}
2991 eval HACKDIR=${HACKDIR}
2992 eval HACKDIR=${HACKDIR}
2993 eval HACKDIR=${HACKDIR}
2995 # canonicalize slashes.
2996 bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
2997 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
3000 # Sanity check the subdir
3001 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
3002 if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
3004 AC_MSG_ERROR([\"--enable-subdir=${bindir}/${bad_choice}\" won't work.
3005 There will be an executable installed with that name, so
3006 that can't be the name of a directory as well. Please
3007 re-configure with a different directory name.])
3014 # Now let's see if there's a previous RPM version already installed. Blargh!
3018 rpmv=`(rpm -qv xscreensaver) 2>&- | \
3019 sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'`
3022 if test \! -z "$rpmv" ; then
3023 rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
3024 rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'`
3027 warnL "There is already an installed RPM of xscreensaver $rpmv"
3028 warn2 "on this system. You might want to remove it (with"
3029 warn2 '"rpm -ve xscreensaver") before running "make install"'
3030 warn2 "from this directory."
3032 warn2 "Alternately, you could build this version of xscreensaver"
3033 warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
3034 warn2 "file is included. See the RPM documentation for more info."
3037 if test "$rpmbdir" = "$rpmhdir" ; then
3038 warn2 "The RPM version was installed in $rpmbdir."
3040 warn2 "The RPM version was installed in $rpmbdir,"
3041 warn2 "with demos in $rpmhdir."
3048 # Warn about egregious GNOME bogosity.
3050 #if (rpm -qv control-center) >&- 2>&- ; then
3052 # warnL "The Gnome Control Center seems to be installed."
3054 # warn2 "Note that simply installing this version of xscreensaver"
3055 # warn2 "will not cause GNOME to know about the newly-added display"
3056 # warn2 "modes -- GNOME is just lame that way. Instead of using the"
3057 # warn2 "Control Center, try using the \`xscreensaver-demo' command."
3061 if test "${bindir}" = "${HACKDIR}" ; then
3065 if test "$do_dir_warning" = yes; then
3069 echo ' When you run "make install", the "xscreensaver",'
3070 echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
3071 echo " will be installed in ${bindir}."
3073 echo " The various graphics demos (120+ different executables) will"
3074 echo " also be installed in ${HACKDIR}."
3076 echo " If you would prefer the demos to be installed elsewhere"
3077 echo " (for example, in a dedicated directory) you should re-run"
3078 echo " configure with the --enable-subdir=DIR option. For more"
3079 echo " information, run $0 --help."
3083 if test "$warning" != no; then
3084 echo '' ; echo "$warnsep" ; echo ''