allow opening of .SO files on linux

This commit is contained in:
Gregory Wells
2026-05-24 13:15:47 -04:00
parent 6fd8917b88
commit de67b88f18
3 changed files with 12 additions and 16 deletions
@@ -1,9 +1,9 @@
#pragma once
typedef struct gnLib {
#ifdef GN_PLATFORM_MACOS
void* dylib;
#endif
#if defined(GN_PLATFORM_MACOS) || defined(GN_PLATFORM_LINUX)
void* dylib;
#endif
} gnLib;
gnLib gnLoadLib(const char* path);
@@ -1,32 +1,23 @@
#include "gryphn_lib.h"
#ifdef GN_PLATFORM_MACOS
#if defined(GN_PLATFORM_MACOS) || defined(GN_PLATFORM_LINUX)
#include <dlfcn.h>
#endif
gnLib gnLoadLib(const char* path) {
#ifdef GN_PLATFORM_MACOS
gnLib lib;
lib.dylib = dlopen(path, RTLD_NOW | RTLD_LOCAL);
return lib;
#endif
}
int gnLibValid(const gnLib* lib) {
#ifdef GN_PLATFORM_MACOS
return lib->dylib != 0;
#endif
return 0;
return lib->dylib != 0;
}
void* gnLoadLibFunction(const gnLib* lib, const char* function) {
#ifdef GN_PLATFORM_MACOS
return dlsym(lib->dylib, function);
#endif
}
void gnCloseLib(const gnLib* lib) {
#ifdef GN_PLATFORM_MACOS
dlclose(lib->dylib);
#endif
}
#endif
+5
View File
@@ -0,0 +1,5 @@
file(GLOB_RECURSE VULKAN_SOURCES CONFIGURE_DEPENDS "src/*.c")
add_library(gryphn_vulkan SHARED ${VULKAN_SOURCES})
project(gryphn_vulkan LANGUAGES C)
set_target_properties(gryphn_vulkan PROPERTIES PREFIX "")
target_link_libraries(gryphn_vulkan PRIVATE GryphnLoader)