in renderer/src/main/java/org/netbeans/html/presenters/render/GTK.java [383:411]
static <T> T loadLibrary(Class<T> type, boolean allowObjects, Collection<Throwable> errors) {
String libName = System.getProperty("com.dukescript.presenters.renderer." + type.getSimpleName());
if (libName == null) {
if (type == JSC.class) {
libName = "javascriptcoregtk-3.0";
} else if (type == GTK.GLib.class) {
libName = "glib-2.0";
} else if (type == GTK.G.class) {
libName = "gobject-2.0";
} else if (type == GTK.Gdk.class) {
libName = "gtk-3";
} else if (type == GTK.Gtk.class) {
libName = "gtk-3";
} else if (type == GTK.WebKit.class) {
libName = "webkitgtk-3.0";
}
}
try {
Object lib = Native.loadLibrary(libName, type, Collections.singletonMap(Library.OPTION_ALLOW_OBJECTS, allowObjects));
return type.cast(lib);
} catch (LinkageError err) {
if (errors != null) {
errors.add(err);
return null;
} else {
throw err;
}
}
}