(03:06:24 PM) xranby: its a bit undocumented the key is that there exist a jvm.cfg file inside the jre directory (03:06:53 PM) xranby: this file lists all folders inside java/jre/lib//* that contains a libjvm.so (03:07:12 PM) xranby: the top most -myawesomejvm KNOWN line becomes the default (03:07:29 PM) xranby: the libjvm.so itself implement the JNI spec (03:08:26 PM) xranby: basically according to this book: http://web.archive.org/web/20120905183616/http://java.sun.com/docs/books/jni/download/jni.pdf (03:08:43 PM) xranby: + all added JEP's & JSR's over time + some openjdk undocumented apis (03:08:56 PM) xranby: jamvm and cacao for example implements this (03:09:17 PM) xranby: and allows you to place the jamvm, cacao, avian libjvm.so inside one subfolder (03:09:25 PM) xranby: and add a line -jamvm KNOWN to the jvm.cfg (03:09:54 PM) xranby: during builds... there was previously a mecanism inside the openjdk source (03:10:19 PM) xranby: if you defined ALT_HOTSPOT_IMPORT_PATH or similar pointing to a prebuilt libjvm.so (03:10:27 PM) xranby: it would import that one instead of building it from scratch (03:10:39 PM) xranby: this mechanism changes from time to time (03:10:59 PM) xranby: at present it require a directory that looks like a real JDK installation (03:11:11 PM) xranby: (although it only copys the libjvm.so) (03:11:29 PM) xranby: we use this trick to build openjdk using jamvm using the icedtea build system (03:11:48 PM) xranby: all details are found inside the icedtea project (03:12:08 PM) xranby: hence makes it possible to build openjdk on platforms without hotspot (03:12:20 PM) xranby: ... i will not go into details on how to bootstrap openjdk (03:12:27 PM) xranby: from scratch on a new architecture (03:12:33 PM) xranby: .. its black magic (03:13:21 PM) xranby: basically you do GCC -> GCJ -> ECJ -> ANT -> bootstrap openjdk subset compiled using ecj -> openjdk (03:13:31 PM) xranby: and deal with all cyclic complexity