summaryrefslogtreecommitdiff
path: root/scripts/symbols.dfn
blob: eff9127aaec060d21d80225f2e13b98c660b4c8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

/* symbols.dfn - find all exported symbols
 *
 * Last changed in libpng version 1.5.0 [September 11, 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/pnglibconf.h.prebuilt is as expected.  If scripts/pnglibconf.h.prebuilt
 * is remade using scripts/pnglibconf.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/pnglibconf.h.prebuilt; the 'standard'
 * header file.
 */
#include "pnglibconf.h.prebuilt"
#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/pnglibconf.dfa
 *
 * Maintenance: if scripts/pnglibconf.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_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"