public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
* status of gcj
@ 2008-09-15 18:54 Johannes Klarenbeek
  2008-09-15 20:14 ` David Daney
  0 siblings, 1 reply; 10+ messages in thread
From: Johannes Klarenbeek @ 2008-09-15 18:54 UTC (permalink / raw)
  To: java

hi there,

i looked at the excellent gcj project, but was a little confused about
the status of the project. for example...

last gcj news flash is at march 30, 2007
last cni update is october 22, 2000
last classpath update is june 6 of 2008

where is project going too? how is the libgcj doing... is it already
obsolete and replaced by classpath?

regards,
johannes

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-15 18:54 status of gcj Johannes Klarenbeek
@ 2008-09-15 20:14 ` David Daney
       [not found]   ` <5c179c7f0809162004y50f5e454mf1f9c0b2e15bc3e4@mail.gmail.com>
  0 siblings, 1 reply; 10+ messages in thread
From: David Daney @ 2008-09-15 20:14 UTC (permalink / raw)
  To: Johannes Klarenbeek; +Cc: java

Johannes Klarenbeek wrote:
> hi there,
> 
> i looked at the excellent gcj project, but was a little confused about
> the status of the project. for example...
> 
> last gcj news flash is at march 30, 2007
> last cni update is october 22, 2000
> last classpath update is june 6 of 2008
> 

The GCJ News is not keep very current.  But there is still work being 
done on GCJ and libgcj.

> where is project going too? how is the libgcj doing... is it already
> obsolete and replaced by classpath?
> 

For the last several years libgcj has been based on classpath.  So it is 
not being replaced by classpath, for the most part it *is* classpath 
adapted to work with gcj.

David Daney

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
       [not found]   ` <5c179c7f0809162004y50f5e454mf1f9c0b2e15bc3e4@mail.gmail.com>
@ 2008-09-17  4:36     ` David Daney
  2008-09-17 16:55       ` Johannes Klarenbeek
  0 siblings, 1 reply; 10+ messages in thread
From: David Daney @ 2008-09-17  4:36 UTC (permalink / raw)
  To: Johannes Klarenbeek, Java GCJ Mailing List

Please keep java@gcc.gnu.org CCed.

Johannes Klarenbeek wrote:
> 2008/9/15 David Daney <ddaney@avtrex.com>:
>   
>> Johannes Klarenbeek wrote:
>>     
>>> hi there,
>>>
>>> i looked at the excellent gcj project, but was a little confused about
>>> the status of the project. for example...
>>>
>>> last gcj news flash is at march 30, 2007
>>> last cni update is october 22, 2000
>>> last classpath update is june 6 of 2008
>>>
>>>       
>> The GCJ News is not keep very current.  But there is still work being done
>> on GCJ and libgcj.
>>     
>
> what parts are not very current at the very moment concerning the byte
> code implementation of java in gcj?
>   

I was talking about the web site.  I'm not sure what your question was 
though.
>  i was reading about the gnu compiler collection on wikipedia and
> found that the gnu compiler is separeted in two parts (3 really); a
> front-end and a back-end. the front-end parses languages like C, C++,
> java, ADA, fortran and more. the back-end should support multiple
> processor architectures. i guess that gcj is the front-end part in gcc
> isn´t it?
>
>   

Correct.

>>> where is project going too? how is the libgcj doing... is it already
>>> obsolete and replaced by classpath?
>>>
>>>       
>> For the last several years libgcj has been based on classpath.  So it is not
>> being replaced by classpath, for the most part it *is* classpath adapted to
>> work with gcj.
>>     
>
> is libgcj a library that implements VMObject, VMString and some calls
> for AWT for example? so classpath can call the methods on these native
> objects whereas libgcj calls methods on the operating system to draw a
> windows for example?? if that is true, does libgcj support besides
> xlib also win32?
>
>   

