From 2df19382de348d2d5b6093ccbc8f48464b3ed861 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 6 Aug 2013 16:02:00 +0200 Subject: Cleanup doc structure .. adding ABOUT.txt and top-level README.txt .. / Adding JEP161/OpenJDK8 notes .. --- .gitignore | 2 ++ ABOUT.txt | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.JEP161.txt | 3 -- README.JVM.txt | 24 ------------- README.Jigsaw.txt | 14 -------- README.txt | 14 ++++++++ doc/README.JEP161.txt | 18 ++++++++++ doc/README.JVM.txt | 24 +++++++++++++ doc/README.Jigsaw.txt | 14 ++++++++ 9 files changed, 171 insertions(+), 41 deletions(-) create mode 100644 .gitignore create mode 100644 ABOUT.txt delete mode 100644 README.JEP161.txt delete mode 100644 README.JVM.txt delete mode 100644 README.Jigsaw.txt create mode 100644 README.txt create mode 100644 doc/README.JEP161.txt create mode 100644 doc/README.JVM.txt create mode 100644 doc/README.Jigsaw.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5504873 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +jdk8/* +jigsaw/* diff --git a/ABOUT.txt b/ABOUT.txt new file mode 100644 index 0000000..1ee9b62 --- /dev/null +++ b/ABOUT.txt @@ -0,0 +1,99 @@ +We have just kicked off the new project 'Ji Gong' to 'free' +the use of OpenJDK/Java across devices: + + + +Bug 790 + Bug 698 + ++++ + +Current Ji Gong Dependency +including the OpenJDK API subset, etc: + + ++++ + +1st Milestone - Core JRT for all platforms .. + + + + +Calling for volunteers. + +We are looking for sponsors! + ++++ + +Preface +======== + +Bug 698 was written due to the "Fear, uncertainty and doubt" (FUD) +strategy of Oracle of not giving express permission to use OpenJDK +in compliance w/ the 4 freedoms of software (FSF definition). + +On the contrary, Oracle gives a patent grant for using OpenJDK for desktop only, +implying mobile use may be prohibited. + +This implication is highly likely non-sense, especially in the light of +the latest Oracle vs Google case where Oracle was not able to +substantiate a patent infringement by Google's Dalvik VM. + +However .. the current situation lacks of: + - OpenJDK builds for Windows, OSX, Android, .. + - IcedTea-Web builds for Windows, OSX, Android, .. + +As Xerxes put it: The horse is bound to a chair and is not running .. + + +Project Name +============ +Ji Gong +"Unlike a traditional Buddhist monk, Daoji did not like following traditional monastic codes. Daoji had a penchant for openly eating meat and drinking wine; his robes were often tattered and dirty from travelling from place to place, and stumbling while intoxicated. However, Daoji was kind hearted and was always ready to lend a helping hand to ordinary people. He would often treat the sick and fight against injustice. The monks, bewildered and fed up with his behavior, expelled Daoji from the monastery. From then on, Daoji roamed the streets and helped people whenever he could." + +Hence Daoji does people good while not necessarily conforming to certain arbitrary rules, +while maintaining sanity and being kind hearted. + +The character is quite popular in the Asian culture. + +Project Spirit +============== + +This project shall match the kind direction of it's name giving character, +while also serving w/ JogAmp's goals of being a technology enabler. + +Ji Gong shall enable the VM technology across platform and devices. + +This project must not necessarily being maintained by the JogAmp community. +On the contrary .. we would prefer this effort to be done from the original authors, +i.e. OpenJDK and IcedTea-Web. + +However, until the goals below and this spirit of a free solution is being picked +up, we may continue pushing it forward from here. + +Note: Bug 698 sadly wasn't being replied to by neither Oracle nor the OpenJDK team. +Of course, no surprise here, since for Oracle it might be a conflict of interest +due to their 'goals' to market their ARM hotspot proprietary solution +and the OpenJDK team consist mainly of Oracle and RedHat members. +The latter focuses on server solutions and is highly cooperating w/ Oracle. + + +Project Goal +============ + +- Availability of the GPLv2 based OpenJDK runtime environment (JRT/JVM) + - Desktop (Linux, Windows, OSX, ..) + - Mobile (Android, other phones and tablet OS [maybe even iOS]) + - VM CPU support: + - Intel/AMD 32bit and 64bit + - ARM based CPUs [Hotspot client/server n/a at time of writing. May need to use JamVM or AvianVM, ..] + +- Optional AWT/Swing/etc - maybe added at a later time + +- Web Plugin based on IcedTea-Web (JWeb) + - Capable to run w/o AWT using a pluggable windowing subsystem implementation + - Optional AWT/Swing/etc - maybe added at a later time + ++++ + + diff --git a/README.JEP161.txt b/README.JEP161.txt deleted file mode 100644 index 2316bb8..0000000 --- a/README.JEP161.txt +++ /dev/null @@ -1,3 +0,0 @@ -JEP 161 got included in OpenJDK 8 M7 2013/06/13 (b94) -Feature Complete milestone http://openjdk.java.net/projects/jdk8/milestones -thus... it should be possible to compile a compact1 profile using the openjdk 8 sourcecode without the modular system added using jigsaw diff --git a/README.JVM.txt b/README.JVM.txt deleted file mode 100644 index a2baa30..0000000 --- a/README.JVM.txt +++ /dev/null @@ -1,24 +0,0 @@ -(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 - diff --git a/README.Jigsaw.txt b/README.Jigsaw.txt deleted file mode 100644 index ac11672..0000000 --- a/README.Jigsaw.txt +++ /dev/null @@ -1,14 +0,0 @@ -apt-get build-dep openjdk-7-jdk - -hg clone http://hg.openjdk.java.net/jigsaw/jigsaw -cd jigsaw/ -sh ./get_source.sh - -#./configure -# --enable-unlimited-crypto -# --disable-headful - -sh configure && make all -make test TEST=jdk_jigsaw - --> ./jdk/make/modules/modules.config diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..05b9872 --- /dev/null +++ b/README.txt @@ -0,0 +1,14 @@ + +Documentation: + ./ABOUT.txt - About Ji-Gong + ./README.txt - This document + + ./doc/README.JEP161.txt - OpenJDK8 JEP161 Build .. + ./doc/README.Jigsaw.txt - OpenJDK8 Jigsaw Build + ./doc/README.JVM.txt - Notes about custom JVM + +Bug 792: OpenJDK Subset - JRT Core + https://jogamp.org/bugzilla/show_bug.cgi?id=792 + + Currently testing OpenJDK8 JEP161: + ./doc/README.JEP161.txt diff --git a/doc/README.JEP161.txt b/doc/README.JEP161.txt new file mode 100644 index 0000000..acedddc --- /dev/null +++ b/doc/README.JEP161.txt @@ -0,0 +1,18 @@ +JEP 161 got included in OpenJDK 8 M7 2013/06/13 (b94) +Feature Complete milestone http://openjdk.java.net/projects/jdk8/milestones +thus... it should be possible to compile a compact1 profile using the openjdk 8 sourcecode without the modular system added using jigsaw + +JEP 161 does not require Project Jigsaw. + + ++++ + +hg clone http://hg.openjdk.java.net/jdk8/jdk8 +cd jdk8/ +sh ./get_source.sh + +./jdk8/README-builds.html +http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html + +sh configure && make all +# make test TEST=jdk_jigsaw diff --git a/doc/README.JVM.txt b/doc/README.JVM.txt new file mode 100644 index 0000000..a2baa30 --- /dev/null +++ b/doc/README.JVM.txt @@ -0,0 +1,24 @@ +(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 + diff --git a/doc/README.Jigsaw.txt b/doc/README.Jigsaw.txt new file mode 100644 index 0000000..ac11672 --- /dev/null +++ b/doc/README.Jigsaw.txt @@ -0,0 +1,14 @@ +apt-get build-dep openjdk-7-jdk + +hg clone http://hg.openjdk.java.net/jigsaw/jigsaw +cd jigsaw/ +sh ./get_source.sh + +#./configure +# --enable-unlimited-crypto +# --disable-headful + +sh configure && make all +make test TEST=jdk_jigsaw + +-> ./jdk/make/modules/modules.config -- cgit v1.2.3