summaryrefslogtreecommitdiff
blob: 823619271315a18621fa8bd612f94d482dd4ec49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From 1ede664b18bd8a88359a3cebb291ad49833ee033 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Tue, 7 Aug 2012 01:29:01 -0400
Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa

If mesa had been built with shared glapi, glAccum is not available in
libOSMesa without explicitly linking to libGL. In addition, in
mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
libglapi if mesa was built with shared glapi, see
https://bugs.gentoo.org/show_bug.cgi?id=399813
And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
---
 configure.ac | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index cc32c24..275b792 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1128,7 +1128,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
 
         if test "x$with_osmesa" != "xno"
         then
-            WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS])
+            WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS])
+            if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
+                osmesa_save_CC=$CC
+                CC=$CXX
+                WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS])
+                CC=$osmesa_save_CC
+            fi
             WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
                              [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
         fi
-- 
1.8.0