That is the basic idea, but the specifics are slightly different.  For 
the case of Object, String, Class, and several other classes in the 
java.lang package, libgcj completely replaces the classpath 
implementation.  For some of the I/O classes libgcj does implement the 
VM* interfaces.  The majority of the code in classpath does not have VM 
dependencies, so the gcj specific parts of libgcj are a small percentage 
of the total code.

David Daney

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-17  4:36     ` David Daney
@ 2008-09-17 16:55       ` Johannes Klarenbeek
  2008-09-17 17:26         ` David Daney
  0 siblings, 1 reply; 10+ messages in thread
From: Johannes Klarenbeek @ 2008-09-17 16:55 UTC (permalink / raw)
  To: java

2008/9/16 David Daney <ddaney@avtrex.com>:
> Please keep java@gcc.gnu.org CCed.
>
> Johannes Klarenbeek wrote:
>>
>> 2008/9/15 David Daney <ddaney@avtrex.com>:
>>
>>>
>>> Johannes Klarenbeek wrote:
>>>
>>>>
>>>> hi there,
>>>>
>>>> i looked at the excellent gcj project, but was a little confused about
>>>> the status of the project. for example...
>>>>
>>>> last gcj news flash is at march 30, 2007
>>>> last cni update is october 22, 2000
>>>> last classpath update is june 6 of 2008
>>>>
>>>>
>>>
>>> The GCJ News is not keep very current.  But there is still work being
>>> done
>>> on GCJ and libgcj.
>>>
>>
>> what parts are not very current at the very moment concerning the byte
>> code implementation of java in gcj?
>>
>
> I was talking about the web site.  I'm not sure what your question was
> though.

oh sorry. i was wondering if the compiler (and interpreter)
implementation is up to date with the current java sun implementation.
not referening to the Classpath implementation. for example: does gcj
implement generics (or what are they called ... templates like
c++?)... is the java byte code generation by gcj after source code
compilation equal to the latest java specs etc...

>>
>>  i was reading about the gnu compiler collection on wikipedia and
>> found that the gnu compiler is separeted in two parts (3 really); a
>> front-end and a back-end. the front-end parses languages like C, C++,
>> java, ADA, fortran and more. the back-end should support multiple
>> processor architectures. i guess that gcj is the front-end part in gcc
>> isn´t it?
>>
>>
>
> Correct.

ok, how big is the gcj specific front-end part compared to for example
c++... did the developers copy a lot of code from the c++ project and
changed it to fit the java requirements?

since the back-end of gcj produces java byte code as well, does that
mean one can write c++ programs and compile it to java byte code?

>
>>>> where is project going too? how is the libgcj doing... is it already
>>>> obsolete and replaced by classpath?
>>>>
>>>>
>>>
>>> For the last several years libgcj has been based on classpath.  So it is
>>> not
>>> being replaced by classpath, for the most part it *is* classpath adapted
>>> to
>>> work with gcj.
>>>
>>
>> is libgcj a library that implements VMObject, VMString and some calls
>> for AWT for example? so classpath can call the methods on these native
>> objects whereas libgcj calls methods on the operating system to draw a
>> windows for example?? if that is true, does libgcj support besides
>> xlib also win32?
>>
>>
>
> That is the basic idea, but the specifics are slightly different.  For the
> case of Object, String, Class, and several other classes in the java.lang
> package, libgcj completely replaces the classpath implementation.  For some
> of the I/O classes libgcj does implement the VM* interfaces.  The majority
> of the code in classpath does not have VM dependencies, so the gcj specific
> parts of libgcj are a small percentage of the total code.

sorry, i lost you there... the gcj specific parts of libgcj are a
small percentage of the total code? what do you mean? leaving
Classpath out of the story, the code generated from source by gcj
links to libgcj isn´t it?

another question, maybe a little off topic since its a classpath
related question. just out of curiousity, can a bsd licensed java
compiler use the classpath library?

regards,
johannes

>
> David Daney
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-17 16:55       ` Johannes Klarenbeek
@ 2008-09-17 17:26         ` David Daney
  2008-09-17 17:37           ` Johannes Klarenbeek
  0 siblings, 1 reply; 10+ messages in thread
