[libpng16] Fixed configurations where floating point is completely disabled.

Because of the changes to support symbol prefixing PNG_INTERNAL_FUNCTION
declares floating point APIs during libpng builds even if they are completely
disabled. This requires the png floating point types (png_double*) to be
declared even though the functions are never actually defined.  This
change provides a dummy definition so that the declarations work, yet any
implementation will fail to compile because of an incomplete type.
This commit is contained in:
John Bowler
2012-08-09 07:35:50 -05:00
committed by Glenn Randers-Pehrson
parent cad0150d12
commit 0a9f8eb272
3 changed files with 23 additions and 4 deletions

View File

@@ -170,12 +170,17 @@
* the functions will be used without definitions.)
*
* NOTE: although all the API functions are declared here they are not all
* actually built!
* actually built! Because the declarations are still made it is necessary to
* fake out types that they depend on.
*/
#ifndef PNG_FP_EXPORT
# ifndef PNG_FLOATING_POINT_SUPPORTED
# define PNG_FP_EXPORT(ordinal, type, name, args)\
PNG_INTERNAL_FUNCTION(type, name, args, PNG_EMPTY);
typedef struct png_incomplete png_double;
typedef png_double* png_doublep;
typedef const png_double* png_const_doublep;
typedef png_double** png_doublepp;
# endif
#endif
#ifndef PNG_FIXED_EXPORT