1 2 /* symbols.c - find all exported symbols 3 * 4 * Copyright (c) 2011-2014 Glenn Randers-Pehrson 5 * 6 * This code is released under the libpng license. 7 * For conditions of distribution and use, see the disclaimer 8 * and license in png.h 9 */ 10 11 /* NOTE: making 'symbols.chk' checks both that the exported 12 * symbols in the library don't change and (implicitly) that 13 * scripts/pnglibconf.h.prebuilt is as expected. 14 * If scripts/pnglibconf.h.prebuilt is remade using 15 * scripts/pnglibconf.dfa then this checks the .dfa file too. 16 */ 17 18 #define PNG_EXPORTA(ordinal, type, name, args, attributes)\ 19 PNG_DFN "@" name "@ @@" ordinal "@" 20 #define PNG_REMOVED(ordinal, type, name, args, attributes)\ 21 PNG_DFN "; @" name "@ @@" ordinal "@" 22 #define PNG_EXPORT_LAST_ORDINAL(ordinal)\ 23 PNG_DFN "; @@" ordinal "@" 24 25 /* Read the defaults, but use scripts/pnglibconf.h.prebuilt; the 'standard' 26 * header file. 27 */ 28 #include "pnglibconf.h.prebuilt" 29 #include "../png.h" 30 31 /* Some things are turned off by default. Turn these things 32 * on here (by hand) to get the APIs they expose and validate 33 * that no harm is done. This list is the set of options 34 * defaulted to 'off' in scripts/pnglibconf.dfa 35 * 36 * Maintenance: if scripts/pnglibconf.dfa options are changed 37 * from, or to, 'disabled' this needs updating! 38 */ 39 #define PNG_BENIGN_ERRORS_SUPPORTED 40 #define PNG_ERROR_NUMBERS_SUPPORTED 41 #define PNG_READ_BIG_ENDIAN_SUPPORTED /* should do nothing! */ 42 #define PNG_INCH_CONVERSIONS_SUPPORTED 43 #define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED 44 #define PNG_SET_OPTION_SUPPORTED 45 46 #undef PNG_H 47 #include "../png.h" 48 49 /* Finally there are a couple of places where option support 50 * actually changes the APIs revealed using a #if/#else/#endif 51 * test in png.h, test these here. 52 */ 53 #undef PNG_FLOATING_POINT_SUPPORTED /* Exposes 'fixed' APIs */ 54 #undef PNG_ERROR_TEXT_SUPPORTED /* Exposes unsupported APIs */ 55 56 #undef PNG_H 57 #include "../png.h" 58