ICU 57.1 57.1
uconfig.h
Go to the documentation of this file.
1/*
2**********************************************************************
3* Copyright (C) 2002-2016, 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
45
52#if defined(UCONFIG_USE_LOCAL)
53#include "uconfig_local.h"
54#endif
55
63#ifdef U_DEBUG
64 /* Use the predefined value. */
65#elif defined(_DEBUG)
66 /*
67 * _DEBUG is defined by Visual Studio debug compilation.
68 * Do *not* test for its NDEBUG macro: It is an orthogonal macro
69 * which disables assert().
70 */
71# define U_DEBUG 1
72# else
73# define U_DEBUG 0
74#endif
75
80#ifndef UCLN_NO_AUTO_CLEANUP
81#define UCLN_NO_AUTO_CLEANUP 1
82#endif
83
89#ifndef U_DISABLE_RENAMING
90#define U_DISABLE_RENAMING 0
91#endif
92
101#ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS
102 /* Use the predefined value. */
103#elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || \
104 defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || \
105 defined(U_TOOLUTIL_IMPLEMENTATION)
106# define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 1
107#else
108# define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0
109#endif
110
124#ifndef U_OVERRIDE_CXX_ALLOCATION
125#define U_OVERRIDE_CXX_ALLOCATION 1
126#endif
127
133#ifndef U_ENABLE_TRACING
134#define U_ENABLE_TRACING 0
135#endif
136
142#ifndef UCONFIG_ENABLE_PLUGINS
143#define UCONFIG_ENABLE_PLUGINS 0
144#endif
145
151#ifndef U_ENABLE_DYLOAD
152#define U_ENABLE_DYLOAD 1
153#endif
154
160#ifndef U_CHECK_DYLOAD
161#define U_CHECK_DYLOAD 1
162#endif
163
169#ifndef U_DEFAULT_SHOW_DRAFT
170#define U_DEFAULT_SHOW_DRAFT 1
171#endif
172
173/*===========================================================================*/
174/* Custom icu entry point renaming */
175/*===========================================================================*/
176
182#ifdef U_HAVE_LIB_SUFFIX
183 /* Use the predefined value. */
184#elif defined(U_LIB_SUFFIX_C_NAME)
185# define U_HAVE_LIB_SUFFIX 1
186#endif
187
193#ifdef U_LIB_SUFFIX_C_NAME_STRING
194 /* Use the predefined value. */
195#elif defined(U_LIB_SUFFIX_C_NAME)
196# define CONVERT_TO_STRING(s) #s
197# define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME)
198#else
199# define U_LIB_SUFFIX_C_NAME_STRING ""
200#endif
201
202/* common/i18n library switches --------------------------------------------- */
203
215#ifndef UCONFIG_ONLY_COLLATION
216# define UCONFIG_ONLY_COLLATION 0
217#endif
218
219#if UCONFIG_ONLY_COLLATION
220 /* common library */
221# define UCONFIG_NO_BREAK_ITERATION 1
222# define UCONFIG_NO_IDNA 1
223
224 /* i18n library */
225# if UCONFIG_NO_COLLATION
226# error Contradictory collation switches in uconfig.h.
227# endif
228# define UCONFIG_NO_FORMATTING 1
229# define UCONFIG_NO_TRANSLITERATION 1
230# define UCONFIG_NO_REGULAR_EXPRESSIONS 1
231#endif
232
233/* common library switches -------------------------------------------------- */
234
253#ifndef UCONFIG_NO_FILE_IO
254# define UCONFIG_NO_FILE_IO 0
255#endif
256
257#if UCONFIG_NO_FILE_IO && defined(U_TIMEZONE_FILES_DIR)
258# error Contradictory file io switches in uconfig.h.
259#endif
260
272#ifndef UCONFIG_NO_CONVERSION
273# define UCONFIG_NO_CONVERSION 0
274#endif
275
276#if UCONFIG_NO_CONVERSION
277# define UCONFIG_NO_LEGACY_CONVERSION 1
278#endif
279
291#ifndef UCONFIG_ONLY_HTML_CONVERSION
292# define UCONFIG_ONLY_HTML_CONVERSION 0
293#endif
294
307#ifndef UCONFIG_NO_LEGACY_CONVERSION
308# define UCONFIG_NO_LEGACY_CONVERSION 0
309#endif
310
319#ifndef UCONFIG_NO_NORMALIZATION
320# define UCONFIG_NO_NORMALIZATION 0
321#elif UCONFIG_NO_NORMALIZATION
322 /* common library */
323 /* ICU 50 CJK dictionary BreakIterator uses normalization */
324# define UCONFIG_NO_BREAK_ITERATION 1
325 /* IDNA (UTS #46) is implemented via normalization */
326# define UCONFIG_NO_IDNA 1
327
328 /* i18n library */
329# if UCONFIG_ONLY_COLLATION
330# error Contradictory collation switches in uconfig.h.
331# endif
332# define UCONFIG_NO_COLLATION 1
333# define UCONFIG_NO_TRANSLITERATION 1
334#endif
335
342#ifndef UCONFIG_NO_BREAK_ITERATION
343# define UCONFIG_NO_BREAK_ITERATION 0
344#endif
345
352#ifndef UCONFIG_NO_IDNA
353# define UCONFIG_NO_IDNA 0
354#endif
355
363#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
364# define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
365#endif
366
367/* i18n library switches ---------------------------------------------------- */
368
375#ifndef UCONFIG_NO_COLLATION
376# define UCONFIG_NO_COLLATION 0
377#endif
378
385#ifndef UCONFIG_NO_FORMATTING
386# define UCONFIG_NO_FORMATTING 0
387#endif
388
395#ifndef UCONFIG_NO_TRANSLITERATION
396# define UCONFIG_NO_TRANSLITERATION 0
397#endif
398
405#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
406# define UCONFIG_NO_REGULAR_EXPRESSIONS 0
407#endif
408
415#ifndef UCONFIG_NO_SERVICE
416# define UCONFIG_NO_SERVICE 0
417#endif
418
425#ifndef UCONFIG_HAVE_PARSEALLINPUT
426# define UCONFIG_HAVE_PARSEALLINPUT 1
427#endif
428
429
436#ifndef UCONFIG_FORMAT_FASTPATHS_49
437# define UCONFIG_FORMAT_FASTPATHS_49 1
438#endif
439
446#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION
447# define UCONFIG_NO_FILTERED_BREAK_ITERATION 0
448#endif
449
450#endif