Hello all,

plplot.h includes plConfig.h which defines some HAVE_* macros.  These
macros could conflict with user's code, for example:

// autoconf- or cmake-generated config.h
#include "config.h"
#include <plplot.h>

In this case plplot could be using user's configuration or interfere
with user's code.  If the values of macros wouldn't match (even
"#define FOO" vs. "#define FOO 1") gcc would print a warning.

I tried to look more closely at plplot.h to find out how it uses
HAVE_* macros.  There are two uses:

1. if HAVE_STDINT_H, then PLUINT and other types are defined with the
help from stdint.h, otherwise plplot.h does some guessing.  Instead of
this we could use CheckTypeSize [1] in cmake to find a type of
appropriate size.

2. if there are some standard functions missing (isinf(), isnan() etc)
then plplot.h does some workarounds.  But this code (macros, in fact)
could be moved in a separate header file, user doesn't need it.

I would write a patch myself, but I don't know much about cmake.

[1] http://www.cmake.org/cmake/help/cmake2.6docs.html#module:CheckTypeSize

Regards,
Dmitri

-- 
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <griboz...@gmail.com>*/

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to