Help with Makefiles/automake/autoconfig
corsepiu at faw.uni-ulm.de
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").
* My knowledge on java is close to NULL.
* Which gcc are you using? How did you build it?
For which targets?
None of the rtems.com 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
* 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
> Any assistance would be greatly appreciated
More information about the users