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]* )
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"
HACK_LIBS="-lXmu $HACK_LIBS"
MOTIF_LIBS="-lXmu $MOTIF_LIBS"
GTK_LIBS="-lXmu $GTK_LIBS"
- ATHENA_LIBS="-lXmu $ATHENA_LIBS"
- ATHENA3D_LIBS="-lXmu $ATHENA3D_LIBS"
AC_DEFINE(HAVE_XMU)
fi
fi
+if test "$have_motif" = yes; then
+ AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)])
+fi
+
+
###############################################################################
#
# Check for -lgtk.
fi
-###############################################################################
-#
-# Check for -lXaw and -lXaw3d.
-#
-###############################################################################
-
-have_athena=no
-have_athena3d=no
-with_athena_req=unspecified
-AC_ARG_WITH(athena,
-[ --with-athena Use the Athena toolkit for the user interface.],
- [with_athena="$withval"; with_athena_req="$withval"],[with_athena=yes])
-
-HANDLE_X_PATH_ARG(with_athena, --with-athena, Athena)
-
-
-if test "$with_athena" != yes -a "$with_athena" != no ; then
- echo "error: must be yes or no: --with-athena=$with_athena"
- exit 1
-fi
-
-
-if test "$with_athena" = yes; then
- have_athena=no
- AC_CHECK_X_HEADER(X11/Xaw/Dialog.h, [have_athena=yes])
- if test "$have_athena" = yes; then
- AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB,
- [have_athena=yes; have_athena3d=yes], [true],
- -lXt -lXmu -lXext -lX11)
- fi
-fi
-
-if test "$have_athena" = yes; then
- AC_DEFINE(HAVE_ATHENA)
- ATHENA_LIBS="-lXaw $ATHENA_LIBS"
-fi
-
-if test "$have_athena3d" = yes; then
- ATHENA3D_LIBS="-lXaw3d $ATHENA3D_LIBS"
-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
- 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
- AC_DEFINE(HAVE_XawViewportSetCoordinates)
- fi
-fi
-
-
###############################################################################
#
# Checking whether Motif is really Lesstif.
have_gl=no
ac_have_mesa_gl=no
with_gl_req=unspecified
+gl_halfassed=no
AC_ARG_WITH(gl,[
Graphics options:
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.)
#
- gl_lib_1=""
- GL_LIBS=""
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"
- 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
+ gl_halfassed=yes
else
# linking works -- we can build the GL hacks.
AC_DEFINE(HAVE_GL)
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)],
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_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
+ gle_halfassed=yes
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
- AC_CHECK_X_LIB(matrix, uview_direction_d,
- [have_gle=yes; GLE_LIBS="$GLE_LIBS -lmatrix"],
- [], $GL_LIBS -lX11 -lXext -lm)
+ gle_halfassed=yes
+
+ # sometimes the libmatrix stuff is included in libgle. look there first.
+#
+# I don't get it. For some reason, this test passes on SGI, as if
+# uview_direction_d() was in libgle -- but it's not, it's in libmatrix.
+# Yet the link is succeeding. Why???
+#
+# AC_CHECK_X_LIB(gle, uview_direction_d,
+# [have_gle=yes; gle_halfassed=no],
+# [], $GL_LIBS -lX11 -lXext -lm)
+
+ # if it wasn't in libgle, then look in libmatrix.
+ if test "$have_gle" = no ; then
+ AC_CHECK_X_LIB(matrix, uview_direction_d,
+ [have_gle=yes; gle_halfassed=no;
+ GLE_LIBS="$GLE_LIBS -lmatrix"],
+ [], $GL_LIBS -lX11 -lXext -lm)
+ fi
fi
if test "$have_gle" = yes ; then
#
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
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
+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"
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_kerberos" = yes; then
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
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)'
- GLE_KLUDGE="${tab} "
+ GLE_KLUDGE="${tab} "
else
- GLE_KLUDGE=" -${tab} "
+ GLE_KLUDGE="-${tab} "
fi
AC_SUBST(SAVER_LIBS)
AC_SUBST(MOTIF_LIBS)
AC_SUBST(GTK_LIBS)
-AC_SUBST(ATHENA_LIBS)
-AC_SUBST(ATHENA3D_LIBS)
AC_SUBST(HACK_LIBS)
AC_SUBST(XPM_LIBS)
AC_SUBST(GL_LIBS)
fi
-if test "$have_motif" = no -a "$have_gtk" = no -a "$have_athena" = no ; then
- warnL "None of Motif, Gtk, or Athena widgets seem to be available;"
+if test "$have_motif" = no -a "$have_gtk" = no; then
+ warnL "Neither Motif nor Gtk seem to be available;"
warn2 "the \`xscreensaver-demo' program requires one of these."
elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
warnL "Use of Motif was requested, but it wasn't found;"
- if test "$have_gtk" = yes; then
- warn2 "Gtk will be used instead."
- else
- warn2 "Athena will be used instead."
- fi
+ warn2 "Gtk will be used instead."
elif test "$jurassic_gtk" = yes ; then
warnL "Gtk was found on this system, but it is version $v;"
fi
- if test "$have_motif" = yes; then
- which="Motif"
- else
- which="Athena"
- fi
-
- warn2 "Gtk $pref_gtk or newer is required. $which will be used instead."
+ warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
warnL "Use of Gtk was requested, but it wasn't found;"
- if test "$have_motif" = yes; then
- warn2 "Motif will be used instead."
- else
- warn2 "Athena will be used instead."
- fi
+ warn2 "Motif will be used instead."
-elif test "$with_athena_req" = yes -a "$have_athena" = no ; then
- warnL "Use of Athena was requested, but it wasn't found;"
- if test "$have_gtk" = yes; then
- warn2 "Gtk will be used instead."
- else
- warn2 "Motif will be used instead."
- fi
fi
fi
fi
-if test "$have_athena" = yes -a "$have_motif" = no -a "$have_gtk" = no; then
- warnL "Athena widgets are being used instead of Motif or Gtk."
- warn2 "The \`xscreensaver-demo' program looks much better"
- warn2 "with Motif or Gtk. Wouldn't you rather be using Motif?"
- warn2 "Motif is shipped by every commercial Unix vendor,"
- warn2 "and there is a free implementation available as"
- warn2 "well: see <http://www.lesstif.org/>. Gtk is shipped"
- warn2 "with most Linux and BSD distributions."
-fi
if test "$have_xpm" = no ; then
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.'
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'
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
- 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
- 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 ''
- 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