Fixed bug 5215 - Fixing filenames passed to dlopen for OpenBSD

Brad Smith

Attached is a patch to use the proper filenames when trying to dlopen the respective shared libraries on OpenBSD.
This commit is contained in:
Sam Lantinga 2020-09-08 08:42:30 -07:00
parent 1b6de9a987
commit 8709f67ebc
3 changed files with 22 additions and 2 deletions

View File

@ -72,6 +72,13 @@
#define DEFAULT_OGL_ES_PVR "libGLES_CM.dylib" //??? #define DEFAULT_OGL_ES_PVR "libGLES_CM.dylib" //???
#define DEFAULT_OGL_ES "libGLESv1_CM.dylib" //??? #define DEFAULT_OGL_ES "libGLESv1_CM.dylib" //???
#elif defined(__OpenBSD__)
#define DEFAULT_OGL "libGL.so"
#define DEFAULT_EGL "libEGL.so"
#define DEFAULT_OGL_ES2 "libGLESv2.so"
#define DEFAULT_OGL_ES_PVR "libGLES_CM.so"
#define DEFAULT_OGL_ES "libGLESv1_CM.so"
#else #else
/* Desktop Linux */ /* Desktop Linux */
#define DEFAULT_OGL "libGL.so.1" #define DEFAULT_OGL "libGL.so.1"

View File

@ -36,6 +36,12 @@
#include "SDL_waylandvulkan.h" #include "SDL_waylandvulkan.h"
#include "SDL_syswm.h" #include "SDL_syswm.h"
#if defined(__OpenBSD__)
#define DEFAULT_VULKAN "libvulkan.so"
#else
#define DEFAULT_VULKAN "libvulkan.so.1"
#endif
int Wayland_Vulkan_LoadLibrary(_THIS, const char *path) int Wayland_Vulkan_LoadLibrary(_THIS, const char *path)
{ {
VkExtensionProperties *extensions = NULL; VkExtensionProperties *extensions = NULL;
@ -50,7 +56,7 @@ int Wayland_Vulkan_LoadLibrary(_THIS, const char *path)
if(!path) if(!path)
path = SDL_getenv("SDL_VULKAN_LIBRARY"); path = SDL_getenv("SDL_VULKAN_LIBRARY");
if(!path) if(!path)
path = "libvulkan.so.1"; path = DEFAULT_VULKAN;
_this->vulkan_config.loader_handle = SDL_LoadObject(path); _this->vulkan_config.loader_handle = SDL_LoadObject(path);
if(!_this->vulkan_config.loader_handle) if(!_this->vulkan_config.loader_handle)
return -1; return -1;

View File

@ -30,6 +30,13 @@
#include <X11/Xlib.h> #include <X11/Xlib.h>
/*#include <xcb/xcb.h>*/ /*#include <xcb/xcb.h>*/
#if defined(__OpenBSD__)
#define DEFAULT_VULKAN "libvulkan.so"
#else
#define DEFAULT_VULKAN "libvulkan.so.1"
#endif
/* /*
typedef uint32_t xcb_window_t; typedef uint32_t xcb_window_t;
typedef uint32_t xcb_visualid_t; typedef uint32_t xcb_visualid_t;
@ -52,7 +59,7 @@ int X11_Vulkan_LoadLibrary(_THIS, const char *path)
if(!path) if(!path)
path = SDL_getenv("SDL_VULKAN_LIBRARY"); path = SDL_getenv("SDL_VULKAN_LIBRARY");
if(!path) if(!path)
path = "libvulkan.so.1"; path = DEFAULT_VULKAN;
_this->vulkan_config.loader_handle = SDL_LoadObject(path); _this->vulkan_config.loader_handle = SDL_LoadObject(path);
if(!_this->vulkan_config.loader_handle) if(!_this->vulkan_config.loader_handle)
return -1; return -1;