From: David Daney @ 2008-09-17 17:26 UTC (permalink / raw)
  To: Johannes Klarenbeek; +Cc: java

Johannes Klarenbeek wrote:
> 2008/9/16 David Daney <ddaney@avtrex.com>:
>> Please keep java@gcc.gnu.org CCed.
>>
>> Johannes Klarenbeek wrote:
>>> 2008/9/15 David Daney <ddaney@avtrex.com>:
>>>
>>>> Johannes Klarenbeek wrote:
>>>>
>>>>> hi there,
>>>>>
>>>>> i looked at the excellent gcj project, but was a little confused about
>>>>> the status of the project. for example...
>>>>>
>>>>> last gcj news flash is at march 30, 2007
>>>>> last cni update is october 22, 2000
>>>>> last classpath update is june 6 of 2008
>>>>>
>>>>>
>>>> The GCJ News is not keep very current.  But there is still work being
>>>> done
>>>> on GCJ and libgcj.
>>>>
>>> what parts are not very current at the very moment concerning the byte
>>> code implementation of java in gcj?
>>>
>> I was talking about the web site.  I'm not sure what your question was
>> though.
> 
> oh sorry. i was wondering if the compiler (and interpreter)
> implementation is up to date with the current java sun implementation.
> not referening to the Classpath implementation. for example: does gcj
> implement generics (or what are they called ... templates like
> c++?)... is the java byte code generation by gcj after source code
> compilation equal to the latest java specs etc...
> 


The current (as of 4.3) version no longer generates byte code, nor 
directly compiles .java source files.  Instead we use ecj (Eclipse 
Compiler for Java) to do the java->class compilation.  GCJ then compiles 
the class files (bytecode) into native code.  This give us full java 
generics support.


>>>  i was reading about the gnu compiler collection on wikipedia and
>>> found that the gnu compiler is separeted in two parts (3 really); a
>>> front-end and a back-end. the front-end parses languages like C, C++,
>>> java, ADA, fortran and more. the back-end should support multiple
>>> processor architectures. i guess that gcj is the front-end part in gcc
>>> isn´t it?
>>>
>>>
>> Correct.
> 
> ok, how big is the gcj specific front-end part compared to for example
> c++... did the developers copy a lot of code from the c++ project and
> changed it to fit the java requirements?
> 

GCJ was started many years ago.  I don't know how much was borrowed from 
the C++ compiler, but currently it is completely separate.  As for the 
size, I don't know a good unit to use to measure it.

> since the back-end of gcj produces java byte code as well, does that
> mean one can write c++ programs and compile it to java byte code?
> 
>>>>> where is project going too? how is the libgcj doing... is it already
>>>>> obsolete and replaced by classpath?
>>>>>
>>>>>
>>>> For the last several years libgcj has been based on classpath.  So it is
>>>> not
>>>> being replaced by classpath, for the most part it *is* classpath adapted
>>>> to
>>>> work with gcj.
>>>>
>>> is libgcj a library that implements VMObject, VMString and some calls
>>> for AWT for example? so classpath can call the methods on these native
>>> objects whereas libgcj calls methods on the operating system to draw a
>>> windows for example?? if that is true, does libgcj support besides
>>> xlib also win32?
>>>
>>>
>> That is the basic idea, but the specifics are slightly different.  For the
>> case of Object, String, Class, and several other classes in the java.lang
>> package, libgcj completely replaces the classpath implementation.  For some
>> of the I/O classes libgcj does implement the VM* interfaces.  The majority
>> of the code in classpath does not have VM dependencies, so the gcj specific
>> parts of libgcj are a small percentage of the total code.
> 
> sorry, i lost you there... the gcj specific parts of libgcj are a
> small percentage of the total code? what do you mean? leaving
> Classpath out of the story, the code generated from source by gcj
> links to libgcj isn´t it?

