Oracle replace includeDB Mechanism
Oracle to Drop includeDB from JDK
Java SE Licensee Tni has blogged about a letter he recently received from Oracle. The letter stated that Oracle were planning on eliminating the includeDB mechanism from the HotSpot build process. This will start with JDK7 and forthcoming updates of the JDK 6. This mechanism consisted of the MakeDeps tool and plain-text database files with recorded header files dependencies, and was in charge of generating necessary header files including list for each source file at compile time. It also generated precompiled headers that reduced compile times for Visual C and gcc compilers. However, according to Oracle "this approach became a maintenance issue and it also creates unnecessary difficulties for using modern IDEs for code development." The includeDB mechanism will now be replaced by a static list of header files and all include files will be listed at the top of each source file.
The current development headless launcher – 'gamma launcher' – will be replaced by a 'fusion' launcher and will have a new switch for launch inside a debugger. Oracle are currently planning on implementing the launcher as a shell script that wraps around the gamma launcher on Solaris and Linux.
"Switching to the standard include model will enhance code maintainability. We do not expect this will be affecting Java SE licensees port in any major way, but we would like to give you an advanced notice so that you can plan your upcoming release accordingly," concludes the letter.
Tni views this as a positive thing, as includeDB was a non-standard way of handling C++ header files, which might have solved some problems back in the olden days but "with modern IDEs it's more of a hindrance." He predicts this will lower the bar for new developers and will allow IDEs to be used with a minimum amount of tweaking.
"So, if you want to work on OpenJDK this is good for you. If you want others to work on OpenJDK this is also good for you. You're welcome."