Mesa (master): glx: Don't hard-code the name "libGL.so.1" in driOpenDriver (v3)

Emil Velikov evelikov at kemper.freedesktop.org
Fri Oct 2 12:20:50 UTC 2015


Module: Mesa
Branch: master
Commit: d35391cfda13afdb19a47003af260e258575ef45
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d35391cfda13afdb19a47003af260e258575ef45

Author: Kyle Brenneman <kbrenneman at nvidia.com>
Date:   Mon Sep 28 12:12:05 2015 -0600

glx: Don't hard-code the name "libGL.so.1" in driOpenDriver (v3)

Add a macro GL_LIB_NAME to hold the filename that configure comes up with
based on the --with-gl-lib-name and --enable-mangling options.

In driOpenDriver, use the GL_LIB_NAME macro instead of hard-coding
"libGL.so.1".

v2: Add an #ifndef/#define for GL_LIB_NAME so that non-autoconf builds will
    work.
v3: Fix the library filename in the Makefile.

Signed-off-by: Kyle Brenneman <kbrenneman at nvidia.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Cc: "10.6 11.0" <mesa-stable at lists.freedesktop.org>

---

 src/glx/Makefile.am  |    1 +
 src/glx/dri_common.c |    6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/glx/Makefile.am b/src/glx/Makefile.am
index 6e50e09..e64955e 100644
--- a/src/glx/Makefile.am
+++ b/src/glx/Makefile.am
@@ -46,6 +46,7 @@ AM_CFLAGS = \
 	$(EXTRA_DEFINES_XF86VIDMODE) \
 	-D_REENTRANT \
 	-DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
+	-DGL_LIB_NAME=\"lib at GL_LIB@.so.1\" \
 	$(DEFINES) \
 	$(LIBDRM_CFLAGS) \
 	$(DRI2PROTO_CFLAGS) \
diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
index eedcd46..8a56385 100644
--- a/src/glx/dri_common.c
+++ b/src/glx/dri_common.c
@@ -73,6 +73,10 @@ dri_message(int level, const char *f, ...)
    }
 }
 
+#ifndef GL_LIB_NAME
+#define GL_LIB_NAME "libGL.so.1"
+#endif
+
 #ifndef DEFAULT_DRIVER_DIR
 /* this is normally defined in Mesa/configs/default with DRI_DRIVER_SEARCH_PATH */
 #define DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
@@ -99,7 +103,7 @@ driOpenDriver(const char *driverName)
    int len;
 
    /* Attempt to make sure libGL symbols will be visible to the driver */
-   glhandle = dlopen("libGL.so.1", RTLD_NOW | RTLD_GLOBAL);
+   glhandle = dlopen(GL_LIB_NAME, RTLD_NOW | RTLD_GLOBAL);
 
    libPaths = NULL;
    if (geteuid() == getuid()) {




More information about the mesa-commit mailing list