The entire java runtime library is quite large.  For gcj the runtime 
library is called libgcj.  The amount of gcj specific code in libgcj 
that differs from the classpath project is small compared to the total 
amount of classpath code used.

All code compiled by gcj must be linked to libgcj to be useful.

> 
> another question, maybe a little off topic since its a classpath
> related question. just out of curiousity, can a bsd licensed java
> compiler use the classpath library?


Read the classpath license.

David Daney

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-17 17:26         ` David Daney
@ 2008-09-17 17:37           ` Johannes Klarenbeek
  2008-09-17 17:43             ` David Daney
  0 siblings, 1 reply; 10+ messages in thread
From: Johannes Klarenbeek @ 2008-09-17 17:37 UTC (permalink / raw)
  To: java

2008/9/17 David Daney <ddaney@avtrex.com>:
> Johannes Klarenbeek wrote:
>>
>> 2008/9/16 David Daney <ddaney@avtrex.com>:
>>>
>>> Please keep java@gcc.gnu.org CCed.
>>>
>>> Johannes Klarenbeek wrote:
>>>>
>>>> 2008/9/15 David Daney <ddaney@avtrex.com>:
>>>>
>>>>> Johannes Klarenbeek wrote:
>>>>>
>>>>>> hi there,
>>>>>>
>>>>>> i looked at the excellent gcj project, but was a little confused about
>>>>>> the status of the project. for example...
>>>>>>
>>>>>> last gcj news flash is at march 30, 2007
>>>>>> last cni update is october 22, 2000
>>>>>> last classpath update is june 6 of 2008
>>>>>>
>>>>>>
>>>>> The GCJ News is not keep very current.  But there is still work being
>>>>> done
>>>>> on GCJ and libgcj.
>>>>>
>>>> what parts are not very current at the very moment concerning the byte
>>>> code implementation of java in gcj?
>>>>
>>> I was talking about the web site.  I'm not sure what your question was
>>> though.
>>
>> oh sorry. i was wondering if the compiler (and interpreter)
>> implementation is up to date with the current java sun implementation.
>> not referening to the Classpath implementation. for example: does gcj
>> implement generics (or what are they called ... templates like
>> c++?)... is the java byte code generation by gcj after source code
>> compilation equal to the latest java specs etc...
>>
>
>
> The current (as of 4.3) version no longer generates byte code, nor directly
> compiles .java source files.  Instead we use ecj (Eclipse Compiler for Java)
> to do the java->class compilation.  GCJ then compiles the class files
> (bytecode) into native code.  This give us full java generics support.

so that means to compile a java file from source i need to download
the eclipse compiler for java as a seperate download..

>
>
>>>>  i was reading about the gnu compiler collection on wikipedia and
>>>> found that the gnu compiler is separeted in two parts (3 really); a
>>>> front-end and a back-end. the front-end parses languages like C, C++,
>>>> java, ADA, fortran and more. the back-end should support multiple
>>>> processor architectures. i guess that gcj is the front-end part in gcc
>>>> isn´t it?
>>>>
>>>>
>>> Correct.
>>
>> ok, how big is the gcj specific front-end part compared to for example
>> c++... did the developers copy a lot of code from the c++ project and
>> changed it to fit the java requirements?
>>
>
> GCJ was started many years ago.  I don't know how much was borrowed from the
> C++ compiler, but currently it is completely separate.  As for the size, I
> don't know a good unit to use to measure it.
>
>> since the back-end of gcj produces java byte code as well, does that
>> mean one can write c++ programs and compile it to java byte code?
>>
>>>>>> where is project going too? how is the libgcj doing... is it already
>>>>>> obsolete and replaced by classpath?
>>>>>>
>>>>>>
>>>>> For the last several years libgcj has been based on classpath.  So it
>>>>> is
>>>>> not
>>>>> being replaced by classpath, for the most part it *is* classpath
>>>>> adapted
>>>>> to
>>>>> work with gcj.
>>>>>
>>>> is libgcj a library that implements VMObject, VMString and some calls
>>>> for AWT for example? so classpath can call the methods on these native
>>>> objects whereas libgcj calls methods on the operating system to draw a
>>>> windows for example?? if that is true, does libgcj support besides
>>>> xlib also win32?
>>>>
>>>>
>>> That is the basic idea, but the specifics are slightly different.  For
>>> the
>>> case of Object, String, Class, and several other classes in the java.lang
>>> package, libgcj completely replaces the classpath implementation.  For
>>> some
>>> of the I/O classes libgcj does implement the VM* interfaces.  The
>>> majority
>>> of the code in classpath does not have VM dependencies, so the gcj
>>> specific
>>> parts of libgcj are a small percentage of the total code.
>>
>> sorry, i lost you there... the gcj specific parts of libgcj are a
>> small percentage of the total code? what do you mean? leaving
>> Classpath out of the story, the code generated from source by gcj
>> links to libgcj isn´t it?
>
> The entire java runtime library is quite large.  For gcj the runtime library
> is called libgcj.  The amount of gcj specific code in libgcj that differs
> from the classpath project is small compared to the total amount of
> classpath code used.
>
> All code compiled by gcj must be linked to libgcj to be useful.

clear.

>
>>
>> another question, maybe a little off topic since its a classpath
>> related question. just out of curiousity, can a bsd licensed java
>> compiler use the classpath library?
>
>
> Read the classpath license.

ok,

thanks,
johannes

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-17 17:37           ` Johannes Klarenbeek
@ 2008-09-17 17:43             ` David Daney
  2008-10-04 21:02               ` Johannes Klarenbeek
  2008-10-04 22:07               ` Johannes Klarenbeek
  0 siblings, 2 replies; 10+ messages in thread
From: David Daney @ 2008-09-17 17:43 UTC (permalink / raw)
  To: Johannes Klarenbeek; +Cc: java

Johannes Klarenbeek wrote:
> 2008/9/17 David Daney <ddaney@avtrex.com>:
>>
>> The current (as of 4.3) version no longer generates byte code, nor directly
>> compiles .java source files.  Instead we use ecj (Eclipse Compiler for Java)
>> to do the java->class compilation.  GCJ then compiles the class files
>> (bytecode) into native code.  This give us full java generics support.
> 
> so that means to compile a java file from source i need to download
> the eclipse compiler for java as a seperate download..
> 

You need a working gcj to do it.

The configuration and build instructions for GCC tell you how to build a 
working gcj.  If you read them you will see where it says to run the 
contrib/download_ecj script to obtain the proper ecj.

An often simpler alternative is to use a system that has a pre-built gcj 
installed.

David Daney

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-17 17:43             ` David Daney
@ 2008-10-04 21:02               ` Johannes Klarenbeek
  2008-10-04 22:07               ` Johannes Klarenbeek
  1 sibling, 0 replies; 10+ messages in thread
