diff options
Diffstat (limited to 'src/gbm')
-rw-r--r-- | src/gbm/Makefile.am | 3 | ||||
-rw-r--r-- | src/gbm/backends/dri/gbm_dri.c | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/gbm/Makefile.am b/src/gbm/Makefile.am index dbd4f833867..918fdf7d6ad 100644 --- a/src/gbm/Makefile.am +++ b/src/gbm/Makefile.am @@ -52,7 +52,8 @@ libgbm_dri_la_CFLAGS = \ $(LIBDRM_CFLAGS) libgbm_la_LIBADD += \ - libgbm_dri.la $(top_builddir)/src/mapi/shared-glapi/libglapi.la $(LIBDRM_LIBS) + libgbm_dri.la \ + $(LIBDRM_LIBS) endif TESTS = gbm-symbols-check diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c index 62bdf891d57..ccc3cc6930f 100644 --- a/src/gbm/backends/dri/gbm_dri.c +++ b/src/gbm/backends/dri/gbm_dri.c @@ -311,6 +311,14 @@ dri_open_driver(struct gbm_dri_device *dri) if (search_paths == NULL) search_paths = DEFAULT_DRIVER_DIR; + /* Temporarily work around dri driver libs that need symbols in libglapi + * but don't automatically link it in. + */ + /* XXX: Library name differs on per platforms basis. Update this as + * osx/cygwin/windows/bsd gets support for GBM.. + */ + dlopen("libglapi.so.0", RTLD_LAZY | RTLD_GLOBAL); + dri->driver = NULL; end = search_paths + strlen(search_paths); for (p = search_paths; p < end && dri->driver == NULL; p = next + 1) { |