Alexandre Julliard : configure: Merge the libGL existence check with the soname check.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jul 4 06:56:57 CDT 2007


Module: wine
Branch: master
Commit: 31353e1eddd44e8bb436032913ef101b4e5bb5b4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=31353e1eddd44e8bb436032913ef101b4e5bb5b4

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Jul  4 12:44:12 2007 +0200

configure: Merge the libGL existence check with the soname check.

---

 configure                   |  115 +++++++++---------------------------------
 configure.ac                |    5 +-
 dlls/winex11.drv/opengl.c   |   11 +---
 dlls/winex11.drv/x11ddraw.c |    3 -
 4 files changed, 30 insertions(+), 104 deletions(-)

diff --git a/configure b/configure
index cc67602..1a9fe1b 100755
--- a/configure
+++ b/configure
@@ -9617,14 +9617,14 @@ echo "${ECHO_T}$wine_cv_opengl_header_version_OK" >&6; }
 
 	    if test "$wine_cv_opengl_header_version_OK" = "yes"
             then
-				{ echo "$as_me:$LINENO: checking for glXCreateContext in -lGL" >&5
-echo $ECHO_N "checking for glXCreateContext in -lGL... $ECHO_C" >&6; }
-if test "${ac_cv_lib_GL_glXCreateContext+set}" = set; then
+				{ echo "$as_me:$LINENO: checking for -lGL" >&5
+echo $ECHO_N "checking for -lGL... $ECHO_C" >&6; }
+if test "${ac_cv_lib_soname_GL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
+  ac_check_soname_save_LIBS=$LIBS
 LIBS="-lGL $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9664,22 +9664,35 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext &&
        $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_GL_glXCreateContext=yes
