use dlfcn, even on Windows

There's such a library on MSYS2. Use it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
pull/3796/head
Rosen Penev 10 months ago
parent e61442da9c
commit 2c94715f30
No known key found for this signature in database
GPG Key ID: 36D31CFA845F0E3B

@ -8,24 +8,14 @@
#include <stdlib.h>
#ifdef _WIN
#include <windows.h>
#else
#include <dlfcn.h>
#if defined (__APPLE__)
#include <mach-o/dyld.h>
#endif // __APPLE__
#endif // _WIN
#ifdef _WIN
hc_dynlib_t hc_dlopen (LPCSTR lpLibFileName);
BOOL hc_dlclose (hc_dynlib_t hLibModule);
hc_dynfunc_t hc_dlsym (hc_dynlib_t hModule, LPCSTR lpProcName);
#else
hc_dynlib_t hc_dlopen (const char *filename);
int hc_dlclose (hc_dynlib_t handle);
hc_dynfunc_t hc_dlsym (hc_dynlib_t handle, const char *symbol);
#endif
#define HC_LOAD_FUNC2(ptr,name,type,var,libname,noerr) \
do { \

@ -387,6 +387,7 @@ LFLAGS_NATIVE += -Wl,--dynamicbase
LFLAGS_NATIVE += -Wl,--nxcompat
LFLAGS_NATIVE += -lpsapi
LFLAGS_NATIVE += -liconv
LFLAGS_NATIVE += -ldl
LFLAGS_NATIVE += -lws2_32
LFLAGS_NATIVE += -lpowrprof
endif # MSYS2

@ -7,25 +7,6 @@
#include "types.h"
#include "dynloader.h"
#ifdef _WIN
hc_dynlib_t hc_dlopen (LPCSTR lpLibFileName)
{
return LoadLibraryA (lpLibFileName);
}
BOOL hc_dlclose (hc_dynlib_t hLibModule)
{
return FreeLibrary (hLibModule);
}
hc_dynfunc_t hc_dlsym (hc_dynlib_t hModule, LPCSTR lpProcName)
{
return GetProcAddress (hModule, lpProcName);
}
#else
hc_dynlib_t hc_dlopen (const char *filename)
{
return dlopen (filename, RTLD_NOW);
@ -40,5 +21,3 @@ hc_dynfunc_t hc_dlsym (hc_dynlib_t handle, const char *symbol)
{
return dlsym (handle, symbol);
}
#endif

Loading…
Cancel
Save