1 import core.runtime; 2 import core.stdc.string; 3 import core.sys.posix.dlfcn; 4 5 extern(C) alias RunDepTests = int function(); 6 main(string[]args)7void main(string[] args) 8 { 9 auto name = args[0] ~ '\0'; 10 const pathlen = strrchr(name.ptr, '/') - name.ptr + 1; 11 name = name[0 .. pathlen] ~ "liblinkdep.so"; 12 13 auto h = Runtime.loadLibrary(name); 14 assert(h); 15 auto runDepTests = cast(RunDepTests)dlsym(h, "runDepTests"); 16 assert(runDepTests()); 17 assert(Runtime.unloadLibrary(h)); 18 } 19