libpng/scripts/symbols.dfn
Glenn Randers-Pehrson 862cb20ea6 [devel] Freeze build-time only configuration in the build.
In all prior versions of libpng most configuration options
    controlled by compiler #defines had to be repeated by the
    application code that used libpng.  This patch changes this
    so that compilation options that can only be changed at build
    time are frozen in the build.  Options that are compiler
    dependent (and those that are system dependent) are evaluated
    each time - pngconf.h holds these.  Options that can be changed
    per-file in the application are in png.h.  Frozen options are
    in the new installed header file pnglconf.h
2010-04-16 22:12:51 -05:00

59 lines
1.9 KiB
Plaintext

/* symbols.dfn - find all exported symbols
*
* Last changed in libpng 1.5.0 [April 1, 2010]
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
* and license in png.h
*/
/* NOTE: making 'symbols.chk' checks both that the exported
* symbols in the library don't change and (implicitly) that
* scripts/pnglconf.h is as expected. If scripts/pnglconf.h
* is remade using scripts/pnglconf.dfa then this checks the
* .dfa file too.
*/
#define PNG_EXPORT(type, name, args, attributes, ordinal)\
PNG_DEFN_MAGIC-name @ordinal-PNG_DEFN_END
#define PNG_REMOVED(type, name, args, attributes, ordinal)\
PNG_DEFN_MAGIC-; name @ordinal-PNG_DEFN_END
#define PNG_EXPORT_LAST_ORDINAL(ordinal)\
PNG_DEFN_MAGIC-; @ordinal-PNG_DEFN_END
/* Read the defaults, but use scripts/pnglconf.h; the 'standard'
* header file.
*/
#include "pnglconf.h"
#include "../png.h"
/* Some things are turned off by default. Turn these things
* on here (by hand) to get the APIs they expose and validate
* that no harm is done. This list is the set of options
* defaulted to 'off' in scripts/pnglconf.dfa
*
* Maintenance: if scripts/pnglconf.dfa options are changed
* from, or to, 'off' this needs updating!
*/
#define PNG_BENIGN_ERRORS_SUPPORTED
#define PNG_ERROR_NUMBERS_SUPPORTED
#define PNG_READ_BIG_ENDIAN_SUPPORTED /* should do nothing! */
#define PNG_INCH_CONVERSIONS_SUPPORTED
#define PNG_READ_DITHER_SUPPORTED
#define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
#undef PNG_H
#include "../png.h"
/* Finally there are a couple of places where option support
* actually changes the APIs revealed using a #if/#else/#endif
* test in png.h, test these here.
*/
#undef PNG_FLOATING_POINT_SUPPORTED /* Exposes 'fixed' APIs */
#undef PNG_ERROR_TEXT_SUPPORTED /* Exposes unsupported APIs */
#undef PNG_H
#include "../png.h"