[Gc] Win64 GCC support

Petter Urkedal urkedal at nbi.dk
Sun Jun 21 00:00:50 PDT 2009


On 2009-06-20, NightStrike wrote:
> 2009/6/19 Ivan Maidanski <ivmai at mail.ru>:
> > I guess current configure won't work for mingw-w64.
> >
> > The problem (You are seeing) with malloc.x is:
> > 1. mingw-w64 defines _DLL (same as VC++ but not MinGW),
> > 2. configure should supply -DGC_NOT_DLL (but don't),
> > 3. gc_config_macros.h defines GC_API as dll_import (as _DLL present but no GC_BUILD and no GC_NOT_DLL),
> > 4. GC_arrays is semi-private (as used by test) and tagged with GC_API,
> > 5. you get "initializer element is not const" error (is this because of .rel.ro missing on Win32?)
> >
> > Are there any volunteers to get configure up-to-date and working on GNU/Win32 systems?
> 
> You guys are using automake, so it should be very easy to do this.
> Unfortunately, it appears to be an old version of automake, one that
> I've never even used before.  Are you averse to stepping up to a more
> recent version?  1.11 is current.

I normally refresh the generated files with "autoreconf -vif" when
building from CVS, and the current HEAD works for me with Automake-1.10.
There is, however, a number of warnings which can be silenced by
removing the outdated libtool.m4.  I've suggested a pending correction
(the last two posts):

http://blog.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/day=20090516

Your seem to be familiar with Automake, so you probably know what to do,
but since bdwgc takes a mostly architecture-based approach, my bet is:

  * Check how ./config.guess identifies the platform.
  * Add a $host case in configure.ac.
  * Add the corresponding AC_DEFINEs.

Doing this, it's unlikely that you'll introduce anything that doesn't
also work on older Automake.  I don't have a Windows machine, so I'll
have to pass on the actual work.


More information about the Gc mailing list