This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
adding a directory on a branch
- From: Tom Tromey <tromey at redhat dot com>
- To: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: 07 Oct 2004 13:14:03 -0600
- Subject: adding a directory on a branch
- Reply-to: tromey at redhat dot com
As some of you know, I've been rewriting the java front end in C++.
While it is still not ready for the mainline, and won't be for some
time, I think it is finally ready to be checked in on a branch on
gcc.gnu.org [1]. Ordinarily I would just make a branch and go to it, but
I wanted to make some new directories; and since that is globally
visible in cvs I thought I would give people a chance to object first.
This front end is a little strange in that it is written as a library.
The core of the compiler doesn't use any gcc internals at all. I
wanted to be able to use it in non-gcc contexts (e.g., dlopen() it
into ant, or use it to implement the java compiler API). I plan to
LGPL this part [2].
The parts that lower the internal representation to trees are pretty
small (10% of the compiler) and are one implementation of an abstract
code generation API. The tree-lowering code will, naturally, be GPL.
What I'd like to do is make a new top-level directory, which would
hold the compiler core. The contents of gcc/java would be replaced by
the tree-specific back end. I think a top-level directory is best
since it clearly separates the LGPL module from everything else [3].
I'm not sure what to name this directory. "libgcj" seems really
confusing, given that the libjava directory makes a library named
libgcj. I've called my sourceforge project "gcjx" (x = experimental);
in the absence of suggestions I will call it "gcjx".
Tom
[1] Got my first .s output recently.
[2] One or two little bits, derived from GPL code, need to be
rewritten first. The files on sourceforge all say GPL, but I'll
change that before moving them over.
[3] I hope this message inspires a simultaneous flame war about C++,
licensing, and source tree layout. Next up: how this front end
relates to line-map.[ch] :-)