+  case "$LIBEXT" in
+    dll) ;;
+    dylib) ac_cv_lib_soname_GL=`otool -L conftest$ac_exeext | grep "libGL\\.[0-9A-Za-z.]*dylib" | sed -e "s/^.*\/\(libGL\.[0-9A-Za-z.]*dylib\).*$/\1/"';2,$d'` ;;
+    *) ac_cv_lib_soname_GL=`$ac_cv_path_LDD conftest$ac_exeext | grep "libGL\\.$LIBEXT" | sed -e "s/^.*\(libGL\.$LIBEXT[^	 ]*\).*$/\1/"';2,$d'` ;;
+  esac
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_lib_GL_glXCreateContext=no
+
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+  LIBS=$ac_check_soname_save_LIBS
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_GL_glXCreateContext" >&5
-echo "${ECHO_T}$ac_cv_lib_GL_glXCreateContext" >&6; }
-if test $ac_cv_lib_GL_glXCreateContext = yes; then
-  OPENGL_LIBS="-lGL"
+if test "x$ac_cv_lib_soname_GL" = "x"; then
+  { echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6; }
+
+else
+  { echo "$as_me:$LINENO: result: $ac_cv_lib_soname_GL" >&5
+echo "${ECHO_T}$ac_cv_lib_soname_GL" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define SONAME_LIBGL "$ac_cv_lib_soname_GL"
+_ACEOF
+
+       OPENGL_LIBS="-lGL"
                              OPENGLFILES='$(OPENGLFILES)'
 
 cat >>confdefs.h <<\_ACEOF
@@ -15488,84 +15501,6 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking for -lGL" >&5
-echo $ECHO_N "checking for -lGL... $ECHO_C" >&6; }
-if test "${ac_cv_lib_soname_GL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_soname_save_LIBS=$LIBS
-LIBS="-lGL $X_LIBS $X_EXTRA_LIBS $LIBS"
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char glXQueryExtension ();
-int
-main ()
-{
-return glXQueryExtension ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  case "$LIBEXT" in
-    dll) ;;
-    dylib) ac_cv_lib_soname_GL=`otool -L conftest$ac_exeext | grep "libGL\\.[0-9A-Za-z.]*dylib" | sed -e "s/^.*\/\(libGL\.[0-9A-Za-z.]*dylib\).*$/\1/"';2,$d'` ;;
-    *) ac_cv_lib_soname_GL=`$ac_cv_path_LDD conftest$ac_exeext | grep "libGL\\.$LIBEXT" | sed -e "s/^.*\(libGL\.$LIBEXT[^	 ]*\).*$/\1/"';2,$d'` ;;
-  esac
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-  LIBS=$ac_check_soname_save_LIBS
-fi
-if test "x$ac_cv_lib_soname_GL" = "x"; then
-  { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
-
-else
-  { echo "$as_me:$LINENO: result: $ac_cv_lib_soname_GL" >&5
-echo "${ECHO_T}$ac_cv_lib_soname_GL" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define SONAME_LIBGL "$ac_cv_lib_soname_GL"
-_ACEOF
-
-
-fi
-
 { echo "$as_me:$LINENO: checking for -ltxc_dxtn" >&5
 echo $ECHO_N "checking for -ltxc_dxtn... $ECHO_C" >&6; }
 if test "${ac_cv_lib_soname_txc_dxtn+set}" = set; then
diff --git a/configure.ac b/configure.ac
index f983e8b..637cad9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -579,12 +579,12 @@ then
 	    if test "$wine_cv_opengl_header_version_OK" = "yes"
             then
 		dnl Check for the presence of the library
-		AC_CHECK_LIB(GL,glXCreateContext,
+		WINE_CHECK_SONAME(GL,glXCreateContext,
 			     [OPENGL_LIBS="-lGL"
                              OPENGLFILES='$(OPENGLFILES)'
                              AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])]
 			     ,,
-			     $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+			     [$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS])
 
 	        dnl Check for GLU32 library.
 		AC_CHECK_LIB(GLU,gluLookAt,
@@ -1151,7 +1151,6 @@ WINE_CHECK_SONAME(Xrender,XRenderQueryExtension,,,[$X_LIBS -lXext -lX11 $X_EXTRA
 WINE_CHECK_SONAME(Xrandr,XRRQueryExtension,,,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
 WINE_CHECK_SONAME(Xcursor,XcursorImageLoadCursor,,,[$X_LIBS -lX11 $X_EXTRA_LIBS])
 WINE_CHECK_SONAME(freetype,FT_Init_FreeType,,,[$X_LIBS])
-WINE_CHECK_SONAME(GL,glXQueryExtension,,,[$X_LIBS $X_EXTRA_LIBS])
 WINE_CHECK_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
 
 
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 84c5092..02dfbff 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -37,7 +37,7 @@
 WINE_DEFAULT_DEBUG_CHANNEL(wgl);
 WINE_DECLARE_DEBUG_CHANNEL(opengl);
 
-#if defined(HAVE_GL_GL_H) && defined(HAVE_GL_GLX_H)
+#ifdef SONAME_LIBGL
 
 #undef APIENTRY
 #undef CALLBACK
@@ -198,13 +198,6 @@ static void dump_PIXELFORMATDESCRIPTOR(const PIXELFORMATDESCRIPTOR *ppfd) {
   TRACE("\n");
 }
 
-/* No need to load any other libraries as according to the ABI, libGL should be self-sufficient and
-   include all dependencies
-*/
-#ifndef SONAME_LIBGL
-#define SONAME_LIBGL "libGL" SONAME_EXT
-#endif
-
 #define PUSH1(attribs,att)        do { attribs[nAttribs++] = (att); } while (0)
 #define PUSH2(attribs,att,value)  do { attribs[nAttribs++] = (att); attribs[nAttribs++] = (value); } while(0)
 
@@ -354,6 +347,8 @@ static BOOL has_opengl(void)
     if (init_done) return (opengl_handle != NULL);
     init_done = 1;
 
+    /* No need to load any other libraries as according to the ABI, libGL should be self-sufficient
+       and include all dependencies */
     opengl_handle = wine_dlopen(SONAME_LIBGL, RTLD_NOW|RTLD_GLOBAL, NULL, 0);
     if (opengl_handle == NULL) return FALSE;
 
diff --git a/dlls/winex11.drv/x11ddraw.c b/dlls/winex11.drv/x11ddraw.c
index 9b5ed76..e0bda0a 100644
--- a/dlls/winex11.drv/x11ddraw.c
+++ b/dlls/winex11.drv/x11ddraw.c
@@ -397,9 +397,6 @@ INT X11DRV_DCICommand(INT cbInput, const DCICMD *lpCmd, LPVOID lpOutData)
 
       /* FIXME: get x11drv's hInstance */
       X11DRV_Settings_CreateDriver(&hal_info);
-#ifdef HAVE_OPENGL
-      /*X11DRV_GLX_CreateDriver(&hal_info);*/
-#endif
 
       (ddraw_fns->lpSetInfo)(&hal_info, FALSE);
       *lpInstance = hal_info.hInstance;




More information about the wine-cvs mailing list