~xnox/sword/soname

« back to all changes in this revision

Viewing changes to bindings/objc/dependencies/icu/include/unicode/uconfig.h

  • Committer: mdbergmann
  • Date: 2010-07-25 14:34:36 UTC
  • Revision ID: svn-v4:bcd7d363-81e1-0310-97ec-a550e20fc99c:trunk:2529
minor changes to icu includes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*  
 
2
**********************************************************************
 
3
*   Copyright (C) 2002-2006, International Business Machines
 
4
*   Corporation and others.  All Rights Reserved.
 
5
**********************************************************************
 
6
*   file name:  uconfig.h
 
7
*   encoding:   US-ASCII
 
8
*   tab size:   8 (not used)
 
9
*   indentation:4
 
10
*
 
11
*   created on: 2002sep19
 
12
*   created by: Markus W. Scherer
 
13
*/
 
14
 
 
15
#ifndef __UCONFIG_H__
 
16
#define __UCONFIG_H__
 
17
 
 
18
/*!
 
19
 * \file
 
20
 * \brief Switches for excluding parts of ICU library code modules.
 
21
 *
 
22
 * Allows to build partial, smaller libraries for special purposes.
 
23
 * By default, all modules are built.
 
24
 * The switches are fairly coarse, controlling large modules.
 
25
 * Basic services cannot be turned off.
 
26
 *
 
27
 * Building with any of these options does not guarantee that the
 
28
 * ICU build process will completely work. It is recommended that
 
29
 * the ICU libraries and data be built using the normal build.
 
30
 * At that time you should remove the data used by those services.
 
31
 * After building the ICU data library, you should rebuild the ICU
 
32
 * libraries with these switches customized to your needs.
 
33
 *
 
34
 * @stable ICU 2.4
 
35
 */
 
36
 
 
37
/**
 
38
 * \def UCONFIG_ONLY_COLLATION
 
39
 * This switch turns off modules that are not needed for collation.
 
40
 *
 
41
 * It does not turn off legacy conversion because that is necessary
 
42
 * for ICU to work on EBCDIC platforms (for the default converter).
 
43
 * If you want "only collation" and do not build for EBCDIC,
 
44
 * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
 
45
 *
 
46
 * @stable ICU 2.4
 
47
 */
 
48
#ifndef UCONFIG_ONLY_COLLATION
 
49
#   define UCONFIG_ONLY_COLLATION 0
 
50
#endif
 
51
 
 
52
#if UCONFIG_ONLY_COLLATION
 
53
    /* common library */
 
54
#   define UCONFIG_NO_BREAK_ITERATION 1
 
55
#   define UCONFIG_NO_IDNA 1
 
56
 
 
57
    /* i18n library */
 
58
#   if UCONFIG_NO_COLLATION
 
59
#       error Contradictory collation switches in uconfig.h.
 
60
#   endif
 
61
#   define UCONFIG_NO_FORMATTING 1
 
62
#   define UCONFIG_NO_TRANSLITERATION 1
 
63
#   define UCONFIG_NO_REGULAR_EXPRESSIONS 1
 
64
#endif
 
65
 
 
66
/* common library switches -------------------------------------------------- */
 
67
 
 
68
/**
 
69
 * \def UCONFIG_NO_FILE_IO
 
70
 * This switch turns off all file access in the common library
 
71
 * where file access is only used for data loading.
 
72
 * ICU data must then be provided in the form of a data DLL (or with an
 
73
 * equivalent way to link to the data residing in an executable,
 
74
 * as in building a combined library with both the common library's code and
 
75
 * the data), or via udata_setCommonData().
 
76
 * Application data must be provided via udata_setAppData() or by using
 
77
 * "open" functions that take pointers to data, for example ucol_openBinary().
 
78
 *
 
79
 * File access is not used at all in the i18n library.
 
80
 *
 
81
 * File access cannot be turned off for the icuio library or for the ICU
 
82
 * test suites and ICU tools.
 
83
 *
 
84
 * @draft ICU 3.6
 
85
 */
 
86
#ifndef UCONFIG_NO_FILE_IO
 
87
#   define UCONFIG_NO_FILE_IO 0
 
88
#endif
 
89
 
 
90
/**
 
91
 * \def UCONFIG_NO_CONVERSION
 
92
 * ICU will not completely build with this switch turned on.
 
93
 * This switch turns off all converters.
 
94
 *
 
95
 * @stable ICU 3.2
 
96
 */
 
97
#ifndef UCONFIG_NO_CONVERSION
 
98
#   define UCONFIG_NO_CONVERSION 0
 
