import core.runtime; | |
import core.stdc.string; | |
import core.sys.posix.dlfcn; | |
extern(C) alias RunDepTests = int function(); | |
void main(string[] args) | |
{ | |
auto name = args[0] ~ '\0'; | |
const pathlen = strrchr(name.ptr, '/') - name.ptr + 1; | |
name = name[0 .. pathlen] ~ "liblinkdep.so"; | |
auto h = Runtime.loadLibrary(name); | |
assert(h); | |
auto runDepTests = cast(RunDepTests)dlsym(h, "runDepTests"); | |
assert(runDepTests()); | |
assert(Runtime.unloadLibrary(h)); | |
} |