#if !defined(_WIN32)
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE // for dladdr
-#endif
-#include <dlfcn.h>
+#include "dlopen.hpp"
#endif
* XXX: Not really used yet.
*/
#if defined(_WIN32)
-HINSTANCE __libGlHandle = NULL;
+HMODULE _libGlHandle = NULL;
#else
-void *__libGlHandle = NULL;
+void *_libGlHandle = NULL;
#endif
* for quering via dlsym(RTLD_NEXT, ...).
*/
void *
-__getPublicProcAddress(const char *procName)
+_getPublicProcAddress(const char *procName)
{
#if defined(ANDROID)
/*
if (procName[0] == 'e' && procName[1] == 'g' && procName[2] == 'l') {
static void *libEGL = NULL;
if (!libEGL) {
- libEGL = dlopen("libEGL.so", RTLD_LOCAL | RTLD_LAZY);
+ libEGL = _dlopen("libEGL.so", RTLD_LOCAL | RTLD_LAZY);
if (!libEGL) {
return NULL;
}
static void *libGLESv2 = NULL;
if (!libGLESv2) {
- libGLESv2 = dlopen("libGLESv2.so", RTLD_LOCAL | RTLD_LAZY);
+ libGLESv2 = _dlopen("libGLESv2.so", RTLD_LOCAL | RTLD_LAZY);
}
if (libGLESv2) {
sym = dlsym(libGLESv2, procName);
static void *libGLESv1 = NULL;
if (!libGLESv1) {
- libGLESv1 = dlopen("libGLESv1_CM.so", RTLD_LOCAL | RTLD_LAZY);
+ libGLESv1 = _dlopen("libGLESv1_CM.so", RTLD_LOCAL | RTLD_LAZY);
}
if (libGLESv1) {
sym = dlsym(libGLESv1, procName);
* eglGetProcAddress to mitigate that.
*/
void *
-__getPrivateProcAddress(const char *procName)
+_getPrivateProcAddress(const char *procName)
{
void *proc;
- proc = __getPublicProcAddress(procName);
+ proc = _getPublicProcAddress(procName);
if (!proc &&
((procName[0] == 'e' && procName[1] == 'g' && procName[2] == 'l') ||
(procName[0] == 'g' && procName[1] == 'l'))) {
- proc = (void *) __eglGetProcAddress(procName);
+ proc = (void *) _eglGetProcAddress(procName);
}
return proc;