On Tue, 2010-10-19 at 17:04 +0200, Tejas Guruswamy wrote: > On 19/10/10 15:51, Mark Ellis wrote: > > On Tue, 2010-10-19 at 14:02 +0200, Tejas Guruswamy wrote: > > > >> On 19/10/10 10:06, David Eriksson wrote: > >> > >>> If I remember correctly, DATE is one of the types in synce_types.h, > >>> which are meant to have the same name and declaration as in Microsoft > >>> Windows. Changing it in libsynce will diverge from that and also means > >>> changing librapi2 and many tools and applications that depend on that > >>> library. > >>> > >>> It would probably be better to hide the Python declaration of DATE > >>> with some #define/#undef magic... :-) > >>> > >>> Best regards, > >>> > >>> David Eriksson > >>> http://www.divideandconquer.se/ > >>> > >> Luckily, the python declaration was just a #define, so it can be #undef'd. > >> This isn't an issue with python2.6 or before, even with gcc 4.5.1, btw. > >> > >> Here's a patch for libsynce that allows building the python rapi2 and > >> rra bindings again. > >>
I'd feel more comfortable doing something to undef it in the wrapper source rather than the general headers, but that should be easy enough, I think. > > That's remarkably inconvenient of them. Can you see where DATE is > > defined in python, and what it is defined to ? Redefining it is fine for > > our code, but we might break something else in the bindings. > > > Found it, here's the context: > > /usr/include/python2.7/pyconfig.h: 1247: > #define COMPILER "[GCC]" > #define DATE "Aug 07 2010" > #define TIME "16:54:59" > > Which is just the python package build info, inserted by configure. I'd > be surprised if anyone is using it to do anything important ... The interesting part is that this appears nowhere in the corresponding file on ubuntu. It's a very common name to use in a define that might be included elsewhere. Any other distros have this appearing ? > >> Index: libsynce-0.15/lib/synce_types.h > >> =================================================================== > >> --- libsynce-0.15.orig/lib/synce_types.h > >> +++ libsynce-0.15/lib/synce_types.h > >> @@ -38,6 +38,8 @@ typedef uint64_t ULARGE_INTEGER; > >> > >> > >> /* XXX: sizeof(double) must be 8 */ > >> +//Python2.7 defines DATE as a macro in /usr/include/python2.7/pyconfig.h > >> +#undef DATE > >> typedef double DATE; > Regards, > Tejas > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > _______________________________________________ > SynCE-Devel mailing list > SynCE-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/synce-devel
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel