X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=0b6cdaf129eb1c464e7e3b60da8173aad4dc16e8;hb=f54438ea00f152166e68073e98000fd3a00f65cd;hp=d636d21ee0f3e645494c044c7f7858189f313cdc;hpb=2a991a811de4c7b22f812682b267b616a809fd9a;p=xscreensaver diff --git a/configure.in b/configure.in index d636d21e..0b6cdaf1 100644 --- a/configure.in +++ b/configure.in @@ -2,6 +2,10 @@ # AC_INIT(driver/subprocs.c) + +echo "current directory: `pwd`" +echo "command line was: $0 $@" + AC_CONFIG_HEADER(config.h) AC_CANONICAL_HOST @@ -129,10 +133,10 @@ AC_CACHE_VAL(ac_cv_gettimeofday_args, [ac_gettimeofday_args=0])]) ac_cv_gettimeofday_args=$ac_gettimeofday_args]) ac_gettimeofday_args=$ac_cv_gettimeofday_args -if test $ac_gettimeofday_args = 1 ; then +if test "$ac_gettimeofday_args" = 1 ; then AC_DEFINE(HAVE_GETTIMEOFDAY) AC_MSG_RESULT(one argument) -elif test $ac_gettimeofday_args = 2 ; then +elif test "$ac_gettimeofday_args" = 2 ; then AC_DEFINE(HAVE_GETTIMEOFDAY) AC_DEFINE(GETTIMEOFDAY_TWO_ARGS) AC_MSG_RESULT(two arguments) @@ -142,9 +146,9 @@ fi AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv) -AC_CHECK_FUNCS(sigaction) +AC_CHECK_FUNCS(sigaction syslog) -AC_CHECK_HEADERS(unistd.h crypt.h) +AC_CHECK_HEADERS(unistd.h crypt.h sys/select.h) dnl /usr/local/src/ssh-1.2.17/putenv.c -- AC_REPLACE_FUNCS(putenv) @@ -179,6 +183,9 @@ else fi fi +# canonicalize slashes. +HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` + AC_PATH_XTRA @@ -322,19 +329,19 @@ AC_DEFUN(AC_TRY_X_COMPILE, [ AC_DEFUN(AC_CHECK_X_LIB, [ ac_save_CPPFLAGS="$CPPFLAGS" ac_save_LDFLAGS="$LDFLAGS" + if test \! -z "$includedir" ; then CPPFLAGS="$CPPFLAGS -I$includedir" fi - if test \! -z "$includedir" ; then - CPPFLAGS="$CPPFLAGS -I$includedir" - fi + # note: $X_CFLAGS includes $x_includes + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + if test \! -z "$libdir" ; then LDFLAGS="$LDFLAGS -L$libdir" fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - if test \! -z "$x_libraries" ; then - LDFLAGS="$LDFLAGS -L$x_libraries" - fi + # note: $X_LIBS includes $x_libraries + LDFLAGS="$LDFLAGS $X_LIBS" + AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5]) CPPFLAGS="$ac_save_CPPFLAGS" LDFLAGS="$ac_save_LDFLAGS"]) @@ -428,7 +435,7 @@ AC_CACHE_CHECK([for XPointer], ac_cv_xpointer, [XPointer foo = (XPointer) 0;], [ac_cv_xpointer=yes], [ac_cv_xpointer=no])]) -if test $ac_cv_xpointer != yes; then +if test "$ac_cv_xpointer" != yes; then AC_DEFINE(XPointer,[char*]) fi @@ -555,7 +562,7 @@ esac # have_xmu=no AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes]) -if test $have_xmu = no ; then +if test "$have_xmu" = no ; then XMU_SRCS='$(UTILS_SRC)/xmu.c' XMU_OBJS='$(UTILS_BIN)/xmu.o' else @@ -563,6 +570,7 @@ else XMU_OBJS='' SAVER_LIBS="-lXmu $SAVER_LIBS" HACK_LIBS="-lXmu $HACK_LIBS" + TOOLKIT_LIBS="-lXmu $TOOLKIT_LIBS" AC_DEFINE(HAVE_XMU) fi @@ -570,7 +578,7 @@ fi # See comp.windows.x FAQ question 124 about _get_wmShellWidgetClass on 4.1.x. # The right fix is to get OpenWindows 3.0 patches 100512-02 and 100573-03. # -if test $have_xmu = yes ; then +if test "$have_xmu" = yes ; then case "$host" in *-sunos4*) AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug], @@ -587,14 +595,14 @@ if test $have_xmu = yes ; then [ac_cv_sunos_xmu_bug=no], [ac_cv_sunos_xmu_bug=yes]) LDFLAGS="$ac_save_LDFLAGS"]) - if test $ac_cv_sunos_xmu_bug = yes ; then + if test "$ac_cv_sunos_xmu_bug" = yes ; then AC_CACHE_CHECK([whether the compiler understands -static], ac_cv_ld_static, [ac_save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -static" AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no]) LDFLAGS="$ac_save_LDFLAGS"]) - if test $ac_cv_ld_static = yes ; then + if test "$ac_cv_ld_static" = yes ; then LDFLAGS="$LDFLAGS -static" else LDFLAGS="$LDFLAGS -Bstatic" @@ -624,12 +632,12 @@ X Server Extension options: HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER) -if test $with_sgi = yes; then +if test "$with_sgi" = yes; then AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h, [have_sgi=yes AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)]) -elif test $with_sgi != no; then +elif test "$with_sgi" != no; then echo "error: must be yes or no: --with-sgi-ext=$with_sgi" exit 1 fi @@ -647,17 +655,17 @@ AC_ARG_WITH(mit-ext, HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER) -if test $have_sgi != yes; then - if test $with_mit = yes; then +if test "$have_sgi" != yes; then + if test "$with_mit" = yes; then AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes]) # Now check to see if it's really in the library; XF86Free-3.3 ships # scrnsaver.h, but doesn't include the code in libXext.a, the idiots! # - if test $have_mit = yes; then + if test "$have_mit" = yes; then AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [], [have_mit=no], -lm) - if test $have_mit = no; then + if test "$have_mit" = no; then # Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead # of in Xext. Thank you master, may I have another. AC_CHECK_X_LIB(XExExt, XScreenSaverRegister, @@ -665,7 +673,7 @@ if test $have_sgi != yes; then [], -lX11 -lXext -lm) fi - if test $have_mit = no; then + if test "$have_mit" = no; then # Double fuck! Looks like some versions of XFree86 (whichever version # it is that comes with RedHat Linux 2.0 -- I can't find a version # number) put this garbage in Xss instead of Xext. Thank you master, @@ -675,13 +683,13 @@ if test $have_sgi != yes; then [], -lX11 -lXext -lm) fi - if test $have_mit = yes; then + if test "$have_mit" = yes; then AC_DEFINE(HAVE_MIT_SAVER_EXTENSION) fi fi - elif test $with_mit != no; then + elif test "$with_mit" != no; then echo "error: must be yes or no: --with-mit-ext=$with_mit" exit 1 fi @@ -700,11 +708,11 @@ AC_ARG_WITH(xidle-ext, HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE) -if test $with_xidle = yes; then +if test "$with_xidle" = yes; then AC_CHECK_X_HEADER(X11/extensions/xidle.h, [have_xidle=yes AC_DEFINE(HAVE_XIDLE_EXTENSION)]) -elif test $with_xidle != no; then +elif test "$with_xidle" != no; then echo "error: must be yes or no: --with-xidle-ext=$with_xidle" exit 1 fi @@ -722,19 +730,19 @@ AC_ARG_WITH(xshm-ext, HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM) -if test $with_xshm = yes; then +if test "$with_xshm" = yes; then # first check for Xshm.h. AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes]) # if that succeeded, then check for sys/ipc.h. - if test $have_xshm = yes; then + if test "$have_xshm" = yes; then have_xshm=no AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes]) fi # if that succeeded, then check for sys/shm.h. - if test $have_xshm = yes; then + if test "$have_xshm" = yes; then have_xshm=no AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes]) fi @@ -754,11 +762,11 @@ if test $with_xshm = yes; then esac # if that succeeded, then we've really got it. - if test $have_xshm = yes; then + if test "$have_xshm" = yes; then AC_DEFINE(HAVE_XSHM_EXTENSION) fi -elif test $with_xshm != no; then +elif test "$with_xshm" != no; then echo "error: must be yes or no: --with-xshm-ext=$with_xshm" exit 1 fi @@ -776,13 +784,13 @@ AC_ARG_WITH(sgivc-ext, HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL) -if test $with_sgivc = yes; then +if test "$with_sgivc" = yes; then # first check for XSGIvc.h AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes]) # if that succeeded, then check for the -lXsgivc - if test $have_sgivc = yes; then + if test "$have_sgivc" = yes; then have_sgivc=no AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap, [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [], @@ -790,11 +798,11 @@ if test $with_sgivc = yes; then fi # if that succeeded, then we've really got it. - if test $have_sgivc = yes; then + if test "$have_sgivc" = yes; then AC_DEFINE(HAVE_SGI_VC_EXTENSION) fi -elif test $with_sgivc != no; then +elif test "$with_sgivc" != no; then echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc" exit 1 fi @@ -812,13 +820,13 @@ AC_ARG_WITH(dpms-ext, HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS) -if test $with_dpms = yes; then +if test "$with_dpms" = yes; then # first check for dpms.h AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes]) # if that succeeded, then check for the -lXdpms - if test $have_dpms = yes; then + if test "$have_dpms" = yes; then have_dpms=no AC_CHECK_X_LIB(Xdpms, DPMSInfo, [have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms"], [], @@ -826,11 +834,11 @@ if test $with_dpms = yes; then fi # if that succeeded, then we've really got it. - if test $have_dpms = yes; then + if test "$have_dpms" = yes; then AC_DEFINE(HAVE_DPMS_EXTENSION) fi -elif test $with_dpms != no; then +elif test "$with_dpms" != no; then echo "error: must be yes or no: --with-dpms-ext=$with_dpms" exit 1 fi @@ -863,25 +871,25 @@ AC_ARG_WITH(athena, HANDLE_X_PATH_ARG(with_athena, --with-athena, Athena) -if test $with_motif != yes -a $with_motif != no ; then +if test "$with_motif" != yes -a "$with_motif" != no ; then echo "error: must be yes or no: --with-motif=$with_motif" exit 1 fi -if test $with_athena != yes -a $with_athena != no ; then +if test "$with_athena" != yes -a "$with_athena" != no ; then echo "error: must be yes or no: --with-athena=$with_athena" exit 1 fi # Saying --without-motif is the same as saying --with-athena. -if test $with_motif_req = no ; then +if test "$with_motif_req" = no ; then with_athena_req=yes with_athena=yes fi # Saying --without-athena is the same as saying --with-motif. -if test $with_athena_req = no ; then +if test "$with_athena_req" = no ; then with_motif_req=yes with_motif=yes fi @@ -892,21 +900,23 @@ check_motif() { AC_CHECK_X_HEADER(Xm/Xm.h, [have_motif=yes AC_DEFINE(HAVE_MOTIF) - SAVER_LIBS="-lXm $SAVER_LIBS"]) + TOOLKIT_LIBS="-lXm $TOOLKIT_LIBS"]) } check_athena() { have_athena=no have_athena3d=no AC_CHECK_X_HEADER(X11/Xaw/Dialog.h, [have_athena=yes]) - AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB, - [have_athena=yes; have_athena3d=yes], [], - -lXt -lXmu -lXext -lX11) - - if test $have_athena3d = yes; then - SAVER_LIBS="-lXaw3d $SAVER_LIBS" - elif test $have_athena = yes; then - SAVER_LIBS="-lXaw $SAVER_LIBS" + if test "$have_athena" = yes; then + AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB, + [have_athena=yes; have_athena3d=yes], [], + -lXt -lXmu -lXext -lX11) + fi + + if test "$have_athena3d" = yes; then + TOOLKIT_LIBS="-lXaw3d $TOOLKIT_LIBS" + elif test "$have_athena" = yes; then + TOOLKIT_LIBS="-lXaw $TOOLKIT_LIBS" fi } @@ -917,20 +927,20 @@ check_athena() { # If they asked for neither, check motif then athena. proselytize_motif=yes -if test $with_motif = yes; then +if test "$with_motif" = yes; then # asked for both, or for motif only check_motif - if test $have_motif = yes; then + if test "$have_motif" = yes; then with_athena=no with_athena_req=no else check_athena fi -elif test $with_athena = yes; then +elif test "$with_athena" = yes; then # asked for athena only check_athena - if test $have_athena = yes; then + if test "$have_athena" = yes; then with_motif=no proselytize_motif=no else @@ -940,7 +950,7 @@ elif test $with_athena = yes; then else # asked for neither check_motif - if test $have_motif = yes; then + if test "$have_motif" = yes; then with_athena=no else check_athena @@ -948,20 +958,20 @@ else fi -if test $have_motif = yes; then +if test "$have_motif" = yes; then proselytize_motif=no fi # If we have Athena, check whether it's a version that includes # XawViewportSetCoordinates in Viewport.h (R3 (or R4?) don't.) -if test $have_athena = yes ; then +if test "$have_athena" = yes ; then AC_CACHE_CHECK([for XawViewportSetCoordinates in Viewport.h], ac_cv_have_XawViewportSetCoordinates, [ac_cv_have_XawViewportSetCoordinates=no AC_EGREP_X_HEADER(XawViewportSetCoordinates, X11/Xaw/Viewport.h, ac_cv_have_XawViewportSetCoordinates=yes)]) - if test $ac_cv_have_XawViewportSetCoordinates = yes ; then + if test "$ac_cv_have_XawViewportSetCoordinates" = yes ; then AC_DEFINE(HAVE_XawViewportSetCoordinates) fi fi @@ -970,7 +980,7 @@ fi # If we have Motif, check whether it's really LessTif. # have_lesstif=no -if test $have_motif = yes ; then +if test "$have_motif" = yes ; then AC_CACHE_CHECK([whether Motif is really LessTif], ac_cv_have_lesstif, [AC_TRY_X_COMPILE([#include ], @@ -987,7 +997,7 @@ unset ac_cv_lesstif_version_string lesstif_version=unknown lesstif_version_string=unknown -if test $have_lesstif = yes ; then +if test "$have_lesstif" = yes ; then ltv=unknown echo unknown > conftest-lt AC_CACHE_CHECK([LessTif version number], @@ -1021,14 +1031,27 @@ fi # I have no idea. # have_xp_ext=no -if test $have_motif = yes ; then +if test "$have_motif" = yes ; then have_xp_ext=no AC_CHECK_X_LIB(Xp, XpQueryExtension, - [have_xp_ext=yes; SAVER_LIBS="$SAVER_LIBS -lXp"], + [have_xp_ext=yes; TOOLKIT_LIBS="$TOOLKIT_LIBS -lXp"], [], -lX11 -lXext -lm) fi +# Check for _Xsetlocale in -lXintl, since at least some recent versions +# of Motif (on Linux) need it. +# +have_xintl=no +if test "$have_motif" = yes ; then + AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no], + -lX11 -lXext -lm) + if test "$have_xintl" = yes; then + TOOLKIT_LIBS="$TOOLKIT_LIBS -lXintl" + fi +fi + + # check for XPM header. # have_xpm=no @@ -1043,12 +1066,12 @@ Graphics Demo options: HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM) -if test $with_xpm = yes; then +if test "$with_xpm" = yes; then AC_CHECK_X_HEADER(X11/xpm.h, [have_xpm=yes AC_DEFINE(HAVE_XPM) XPM_LIBS="-lXpm"]) -elif test $with_xpm != no; then +elif test "$with_xpm" != no; then echo "error: must be yes or no: --with-xpm=$with_xpm" exit 1 fi @@ -1070,15 +1093,15 @@ HANDLE_X_PATH_ARG(with_gl, --with-gl, GL) ac_mesagl_version=unknown ac_mesagl_version_string=unknown -if test $with_gl = yes; then +if test "$with_gl" = yes; then AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no) - if test $have_gl = yes ; then + if test "$have_gl" = yes ; then AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no) fi # If we have the headers, try and figure out which vendor it's from. # - if test $have_gl = yes ; then + if test "$have_gl" = yes ; then AC_DEFINE(HAVE_GL) @@ -1093,7 +1116,7 @@ if test $with_gl = yes; then ac_have_mesa_gl=$ac_cv_have_mesa_gl AC_MSG_RESULT($ac_have_mesa_gl) - if test $ac_have_mesa_gl = no ; then + if test "$ac_have_mesa_gl" = no ; then gl_lib_1="GL" GL_LIBS="-lGL -lGLU" else @@ -1106,7 +1129,7 @@ if test $with_gl = yes; then # If it's MesaGL, we'd like to issue a warning if the version number # is less than or equal to 2.6, because that version had a security bug. # - if test $ac_have_mesa_gl = yes; then + if test "$ac_have_mesa_gl" = yes; then # don't cache these. unset ac_cv_mesagl_version @@ -1118,11 +1141,25 @@ if test $with_gl = yes; then #line __oline__ "configure" #include "confdefs.h" #include -#configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION +configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION EOF + ac_save_CPPFLAGS="$CPPFLAGS" + if test \! -z "$includedir" ; then + CPPFLAGS="$CPPFLAGS -I$includedir" + fi + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + + # M4 sucks!! + changequote(X,Y) mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \ - 's/^#configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'` + 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'` + changequote([,]) + + rm -f conftest.$ac_ext + + CPPFLAGS="$ac_save_CPPFLAGS" + if test "$mglv" = ""; then ac_mesagl_version=unknown ac_mesagl_version_string=unknown @@ -1131,6 +1168,10 @@ EOF maj=`echo $mglv | sed -n 's/\..*//p'` min=`echo $mglv | sed -n 's/.*\.//p'` ac_mesagl_version=`echo "$maj * 1000 + $min" | bc` + if test -z "$ac_mesagl_version"; then + ac_mesagl_version=unknown + ac_mesagl_version_string=unknown + fi fi ac_cv_mesagl_version=$ac_mesagl_version ac_cv_mesagl_version_string=$ac_mesagl_version_string @@ -1141,6 +1182,24 @@ EOF fi + # If it's MesaGL, check to see if it requires -lpthread. + # + have_pthread=no + mesa_requires_pthread=false + if test "$ac_have_mesa_gl" = yes; then + + AC_CHECK_LIB(pthread, pthread_create, [have_pthread=yes], [],) + if test "$have_pthread" = yes; then + AC_CHECK_X_LIB($gl_lib_1, gl_get_thread_context, + [mesa_requires_pthread=yes], [], + $GL_LIBS -lpthread -lX11 -lXext -lm) + fi + + if test "$mesa_requires_pthread" = yes; then + GL_LIBS="$GL_LIBS -lpthread" + fi + fi + # Check for OpenGL 1.1 features. # AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)], @@ -1148,7 +1207,7 @@ EOF fi -elif test $with_gl != no; then +elif test "$with_gl" != no; then echo "error: must be yes or no: --with-gl=$with_gl" exit 1 fi @@ -1167,10 +1226,10 @@ AC_ARG_WITH(readdisplay, HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay) -if test $with_readdisplay = yes; then +if test "$with_readdisplay" = yes; then AC_CHECK_X_HEADER(X11/extensions/readdisplay.h, AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION)) -elif test $with_readdisplay != no; then +elif test "$with_readdisplay" != no; then echo "error: must be yes or no: --with-readdisplay=$with_readdisplay" exit 1 fi @@ -1189,18 +1248,18 @@ AC_ARG_WITH(sgivideo, HANDLE_X_PATH_ARG(with_sgivideo, --with-sgivideo, Iris Video) -if test $with_sgivideo = yes; then +if test "$with_sgivideo" = yes; then AC_CHECK_X_HEADER(dmedia/vl.h, have_sgivideo=yes) - if test $have_sgivideo = yes; then + if test "$have_sgivideo" = yes; then have_sgivideo=no AC_CHECK_LIB(vl, vlOpenVideo, have_sgivideo=yes) - if test $have_sgivideo = yes; then + if test "$have_sgivideo" = yes; then SGI_VIDEO_OBJS="$(UTILS_BIN)/sgivideo.o" SGI_VIDEO_LIBS="-lvl" AC_DEFINE(HAVE_SGI_VIDEO) fi fi -elif test $with_sgivideo != no; then +elif test "$with_sgivideo" != no; then echo "error: must be yes or no: --with-sgivideo=$with_sgivideo" exit 1 fi @@ -1281,7 +1340,7 @@ if test ! -n "$ac_cv_zippy_program"; then # # try running libexec/yow and see if it exits without error. # - if test x"$dir" != x -a -x $dir/yow ; then + if test x"$dir" != x -a -x "$dir/yow" ; then if $dir/yow >&- 2>&- ; then ac_cv_zippy_program="$dir/yow" AC_MSG_RESULT($ac_cv_zippy_program) @@ -1303,7 +1362,7 @@ if test ! -n "$ac_cv_zippy_program"; then # # try running libexec/yow and see if it exits without error. # - if test x"$dir" != x -a -x $dir/yow ; then + if test x"$dir" != x -a -x "$dir/yow" ; then if $dir/yow >&- 2>&- ; then ac_cv_zippy_program="$dir/yow" AC_MSG_RESULT($ac_cv_zippy_program) @@ -1357,6 +1416,8 @@ have_kerberos=no with_kerberos_req=unspecified have_shadow=no with_shadow_req=unspecified +have_pam=no +with_pam_req=unspecified need_setuid=no AC_ARG_ENABLE(locking,[ @@ -1366,9 +1427,9 @@ Screen Locking options: (this is the default.) --disable-locking Do not allow locking at all.], [enable_locking="$enableval"],[enable_locking=yes]) -if test $enable_locking = yes; then +if test "$enable_locking" = yes; then true -elif test $enable_locking = no; then +elif test "$enable_locking" = no; then AC_DEFINE(NO_LOCKING) else echo "error: must be yes or no: --enable-locking=$enable_locking" @@ -1388,9 +1449,9 @@ AC_ARG_ENABLE(vt-locking,[ --disable-vt-locking Do not allow locking of VTs, even if locking is enabled.], [enable_vt_locking="$enableval"],[enable_vt_locking=yes]) -if test $enable_vt_locking = yes; then +if test "$enable_vt_locking" = yes; then - AC_MSG_CHECKING(for VT_LOCKSWITCH ioctl) + AC_MSG_CHECKING(for the VT_LOCKSWITCH ioctl) AC_CACHE_VAL(ac_cv_vt_lockswitch, [AC_TRY_COMPILE([#include #include @@ -1401,22 +1462,23 @@ if test $enable_vt_locking = yes; then ac_vt_lockswitch=$ac_cv_vt_lockswitch AC_MSG_RESULT($ac_vt_lockswitch) -elif test $enable_locking = no; then +elif test "$enable_locking" = no; then true else echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking" exit 1 fi -if test $ac_vt_lockswitch = yes; then +if test "$ac_vt_lockswitch" = yes; then AC_DEFINE(HAVE_VT_LOCKSWITCH) # the VT_LOCKSWITCH ioctl can only be used when running as root. - need_setuid=yes + # #### but it doesn't work yet, so don't worry about that for now. +# need_setuid=yes fi -if test $enable_locking = yes; then +if test "$enable_locking" = yes; then # Check for Kerberos. # @@ -1428,12 +1490,12 @@ if test $enable_locking = yes; then HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos) - if test $with_kerberos = yes; then + if test "$with_kerberos" = yes; then AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos, [AC_TRY_X_COMPILE([#include ],, [ac_cv_kerberos=yes], [ac_cv_kerberos=no])]) - if test $ac_cv_kerberos = yes ; then + if test "$ac_cv_kerberos" = yes ; then have_kerberos=yes AC_DEFINE(HAVE_KERBEROS) @@ -1445,26 +1507,53 @@ if test $enable_locking = yes; then )) fi - elif test $with_kerberos != no; then + elif test "$with_kerberos" != no; then echo "error: must be yes or no: --with-kerberos=$with_kerberos" exit 1 fi + + # Check for PAM. + AC_ARG_WITH(pam, +[ --with-pam Include support for PAM (Pluggable Authentication + Modules) if possible (this is the default.) + --without-pam Do not compile in support for PAM.], + [with_pam="$withval"; with_pam_req="$withval"],[with_pam=no]) +#### Leave PAM off by default for now, since it's buggy on Solaris +#### (and probably Linux, but it's so hard to tell...) + + HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM) + + if test "$with_pam" = yes; then + AC_CACHE_CHECK([for PAM], ac_cv_pam, + [AC_TRY_X_COMPILE([#include ],, + [ac_cv_pam=yes], + [ac_cv_pam=no])]) + if test "$ac_cv_pam" = yes ; then + have_pam=yes + AC_DEFINE(HAVE_PAM) + PASSWD_LIBS="${PASSWD_LIBS} -lpam -ldl" + fi + elif test "$with_pam" != no; then + echo "error: must be yes or no: --with-pam=$with_pam" + exit 1 + fi # Next, check for the nine billion variants of shadow passwords... - passwd_cruft_done=no + pwent_cruft_done=no AC_ARG_WITH(shadow, [ --with-shadow Include support for shadow password authentication, - if possible (this is the default, if no Kerberos.) + if possible (this is the default, if no Kerberos or + PAM.) --without-shadow Do not compile in support for shadow passwords. ], [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes]) HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password) - if test $with_shadow = no; then - passwd_cruft_done=yes - elif test $with_shadow != yes; then + if test "$with_shadow" = no; then + pwent_cruft_done=yes + elif test "$with_shadow" != yes; then echo "error: must be yes or no: --with-shadow=$with_shadow" exit 1 fi @@ -1472,7 +1561,7 @@ if test $enable_locking = yes; then # Sun's "adjunct" passwords. # - if test $passwd_cruft_done = no ; then + if test "$pwent_cruft_done" = no ; then AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct, [AC_TRY_X_COMPILE([#include #include @@ -1484,17 +1573,17 @@ if test $enable_locking = yes; then const char *pw = p->pwa_passwd;], [ac_cv_sun_adjunct=yes], [ac_cv_sun_adjunct=no])]) - if test $ac_cv_sun_adjunct = yes; then + if test "$ac_cv_sun_adjunct" = yes; then have_shadow=yes need_setuid=yes - passwd_cruft_done=yes + pwent_cruft_done=yes AC_DEFINE(HAVE_ADJUNCT_PASSWD) fi fi # DEC and SCO so-called "enhanced" security. # - if test $passwd_cruft_done = no ; then + if test "$pwent_cruft_done" = no ; then AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd, [AC_TRY_X_COMPILE([#include #include @@ -1513,7 +1602,7 @@ if test $enable_locking = yes; then if test $ac_cv_enhanced_passwd = yes; then have_shadow=yes need_setuid=yes - passwd_cruft_done=yes + pwent_cruft_done=yes AC_DEFINE(HAVE_ENHANCED_PASSWD) # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx) @@ -1529,7 +1618,7 @@ if test $enable_locking = yes; then # HP's entry in the "Not Invented Here" Sweepstakes. # - if test $passwd_cruft_done = no ; then + if test "$pwent_cruft_done" = no ; then AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd, [AC_TRY_X_COMPILE([#include #include @@ -1541,10 +1630,10 @@ if test $enable_locking = yes; then const char *pw = p->pw_passwd;], [ac_cv_hpux_passwd=yes], [ac_cv_hpux_passwd=no])]) - if test $ac_cv_hpux_passwd = yes; then + if test "$ac_cv_hpux_passwd" = yes; then have_shadow=yes need_setuid=yes - passwd_cruft_done=yes + pwent_cruft_done=yes AC_DEFINE(HAVE_HPUX_PASSWD) # on HPUX, bigcrypt is in -lsec @@ -1554,7 +1643,7 @@ if test $enable_locking = yes; then # Traditional (ha!) shadow passwords. # - if test $passwd_cruft_done = no ; then + if test "$pwent_cruft_done" = no ; then AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow, [AC_TRY_X_COMPILE([#include #include @@ -1565,16 +1654,16 @@ if test $enable_locking = yes; then const char *pw = p->sp_pwdp;], [ac_cv_shadow=yes], [ac_cv_shadow=no])]) - if test $ac_cv_shadow = yes; then + if test "$ac_cv_shadow" = yes; then have_shadow=yes need_setuid=yes - passwd_cruft_done=yes + pwent_cruft_done=yes AC_DEFINE(HAVE_SHADOW_PASSWD) # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc. have_getspnam=no AC_CHECK_LIB(c, getspnam, [have_getspnam=yes]) - if test $have_getspnam = no ; then + if test "$have_getspnam" = no ; then AC_CHECK_LIB(gen, getspnam, [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"]) fi @@ -1586,25 +1675,25 @@ if test $enable_locking = yes; then # program is setuid. So, guess that we've got this lossage to contend with # if /etc/master.passwd exists, and default to a setuid installation. # - if test $passwd_cruft_done = no ; then + if test "$pwent_cruft_done" = no ; then AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd, [if test -f /etc/master.passwd ; then ac_cv_master_passwd=yes else ac_cv_master_passwd=no fi]) - if test $ac_cv_master_passwd = yes; then + if test "$ac_cv_master_passwd" = yes; then need_setuid=yes - passwd_cruft_done=yes + pwent_cruft_done=yes fi fi # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc. have_crypt=no AC_CHECK_LIB(c, crypt, [have_crypt=yes]) - if test $have_crypt = no ; then + if test "$have_crypt" = no ; then AC_CHECK_LIB(crypt, crypt, - [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) + [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) fi @@ -1612,7 +1701,7 @@ if test $enable_locking = yes; then # if they were found. But, on some systems, we need setuid even when # using plain old vanilla passwords. # - if test $need_setuid = no ; then + if test "$need_setuid" = no ; then case "$host" in *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* ) need_setuid=yes @@ -1623,7 +1712,6 @@ if test $enable_locking = yes; then fi - if test \! -z "$includedir" ; then INCLUDES="-I$includedir" fi @@ -1641,28 +1729,33 @@ DEPEND_DEFINES= # Done testing things -- now substitute in some stuff for the Makefiles. # -if test $have_motif = yes; then +if test "$have_motif" = yes; then AC_DEFINE(HAVE_MOTIF) - DIALOG_SRCS='$(MOTIF_SRCS)' - DIALOG_OBJS='$(MOTIF_OBJS)' -elif test $have_athena = yes; then + TOOLKIT_SRCS='$(MOTIF_SRCS)' + TOOLKIT_OBJS='$(MOTIF_OBJS)' +elif test "$have_athena" = yes; then AC_DEFINE(HAVE_ATHENA) - DIALOG_SRCS='$(ATHENA_SRCS)' - DIALOG_OBJS='$(ATHENA_OBJS)' + TOOLKIT_SRCS='$(ATHENA_SRCS)' + TOOLKIT_OBJS='$(ATHENA_OBJS)' else - DIALOG_SRCS='' - DIALOG_OBJS='' + TOOLKIT_SRCS='' + TOOLKIT_OBJS='' fi -if test $have_kerberos = yes; then - PASSWD_SRCS='$(KERBEROS_SRCS)' - PASSWD_OBJS='$(KERBEROS_OBJS)' -else - PASSWD_SRCS='$(PWENT_SRCS)' - PASSWD_OBJS='$(PWENT_OBJS)' +if test "$have_kerberos" = yes; then + PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)" + PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)" +fi +if test "$have_pam" = yes; then + PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)" + PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)" + INSTALL_PAM="install-pam" fi + PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)" + PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)" -if test $enable_locking = yes; then + +if test "$enable_locking" = yes; then LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)' LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)' else @@ -1670,7 +1763,7 @@ else LOCK_OBJS='' fi -if test $need_setuid = yes; then +if test "$need_setuid" = yes; then NEED_SETUID=yes INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)' else @@ -1679,18 +1772,17 @@ else fi tab=' ' -if test $have_gl = yes; then +if test "$have_gl" = yes; then GL_EXES='$(GL_EXES)' - GL_KLUDGE_1=${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}' \' - GL_KLUDGE_2=${tab} + GL_KLUDGE=${tab} else - GL_KLUDGE_1=${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}'\n' - GL_KLUDGE_2='!'${tab} + GL_KLUDGE=' -'${tab} fi AC_SUBST(INCLUDES) AC_SUBST(SAVER_LIBS) +AC_SUBST(TOOLKIT_LIBS) AC_SUBST(HACK_LIBS) AC_SUBST(XPM_LIBS) AC_SUBST(GL_LIBS) @@ -1698,11 +1790,12 @@ AC_SUBST(PASSWD_LIBS) AC_SUBST(INSTALL_SETUID) AC_SUBST(INSTALL_DIRS) AC_SUBST(NEED_SETUID) +AC_SUBST(INSTALL_PAM) AC_SUBST(SGI_VIDEO_OBJS) AC_SUBST(SGI_VIDEO_LIBS) -AC_SUBST(DIALOG_SRCS) -AC_SUBST(DIALOG_OBJS) +AC_SUBST(TOOLKIT_SRCS) +AC_SUBST(TOOLKIT_OBJS) AC_SUBST(PASSWD_SRCS) AC_SUBST(PASSWD_OBJS) AC_SUBST(XMU_SRCS) @@ -1710,8 +1803,7 @@ AC_SUBST(XMU_OBJS) AC_SUBST(LOCK_SRCS) AC_SUBST(LOCK_OBJS) AC_SUBST(GL_EXES) -AC_SUBST(GL_KLUDGE_1) -AC_SUBST(GL_KLUDGE_2) +AC_SUBST(GL_KLUDGE) AC_SUBST(HACKDIR) AC_SUBST(APPDEFAULTS) @@ -1729,7 +1821,7 @@ warning=no warnsep=' #################################################################' warnpre() { - if test $warning = no ; then + if test "$warning" = no ; then echo '' ; echo "$warnsep" ; echo '' warning=yes fi @@ -1737,7 +1829,7 @@ warnpre() { warn() { warnpre - if test $warning = long ; then echo '' ; fi + if test "$warning" = long ; then echo '' ; fi warning=yes echo "$warn_prefix $@" } @@ -1746,7 +1838,7 @@ warnL() { was=$warning warnpre warning=yes - if test $was != no ; then echo '' ; fi + if test "$was" != no ; then echo '' ; fi echo "$warn_prefix $@" } @@ -1768,49 +1860,50 @@ noteL() { } -if test $with_sgi_req = yes -a $have_sgi = no ; then +if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then warn 'The SGI saver extension was requested, but was not found.' fi -if test $with_mit_req = yes -a $have_mit = no ; then +if test "$with_mit_req" = yes -a "$have_mit" = no ; then warn 'The MIT saver extension was requested, but was not found.' fi -if test $with_xidle_req = yes -a $have_xidle = no ; then +if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then warn 'The XIdle extension was requested, but was not found.' fi -if test $with_xshm_req = yes -a $have_xshm = no ; then +if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then warn 'The XSHM extension was requested, but was not found.' fi -if test $with_sgivc_req = yes -a $have_sgivc = no ; then +if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.' fi -if test $with_dpms_req = yes -a $have_dpms = no ; then +if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then warn 'The DPMS extension was requested, but was not found.' fi -if test $have_motif = no -a $have_athena = no ; then +if test "$have_motif" = no -a "$have_athena" = no ; then warnL "Neither Motif nor Athena widgets seem to be available;" - warn2 "one or the other is required." + warn2 "the \`xscreensaver-demo' program requires one or the" + warn2 "other." proselytize_motif=no -elif test $with_motif_req = yes -a $have_motif = no ; then +elif test "$with_motif_req" = yes -a "$have_motif" = no ; then warnL "Use of Motif was requested, but it wasn't found;" warn2 "Athena will be used instead." -elif test $with_athena_req = yes -a $have_athena = no ; then +elif test "$with_athena_req" = yes -a "$have_athena" = no ; then warnL "Use of Athena was requested, but it wasn't found;" warn2 "Motif will be used instead." fi -if test $have_motif = yes -a $have_lesstif = yes ; then +if test "$have_motif" = yes -a "$have_lesstif" = yes ; then preferred_lesstif=0.86 - if test $lesstif_version = unknown; then + if test "$lesstif_version" = unknown; then warnL "Unable to determine the LessTif version number!" warn2 "Make sure you are using version $preferred_lesstif or newer." warn2 "See ." @@ -1824,24 +1917,24 @@ if test $have_motif = yes -a $have_lesstif = yes ; then fi fi -if test $proselytize_motif = yes ; then +if test "$proselytize_motif" = yes ; then warnL "Athena widgets are being used instead of Motif." - warn2 "XScreenSaver looks much better with Motif, and has" - warn2 "a few extra features as well. Wouldn't you rather" - warn2 "be using Motif? It is shipped by every commercial" - warn2 "Unix vendor; and there is a free implementation" - warn2 "available as well: see ." + warn2 "The \`xscreensaver-demo' program looks much better" + warn2 "with Motif. Wouldn't you rather be using Motif?" + warn2 "It is shipped by every commercial Unix vendor;" + warn2 "and there is a free implementation available as" + warn2 "well: see ." fi -if test $have_gl = yes -a $ac_have_mesa_gl = yes ; then +if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then preferred_mesagl=2.7 - if test $ac_mesagl_version = unknown; then + if test "$ac_mesagl_version" = unknown; then warnL "Unable to determine the MesaGL version number!" warn2 "Make sure you are using version $preferred_mesagl or newer." - elif test \! $ac_mesagl_version -gt 2006; then + elif test \! "$ac_mesagl_version" -gt 2006; then warnL "MesaGL version $ac_mesagl_version_string is being used." warn2 "MesaGL versions 2.6 and earlier have a security bug." warn2 "It is strongly recommended that you upgrade to at" @@ -1850,10 +1943,10 @@ if test $have_gl = yes -a $ac_have_mesa_gl = yes ; then fi -if test $have_xpm = no ; then - if test $with_xpm_req = yes ; then +if test "$have_xpm" = no ; then + if test "$with_xpm_req" = yes ; then warnL 'Use of XPM was requested, but it was not found.' - elif test $with_xpm_req = no ; then + elif test "$with_xpm_req" = no ; then noteL 'The XPM library is not being used.' else noteL 'The XPM library was not found.' @@ -1867,10 +1960,10 @@ if test $have_xpm = no ; then warn2 'X11 archive sites, such as .' fi -if test $have_gl = no ; then - if test $with_gl_req = yes ; then +if test "$have_gl" = no ; then + if test "$with_gl_req" = yes ; then warnL 'Use of GL was requested, but it was not found.' - elif test $with_gl_req = no ; then + elif test "$with_gl_req" = no ; then noteL 'The OpenGL 3D library is not being used.' else noteL 'The OpenGL 3D library was not found.' @@ -1887,19 +1980,23 @@ if test $have_gl = no ; then fi -if test $with_readdisplay_req = yes -a $have_readdisplay = no ; then +if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then warn 'Use of XReadDisplay was requested, but it was not found.' fi -if test $with_sgivideo_req = yes -a $have_sgivideo = no ; then +if test "$with_sgivideo_req" = yes -a "$have_sgivideo" = no ; then warn 'Use of the Iris Video Library was requested, but it was not found.' fi -if test $with_kerberos_req = yes -a $have_kerberos = no ; then +if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then warn 'Use of Kerberos was requested, but it was not found.' fi -if test $with_shadow_req = yes -a $have_shadow = no ; then +if test "$with_pam_req" = yes -a "$have_pam" = no ; then + warn 'Use of PAM was requested, but it was not found.' +fi + +if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then warn 'Use of shadow passwords was requested, but they were not found.' fi @@ -1910,7 +2007,7 @@ if test -n "$with_zippy_req"; then fi fi -if test $warning != no; then +if test "$warning" != no; then echo '' ; echo "$warnsep" ; echo '' fi @@ -1938,20 +2035,26 @@ eval HACKDIR=${HACKDIR} eval HACKDIR=${HACKDIR} eval HACKDIR=${HACKDIR} -echo "" -echo "$warnsep" -echo "" -echo ' When you run "make install", the "xscreensaver" and' -echo ' "xscreensaver-command" executables will be installed in' -echo " ${bindir}." -echo "" -echo " The various graphics demos (80+ different executables) will" -echo " be installed in ${HACKDIR}." -echo "" -echo " If you would prefer the demos to be installed elsewhere" -echo " (for example, in a dedicated directory) you should re-run" -echo " configure with the --enable-subdir=DIR option. For more" -echo " information, run $0 --help." -echo "" -echo "$warnsep" -echo "" +# canonicalize slashes. +bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'` +HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` + +if test "${bindir}" = "${HACKDIR}" ; then + echo "" + echo "$warnsep" + echo "" + echo ' When you run "make install", the "xscreensaver",' + echo ' "xscreensaver-demo", and "xscreensaver-command" executables' + echo " will be installed in ${bindir}." + echo "" + echo " The various graphics demos (80+ different executables) will" + echo " also be installed in ${HACKDIR}." + echo "" + echo " If you would prefer the demos to be installed elsewhere" + echo " (for example, in a dedicated directory) you should re-run" + echo " configure with the --enable-subdir=DIR option. For more" + echo " information, run $0 --help." + echo "" + echo "$warnsep" + echo "" +fi