Cross Compiling Issues in GCJ 3.3

Ranjit Mathew rmathew@hotmail.com
Sun Jan 19 18:11:00 GMT 2003


Ranjit Mathew wrote:
> Because of this, while cross-compiling for MinGW from Linux, I
> find the build marked "NATIVE"(!!) and therefore "bin_PROGRAMS"
> (gij.exe, rmic.exe, etc.) are generated which make no sense for a
> cross-compiler toolchain.

BTW, Makefile.am has only one instance of a check for generating
bin_PROGRAMS if NATIVE is defined but Makefile.in gets *two* such
definitions - one with $(EXEEXT), one without. How???


> If I refer to the following document in the GCC documentation:
> 
>     http://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html
> 
> it says that target libraries should use $with_cross_host to
> check for the "real" host, as $host == $target for them.
> 
> So the original check was indeed correct, IMHO.

It has become more complicated than that - contrary to the
documentation, "with_cross_host" is no longer being passed
to the libjava configure by the top-level Makefile, neither
is "target". "host" (set to the original "target") and
"build" are the only things now to play with - which
is all fine if you are only building a target library, but
libgcj comes with *programs* (gij,rmic,etc.) as well, which
I don't know how to properly configure for crossed-native
builds! :-(


> As an aside, the gcjh tool does not seem to generate
> target-specific code and, IMHO, should just be called
> "gcjh", instead of (say) "mingw32-gcjh" for a
> cross-compiler toolchain.

The "gcc/java/Make-lang.in" file defines these as
"target independent" executables and yet applies
"program transformation" to their names before installing,
which prefixes the "mingw32-" to their names. If they
are target independent, why should their names be
transformed?

Sincerely Yours,
Ranjit.

-- 
Ranjit Mathew        Email: rmathew AT hotmail DOT com
Bangalore,
INDIA.               Web: http://ranjitmathew.tripod.com/




More information about the Java mailing list