1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru**********************************************************************
3fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius*   Copyright (C) 2002-2014, International Business Machines
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   Corporation and others.  All Rights Reserved.
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru**********************************************************************
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   file name:  uconfig.h
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   encoding:   US-ASCII
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   tab size:   8 (not used)
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   indentation:4
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   created on: 2002sep19
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   created by: Markus W. Scherer
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*/
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __UCONFIG_H__
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define __UCONFIG_H__
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*!
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \file
21103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \brief User-configurable settings
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
23103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Miscellaneous switches:
24103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
25103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * A number of macros affect a variety of minor aspects of ICU.
26103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Most of them used to be defined elsewhere (e.g., in utypes.h or platform.h)
27103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * and moved here to make them easier to find.
28103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
29103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Switches for excluding parts of ICU library code modules:
30103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
31103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Changing these macros allows building partial, smaller libraries for special purposes.
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * By default, all modules are built.
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * The switches are fairly coarse, controlling large modules.
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Basic services cannot be turned off.
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Building with any of these options does not guarantee that the
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * ICU build process will completely work. It is recommended that
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * the ICU libraries and data be built using the normal build.
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * At that time you should remove the data used by those services.
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * After building the ICU data library, you should rebuild the ICU
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * libraries with these switches customized to your needs.
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
4785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h"
4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * prior to determining default settings for uconfig variables.
49103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
5085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @internal ICU 4.0
5185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */
5285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#if defined(UCONFIG_USE_LOCAL)
5385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "uconfig_local.h"
5485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif
5585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
5685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/**
57103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_DEBUG
58103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Determines whether to include debugging code.
59103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Automatically set on Windows, but most compilers do not have
60103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * related predefined macros.
61103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
62103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
63103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifdef U_DEBUG
64103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    /* Use the predefined value. */
65103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#elif defined(_DEBUG)
66103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    /*
67103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     * _DEBUG is defined by Visual Studio debug compilation.
68103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     * Do *not* test for its NDEBUG macro: It is an orthogonal macro
69103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     * which disables assert().
70103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     */
71103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#   define U_DEBUG 1
72103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius# else
73103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#   define U_DEBUG 0
74103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
75103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
76103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
77103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Determines wheter to enable auto cleanup of libraries.
78103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
79103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
80103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef UCLN_NO_AUTO_CLEANUP
81103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define UCLN_NO_AUTO_CLEANUP 1
82103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
83103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
84103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
85103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_DISABLE_RENAMING
86103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Determines whether to disable renaming or not.
87103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
88103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
89103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef U_DISABLE_RENAMING
90103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define U_DISABLE_RENAMING 0
91103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
92103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
93103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
94103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_NO_DEFAULT_INCLUDE_UTF_HEADERS
95103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Determines whether utypes.h includes utf.h, utf8.h, utf16.h and utf_old.h.
96103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * utypes.h includes those headers if this macro is defined to 0.
97103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Otherwise, each those headers must be included explicitly when using one of their macros.
98103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Defaults to 0 for backward compatibility, except inside ICU.
998393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @stable ICU 49
100103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
101103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS
102103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    /* Use the predefined value. */
103103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || \
104103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || \
105103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      defined(U_TOOLUTIL_IMPLEMENTATION)
106103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#   define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 1
107103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#else
108103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#   define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0
109103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
110103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
111103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
112103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_OVERRIDE_CXX_ALLOCATION
113103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Determines whether to override new and delete.
114103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * ICU is normally built such that all of its C++ classes, via their UMemory base,
115103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * override operators new and delete to use its internal, customizable,
116103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * non-exception-throwing memory allocation functions. (Default value 1 for this macro.)
117103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
118103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * This is especially important when the application and its libraries use multiple heaps.
119103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * For example, on Windows, this allows the ICU DLL to be used by
120103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * applications that statically link the C Runtime library.
121103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
122103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @stable ICU 2.2
123103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
124103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef U_OVERRIDE_CXX_ALLOCATION
125103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define U_OVERRIDE_CXX_ALLOCATION 1
126103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
127103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
128103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
129103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_ENABLE_TRACING
130103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Determines whether to enable tracing.
131103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
132103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
133103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef U_ENABLE_TRACING
134103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define U_ENABLE_TRACING 0
135103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
136103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
137103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
138103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_ENABLE_DYLOAD
139103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Whether to enable Dynamic loading in ICU.
140103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
141103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
142103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef U_ENABLE_DYLOAD
143103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define U_ENABLE_DYLOAD 1
144103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
145103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
146103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
147103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_CHECK_DYLOAD
148103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Whether to test Dynamic loading as an OS capability.
149103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
150103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
151103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef U_CHECK_DYLOAD
152103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define U_CHECK_DYLOAD 1
153103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
154103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
155103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
156103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
157103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_DEFAULT_SHOW_DRAFT
158103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Do we allow ICU users to use the draft APIs by default?
159103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
160103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
161103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef U_DEFAULT_SHOW_DRAFT
162103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#define U_DEFAULT_SHOW_DRAFT 1
163103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
164103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
165103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/*===========================================================================*/
166103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/* Custom icu entry point renaming                                           */
167103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/*===========================================================================*/
168103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
169103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
170103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_HAVE_LIB_SUFFIX
171103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * 1 if a custom library suffix is set.
172103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
173103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
174103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifdef U_HAVE_LIB_SUFFIX
175103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    /* Use the predefined value. */
176103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#elif defined(U_LIB_SUFFIX_C_NAME)
177103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#   define U_HAVE_LIB_SUFFIX 1
178103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
179103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
180103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
181103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def U_LIB_SUFFIX_C_NAME_STRING
182103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Defines the library suffix as a string with C syntax.
183103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
184103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
185103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifdef U_LIB_SUFFIX_C_NAME_STRING
186103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    /* Use the predefined value. */
187103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#elif defined(U_LIB_SUFFIX_C_NAME)
188fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#   define CONVERT_TO_STRING(s) #s
189fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#   define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME)
190103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#else
191103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#   define U_LIB_SUFFIX_C_NAME_STRING ""
192103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
193103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
194103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/* common/i18n library switches --------------------------------------------- */
195103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
196103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
197ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_ONLY_COLLATION
198ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off modules that are not needed for collation.
199ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
200ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * It does not turn off legacy conversion because that is necessary
201ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * for ICU to work on EBCDIC platforms (for the default converter).
202ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * If you want "only collation" and do not build for EBCDIC,
203ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
204ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
205ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
206ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
207ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_ONLY_COLLATION
208ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_ONLY_COLLATION 0
209ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
210ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
211ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if UCONFIG_ONLY_COLLATION
212ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    /* common library */
213ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_BREAK_ITERATION 1
214ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_IDNA 1
215ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
216ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    /* i18n library */
217ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   if UCONFIG_NO_COLLATION
218ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#       error Contradictory collation switches in uconfig.h.
219ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   endif
220ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_FORMATTING 1
221ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_TRANSLITERATION 1
222ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_REGULAR_EXPRESSIONS 1
223ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
224ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
225ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* common library switches -------------------------------------------------- */
226ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
227ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
228ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_FILE_IO
229ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off all file access in the common library
230ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * where file access is only used for data loading.
231ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * ICU data must then be provided in the form of a data DLL (or with an
232ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * equivalent way to link to the data residing in an executable,
233ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * as in building a combined library with both the common library's code and
234ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * the data), or via udata_setCommonData().
235ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Application data must be provided via udata_setAppData() or by using
236ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * "open" functions that take pointers to data, for example ucol_openBinary().
237ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
238ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * File access is not used at all in the i18n library.
239ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
240ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * File access cannot be turned off for the icuio library or for the ICU
241ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * test suites and ICU tools.
242ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
243ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 3.6
244ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
245ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_FILE_IO
246ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_FILE_IO 0
247ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
248ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
249ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
250ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_CONVERSION
251ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * ICU will not completely build with this switch turned on.
252ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off all converters.
253ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
25485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * You may want to use this together with U_CHARSET_IS_UTF8 defined to 1
25585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * in utypes.h if char* strings in your environment are always in UTF-8.
25685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho *
257ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 3.2
25885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @see U_CHARSET_IS_UTF8
259ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
260ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_CONVERSION
261ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_CONVERSION 0
262ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
263ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
264ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if UCONFIG_NO_CONVERSION
265ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_LEGACY_CONVERSION 1
266ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
267ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
268ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
269ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_LEGACY_CONVERSION
270ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off all converters except for
271ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
272ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * - US-ASCII
273ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * - ISO-8859-1
274ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
275ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Turning off legacy conversion is not possible on EBCDIC platforms
276ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * because they need ibm-37 or ibm-1047 default converters.
277ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
278ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
279ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
280ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_LEGACY_CONVERSION
28108e1ab31d1b99ddc925d84c77f5ab8d94dfeb0c6Jean-Baptiste Queru#   define UCONFIG_NO_LEGACY_CONVERSION 0
282ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
283ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
284ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
285ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_NORMALIZATION
286ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off normalization.
287ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * It implies turning off several other services as well, for example
288ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * collation and IDNA.
289ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
290ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.6
291ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
292ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_NORMALIZATION
293ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_NORMALIZATION 0
294ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#elif UCONFIG_NO_NORMALIZATION
295ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    /* common library */
29654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /* ICU 50 CJK dictionary BreakIterator uses normalization */
29754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#   define UCONFIG_NO_BREAK_ITERATION 1
29854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    /* IDNA (UTS #46) is implemented via normalization */
299ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_IDNA 1
300ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
301ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    /* i18n library */
302ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   if UCONFIG_ONLY_COLLATION
303ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#       error Contradictory collation switches in uconfig.h.
304ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   endif
305ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_COLLATION 1
306ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_TRANSLITERATION 1
307ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
308ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
309ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
310ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_BREAK_ITERATION
311ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off break iteration.
312ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
313ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
314ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
315ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_BREAK_ITERATION
316ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_BREAK_ITERATION 0
317ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
318ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
319ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
320ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_IDNA
321ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off IDNA.
322ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
323ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.6
324ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
325ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_IDNA
326ab992acf36ecb8707603b07a08385e949dd09700Jean-Baptiste Queru#   define UCONFIG_NO_IDNA 0
327ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
328ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
329b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho/**
330b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho * \def UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
331b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho * Determines the default UMessagePatternApostropheMode.
332b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho * See the documentation for that enum.
333b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho *
334103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @stable ICU 4.8
335b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho */
336b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
337b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#   define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
338b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho#endif
339b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
340ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* i18n library switches ---------------------------------------------------- */
341ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
342ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
343ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_COLLATION
344ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off collation and collation-based string search.
345ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
346ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
347ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
348ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_COLLATION
349ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_COLLATION 0
350ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
351ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
352ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
353ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_FORMATTING
354ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off formatting and calendar/timezone services.
355ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
356ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
357ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
358ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_FORMATTING
359ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_FORMATTING 0
360ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
361ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
362ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
363ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_TRANSLITERATION
364ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off transliteration.
365ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
366ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
367ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
368ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_TRANSLITERATION
36927f654740f2a26ad62a5c155af9199af9e69b889claireho#   define UCONFIG_NO_TRANSLITERATION 0
370ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
371ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
372ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
373ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_REGULAR_EXPRESSIONS
374ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off regular expressions.
375ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
376ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 2.4
377ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
378ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
379ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#   define UCONFIG_NO_REGULAR_EXPRESSIONS 0
380ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
381ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
382ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
383ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \def UCONFIG_NO_SERVICE
384ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * This switch turns off service registration.
385ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
386ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @stable ICU 3.2
387ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
388ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef UCONFIG_NO_SERVICE
38927f654740f2a26ad62a5c155af9199af9e69b889claireho#   define UCONFIG_NO_SERVICE 0
390ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
391ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
392103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
393103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * \def UCONFIG_HAVE_PARSEALLINPUT
394103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * This switch turns on the "parse all input" attribute. Binary incompatible.
395103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
396103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
397103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
398103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef UCONFIG_HAVE_PARSEALLINPUT
39954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#   define UCONFIG_HAVE_PARSEALLINPUT 1
400103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
401103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
402103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
403103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius/**
40454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * \def UCONFIG_FORMAT_FASTPATHS_49
405103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * This switch turns on other formatting fastpaths. Binary incompatible in object DecimalFormat and DecimalFormatSymbols
406103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *
407103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @internal
408103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius */
409103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#ifndef UCONFIG_FORMAT_FASTPATHS_49
41054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#   define UCONFIG_FORMAT_FASTPATHS_49 1
411103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius#endif
412103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
413fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius/**
414fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * \def UCONFIG_NO_FILTERED_BREAK_ITERATION
415fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * This switch turns off filtered break iteration code.
416fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius *
417fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @internal
418fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius */
419fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION
420fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#   define UCONFIG_NO_FILTERED_BREAK_ITERATION 1
421fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius#endif
422fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius
423ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
424