Merge pull request #1520 from PhilipWitte/bigbreak

fixed posix dynlib names for bigbreak
This commit is contained in:
Andreas Rumpf 2014-09-05 08:32:25 +02:00
commit 5fb12144b3

View file

@ -57,19 +57,19 @@ when defined(posix):
RTLD_NOW {.importc: "RTLD_NOW", header: "<dlfcn.h>".}: int RTLD_NOW {.importc: "RTLD_NOW", header: "<dlfcn.h>".}: int
RTLD_GLOBAL {.importc: "RTLD_GLOBAL", header: "<dlfcn.h>".}: int RTLD_GLOBAL {.importc: "RTLD_GLOBAL", header: "<dlfcn.h>".}: int
proc dlclose(lib: TLibHandle) {.importc, header: "<dlfcn.h>".} proc dlclose(lib: LibHandle) {.importc, header: "<dlfcn.h>".}
proc dlopen(path: CString, mode: int): TLibHandle {. proc dlopen(path: cstring, mode: int): LibHandle {.
importc, header: "<dlfcn.h>".} importc, header: "<dlfcn.h>".}
proc dlsym(lib: TLibHandle, name: cstring): pointer {. proc dlsym(lib: LibHandle, name: cstring): pointer {.
importc, header: "<dlfcn.h>".} importc, header: "<dlfcn.h>".}
proc loadLib(path: string, global_symbols=false): TLibHandle = proc loadLib(path: string, global_symbols=false): LibHandle =
var flags = RTLD_NOW var flags = RTLD_NOW
if global_symbols: flags = flags or RTLD_GLOBAL if global_symbols: flags = flags or RTLD_GLOBAL
return dlopen(path, flags) return dlopen(path, flags)
proc loadLib(): TLibHandle = return dlopen(nil, RTLD_NOW) proc loadLib(): LibHandle = return dlopen(nil, RTLD_NOW)
proc unloadLib(lib: TLibHandle) = dlclose(lib) proc unloadLib(lib: LibHandle) = dlclose(lib)
proc symAddr(lib: TLibHandle, name: cstring): pointer = proc symAddr(lib: LibHandle, name: cstring): pointer =
return dlsym(lib, name) return dlsym(lib, name)
elif defined(windows) or defined(dos): elif defined(windows) or defined(dos):