From: Johannes Klarenbeek @ 2008-10-04 21:02 UTC (permalink / raw)
  To: David Daney; +Cc: java

2008/9/17 David Daney <ddaney@avtrex.com>:
> Johannes Klarenbeek wrote:
>>
>> 2008/9/17 David Daney <ddaney@avtrex.com>:
>>>
>>> The current (as of 4.3) version no longer generates byte code, nor
>>> directly
>>> compiles .java source files.  Instead we use ecj (Eclipse Compiler for
>>> Java)
>>> to do the java->class compilation.  GCJ then compiles the class files
>>> (bytecode) into native code.  This give us full java generics support.
>>
>> so that means to compile a java file from source i need to download
>> the eclipse compiler for java as a seperate download..
>>
>
> You need a working gcj to do it.
>
> The configuration and build instructions for GCC tell you how to build a
> working gcj.  If you read them you will see where it says to run the
> contrib/download_ecj script to obtain the proper ecj.

i found that the ecj compiler is in java... so i need a jre
environment for it to compile any java class files to java byte code
(or am i doing anything wrong here). that is a little over done isn´t
it? i believe that the packages are in java byte code class files, ...
so could i build a native compiler then?

>
> An often simpler alternative is to use a system that has a pre-built gcj
> installed.

that is not an option, since i´m adding it to firmware linux. a small
development only linux distro.

