]>
git.saurik.com Git - apple/javascriptcore.git/blob - icu/unicode/uconfig.h
2 **********************************************************************
3 * Copyright (C) 2002-2004, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 **********************************************************************
8 * tab size: 8 (not used)
11 * created on: 2002sep19
12 * created by: Markus W. Scherer
20 * \brief Switches for excluding parts of ICU library code modules.
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.
31 * \def UCONFIG_ONLY_COLLATION
32 * This switch turns off modules that are not needed for collation.
34 * It does not turn off legacy conversion because that is necessary
35 * for ICU to work on EBCDIC platforms (for the default converter).
36 * If you want "only collation" and do not build for EBCDIC,
37 * then you can #define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
41 #ifndef UCONFIG_ONLY_COLLATION
42 # define UCONFIG_ONLY_COLLATION 0
45 #if UCONFIG_ONLY_COLLATION
47 # define UCONFIG_NO_BREAK_ITERATION 1
48 # define UCONFIG_NO_IDNA 1
51 # if UCONFIG_NO_COLLATION
52 # error Contradictory collation switches in uconfig.h.
54 # define UCONFIG_NO_FORMATTING 1
55 # define UCONFIG_NO_TRANSLITERATION 1
56 # define UCONFIG_NO_REGULAR_EXPRESSIONS 1
59 /* common library switches -------------------------------------------------- */
62 * \def UCONFIG_NO_CONVERSION
63 * ICU will not completely build with this switch turned on.
64 * This switch turns off all converters.
68 #ifndef UCONFIG_NO_CONVERSION
69 # define UCONFIG_NO_CONVERSION 0
72 #if UCONFIG_NO_CONVERSION
73 # define UCONFIG_NO_LEGACY_CONVERSION 1
77 * \def UCONFIG_NO_LEGACY_CONVERSION
78 * This switch turns off all converters except for
79 * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
83 * Turning off legacy conversion is not possible on EBCDIC platforms
84 * because they need ibm-37 or ibm-1047 default converters.
88 #ifndef UCONFIG_NO_LEGACY_CONVERSION
89 # define UCONFIG_NO_LEGACY_CONVERSION 0
93 * \def UCONFIG_NO_NORMALIZATION
94 * This switch turns off normalization.
95 * It implies turning off several other services as well, for example
100 #ifndef UCONFIG_NO_NORMALIZATION
101 # define UCONFIG_NO_NORMALIZATION 0
102 #elif UCONFIG_NO_NORMALIZATION
104 # define UCONFIG_NO_IDNA 1
107 # if UCONFIG_ONLY_COLLATION
108 # error Contradictory collation switches in uconfig.h.
110 # define UCONFIG_NO_COLLATION 1
111 # define UCONFIG_NO_TRANSLITERATION 1
115 * \def UCONFIG_NO_BREAK_ITERATION
116 * This switch turns off break iteration.
120 #ifndef UCONFIG_NO_BREAK_ITERATION
121 # define UCONFIG_NO_BREAK_ITERATION 0
125 * \def UCONFIG_NO_IDNA
126 * This switch turns off IDNA.
130 #ifndef UCONFIG_NO_IDNA
131 # define UCONFIG_NO_IDNA 0
134 /* i18n library switches ---------------------------------------------------- */
137 * \def UCONFIG_NO_COLLATION
138 * This switch turns off collation and collation-based string search.
142 #ifndef UCONFIG_NO_COLLATION
143 # define UCONFIG_NO_COLLATION 0
147 * \def UCONFIG_NO_FORMATTING
148 * This switch turns off formatting and calendar/timezone services.
152 #ifndef UCONFIG_NO_FORMATTING
153 # define UCONFIG_NO_FORMATTING 0
157 * \def UCONFIG_NO_TRANSLITERATION
158 * This switch turns off transliteration.
162 #ifndef UCONFIG_NO_TRANSLITERATION
163 # define UCONFIG_NO_TRANSLITERATION 0
167 * \def UCONFIG_NO_REGULAR_EXPRESSIONS
168 * This switch turns off regular expressions.
172 #ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
173 # define UCONFIG_NO_REGULAR_EXPRESSIONS 0
177 * \def UCONFIG_NO_SERVICE
178 * This switch turns off service registration.
182 #ifndef UCONFIG_NO_SERVICE
183 # define UCONFIG_NO_SERVICE 0