diff --git a/configure b/configure index 2747d1b8314..9a88bd56539 100755 --- a/configure +++ b/configure @@ -10470,6 +10470,72 @@ else 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; } + { 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 -lXext -lX11 -lm $X_EXTRA_LIBS -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib $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 glXCreateContext (); +int +main () +{ +return glXCreateContext (); + ; + 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 \ @@ -10480,13 +10546,30 @@ if test "x$ac_cv_lib_soname_GL" = "x"; then { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } if test -f /usr/X11R6/lib/libGL.a - then - wine_warnings="$wine_warnings|/usr/X11R6/lib/libGL.a is present on your system. + then + wine_warnings="$wine_warnings|/usr/X11R6/lib/libGL.a is present on your system. This probably prevents linking to OpenGL. Try deleting the file and restarting configure." - else - wine_warnings="$wine_warnings|No OpenGL library found on this system. + else + wine_warnings="$wine_warnings|No OpenGL library found on this system. Wine will be built without OpenGL or Direct3D support." - fi + fi +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="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL" + OPENGLFILES='$(OPENGLFILES)' + +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPENGL 1 +_ACEOF + +fi + else { echo "$as_me:$LINENO: result: $ac_cv_lib_soname_GL" >&5 echo "${ECHO_T}$ac_cv_lib_soname_GL" >&6; } diff --git a/configure.ac b/configure.ac index 492d36338f6..e30ba97adf0 100644 --- a/configure.ac +++ b/configure.ac @@ -651,14 +651,19 @@ Wine will be built without XComposite support. (winex11.drv)]) [OPENGL_LIBS="-lGL" OPENGLFILES='$(OPENGLFILES)' AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])], - [if test -f /usr/X11R6/lib/libGL.a - then - WINE_WARNING([/usr/X11R6/lib/libGL.a is present on your system. + [WINE_CHECK_SONAME(GL,glXCreateContext, + [OPENGL_LIBS="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL" + OPENGLFILES='$(OPENGLFILES)' + AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])], + [if test -f /usr/X11R6/lib/libGL.a + then + WINE_WARNING([/usr/X11R6/lib/libGL.a is present on your system. This probably prevents linking to OpenGL. Try deleting the file and restarting configure.]) - else - WINE_WARNING([No OpenGL library found on this system. + else + WINE_WARNING([No OpenGL library found on this system. Wine will be built without OpenGL or Direct3D support.]) - fi], + fi], + $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib)], $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS) dnl Check for GLU32 library.