Can I make this change (enum macros colliding with guile macros)

Geert Janssens janssens-geert at telenet.be
Thu Jun 3 17:06:23 EDT 2010


On Thursday 3 June 2010, Christian Stimming wrote:
> Am Thursday 03 June 2010 schrieb Geert Janssens:
> > I looked a little closer at the problem.
> >
> > The Windows API headers declare DATE with this statement:
> > typedef double DATE;
> 
> aaaaaaarg...
> 
> > So #undef'ing won't help us here.
> 
> Right.
> 
> (Still needing to relieve from an OS header that has this brilliant idea to
> use a common typedef name like "DATE" for something as intuitive as a
> double...)
> 
> > On Wednesday 2 June 2010, Derek Atkins wrote:
> > > HOWEVER, note that this will invalidate all existing check formats!  So
> > > it's a non-backwards-compatible interface format.
> > >
> > > Is there some way we can get guile not to #include windows includes?
> >
> > I explored this option a little deeper. It looks like I can indeed avoid
> > the windows includes by patching one of the guile headers.
> >
> > I'm still waiting for the build to finish to see if it worked, but so far
> > guile was compiled successfully with this patch.
> 
> Sounds good, and thanks for the research!
> 
> Christian
> 
Ok, the windows includes are out it seems.

But guile seems to export functions that use types defined in gmp.h (mpz_ 
stuff).

Guile linux has the same dependency and on linux the gmp.h header file is 
available. But only because guile requires it.

I'm a bit unsure how to tackle this one. If gmp is required for guile (a 
required dependency for gnucash), shouldn't gnucash then also require gmp 
explicitly, meaning some extra code should be added to configure.ac ? Or 
should I just add the proper paths for the gmp library and header files in the 
gnucash configure line in the Windows' intall script ?

Geert


More information about the gnucash-devel mailing list