~ubuntu-branches/ubuntu/jaunty/freeimage/jaunty

« back to all changes in this revision

Viewing changes to FreeImage/Source/LibMNG/README.config

  • Committer: Bazaar Package Importer
  • Author(s): Federico Di Gregorio
  • Date: 2007-05-07 15:35:21 UTC
  • Revision ID: james.westby@ubuntu.com-20070507153521-m4lx765bzxxug9qf
Tags: upstream-3.9.3
ImportĀ upstreamĀ versionĀ 3.9.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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