[oe] RFC: merging recipes from Jalimo

Paul Sokolovsky pmiscml at gmail.com
Wed Dec 12 21:13:54 UTC 2007


Hello Robert,

Wednesday, December 12, 2007, 6:01:41 PM, you wrote:

> Hi Leon,

> Leon Woestenberg schrieb:
>> Hello Robert,
>> I see the compile task assumes the availability of "javac".
>> 
>> javac -d build -source 1.4 -sourcepath source `cat $list`;
>> 
>> How do you expect this to be available on the host? Will any javac
>> that's out there be good enough to use?
> A Java 1.4 compatible compiler is needed. That can be the proprietary
> javac, gcj -C, jikes and ecj. Most distribution have some way to let the
> latter three be available as 'javac'.

> You may say that we could use jikes-native from OE then but that
> compiler needs (as all Java compilers) a class library. Jikes is not
> Java5-capable but GNU Classpath expects one since version 0.95. One
> could build an older GNU Classpath release just for this purpose but
> then there would still be no runtime to use ecj-bootstrap (which is a
> Java app itself). Additionally I wanted to stick with latest and
> greatest GNU Classpath (especially everything after the Java5 switch)
> releases since the older ones contain surprising bugs and miss important
> tools (gjar, gjavah etc).

> It is really a messy bootstrapping situation, I know. Since OE expects
> GCC being installed I think that gij and gcj can also be available on
> those systems.

>> Currently, OpenEmbedded tries to rely on a defined set of host tools
>> to be installed, and my concern is that we now must add one (out of a
>> set of acceptable) java compiler to that external dependency list. If
>> so, we must do so carefully.
> Yes, thats true. A java compiler and a runtime (both from the fairly old
> 1.4 times) are needed in the beginning. After ecj-bootstrap is built its
> only purpose is to built OE's own java runtime and compiler.

> If independence from those two pieces of software is important I could
> look into this. However I expect this to become complicated.

  As was discussed lately on this list, we should track the expected
host dependencies. This is done using ASSUME_PROVIDED in
conf/bitbake.conf. So, based on the above, I think you want to add
javac-native and java-runtime-native there. Then, your recipe should
DEPENDS on them, and in comment, please include the relevant
additional info above. This should be good compromise, as indeed,
complete self-bootstrapping would be a task in itself, sidetracking you
from the current work.


> Regards
> Robert




-- 
Best regards,
 Paul                            mailto:pmiscml at gmail.com





More information about the Openembedded-devel mailing list