src/3rdparty/libmng/README.config
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Configuration options in libmng
       
     2 ===============================
       
     3 
       
     4 The library is fairly configurable through the use of a number of defines.
       
     5 Please note however that certain defines are for internal use only.
       
     6 The following list gives a summary of options that can be used externally to
       
     7 define the functionality of the library:
       
     8 
       
     9 ========================================
       
    10 
       
    11 #define MNG_BUILD_DLL
       
    12 
       
    13 This is used to indicate that a "standard" DLL should result from compiling
       
    14 the library. Please note the remarks in README.dll if you intend to work
       
    15 with the library as a DLL. The purpose of this option is to ensure that
       
    16 DLL builds have the same set of functions.
       
    17 
       
    18 #define MNG_BUILD_SO
       
    19 
       
    20 This is used to indicate that a "standard" shared library (SO) should result
       
    21 from a compilation. The purpose of this option is to ensure that all
       
    22 shared libraries generated this way will have the same set of functions.
       
    23 
       
    24 #define MNG_USE_DLL / #define MNG_USE_SO
       
    25 
       
    26 These should be used when including the library header in the compilation
       
    27 of an application to indicate that the compiler/linker must take the
       
    28 necessary steps to make the binary executable to use the standard DLL
       
    29 or shared library (SO).
       
    30 
       
    31 #define MNG_SKIP_ZLIB / #define MNG_SKIP_LCMS / #define MNG_SKIP_IJG6B
       
    32 
       
    33 Use these in conjunction with MNG_USE_DLL / MNG_USE_SO. This is useful if
       
    34 you only need the external definitions of the MNG library and not the others,
       
    35 which will speed up the compilation process.
       
    36 
       
    37 #define MNG_SUPPORT_FULL / #define MNG_SUPPORT_LC / #define MNG_SUPPORT_VLC
       
    38 
       
    39 These can be used to indicate the level of MNG spec compliance required.
       
    40 Currently only full MNG compliance is supported.
       
    41 
       
    42 #define MNG_SUPPORT_IJG6B
       
    43 
       
    44 This can be used to indicate if JNG support is required. This option will
       
    45 include the IJG JPEG-library. Note that MNG_SUPPORT_FULL will automatically
       
    46 set this option. Use this only if you need JNG support with MNG-(V)LC.
       
    47 
       
    48 #define MNG_FULL_CMS / #define MNG_GAMMA_ONLY / #define MNG_NO_CMS /
       
    49 #define MNG_APP_CMS
       
    50 
       
    51 These indicate the color-correction support level of the library.
       
    52 If you are on a platform that supports lcms (Little CMS by Marti Maria Saguar)
       
    53 then it is highly recommended to define MNG_FULL_CMS.
       
    54 If your platform has it's own CMS then select MNG_APP_CMS and be sure to
       
    55 include the appropriate callbacks in your app.
       
    56 In all other cases it is recommended to define MNG_GAMMA_ONLY.
       
    57 
       
    58 #define MNG_SUPPORT_READ / #define MNG_SUPPORT_WRITE /
       
    59 #define MNG_SUPPORT_DISPLAY
       
    60 
       
    61 These indicate the high-level support for reading, writing and/or
       
    62 displaying files. Note that in order to display a file, you'll need to read
       
    63 it first. (yes, really!)
       
    64 
       
    65 #define MNG_STORE_CHUNKS
       
    66 
       
    67 This indicates that the library should store chunk-information when reading
       
    68 a file. This information can then be processed through the
       
    69 MNG_ITERATE_CHUNKS() function. Note that you must specify this option if
       
    70 you want to create and write a new file.
       
    71 
       
    72 #define MNG_ACCESS_CHUNKS
       
    73 
       
    74 This is used to indicate that the app may need access to internally stored
       
    75 chunk information. MNG_STORE_CHUNKS must be defined as well for this option
       
    76 to function properly.
       
    77 
       
    78 #define MNG_INTERNAL_MEMMNGMT
       
    79 
       
    80 You can use this to have the library handle it's own memory allocation and
       
    81 deallocation through the "standard" memory functions. This option is turned
       
    82 off by default, which means your app must define the memory callbacks.
       
    83 
       
    84 #define MNG_ERROR_TELLTALE
       
    85 
       
    86 Set this on to allow human-readable error-messages to be included in the
       
    87 library and the error function and callback.
       
    88 
       
    89 #define MNG_BIGENDIAN_SUPPORTED
       
    90 
       
    91 This option should be used to indicate the hardware is based on big endian
       
    92 integers.
       
    93 
       
    94 #define MNG_SUPPORT_TRACE / #define MNG_TRACE_TELLTALE
       
    95 
       
    96 These two can be used when debugging an app. You'll need to have the trace
       
    97 callback setup also. This allows for a rather thorough investigation of the
       
    98 libraries function paths.
       
    99 
       
   100 ========================================
       
   101 
       
   102 Any other optional defines you may encounter are for internal use only.
       
   103 please do not specify them externally. In case of doubt, consult the
       
   104 support email lists. More info can be found on http://www.libmng.com