X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=ed3a8193ef71517050cad4eaa218a3f7ed1c5705;hb=c596d1306f5f92f7eab76224d3b049980a14adcb;hp=07fb76e98386a52397f77d74e19dbd82837f5870;hpb=df7adbee81405e2849728a24b498ad2117784b1f;p=xscreensaver
diff --git a/configure.in b/configure.in
index 07fb76e9..ed3a8193 100644
--- a/configure.in
+++ b/configure.in
@@ -180,8 +180,7 @@ perl_version_cmd='print $]'
changequote([,])
AC_DEFUN(AC_PROG_PERL,
- [PERL=''
- AC_PATH_PROGS(PERL, [perl5 perl],,)
+ [AC_PATH_PROGS(PERL, [perl5 perl],,)
if test -z "$PERL" ; then
PERL_VERSION=0
else
@@ -1781,7 +1780,7 @@ fi
###############################################################################
#
-# Check for -lGL or -lMesa.
+# Check for -lGL or -lMesaGL.
#
###############################################################################
@@ -1809,8 +1808,6 @@ if test "$with_gl" = yes; then
#
if test "$have_gl" = yes ; then
- AC_DEFINE(HAVE_GL)
-
# We need to know whether it's MesaGL so that we know which libraries
# to link against.
#
@@ -1820,16 +1817,46 @@ if test "$with_gl" = yes; then
])
ac_have_mesa_gl=$ac_cv_have_mesa_gl
- if test "$ac_have_mesa_gl" = no ; then
- gl_lib_1="GL"
- GL_LIBS="-lGL -lGLU"
+
+ # 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)
+ 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)
+ fi
+
+ if test "$gl_lib_1" = "" ; then
+ # we have headers, but no libs -- bail.
+ have_gl=no
+ ac_have_mesa_gl=no
else
- AC_DEFINE(HAVE_MESA_GL)
- gl_lib_1="MesaGL"
- GL_LIBS="-lMesaGL -lMesaGLU"
+ # linking works -- we can build the GL hacks.
+ AC_DEFINE(HAVE_GL)
+ if test "$ac_have_mesa_gl" = yes ; then
+ AC_DEFINE(HAVE_MESA_GL)
+ fi
fi
+ fi
+ # Now that we know we have GL headers and libs, do some more GL testing.
+ #
+
+ if test "$have_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.
#
@@ -1932,6 +1959,58 @@ elif test "$with_gl" != no; then
fi
+###############################################################################
+#
+# Check for -lgle.
+#
+###############################################################################
+
+have_gle=no
+with_gle_req=unspecified
+AC_ARG_WITH(gle,
+[ --with-gle Build those demos which depend on GLE
+ (the OpenGL "extrusion" library.)],
+ [with_gle="$withval"; with_gle_req="$withval"],[with_gle=yes])
+
+HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE)
+
+GLE_LIBS=""
+
+if test "$with_gle" = yes; then
+
+ AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no)
+ if test "$have_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
+ AC_CHECK_X_LIB(gle, gleCreateGC,
+ [have_gle=yes; 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)
+ fi
+
+ if test "$have_gle" = yes ; then
+ AC_DEFINE(HAVE_GLE)
+ fi
+
+elif test "$with_gle" != no; then
+ echo "error: must be yes or no: --with-gle=$with_gle"
+ exit 1
+
+fi
+
+
+
###############################################################################
#
# Check for -lXpm.
@@ -2326,8 +2405,8 @@ if test "$enable_locking" = yes; then
LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
else
- LOCK_SRCS=''
- LOCK_OBJS=''
+ LOCK_SRCS='$(NOLOCK_SRCS_1)'
+ LOCK_OBJS='$(NOLOCK_SRCS_1)'
fi
if test "$need_setuid" = yes; then
@@ -2347,6 +2426,14 @@ else
GL_KLUDGE=" -${tab} "
fi
+if test "$have_gle" = yes; then
+ GLE_EXES='$(GLE_EXES)'
+ GLE_MEN='$(GLE_MEN)'
+ GLE_KLUDGE="${tab} "
+else
+ GLE_KLUDGE=" -${tab} "
+fi
+
###############################################################################
#
@@ -2366,6 +2453,7 @@ AC_SUBST(ATHENA3D_LIBS)
AC_SUBST(HACK_LIBS)
AC_SUBST(XPM_LIBS)
AC_SUBST(GL_LIBS)
+AC_SUBST(GLE_LIBS)
AC_SUBST(PASSWD_LIBS)
AC_SUBST(INSTALL_SETUID)
AC_SUBST(INSTALL_DIRS)
@@ -2386,6 +2474,9 @@ AC_SUBST(LOCK_OBJS)
AC_SUBST(GL_EXES)
AC_SUBST(GL_MEN)
AC_SUBST(GL_KLUDGE)
+AC_SUBST(GLE_EXES)
+AC_SUBST(GLE_MEN)
+AC_SUBST(GLE_KLUDGE)
AC_SUBST(HACKDIR)
APPDEFAULTS=$ac_x_app_defaults
@@ -2627,6 +2718,26 @@ if test "$have_gl" = no ; then
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.'
+ elif test "$with_gle_req" = no ; then
+ noteL 'The GLE (GL Extrusion) library is not being used.'
+ else
+ noteL 'The GLE (GL Extrusion) library was not found.'
+ 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 .'
+
+fi
+
+
if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
warn 'Use of XReadDisplay was requested, but it was not found.'
fi
@@ -2749,7 +2860,7 @@ if test "$do_dir_warning" = yes; then
echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
echo " will be installed in ${bindir}."
echo ""
- echo " The various graphics demos (90+ different executables) will"
+ echo " The various graphics demos (100+ different executables) will"
echo " also be installed in ${HACKDIR}."
echo ""
echo " If you would prefer the demos to be installed elsewhere"