From: Michel Dänzer <michel.daen...@amd.com>

The libGLES*.so symlinks are intended for the compile-time linker and
not available everywhere at runtime.

v2: * Continue using libGLES*.so on Android, the full SONAMEs aren't
      available there.
    * Remove stale comment line

Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---
 man/waffle_config.3.xml     |  2 +-
 man/waffle_dl.3.xml         |  6 +++---
 src/waffle/linux/linux_dl.c | 13 ++++++++++---
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/man/waffle_config.3.xml b/man/waffle_config.3.xml
index 8dc2fae..a8cb98d 100644
--- a/man/waffle_config.3.xml
+++ b/man/waffle_config.3.xml
@@ -535,7 +535,7 @@ struct waffle_config;
                   <itemizedlist>
                     <listitem>
                       <para>
-                        GLX supports creation of an OpenGL ES2 context only if 
libGLESv2.so is installed and if
+                        GLX supports creation of an OpenGL ES2 context only if 
libGLESv2.so.2 is installed and if
                         GLX_EXT_create_context_es2_profile is exposed as both 
a server and client extension.
                       </para>
                     </listitem>
diff --git a/man/waffle_dl.3.xml b/man/waffle_dl.3.xml
index 463081f..ffcfad4 100644
--- a/man/waffle_dl.3.xml
+++ b/man/waffle_dl.3.xml
@@ -72,9 +72,9 @@
     <para>
       For example, on Linux, the <constant>WAFFLE_DL_*</constant> enums map to
       <filename>libGL.so.1</filename>,
-      <filename>libGLESv1_CM.so</filename>,
-      <filename>libGLESv2.so</filename>, and
-      <filename>libGLESv2.so</filename>, respectively.
+      <filename>libGLESv1_CM.so.1</filename>,
+      <filename>libGLESv2.so.2</filename>, and
+      <filename>libGLESv2.so.2</filename>, respectively.
     </para>
 
     <variablelist>
diff --git a/src/waffle/linux/linux_dl.c b/src/waffle/linux/linux_dl.c
index 1e14684..33eb69d 100644
--- a/src/waffle/linux/linux_dl.c
+++ b/src/waffle/linux/linux_dl.c
@@ -34,7 +34,7 @@
 #include "linux_dl.h"
 
 struct linux_dl {
-    /// @brief For example, "libGLESv2.so".
+    /// @brief For example, "libGLESv2.so.2".
     const char *name;
 
     /// @brief The library obtained with dlopen().
@@ -50,17 +50,24 @@ linux_dl_get_name(int32_t waffle_dl)
         case WAFFLE_DL_OPENGL:
             return "libGL.so.1";
         case WAFFLE_DL_OPENGL_ES1:
+#ifdef WAFFLE_HAS_ANDROID
             return "libGLESv1_CM.so";
+#else
+            return "libGLESv1_CM.so.1";
+#endif
         case WAFFLE_DL_OPENGL_ES2:
         case WAFFLE_DL_OPENGL_ES3:
             // As of 2014-04-20, Mesa statically provides the ES2 and ES3
-            // symbols symbols in libGLESv2.so and provides no ES3-only library
+            // symbols symbols in libGLESv2.so.2 and provides no ES3-only 
library
             // 
-            // Even though Waffle does not use the library's soname, note that
             // Mesa did not change the library's soname when it added the ES3
             // symbols. The soname was and is libGLESv2.so.2 before and after
             // ES3.
+#ifdef WAFFLE_HAS_ANDROID
             return "libGLESv2.so";
+#else
+            return "libGLESv2.so.2";
+#endif
         default:
             wcore_error_internal("waffle_dl has bad value %#x", waffle_dl);
             return NULL;
-- 
2.1.4

_______________________________________________
waffle mailing list
waffle@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/waffle

Reply via email to