linux-gnu to mingw32 cross

Martin Aliger
Thu Nov 28 00:54:00 GMT 2002

> Martin> Main magic was using two configure options:
> Martin> --enable-libgcj 
> Martin> --enable=threads=win32
> Martin> Is there any problem to enable theese as default? Compile gcj
> Martin> without library is not very useful. And not including thread
> Martin> option results in compile error in many places (boehm_gc and
> Martin> awt as examples)
> What error do you get from AWT when building without threads?
> I don't see how that could happen.  The AWT code shouldn't be aware of
> whether threads are enabled.

I think this is not thread stuff, but some conditional (like WIN32) is not defined when thread library is posix. Maybe. I'd looked into boehm (it fails before AWT) and it looks like this (two different conditional in two places are used and perhaps only one is defined). I could investigate it further in december - I'm now stucked in another project :-(
> Making either of these the default is more a decision for the main GCC
> maintainers, in particular those associated with Windows.
> I don't know why --enable-threads=win32 is not the default.

Yes. I beleive this is problem in such huge project as gcc. Could you ask someone? Or is it working for you _without_ --enable-threads=win32 configure option? Maybe only detect stuff is broken and miss-detect win32 just in my case (RH 7.1->mingw32 cross)
> For --enable-libgcj, I think it is up to us to recommend a default.
> Generally our approach has been to recommend this when libgcj builds
> fine for given target.  Is that the case for Win32 right now?  I was
> under the impression that native Win32 builds were still a problem.

Ok. There are problems, but gcj alone is a little useless. Even for experiments...
> Martin> As well this process could be a little better documented
> Where did you look that you were expecting to find the info?

I know you will ask there. I'm involved in several free project (even not very long) and this is problem everywhere. Further I'm new in cross-compiling - but it is not problem: there are several good documents about cross gccs. I even found one about gcc ->mingw cross. What I miss is just few words/lines e.g. in ports page of gcj about "mingw32 port is in experimental state. could be compiled natively or as cross compiler with --enable-libgcj and --enable-threads=win32". Of course short page about every port could be great (and not very time consupting to porters to write). I could prepare something from mine howto for you if you are interested (but I'm not native English so grammar correction could be needed)

> Martin> First: gcc3.2 sources does NOT compile libjava due to error in
> Martin> java/net native classes (not defined IP_BROADCAST_*)
> Please send the exact error message.
> Also, in general it helps to use the trunk sources.  There has been a
> lot of work on lately, thanks to Michael Koch.  Ranjit, what
> are you using?

I think this is not neccassary as in newer version java/net is very different. It is just pity it is gcc main release and libjava does not compile ;-(

> Martin> Second: gcc3.2 2002/11/18 snapshot has completely reworked
> Martin> java/net (through java/nio) and it works but it does not
> Martin> compile other packages (awt+swing+xlib , accessibility, ...),
> Martin> use unknown gcc option -fswitch-enum, ...
> Hmm.  This must mean that you are trying to build libgcj separately
> from gcc itself.  This won't work; you must build the whole package.
> We regularly rely on features of the current (relative to the version
> of libgcj) gcc.

Could be. I will try to compile native gcc from same sources (using stable 3.2 now). I already look that -fswitch-enum is there but compile in xlib should not relate to this... I will send what I discover.


Už máte také 200 MB schránku bez reklam? Nadstandardní služby EMAIL.CZ.

More information about the Java mailing list