supernova: allocators - fix construct method
[supercollider.git] / external_libraries / icu / unicode / uconfig.h
blob914a46dee4a1e0896d58f3ff43c579e156e5c54e
1 /*
2 **********************************************************************
3 * Copyright (C) 2002-2004, 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
11 * created on: 2002sep19
12 * created by: Markus W. Scherer
15 #ifndef __UCONFIG_H__
16 #define __UCONFIG_H__
18 /*!
19 * \file
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.
27 * @stable ICU 2.4
30 /**
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.
39 * @stable ICU 2.4
41 #ifndef UCONFIG_ONLY_COLLATION
42 # define UCONFIG_ONLY_COLLATION 0
43 #endif
45 #if UCONFIG_ONLY_COLLATION
46 /* common library */
47 # define UCONFIG_NO_BREAK_ITERATION 1
48 # define UCONFIG_NO_IDNA 1
50 /* i18n library */
51 # if UCONFIG_NO_COLLATION
52 # error Contradictory collation switches in uconfig.h.
53 # endif
54 # define UCONFIG_NO_FORMATTING 1
55 # define UCONFIG_NO_TRANSLITERATION 1
56 # define UCONFIG_NO_REGULAR_EXPRESSIONS 1
57 #endif
59 /* common library switches -------------------------------------------------- */
61 /**
62 * \def UCONFIG_NO_CONVERSION
63 * ICU will not completely build with this switch turned on.
64 * This switch turns off all converters.
66 * @draft ICU 3.2
68 #ifndef UCONFIG_NO_CONVERSION
69 # define UCONFIG_NO_CONVERSION 0
70 #endif
72 #if UCONFIG_NO_CONVERSION
73 # define UCONFIG_NO_LEGACY_CONVERSION 1
74 #endif
76 /**
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)
80 * - US-ASCII
81 * - ISO-8859-1
83 * Turning off legacy conversion is not possible on EBCDIC platforms
84 * because they need ibm-37 or ibm-1047 default converters.
86 * @stable ICU 2.4
88 #ifndef UCONFIG_NO_LEGACY_CONVERSION
89 # define UCONFIG_NO_LEGACY_CONVERSION 0
90 #endif
92 /**
93 * \def UCONFIG_NO_NORMALIZATION
94 * This switch turns off normalization.
95 * It implies turning off several other services as well, for example
96 * collation and IDNA.
98 * @stable ICU 2.6
100 #ifndef UCONFIG_NO_NORMALIZATION
101 # define UCONFIG_NO_NORMALIZATION 0
102 #elif UCONFIG_NO_NORMALIZATION
103 /* common library */
104 # define UCONFIG_NO_IDNA 1
106 /* i18n library */
107 # if UCONFIG_ONLY_COLLATION
108 # error Contradictory collation switches in uconfig.h.
109 # endif
110 # define UCONFIG_NO_COLLATION 1
111 # define UCONFIG_NO_TRANSLITERATION 1
112 #endif
115 * \def UCONFIG_NO_BREAK_ITERATION
116 * This switch turns off break iteration.
118 * @stable ICU 2.4
120 #ifndef UCONFIG_NO_BREAK_ITERATION
121 # define UCONFIG_NO_BREAK_ITERATION 0
122 #endif
125 * \def UCONFIG_NO_IDNA
126 * This switch turns off IDNA.
128 * @stable ICU 2.6
130 #ifndef UCONFIG_NO_IDNA
131 # define UCONFIG_NO_IDNA 0
132 #endif
134 /* i18n library switches ---------------------------------------------------- */
137 * \def UCONFIG_NO_COLLATION
138 * This switch turns off collation and collation-based string search.
140 * @stable ICU 2.4
142 #ifndef UCONFIG_NO_COLLATION
143 # define UCONFIG_NO_COLLATION 0
144 #endif
147 * \def UCONFIG_NO_FORMATTING
148 * This switch turns off formatting and calendar/timezone services.
150 * @stable ICU 2.4
152 #ifndef UCONFIG_NO_FORMATTING
153 # define UCONFIG_NO_FORMATTING 0
154 #endif
157 * \def UCONFIG_NO_TRANSLITERATION
158 * This switch turns off transliteration.
160 * @stable ICU 2.4
162 #ifndef UCONFIG_NO_TRANSLITERATION
163 # define UCONFIG_NO_TRANSLITERATION 0
164 #endif
167 * \def UCONFIG_NO_REGULAR_EXPRESSIONS
168 * This switch turns off regular expressions.
170 * @stable ICU 2.4
172 #ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
173 # define UCONFIG_NO_REGULAR_EXPRESSIONS 0
174 #endif
177 * \def UCONFIG_NO_SERVICE
178 * This switch turns off service registration.
180 * @draft ICU 3.2
182 #ifndef UCONFIG_NO_SERVICE
183 # define UCONFIG_NO_SERVICE 0
184 #endif
186 #endif