Commit 486354d6 authored by Camilla Berglund's avatar Camilla Berglund
Browse files

Fix libGL not being found on NetBSD

Fixes #646.
parent 9ac9c614
......@@ -82,6 +82,7 @@ used by the tests and examples and are not required to build the library.
- [WGL] Removed dependency on external WGL headers
- [GLX] Replaced legacy renderable with `GLXWindow`
- [GLX] Removed dependency on external GLX headers
- [GLX] Bugfix: NetBSD does not provide `libGL.so.1`
- [EGL] Removed dependency on external EGL headers
......
......@@ -152,19 +152,32 @@ static GLXContext createLegacyContext(_GLFWwindow* window,
//
int _glfwInitContextAPI(void)
{
int i;
const char* sonames[] =
{
#if defined(__CYGWIN__)
const char* soname = "libGL-1.so";
"libGL-1.so",
#else
const char* soname = "libGL.so.1";
"libGL.so.1",
"libGL.so",
#endif
NULL
};
if (!_glfwCreateContextTLS())
return GLFW_FALSE;
_glfw.glx.handle = dlopen(soname, RTLD_LAZY | RTLD_GLOBAL);
for (i = 0; sonames[i]; i++)
{
_glfw.glx.handle = dlopen(sonames[i], RTLD_LAZY | RTLD_GLOBAL);
if (_glfw.glx.handle)
break;
}
if (!_glfw.glx.handle)
{
_glfwInputError(GLFW_API_UNAVAILABLE, "GLX: %s", dlerror());
_glfwInputError(GLFW_API_UNAVAILABLE, "GLX: Failed to load GLX");
return GLFW_FALSE;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment