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

Reply via email to