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