Added '--enable-opengl' flag to bypass the thread-safety check.

diff --git a/configure.in b/configure.in
index b9017d5..a09d5da 100644
--- a/configure.in
+++ b/configure.in
@@ -18,6 +18,7 @@
 TRACE_MSGS=yes	# the TRACE() macro
 DEBUG_MSGS=yes	# the TRACE(), WARN(), and FIXME() macros.
 CURSES=yes
+OPENGL=normal
 
 AC_ARG_ENABLE(emulator,
 [  --disable-emulator      build only the Wine library, not the emulator],
@@ -31,6 +32,10 @@
 [  --disable-debug         compile out all debugging messages],
 [if test "$enableval" = "no"; then DEBUG_MSGS="no"; fi])
 
+AC_ARG_ENABLE(opengl,
+[  --enable-opengl         force usage of OpenGL even if the latter is thread-safe],
+[if test "$enableval" = "no"; then OPENGL="no"; elif test "$enableval" = "yes"; then OPENGL="yes"; fi])
+
 AC_ARG_ENABLE(trace,
 [  --disable-trace         compile out TRACE messages],
 [if test "$enableval" = "no"; then TRACE_MSGS="no"; fi])
@@ -188,64 +193,66 @@
     fi
 
     dnl Check for the presence of Mesa
-    AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/osmesa.h)
-    if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
+    if test $OPENGL = "yes" -o $OPENGL = "normal"
     then
-        dnl Check for some problems due to old Mesa versions
-        AC_CACHE_CHECK("for up-to-date Mesa version", wine_cv_mesa_version_OK,
-          AC_TRY_COMPILE(
-            [#include <GL/gl.h>],
-            [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
-            [wine_cv_mesa_version_OK="yes"],
-            [wine_cv_mesa_version_OK="no"]
-	  )
-        )
-
-	dnl Check for the thread-safety of the OpenGL library
-        AC_CACHE_CHECK("for thread-safe Mesa version", 
-		       wine_cv_mesa_version_threadsafe,
-                       [saved_libs=$LIBS
-		        LIBS="$X_LIBS -lGL"
-			AC_TRY_LINK([],[pthread_getspecific();],
-				    [wine_cv_mesa_version_threadsafe="yes"],
-				    [wine_cv_mesa_version_threadsafe="no"])
-			LIBS=$saved_libs]
-	)
-
-        if test "$wine_cv_mesa_version_OK" = "yes" -a "$wine_cv_mesa_version_threadsafe" = "no"
-        then
-	    dnl Check for the presense of the library
-            AC_CHECK_LIB(GL,glXCreateContext,
-		AC_DEFINE(HAVE_LIBMESAGL)
-		X_PRE_LIBS="$X_PRE_LIBS -lGL"
-		MESA_SRCS='$(MESA_SRCS)'
-		,,
-		$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-	    if test "$ac_cv_lib_GL_glXCreateContext" = "no"
-	    then
-		AC_CHECK_LIB(MesaGL,glXCreateContext,
-		    AC_DEFINE(HAVE_LIBMESAGL)
-		    X_PRE_LIBS="$X_PRE_LIBS -lMesaGL"
-		    MESA_SRCS='$(MESA_SRCS)'
-		    ,,
-		    $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-	    fi
-
-	    dnl Check for the Color Table and Paletted Texture extensions
-	    AC_CACHE_CHECK("for the OpenGL Color Index extension",dummy,
-              AC_TRY_COMPILE(
+	AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
+	if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
+	then
+	    dnl Check for some problems due to old Mesa versions
+	    AC_CACHE_CHECK("for up-to-date OpenGL version", wine_cv_mesa_version_OK,
+	      AC_TRY_COMPILE(
 		[#include <GL/gl.h>],
-		[GLenum test = GL_COLOR_INDEX8_EXT;],
-		[AC_DEFINE(HAVE_GL_COLOR_TABLE)],
+		[GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
+		[wine_cv_mesa_version_OK="yes"],
+		[wine_cv_mesa_version_OK="no"]
 	      )
+            )
+
+	    dnl Check for the thread-safety of the OpenGL library
+	    AC_CACHE_CHECK("for thread-safe OpenGL version", 
+			   wine_cv_mesa_version_threadsafe,
+              [saved_libs=$LIBS
+	       LIBS="$X_LIBS -lGL"
+	       AC_TRY_LINK([],[pthread_getspecific();],
+			      [wine_cv_mesa_version_threadsafe="yes"],
+			      [wine_cv_mesa_version_threadsafe="no"])
+	       LIBS=$saved_libs]
 	    )
-    	    if test "$ac_cv_lib_GL_glXCreateContext" = "no"
-	    then
-		AC_CHECK_LIB(MesaGL,glColorTableEXT,AC_DEFINE(HAVE_GL_PALETTED_TEXTURE),,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-	    else
-		AC_CHECK_LIB(GL,glColorTableEXT,AC_DEFINE(HAVE_GL_PALETTED_TEXTURE),,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-	    fi
-        fi
+
+	    if test "$wine_cv_mesa_version_OK" = "yes" -a \( "$wine_cv_mesa_version_threadsafe" = "no" -o $OPENGL = "yes" \)
+            then
+		dnl Check for the presense of the library
+		AC_CHECK_LIB(GL,glXCreateContext,
+			     AC_DEFINE(HAVE_LIBMESAGL)
+			     X_PRE_LIBS="$X_PRE_LIBS -lGL"
+			     MESA_SRCS='$(MESA_SRCS)'
+			     ,,
+			     $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+
+		if test "$ac_cv_lib_GL_glXCreateContext" = "no"
+		then
+			AC_CHECK_LIB(MesaGL,glXCreateContext,
+				     AC_DEFINE(HAVE_LIBMESAGL)
+				     X_PRE_LIBS="$X_PRE_LIBS -lMesaGL"
+				     MESA_SRCS='$(MESA_SRCS)'
+				     ,,
+				     $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+	        fi
+
+		dnl Check for the Color Table and Paletted Texture extensions
+		AC_CACHE_CHECK("for the OpenGL Color Index extension",dummy,
+			       AC_TRY_COMPILE([#include <GL/gl.h>],
+			                      [GLenum test = GL_COLOR_INDEX8_EXT;],
+					      [AC_DEFINE(HAVE_GL_COLOR_TABLE)],))
+
+    	        if test "$ac_cv_lib_GL_glXCreateContext" = "no"
+		then
+			AC_CHECK_LIB(MesaGL,glColorTableEXT,AC_DEFINE(HAVE_GL_PALETTED_TEXTURE),,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+		else
+			AC_CHECK_LIB(GL,glColorTableEXT,AC_DEFINE(HAVE_GL_PALETTED_TEXTURE),,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+		fi
+	     fi
+	 fi
     fi
 
     CPPFLAGS="$ac_save_CPPFLAGS"
@@ -1103,14 +1110,24 @@
   echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
 fi
 
-if test "$wine_cv_mesa_version_threadsafe" = "yes"
+if test "$wine_cv_mesa_version_threadsafe" = "yes" -a $OPENGL = "normal"
 then
   echo
   echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
-  echo "*** thread-safety. To prevent crashes, OpenGL support has been removed"
-  echo "*** (while we work on a better fix)."
+  echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
+  echo "*** A fix for glibc 2.1.3 that seem to work is included in this version of Wine,"
+  echo "*** start configure with '--enable-opengl' to force OpenGL support."
 fi
 
+if test "$wine_cv_mesa_version_threadsafe" = "yes" -a $OPENGL = "yes"
+then
+  echo
+  echo "*** Warning: you explicitely linked in a thread-safe OpenGL version. If you"
+  echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
+  echo "*** support before reporting bugs."
+fi
+
+
 echo
 echo "Configure finished.  Do 'make depend && make' to compile Wine."
 echo