99
#endif
 
100
 
 
101
#if UCONFIG_NO_CONVERSION
 
102
#   define UCONFIG_NO_LEGACY_CONVERSION 1
 
103
#endif
 
104
 
 
105
/**
 
106
 * \def UCONFIG_NO_LEGACY_CONVERSION
 
107
 * This switch turns off all converters except for
 
108
 * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
 
109
 * - US-ASCII
 
110
 * - ISO-8859-1
 
111
 *
 
112
 * Turning off legacy conversion is not possible on EBCDIC platforms
 
113
 * because they need ibm-37 or ibm-1047 default converters.
 
114
 *
 
115
 * @stable ICU 2.4
 
116
 */
 
117
#ifndef UCONFIG_NO_LEGACY_CONVERSION
 
118
#   define UCONFIG_NO_LEGACY_CONVERSION 0
 
119
#endif
 
120
 
 
121
/**
 
122
 * \def UCONFIG_NO_NORMALIZATION
 
123
 * This switch turns off normalization.
 
124
 * It implies turning off several other services as well, for example
 
125
 * collation and IDNA.
 
126
 *
 
127
 * @stable ICU 2.6
 
128
 */
 
129
#ifndef UCONFIG_NO_NORMALIZATION
 
130
#   define UCONFIG_NO_NORMALIZATION 0
 
131
#elif UCONFIG_NO_NORMALIZATION
 
132
    /* common library */
 
133
#   define UCONFIG_NO_IDNA 1
 
134
 
 
135
    /* i18n library */
 
136
#   if UCONFIG_ONLY_COLLATION
 
137
#       error Contradictory collation switches in uconfig.h.
 
138
#   endif
 
139
#   define UCONFIG_NO_COLLATION 1
 
140
#   define UCONFIG_NO_TRANSLITERATION 1
 
141
#endif
 
142
 
 
143
/**
 
144
 * \def UCONFIG_NO_BREAK_ITERATION
 
145
 * This switch turns off break iteration.
 
146
 *
 
147
 * @stable ICU 2.4
 
148
 */
 
149
#ifndef UCONFIG_NO_BREAK_ITERATION
 
150
#   define UCONFIG_NO_BREAK_ITERATION 0
 
151
#endif
 
152
 
 
153
/**
 
154
 * \def UCONFIG_NO_IDNA
 
155
 * This switch turns off IDNA.
 
156
 *
 
157
 * @stable ICU 2.6
 
158
 */
 
159
#ifndef UCONFIG_NO_IDNA
 
160
#   define UCONFIG_NO_IDNA 0
 
161
#endif
 
162
 
 
163
/* i18n library switches ---------------------------------------------------- */
 
164
 
 
165
/**
 
166
 * \def UCONFIG_NO_COLLATION
 
167
 * This switch turns off collation and collation-based string search.
 
168
 *
 
169
 * @stable ICU 2.4
 
170
 */
 
171
#ifndef UCONFIG_NO_COLLATION
 
172
#   define UCONFIG_NO_COLLATION 0
 
173
#endif
 
174
 
 
175
/**
 
176
 * \def UCONFIG_NO_FORMATTING
 
177
 * This switch turns off formatting and calendar/timezone services.
 
178
 *
 
179
 * @stable ICU 2.4
 
180
 */
 
181
#ifndef UCONFIG_NO_FORMATTING
 
182
#   define UCONFIG_NO_FORMATTING 0
 
183
#endif
 
184
 
 
185
/**
 
186
 * \def UCONFIG_NO_TRANSLITERATION
 
187
 * This switch turns off transliteration.
 
188
 *
 
189
 * @stable ICU 2.4
 
190
 */
 
191
#ifndef UCONFIG_NO_TRANSLITERATION
 
192
#   define UCONFIG_NO_TRANSLITERATION 0
 
193
#endif
 
194
 
 
195
/**
 
196
 * \def UCONFIG_NO_REGULAR_EXPRESSIONS
 
197
 * This switch turns off regular expressions.
 
198
 *
 
199
 * @stable ICU 2.4
 
200
 */
 
201
#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
 
202
#   define UCONFIG_NO_REGULAR_EXPRESSIONS 0
 
203
#endif
 
204
 
 
205
/**
 
206
 * \def UCONFIG_NO_SERVICE
 
207
 * This switch turns off service registration.
 
208
 *
 
209
 * @stable ICU 3.2
 
210
 */
 
211
#ifndef UCONFIG_NO_SERVICE
 
212
#   define UCONFIG_NO_SERVICE 1
 
213
#endif
 
214
 
 
215
#endif