ICU 73.2 73.2
uconfig.h
Go to the documentation of this file.
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/*
4**********************************************************************
5* Copyright (C) 2002-2016, International Business Machines
6* Corporation and others. All Rights Reserved.
7**********************************************************************
8* file name: uconfig.h
9* encoding: UTF-8
10* tab size: 8 (not used)
11* indentation:4
12*
13* created on: 2002sep19
14* created by: Markus W. Scherer
15*/
16
17#ifndef __UCONFIG_H__
18#define __UCONFIG_H__
19
20/* -DU_DISABLE_RENAMING=1 */
21#define U_DISABLE_RENAMING 1
22
56#if defined(UCONFIG_USE_LOCAL)
57#include "uconfig_local.h"
58#endif
59
67#ifdef U_DEBUG
68 /* Use the predefined value. */
69#elif defined(_DEBUG)
70 /*
71 * _DEBUG is defined by Visual Studio debug compilation.
72 * Do *not* test for its NDEBUG macro: It is an orthogonal macro
73 * which disables assert().
74 */
75# define U_DEBUG 1
76# else
77# define U_DEBUG 0
78#endif
79
84#ifndef UCLN_NO_AUTO_CLEANUP
85#define UCLN_NO_AUTO_CLEANUP 1
86#endif
87
93#ifndef U_DISABLE_RENAMING
94#define U_DISABLE_RENAMING 0
95#endif
96
105#ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS
106 /* Use the predefined value. */
107#elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || \
108 defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || \
109 defined(U_TOOLUTIL_IMPLEMENTATION)
110# define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 1
111#else
112# define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0
113#endif
114
128#ifndef U_OVERRIDE_CXX_ALLOCATION
129#define U_OVERRIDE_CXX_ALLOCATION 1
130#endif
131
137#ifndef U_ENABLE_TRACING
138#define U_ENABLE_TRACING 0
139#endif
140
146#ifndef UCONFIG_ENABLE_PLUGINS
147#define UCONFIG_ENABLE_PLUGINS 0
148#endif
149
155#ifndef U_ENABLE_DYLOAD
156#define U_ENABLE_DYLOAD 1
157#endif
158
164#ifndef U_CHECK_DYLOAD
165#define U_CHECK_DYLOAD 1
166#endif
167
173#ifndef U_DEFAULT_SHOW_DRAFT
174#define U_DEFAULT_SHOW_DRAFT 1
175#endif
176
177/*===========================================================================*/
178/* Custom icu entry point renaming */
179/*===========================================================================*/
180
186#ifdef U_HAVE_LIB_SUFFIX
187 /* Use the predefined value. */
188#elif defined(U_LIB_SUFFIX_C_NAME) || defined(U_IN_DOXYGEN)
189# define U_HAVE_LIB_SUFFIX 1
190#endif
191
197#ifdef U_LIB_SUFFIX_C_NAME_STRING
198 /* Use the predefined value. */
199#elif defined(U_LIB_SUFFIX_C_NAME)
200# define CONVERT_TO_STRING(s) #s
201# define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME)
202#else
203# define U_LIB_SUFFIX_C_NAME_STRING ""
204#endif
205
206/* common/i18n library switches --------------------------------------------- */
207
219#ifndef UCONFIG_ONLY_COLLATION
220# define UCONFIG_ONLY_COLLATION 0
221#endif
222
223#if UCONFIG_ONLY_COLLATION
224 /* common library */
225# define UCONFIG_NO_BREAK_ITERATION 1
226# define UCONFIG_NO_IDNA 1
227
228 /* i18n library */
229# if UCONFIG_NO_COLLATION
230# error Contradictory collation switches in uconfig.h.
231# endif
232# define UCONFIG_NO_FORMATTING 1
233# define UCONFIG_NO_TRANSLITERATION 1
234# define UCONFIG_NO_REGULAR_EXPRESSIONS 1
235#endif
236
237/* common library switches -------------------------------------------------- */
238
257#ifndef UCONFIG_NO_FILE_IO
258# define UCONFIG_NO_FILE_IO 0
259#endif
260
261#if UCONFIG_NO_FILE_IO && defined(U_TIMEZONE_FILES_DIR)
262# error Contradictory file io switches in uconfig.h.
263#endif
264
277#ifndef UCONFIG_NO_CONVERSION
278# define UCONFIG_NO_CONVERSION 0
279#endif
280
281#if UCONFIG_NO_CONVERSION
282# define UCONFIG_NO_LEGACY_CONVERSION 1
283#endif
284
296#ifndef UCONFIG_ONLY_HTML_CONVERSION
297# define UCONFIG_ONLY_HTML_CONVERSION 0
298#endif
299
312#ifndef UCONFIG_NO_LEGACY_CONVERSION
313# define UCONFIG_NO_LEGACY_CONVERSION 0
314#endif
315
324#ifndef UCONFIG_NO_NORMALIZATION
325# define UCONFIG_NO_NORMALIZATION 0
326#endif
327
334#ifndef UCONFIG_USE_ML_PHRASE_BREAKING
335# define UCONFIG_USE_ML_PHRASE_BREAKING 0
336#endif
337
338#if UCONFIG_NO_NORMALIZATION
339 /* common library */
340 /* ICU 50 CJK dictionary BreakIterator uses normalization */
341# define UCONFIG_NO_BREAK_ITERATION 1
342 /* IDNA (UTS #46) is implemented via normalization */
343# define UCONFIG_NO_IDNA 1
344
345 /* i18n library */
346# if UCONFIG_ONLY_COLLATION
347# error Contradictory collation switches in uconfig.h.
348# endif
349# define UCONFIG_NO_COLLATION 1
350# define UCONFIG_NO_TRANSLITERATION 1
351#endif
352
359#ifndef UCONFIG_NO_BREAK_ITERATION
360# define UCONFIG_NO_BREAK_ITERATION 0
361#endif
362
369#ifndef UCONFIG_NO_IDNA
370# define UCONFIG_NO_IDNA 0
371#endif
372
380#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
381# define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
382#endif
383
392#ifndef UCONFIG_USE_WINDOWS_LCID_MAPPING_API
393# define UCONFIG_USE_WINDOWS_LCID_MAPPING_API 1
394#endif
395
396/* i18n library switches ---------------------------------------------------- */
397
404#ifndef UCONFIG_NO_COLLATION
405# define UCONFIG_NO_COLLATION 0
406#endif
407
414#ifndef UCONFIG_NO_FORMATTING
415# define UCONFIG_NO_FORMATTING 0
416#endif
417
424#ifndef UCONFIG_NO_TRANSLITERATION
425# define UCONFIG_NO_TRANSLITERATION 0
426#endif
427
434#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
435# define UCONFIG_NO_REGULAR_EXPRESSIONS 0
436#endif
437
444#ifndef UCONFIG_NO_SERVICE
445# define UCONFIG_NO_SERVICE 0
446#endif
447
454#ifndef UCONFIG_HAVE_PARSEALLINPUT
455# define UCONFIG_HAVE_PARSEALLINPUT 1
456#endif
457
464#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION
465# define UCONFIG_NO_FILTERED_BREAK_ITERATION 0
466#endif
467
468#endif // __UCONFIG_H__