aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2015-06-01 11:41:33 +0900
committerChad Versace <chad.versace@intel.com>2015-06-04 10:45:23 -0700
commit17055eec43766f91181bb2ede6907f5cba47bf80 (patch)
treebea632d8c697a6f4016a285a4b9d861076921425
parent76df03ee6327647f709aa7d2b2ec42ebda12bfc3 (diff)
downloadwaffle-maint-1.4.tar.gz
linux: Use full libGLES*.so.[12] SONAMEsmaint-1.4
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.daenzer@amd.com> Reviewed-by: Chad Versace <chad.versace@intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (cherry picked from commit e9c4e291982acc303a3a9a70e817e052f4fdc05a)
-rw-r--r--man/waffle_config.3.xml2
-rw-r--r--man/waffle_dl.3.xml6
-rw-r--r--src/waffle/linux/linux_dl.c13
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 b089b93..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>, repectively.
+ <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;