ICU 73.2  73.2
uconfig.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*  
00004 **********************************************************************
00005 *   Copyright (C) 2002-2016, International Business Machines
00006 *   Corporation and others.  All Rights Reserved.
00007 **********************************************************************
00008 *   file name:  uconfig.h
00009 *   encoding:   UTF-8
00010 *   tab size:   8 (not used)
00011 *   indentation:4
00012 *
00013 *   created on: 2002sep19
00014 *   created by: Markus W. Scherer
00015 */
00016 
00017 #ifndef __UCONFIG_H__
00018 #define __UCONFIG_H__
00019 
00020 /* ICU customizations: put these lines at the top of uconfig.h */
00021 
00022  /* -DU_DISABLE_RENAMING=1 */
00023 #define U_DISABLE_RENAMING 1
00024 
00025 /* End of uconfig.h.prepend ------------ */
00026 
00027 
00028 
00062 #if defined(UCONFIG_USE_LOCAL)
00063 #include "uconfig_local.h"
00064 #endif
00065 
00073 #ifdef U_DEBUG
00074     /* Use the predefined value. */
00075 #elif defined(_DEBUG)
00076     /*
00077      * _DEBUG is defined by Visual Studio debug compilation.
00078      * Do *not* test for its NDEBUG macro: It is an orthogonal macro
00079      * which disables assert().
00080      */
00081 #   define U_DEBUG 1
00082 # else
00083 #   define U_DEBUG 0
00084 #endif
00085 
00090 #ifndef UCLN_NO_AUTO_CLEANUP
00091 #define UCLN_NO_AUTO_CLEANUP 1
00092 #endif
00093 
00099 #ifndef U_DISABLE_RENAMING
00100 #define U_DISABLE_RENAMING 0
00101 #endif
00102 
00111 #ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS
00112     /* Use the predefined value. */
00113 #elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || \
00114       defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || \
00115       defined(U_TOOLUTIL_IMPLEMENTATION)
00116 #   define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 1
00117 #else
00118 #   define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0
00119 #endif
00120 
00134 #ifndef U_OVERRIDE_CXX_ALLOCATION
00135 #define U_OVERRIDE_CXX_ALLOCATION 1
00136 #endif
00137 
00143 #ifndef U_ENABLE_TRACING
00144 #define U_ENABLE_TRACING 0
00145 #endif
00146 
00152 #ifndef UCONFIG_ENABLE_PLUGINS
00153 #define UCONFIG_ENABLE_PLUGINS 0
00154 #endif
00155 
00161 #ifndef U_ENABLE_DYLOAD
00162 #define U_ENABLE_DYLOAD 1
00163 #endif
00164 
00170 #ifndef U_CHECK_DYLOAD
00171 #define U_CHECK_DYLOAD 1
00172 #endif
00173 
00179 #ifndef U_DEFAULT_SHOW_DRAFT
00180 #define U_DEFAULT_SHOW_DRAFT 1
00181 #endif
00182 
00183 /*===========================================================================*/
00184 /* Custom icu entry point renaming                                           */
00185 /*===========================================================================*/
00186 
00192 #ifdef U_HAVE_LIB_SUFFIX
00193     /* Use the predefined value. */
00194 #elif defined(U_LIB_SUFFIX_C_NAME) || defined(U_IN_DOXYGEN)
00195 #   define U_HAVE_LIB_SUFFIX 1
00196 #endif
00197 
00203 #ifdef U_LIB_SUFFIX_C_NAME_STRING
00204     /* Use the predefined value. */
00205 #elif defined(U_LIB_SUFFIX_C_NAME)
00206 #   define CONVERT_TO_STRING(s) #s
00207 #   define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME)
00208 #else
00209 #   define U_LIB_SUFFIX_C_NAME_STRING ""
00210 #endif
00211 
00212 /* common/i18n library switches --------------------------------------------- */
00213 
00225 #ifndef UCONFIG_ONLY_COLLATION
00226 #   define UCONFIG_ONLY_COLLATION 0
00227 #endif
00228 
00229 #if UCONFIG_ONLY_COLLATION
00230     /* common library */
00231 #   define UCONFIG_NO_BREAK_ITERATION 1
00232 #   define UCONFIG_NO_IDNA 1
00233 
00234     /* i18n library */
00235 #   if UCONFIG_NO_COLLATION
00236 #       error Contradictory collation switches in uconfig.h.
00237 #   endif
00238 #   define UCONFIG_NO_FORMATTING 1
00239 #   define UCONFIG_NO_TRANSLITERATION 1
00240 #   define UCONFIG_NO_REGULAR_EXPRESSIONS 1
00241 #endif
00242 
00243 /* common library switches -------------------------------------------------- */
00244 
00263 #ifndef UCONFIG_NO_FILE_IO
00264 #   define UCONFIG_NO_FILE_IO 0
00265 #endif
00266 
00267 #if UCONFIG_NO_FILE_IO && defined(U_TIMEZONE_FILES_DIR) 
00268 #   error Contradictory file io switches in uconfig.h.
00269 #endif
00270 
00283 #ifndef UCONFIG_NO_CONVERSION
00284 #   define UCONFIG_NO_CONVERSION 0
00285 #endif
00286 
00287 #if UCONFIG_NO_CONVERSION
00288 #   define UCONFIG_NO_LEGACY_CONVERSION 1
00289 #endif
00290 
00302 #ifndef UCONFIG_ONLY_HTML_CONVERSION
00303 #   define UCONFIG_ONLY_HTML_CONVERSION 0
00304 #endif
00305 
00318 #ifndef UCONFIG_NO_LEGACY_CONVERSION
00319 #   define UCONFIG_NO_LEGACY_CONVERSION 0
00320 #endif
00321 
00330 #ifndef UCONFIG_NO_NORMALIZATION
00331 #   define UCONFIG_NO_NORMALIZATION 0
00332 #endif
00333 
00340 #ifndef UCONFIG_USE_ML_PHRASE_BREAKING
00341 #   define UCONFIG_USE_ML_PHRASE_BREAKING 0
00342 #endif
00343 
00344 #if UCONFIG_NO_NORMALIZATION
00345     /* common library */
00346     /* ICU 50 CJK dictionary BreakIterator uses normalization */
00347 #   define UCONFIG_NO_BREAK_ITERATION 1
00348     /* IDNA (UTS #46) is implemented via normalization */
00349 #   define UCONFIG_NO_IDNA 1
00350 
00351     /* i18n library */
00352 #   if UCONFIG_ONLY_COLLATION
00353 #       error Contradictory collation switches in uconfig.h.
00354 #   endif
00355 #   define UCONFIG_NO_COLLATION 1
00356 #   define UCONFIG_NO_TRANSLITERATION 1
00357 #endif
00358 
00365 #ifndef UCONFIG_NO_BREAK_ITERATION
00366 #   define UCONFIG_NO_BREAK_ITERATION 0
00367 #endif
00368 
00375 #ifndef UCONFIG_NO_IDNA
00376 #   define UCONFIG_NO_IDNA 0
00377 #endif
00378 
00386 #ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
00387 #   define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
00388 #endif
00389 
00398 #ifndef UCONFIG_USE_WINDOWS_LCID_MAPPING_API
00399 #   define UCONFIG_USE_WINDOWS_LCID_MAPPING_API 1
00400 #endif
00401 
00402 /* i18n library switches ---------------------------------------------------- */
00403 
00410 #ifndef UCONFIG_NO_COLLATION
00411 #   define UCONFIG_NO_COLLATION 0
00412 #endif
00413 
00420 #ifndef UCONFIG_NO_FORMATTING
00421 #   define UCONFIG_NO_FORMATTING 0
00422 #endif
00423 
00430 #ifndef UCONFIG_NO_TRANSLITERATION
00431 #   define UCONFIG_NO_TRANSLITERATION 0
00432 #endif
00433 
00440 #ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
00441 #   define UCONFIG_NO_REGULAR_EXPRESSIONS 0
00442 #endif
00443 
00450 #ifndef UCONFIG_NO_SERVICE
00451 #   define UCONFIG_NO_SERVICE 0
00452 #endif
00453 
00460 #ifndef UCONFIG_HAVE_PARSEALLINPUT
00461 #   define UCONFIG_HAVE_PARSEALLINPUT 1
00462 #endif
00463 
00470 #ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION
00471 #   define UCONFIG_NO_FILTERED_BREAK_ITERATION 0
00472 #endif
00473 
00474 #endif  // __UCONFIG_H__