This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

adding a directory on a branch


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] :-)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]