>
> David Daney
>

- johannes klarenbeek...

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-09-17 17:43             ` David Daney
  2008-10-04 21:02               ` Johannes Klarenbeek
@ 2008-10-04 22:07               ` Johannes Klarenbeek
  2008-10-05  8:23                 ` Mark Wielaard
  1 sibling, 1 reply; 10+ messages in thread
From: Johannes Klarenbeek @ 2008-10-04 22:07 UTC (permalink / raw)
  To: java

2008/9/17 David Daney <ddaney@avtrex.com>:
> Johannes Klarenbeek wrote:
>>
>> 2008/9/17 David Daney <ddaney@avtrex.com>:
>>>
>>> The current (as of 4.3) version no longer generates byte code, nor
>>> directly
>>> compiles .java source files.  Instead we use ecj (Eclipse Compiler for
>>> Java)
>>> to do the java->class compilation.  GCJ then compiles the class files
>>> (bytecode) into native code.  This give us full java generics support.
>>
>> so that means to compile a java file from source i need to download
>> the eclipse compiler for java as a seperate download..
>>
>
> You need a working gcj to do it.
>
> The configuration and build instructions for GCC tell you how to build a
> working gcj.  If you read them you will see where it says to run the
> contrib/download_ecj script to obtain the proper ecj.

i downloaded gcc-java-4.3.2.tar.bz2 but found neither a download_ecj
script or a build readme file...

>
> An often simpler alternative is to use a system that has a pre-built gcj
> installed.
>
> David Daney
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: status of gcj
  2008-10-04 22:07               ` Johannes Klarenbeek
@ 2008-10-05  8:23                 ` Mark Wielaard
  0 siblings, 0 replies; 10+ messages in thread
From: Mark Wielaard @ 2008-10-05  8:23 UTC (permalink / raw)
  To: Johannes Klarenbeek; +Cc: java

Hi Johannes,

On Sat, 2008-10-04 at 17:06 -0500, Johannes Klarenbeek wrote:
> > You need a working gcj to do it.
> >
> > The configuration and build instructions for GCC tell you how to build a
> > working gcj.  If you read them you will see where it says to run the
> > contrib/download_ecj script to obtain the proper ecj.
> 
> i downloaded gcc-java-4.3.2.tar.bz2 but found neither a download_ecj
> script or a build readme file...

You need the full gcc-4.3.2.tar.bz2, the script is contrib/download_ecj.
The build readme is libjava/HACKING.

> > An often simpler alternative is to use a system that has a pre-built gcj
> > installed.

Also the prebuild class files are under libjava/classpath/lib so you
don't need to build with --enable-java-maintainer-mode if you don't want
to use ecj and/or modify/compile java source files.

Cheers,

Mark

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-10-05  8:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-15 18:54 status of gcj Johannes Klarenbeek
2008-09-15 20:14 ` David Daney
     [not found]   ` <5c179c7f0809162004y50f5e454mf1f9c0b2e15bc3e4@mail.gmail.com>
2008-09-17  4:36     ` David Daney
2008-09-17 16:55       ` Johannes Klarenbeek
2008-09-17 17:26         ` David Daney
2008-09-17 17:37           ` Johannes Klarenbeek
2008-09-17 17:43             ` David Daney
2008-10-04 21:02               ` Johannes Klarenbeek
2008-10-04 22:07               ` Johannes Klarenbeek
2008-10-05  8:23                 ` Mark Wielaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).