RFC: micro-libgcj merge proposal
Joel Dice
dicej@mailsnare.net
Fri Jan 13 18:17:00 GMT 2006
Hi all.
The following is a brief proposal for merging micro-libgcj into the GCC
source tree. Comments and suggestions are welcome.
- Joel
Proposed Changes
----------------
* Add two new build options:
--[enable|disable]-micro-libgcj
Enable/disable lightweight libgcj build.
--[enable|disable]-micro-synchronization
Enable/disable lightweight, nonstandard synchronization based
on java.lang.Syncronizable interface. This option is enabled
by default when --enable-micro-libgcj is specified, but may
be enabled or disabled independent of that option.
* Add preprocessor directives to various native source files (*.cc) under
the libjava directory of the following forms:
#ifndef ULIBGCJ
... // code that should not be included in the micro-libgcj build
#endif
#ifdef ULIBGCJ
... // simplified version of code for micro-libgcj build
#else
... // full-featured and/or high-performance version for normal
// build
#endif
Note that these directives would not need to appear in any Java source
files, nor in any files not included in the micro-libgcj build at all.
Also, few if any header files should require any such directives. I'm
afraid I can't provide an exact list of files affected until I've
actually done the merge.
* Add a new subdirectory under libgjava called micro-libgcj which will
contain a separately-maintained set of Java files representing
micro-libgcj's classpath (a subset of java.lang.* and java.util.*).
Plan
----
0. Get write access to the GCC repository.
1. Create a micro-libgcj branch in the repository.
2. Do the merge on that branch.
3. Document new build options.
4. When the next Stage 1 in the release schedule comes around, propose to
merge micro-libgcj into the trunk.
5. Merge into trunk according to the schedule defined by the release
manager.
More information about the Java
mailing list