http://ftp.x.org/contrib/applications/xscreensaver-3.21.tar.gz
[xscreensaver] / configure.in
index ed3a8193ef71517050cad4eaa218a3f7ed1c5705..30fc7634ffe6982f9324cbf37db54b81d5e5db3b 100644 (file)
@@ -66,6 +66,8 @@ AC_DEFUN(AC_PROG_CC_ANSI,
   if test -n "$GCC"; then
     AC_MSG_RESULT(Turning on gcc compiler warnings.)
     CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
   if test -n "$GCC"; then
     AC_MSG_RESULT(Turning on gcc compiler warnings.)
     CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
+    AC_MSG_RESULT(Disabling C++ comments in ANSI C code.)
+    CC="$CC -Wp,-lang-c89"
   else
     case "$host" in
       *-irix5* |*-irix6.[0-3]* )
   else
     case "$host" in
       *-irix5* |*-irix6.[0-3]* )
@@ -563,7 +565,7 @@ AC_DEFUN(AC_CHECK_X_LIB, [
     LDFLAGS="$LDFLAGS -L$libdir"
   fi
   # note: $X_LIBS includes $x_libraries
     LDFLAGS="$LDFLAGS -L$libdir"
   fi
   # note: $X_LIBS includes $x_libraries
-  LDFLAGS="$LDFLAGS $X_LIBS"
+  LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
   CPPFLAGS="$ac_save_CPPFLAGS"
 
   AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
   CPPFLAGS="$ac_save_CPPFLAGS"
@@ -1787,6 +1789,7 @@ fi
 have_gl=no
 ac_have_mesa_gl=no
 with_gl_req=unspecified
 have_gl=no
 ac_have_mesa_gl=no
 with_gl_req=unspecified
+gl_halfassed=no
 AC_ARG_WITH(gl,[
 Graphics options:
 
 AC_ARG_WITH(gl,[
 Graphics options:
 
@@ -1818,31 +1821,43 @@ if test "$with_gl" = yes; then
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
  
 
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
  
 
+    gl_lib_1=""
+    GL_LIBS=""
+
+
+    # Some versions of MesaGL are compiled to require -lpthread.
+    # So if the Mesa headers exist, and -lpthread exists, then always
+    # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
+    #
+    if test "$ac_have_mesa_gl" = yes; then
+      AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],)
+    fi
+
+
     # If we have Mesa headers, check to see if we can link against -lMesaGL.
     # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
     # Else, warn that GL is busted.  (We have the headers, but no libs.)
     #
     # If we have Mesa headers, check to see if we can link against -lMesaGL.
     # If we don't have Mesa headers, or we don't have -lMesaGL, try -lGL.
     # Else, warn that GL is busted.  (We have the headers, but no libs.)
     #
-    gl_lib_1=""
-    GL_LIBS=""
 
     if test "$ac_have_mesa_gl" = yes ; then
       AC_CHECK_X_LIB(MesaGL, glXCreateContext, 
                      [gl_lib_1="MesaGL"
 
     if test "$ac_have_mesa_gl" = yes ; then
       AC_CHECK_X_LIB(MesaGL, glXCreateContext, 
                      [gl_lib_1="MesaGL"
-                      GL_LIBS="-lMesaGL -lMesaGLU"],
-                     [], -lMesaGLU -lX11 -lXext -lm)
+                      GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"],
+                     [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm)
     fi
 
     if test "$gl_lib_1" = "" ; then
       AC_CHECK_X_LIB(GL, glXCreateContext, 
                      [gl_lib_1="GL"
     fi
 
     if test "$gl_lib_1" = "" ; then
       AC_CHECK_X_LIB(GL, glXCreateContext, 
                      [gl_lib_1="GL"
-                      GL_LIBS="-lGL -lGLU"],
-                     [], -lGLU -lX11 -lXext -lm)
+                      GL_LIBS="-lGL -lGLU $GL_LIBS"],
+                     [], -lGLU $GL_LIBS -lX11 -lXext -lm)
     fi
 
     if test "$gl_lib_1" = "" ; then
       # we have headers, but no libs -- bail.
       have_gl=no
       ac_have_mesa_gl=no
     fi
 
     if test "$gl_lib_1" = "" ; then
       # we have headers, but no libs -- bail.
       have_gl=no
       ac_have_mesa_gl=no
+      gl_halfassed=yes
     else
       # linking works -- we can build the GL hacks.
       AC_DEFINE(HAVE_GL)
     else
       # linking works -- we can build the GL hacks.
       AC_DEFINE(HAVE_GL)
@@ -1907,24 +1922,6 @@ EOF
     fi
 
 
     fi
 
 
-    # If it's MesaGL, check to see if it requires -lpthread.
-    #
-    have_pthread=no
-    mesa_requires_pthread=no
-    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], [true],
-                       $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)],
     # Check for OpenGL 1.1 features.
     #
     AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
@@ -1967,6 +1964,7 @@ fi
 
 have_gle=no
 with_gle_req=unspecified
 
 have_gle=no
 with_gle_req=unspecified
+gle_halfassed=no
 AC_ARG_WITH(gle,
 [  --with-gle              Build those demos which depend on GLE
                           (the OpenGL "extrusion" library.)],
 AC_ARG_WITH(gle,
 [  --with-gle              Build those demos which depend on GLE
                           (the OpenGL "extrusion" library.)],
@@ -1983,19 +1981,19 @@ if test "$with_gle" = yes; then
     AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no)
   fi
 
     AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no)
   fi
 
-#          /usr/local/lib/GL/libgle.a
-#          /usr/local/lib/GL/libmatrix.a
-
   if test "$have_gle" = yes ; then
     have_gle=no
   if test "$have_gle" = yes ; then
     have_gle=no
+    gle_halfassed=yes
     AC_CHECK_X_LIB(gle, gleCreateGC, 
     AC_CHECK_X_LIB(gle, gleCreateGC, 
-                   [have_gle=yes; GLE_LIBS="-lgle"],
+                   [have_gle=yes; gle_halfassed=no, GLE_LIBS="-lgle"],
                    [], $GL_LIBS -lX11 -lXext -lm)
   fi
   if test "$have_gle" = yes ; then
     have_gle=no
                    [], $GL_LIBS -lX11 -lXext -lm)
   fi
   if test "$have_gle" = yes ; then
     have_gle=no
+    gle_halfassed=yes
     AC_CHECK_X_LIB(matrix, uview_direction_d, 
     AC_CHECK_X_LIB(matrix, uview_direction_d, 
-                   [have_gle=yes; GLE_LIBS="$GLE_LIBS -lmatrix"],
+                   [have_gle=yes; gle_halfassed=no, 
+                    GLE_LIBS="$GLE_LIBS -lmatrix"],
                    [], $GL_LIBS -lX11 -lXext -lm)
   fi
 
                    [], $GL_LIBS -lX11 -lXext -lm)
   fi
 
@@ -2084,10 +2082,12 @@ if test "$with_xshm" = yes; then
   #
   case "$host" in
     *-aix*)
   #
   case "$host" in
     *-aix*)
-      have_xshm=no
-      AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
-                     [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
-                     [true], -lX11 -lXext -lm)
+      if [ `uname -v` -eq 3 ]; then
+        have_xshm=no
+        AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
+                       [have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"],
+                       [true], -lX11 -lXext -lm)
+      fi
     ;;
   esac
 
     ;;
   esac
 
@@ -2369,23 +2369,25 @@ if test \! -z "$libdir" ; then
 fi
 
 
 fi
 
 
+DEMO_MAN="xscreensaver-demo-old.man"
 ALL_DEMO_PROGRAMS=
 ALL_DEMO_PROGRAMS=
-if test "$have_athena3d" = yes; then
-  PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xaw3d
-  ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
-fi
 if test "$have_athena" = yes; then
   PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xaw
   ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
 fi
 if test "$have_athena" = yes; then
   PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xaw
   ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
 fi
-if test "$have_gtk" = yes; then
-  PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
+if test "$have_athena3d" = yes; then
+  PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xaw3d
   ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
 fi
 if test "$have_motif" = yes; then
   PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
   ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
 fi
   ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
 fi
 if test "$have_motif" = yes; then
   PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm
   ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
 fi
+if test "$have_gtk" = yes; then
+  PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Gtk
+  ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
+  DEMO_MAN="xscreensaver-demo.man"
+fi
 
 
 if test "$have_kerberos" = yes; then
 
 
 if test "$have_kerberos" = yes; then
@@ -2406,7 +2408,7 @@ if test "$enable_locking" = yes; then
   LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
 else
   LOCK_SRCS='$(NOLOCK_SRCS_1)'
   LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
 else
   LOCK_SRCS='$(NOLOCK_SRCS_1)'
-  LOCK_OBJS='$(NOLOCK_SRCS_1)'
+  LOCK_OBJS='$(NOLOCK_OBJS_1)'
 fi
 
 if test "$need_setuid" = yes; then
 fi
 
 if test "$need_setuid" = yes; then
@@ -2423,15 +2425,15 @@ if test "$have_gl" = yes; then
   GL_MEN='$(GL_MEN)'
   GL_KLUDGE="${tab}  "
 else
   GL_MEN='$(GL_MEN)'
   GL_KLUDGE="${tab}  "
 else
-  GL_KLUDGE="  -${tab}  "
+  GL_KLUDGE="-${tab}  "
 fi
 
 if test "$have_gle" = yes; then
   GLE_EXES='$(GLE_EXES)'
   GLE_MEN='$(GLE_MEN)'
 fi
 
 if test "$have_gle" = yes; then
   GLE_EXES='$(GLE_EXES)'
   GLE_MEN='$(GLE_MEN)'
-  GLE_KLUDGE="${tab}  "
+  GLE_KLUDGE="${tab}   "
 else
 else
-  GLE_KLUDGE="  -${tab}  "
+  GLE_KLUDGE="-${tab}   "
 fi
 
 
 fi
 
 
@@ -2445,6 +2447,7 @@ AC_SUBST(INCLUDES)
 
 AC_SUBST(PREFERRED_DEMO_PROGRAM)
 AC_SUBST(ALL_DEMO_PROGRAMS)
 
 AC_SUBST(PREFERRED_DEMO_PROGRAM)
 AC_SUBST(ALL_DEMO_PROGRAMS)
+AC_SUBST(DEMO_MAN)
 AC_SUBST(SAVER_LIBS)
 AC_SUBST(MOTIF_LIBS)
 AC_SUBST(GTK_LIBS)
 AC_SUBST(SAVER_LIBS)
 AC_SUBST(MOTIF_LIBS)
 AC_SUBST(GTK_LIBS)
@@ -2697,7 +2700,6 @@ if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
   fi
 fi
 
   fi
 fi
 
-
 if test "$have_gl" = no ; then
   if test "$with_gl_req" = yes ; then
     warnL 'Use of GL was requested, but it was not found.'
 if test "$have_gl" = no ; then
   if test "$with_gl_req" = yes ; then
     warnL 'Use of GL was requested, but it was not found.'
@@ -2707,6 +2709,14 @@ if test "$have_gl" = no ; then
     noteL 'The OpenGL 3D library was not found.'
   fi
 
     noteL 'The OpenGL 3D library was not found.'
   fi
 
+  if test "$gl_halfassed" = yes ; then
+    echo ''
+    warn2 'More specifically, we found the headers, but not the'
+    warn2 'libraries; so either GL is half-installed on this'
+    warn2 "system, or something else went wrong.  The \`config.log'"
+    warn2 'file might contain some clues.'
+  fi
+
   echo ''
   warn2 'Those demos which use 3D will not be built or installed.'
   warn2 'You might want to consider installing OpenGL and'
   echo ''
   warn2 'Those demos which use 3D will not be built or installed.'
   warn2 'You might want to consider installing OpenGL and'
@@ -2721,19 +2731,32 @@ fi
 
 if test "$have_gl" = yes -a "$have_gle" = no ; then
   if test "$with_gle_req" = yes ; then
 
 if test "$have_gl" = yes -a "$have_gle" = no ; then
   if test "$with_gle_req" = yes ; then
-    warnL 'Use of GLE was requested, but it was not found.'
+    noteL 'Use of the GLE (GL Extrusion) library was requested, but'
+    warn2 'it was not found (though the OpenGL library was found, and'
+    warn2 'is being used.)'
   elif test "$with_gle_req" = no ; then
   elif test "$with_gle_req" = no ; then
-    noteL 'The GLE (GL Extrusion) library is not being used.'
+    noteL 'The OpenGL Library is being used, but the GLE (GL Extrusion)'
+    warn2 'library is not.'
   else
   else
-    noteL 'The GLE (GL Extrusion) library was not found.'
+    noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
+    warn2 'was not.'
+  fi
+
+  if test "$gle_halfassed" = yes ; then
+    echo ''
+    warn2 'More specifically, we found the headers, but not the'
+    warn2 'libraries; so either GLE is half-installed on this'
+    warn2 "system, or something else went wrong.  The \`config.log'"
+    warn2 'file might contain some clues.'
   fi
 
   echo ''
   fi
 
   echo ''
-  warn2 'Some of the OpenGL (3D) demos will not be built or installed.'
-  warn2 'You might want to consider installing GLE and re-running'
-  warn2 'configure.  (Remember to delete the config.cache file first.)'
-  warn2 'You can find the GLE library at <http://www.linas.org/gle/>.'
-  warn2 'For general OpenGL info, see <http://www.opengl.org/>.'
+  warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
+  warn2 'will not be built or installed.  You might want to consider'
+  warn2 'installing GLE and re-running configure.  (Remember to delete'
+  warn2 'the config.cache file first.)  You can find the GLE library'
+  warn2 'at <http://www.linas.org/gle/>.  For general OpenGL info,'
+  warn2 'see <http://www.opengl.org/>.'
 
 fi
 
 
 fi