ICU 50.2 50.2
uconfig.h
Go to the documentation of this file.
1/*
2**********************************************************************
3* Copyright (C) 2002-2012, 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 U_ENABLE_DYLOAD
143#define U_ENABLE_DYLOAD 1
144#endif
145
151#ifndef U_CHECK_DYLOAD
152#define U_CHECK_DYLOAD 1
153#endif
154
155
161#ifndef U_DEFAULT_SHOW_DRAFT
162#define U_DEFAULT_SHOW_DRAFT 1
163#endif
164
165/*===========================================================================*/
166/* Custom icu entry point renaming */
167/*===========================================================================*/
168
174#ifdef U_HAVE_LIB_SUFFIX
175 /* Use the predefined value. */
176#elif defined(U_LIB_SUFFIX_C_NAME)
177# define U_HAVE_LIB_SUFFIX 1
178#endif
179
185#ifdef U_LIB_SUFFIX_C_NAME_STRING
186 /* Use the predefined value. */
187#elif defined(U_LIB_SUFFIX_C_NAME)
188# define U_LIB_SUFFIX_C_NAME_STRING #U_LIB_SUFFIX_C_NAME
189#else
190# define U_LIB_SUFFIX_C_NAME_STRING ""
191#endif
192
193/* common/i18n library switches --------------------------------------------- */
194
206#ifndef UCONFIG_ONLY_COLLATION
207# define UCONFIG_ONLY_COLLATION 0
208#endif
209
210#if UCONFIG_ONLY_COLLATION
211 /* common library */
212# define UCONFIG_NO_BREAK_ITERATION 1
213# define UCONFIG_NO_IDNA 1
214
215 /* i18n library */
216# if UCONFIG_NO_COLLATION
217# error Contradictory collation switches in uconfig.h.
218# endif
219# define UCONFIG_NO_FORMATTING 1
220# define UCONFIG_NO_TRANSLITERATION 1
221# define UCONFIG_NO_REGULAR_EXPRESSIONS 1
222#endif
223
224/* common library switches -------------------------------------------------- */
225
244#ifndef UCONFIG_NO_FILE_IO
245# define UCONFIG_NO_FILE_IO 0
246#endif
247
259#ifndef UCONFIG_NO_CONVERSION
260# define UCONFIG_NO_CONVERSION 0
261#endif
262
263#if UCONFIG_NO_CONVERSION
264# define UCONFIG_NO_LEGACY_CONVERSION 1
265#endif
266
279#ifndef UCONFIG_NO_LEGACY_CONVERSION
280# define UCONFIG_NO_LEGACY_CONVERSION 0
281#endif
282
291#ifndef UCONFIG_NO_NORMALIZATION
292# define UCONFIG_NO_NORMALIZATION 0
293#elif UCONFIG_NO_NORMALIZATION
294 /* common library */
295 /* ICU 50 CJK dictionary BreakIterator uses normalization */
296# define UCONFIG_NO_BREAK_ITERATION 1
297 /* IDNA (UTS #46) is implemented via normalization */
298# define UCONFIG_NO_IDNA 1
299
300 /* i18n library */
301# if UCONFIG_ONLY_COLLATION
302# error Contradictory collation switches in uconfig.h.
303# endif
304# define UCONFIG_NO_COLLATION 1
305# define UCONFIG_NO_TRANSLITERATION 1
306#endif
307
314#ifndef UCONFIG_NO_BREAK_ITERATION
315# define UCONFIG_NO_BREAK_ITERATION 0
316#endif
317
324#ifndef UCONFIG_NO_IDNA
325# define UCONFIG_NO_IDNA 0
326#endif
327
335#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
336# define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
337#endif
338
339/* i18n library switches ---------------------------------------------------- */
340
347#ifndef UCONFIG_NO_COLLATION
348# define UCONFIG_NO_COLLATION 0
349#endif
350
357#ifndef UCONFIG_NO_FORMATTING
358# define UCONFIG_NO_FORMATTING 0
359#endif
360
367#ifndef UCONFIG_NO_TRANSLITERATION
368# define UCONFIG_NO_TRANSLITERATION 0
369#endif
370
377#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
378# define UCONFIG_NO_REGULAR_EXPRESSIONS 0
379#endif
380
387#ifndef UCONFIG_NO_SERVICE
388# define UCONFIG_NO_SERVICE 0
389#endif
390
397#ifndef UCONFIG_HAVE_PARSEALLINPUT
398# define UCONFIG_HAVE_PARSEALLINPUT 1
399#endif
400
401
408#ifndef UCONFIG_FORMAT_FASTPATHS_49
409# define UCONFIG_FORMAT_FASTPATHS_49 1
410#endif
411
412#endif