Help with Makefiles/automake/autoconfig

Ralf Corsepius corsepiu at
Fri Dec 19 00:18:16 UTC 2003

On Thu, 2003-12-18 at 14:10, John Neil wrote:
> Although java using GCJ runs happily on our board, before making the
> modifications available I would like to update the rtems tree configuration,
> in particular with the configure/automake/makefiles used to build a BSP and
> its applications.  I have done this in my tree by hacking the Makefiles
> specifically for our board, however I was wondering if anyone would be able
> to assist in getting this into a more generic state.  Unfortunately my
> understanding of automake etc is extremely limited

Of cause I could help, but I am currently lacking time ("the usual rush
at the end of the year").

Preliminary remarks:
* My knowledge on java is close to NULL.
* Which gcc are you using? How did you build it?
For which targets?

None of the gcc's nor FSF/RTEMS gccs support gcj nor its
infrastructure (libgcj etc.). Helping you without having a functional
toolchain is hardly possible.

Now, to your questions (comments interspersed):

> Basically the changes consist of 
> 1.  A separate subdirectory cpukit/java, which contains two or three generic
> C++ source files and a header files which must be compiled if java is
> enabled.

* Why C++? Is gcj coupled to C++? I'd rather not add C++ to cpukit (It's
doable, but ...)
* cpukit is multilib'ed, i.e. all parts inside must be compilable for
all supported variants of an architecture.

> 2.  Some cpu specific source files which are currently placed under
> c/src/lib/libbsp/m68k/shared used to generate hardware based java null
> pointer exceptions.  On our 68360-040 port this consists of one assembler
> and on c++ file.
I can't comment on the HW-related questions, but again, why c++?

Adding a c++ file to a BSP would mean to convert RTEMS to C++, which
would hardly be acceptable. Adding a C++ library on top of a BSP would
be doable and could be accepted.

> 3.  At this stage a simple example test program which is currently in a
> directory in the examples.
Requires a functional gcj toolchain.

> I would like to modify the configuration stuff so that
> 1.  There is an optional enable java/gcj parameter to the configuration.
> 2.  So port specific c++ functions in c/src/lib/libbsp/m68k/shared can be
> compiled when java is enabled.
> 3.  The board specific makefiles have additional rules for compiling java
> sources and generating C++ header files from the java sources using GCJ,
> similar to the current "COMPILE.c" found in gcc-target-default-cfg, with
> appropriate flags, specifically for hardware which supports the null pointer
> exceptions.
> Any assistance would be greatly appreciated

More information about the users mailing list