Configuration options in libmng===============================The library is fairly configurable through the use of a number of defines.Please note however that certain defines are for internal use only.The following list gives a summary of options that can be used externally todefine the functionality of the library:========================================#define MNG_BUILD_DLLThis is used to indicate that a "standard" DLL should result from compilingthe library. Please note the remarks in README.dll if you intend to workwith the library as a DLL. The purpose of this option is to ensure thatDLL builds have the same set of functions.#define MNG_BUILD_SOThis is used to indicate that a "standard" shared library (SO) should resultfrom a compilation. The purpose of this option is to ensure that allshared libraries generated this way will have the same set of functions.#define MNG_USE_DLL / #define MNG_USE_SOThese should be used when including the library header in the compilationof an application to indicate that the compiler/linker must take thenecessary steps to make the binary executable to use the standard DLLor shared library (SO).#define MNG_SKIP_ZLIB / #define MNG_SKIP_LCMS / #define MNG_SKIP_IJG6BUse these in conjunction with MNG_USE_DLL / MNG_USE_SO. This is useful ifyou only need the external definitions of the MNG library and not the others,which will speed up the compilation process.#define MNG_SUPPORT_FULL / #define MNG_SUPPORT_LC / #define MNG_SUPPORT_VLCThese can be used to indicate the level of MNG spec compliance required.Currently only full MNG compliance is supported.#define MNG_SUPPORT_IJG6BThis can be used to indicate if JNG support is required. This option willinclude the IJG JPEG-library. Note that MNG_SUPPORT_FULL will automaticallyset this option. Use this only if you need JNG support with MNG-(V)LC.#define MNG_FULL_CMS / #define MNG_GAMMA_ONLY / #define MNG_NO_CMS /#define MNG_APP_CMSThese indicate the color-correction support level of the library.If you are on a platform that supports lcms (Little CMS by Marti Maria Saguar)then it is highly recommended to define MNG_FULL_CMS.If your platform has it's own CMS then select MNG_APP_CMS and be sure toinclude the appropriate callbacks in your app.In all other cases it is recommended to define MNG_GAMMA_ONLY.#define MNG_SUPPORT_READ / #define MNG_SUPPORT_WRITE /#define MNG_SUPPORT_DISPLAYThese indicate the high-level support for reading, writing and/ordisplaying files. Note that in order to display a file, you'll need to readit first. (yes, really!)#define MNG_STORE_CHUNKSThis indicates that the library should store chunk-information when readinga file. This information can then be processed through theMNG_ITERATE_CHUNKS() function. Note that you must specify this option ifyou want to create and write a new file.#define MNG_ACCESS_CHUNKSThis is used to indicate that the app may need access to internally storedchunk information. MNG_STORE_CHUNKS must be defined as well for this optionto function properly.#define MNG_INTERNAL_MEMMNGMTYou can use this to have the library handle it's own memory allocation anddeallocation through the "standard" memory functions. This option is turnedoff by default, which means your app must define the memory callbacks.#define MNG_ERROR_TELLTALESet this on to allow human-readable error-messages to be included in thelibrary and the error function and callback.#define MNG_BIGENDIAN_SUPPORTEDThis option should be used to indicate the hardware is based on big endianintegers.#define MNG_SUPPORT_TRACE / #define MNG_TRACE_TELLTALEThese two can be used when debugging an app. You'll need to have the tracecallback setup also. This allows for a rather thorough investigation of thelibraries function paths.========================================Any other optional defines you may encounter are for internal use only.please do not specify them externally. In case of doubt, consult thesupport email lists. More info can be found on http://www.libmng.com