From: David Mertens Sent: Tuesday, May 26, 2015 7:21 AM To: Sisyphus Cc: Chris Marshall ; pdl-devel@lists.sourceforge.net Subject: Re: [Pdl-devel] Insert C code before '#include "EXTERN.h"' > The basic idea behind this approach is that the *compiler* only thinks of > the identifiers by their full (prefixed) names, but the preprocessor knows > how to translate short names into full names. Thus the proj binaries will > only know about the full names. > > As long as users leave the name resolution to the linker, and use the > correct header files, it shouldn't matter.
OK - all they would need to do is change: typedef union { double f; int i; char *s; } PVALUE; to something like: typedef union { double f; int i; char *s; } PROJVALUE; and then add: /* For backwards compatibility. PVALUE is deprecated - use PROJVALUE */ #ifndef _WINREG_ /* _WINREG_ is defined by winreg.h */ #define PVALUE PROJVALUE #endif The only problem is that it enables someone to write source code that is not portable to Windows. For example, someone (on, say, linux) makes a change to PDL::GIS::Proj source so that it uses PVALUE. No problems for that person, but it doesn't work on Windows. That portability problem that could still arise makes it a bit messy but I'll run it by them and see if they want to go with that. (I'll also make it clear that my preference is to remove the symbol altogether.) Thanks David. Cheers, Rob ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ pdl-devel mailing list pdl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-devel