X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=30fc7634ffe6982f9324cbf37db54b81d5e5db3b;hb=0ed85ca0e4b0eae40a4f50a51d63f2f41e45373a;hp=ed3a8193ef71517050cad4eaa218a3f7ed1c5705;hpb=c596d1306f5f92f7eab76224d3b049980a14adcb;p=xscreensaver diff --git a/configure.in b/configure.in index ed3a8193..30fc7634 100644 --- a/configure.in +++ b/configure.in @@ -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" + AC_MSG_RESULT(Disabling C++ comments in ANSI C code.) + CC="$CC -Wp,-lang-c89" 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 $X_LIBS" + LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" 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 +gl_halfassed=no 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 + 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) @@ -1907,24 +1922,6 @@ EOF 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)], @@ -1967,6 +1964,7 @@ fi 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.)], @@ -1983,19 +1981,19 @@ if test "$with_gle" = yes; then 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 + gle_halfassed=yes 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 @@ -2084,10 +2082,12 @@ if test "$with_xshm" = 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 @@ -2369,23 +2369,25 @@ if test \! -z "$libdir" ; then fi +DEMO_MAN="xscreensaver-demo-old.man" 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_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 +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 @@ -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='$(NOLOCK_SRCS_1)' + LOCK_OBJS='$(NOLOCK_OBJS_1)' 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_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 @@ -2445,6 +2447,7 @@ AC_SUBST(INCLUDES) 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) @@ -2697,7 +2700,6 @@ if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; 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.' @@ -2707,6 +2709,14 @@ if test "$have_gl" = no ; then 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' @@ -2721,19 +2731,32 @@ fi 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 .' - warn2 'For general OpenGL info, see .' + 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 . For general OpenGL info,' + warn2 'see .' fi