17777dab0Sopenharmony_ci// © 2016 and later: Unicode, Inc. and others. 27777dab0Sopenharmony_ci// License & terms of use: http://www.unicode.org/copyright.html 37777dab0Sopenharmony_ci/* 47777dab0Sopenharmony_ci********************************************************************** 57777dab0Sopenharmony_ci* Copyright (C) 2002-2016, International Business Machines 67777dab0Sopenharmony_ci* Corporation and others. All Rights Reserved. 77777dab0Sopenharmony_ci********************************************************************** 87777dab0Sopenharmony_ci* file name: uconfig.h 97777dab0Sopenharmony_ci* encoding: UTF-8 107777dab0Sopenharmony_ci* tab size: 8 (not used) 117777dab0Sopenharmony_ci* indentation:4 127777dab0Sopenharmony_ci* 137777dab0Sopenharmony_ci* created on: 2002sep19 147777dab0Sopenharmony_ci* created by: Markus W. Scherer 157777dab0Sopenharmony_ci*/ 167777dab0Sopenharmony_ci 177777dab0Sopenharmony_ci#ifndef __UCONFIG_H__ 187777dab0Sopenharmony_ci#define __UCONFIG_H__ 197777dab0Sopenharmony_ci 207777dab0Sopenharmony_ci// ohos icu configs 217777dab0Sopenharmony_ci#define U_DISABLE_RENAMING 1 227777dab0Sopenharmony_ci#define U_HIDE_DRAFT_API 1 237777dab0Sopenharmony_ci#define U_HIDE_DEPRECATED_API 1 247777dab0Sopenharmony_ci#define U_SHOW_CPLUSPLUS_API 0 257777dab0Sopenharmony_ci#define U_HIDE_INTERNAL_API 1 267777dab0Sopenharmony_ci#define U_HIDE_OBSOLETE_UTF_OLD_H 1 277777dab0Sopenharmony_ci#define LIBICU_U_SHOW_CPLUSPLUS_API 0 287777dab0Sopenharmony_ci 297777dab0Sopenharmony_ci/*! 307777dab0Sopenharmony_ci * \file 317777dab0Sopenharmony_ci * \brief User-configurable settings 327777dab0Sopenharmony_ci * 337777dab0Sopenharmony_ci * Miscellaneous switches: 347777dab0Sopenharmony_ci * 357777dab0Sopenharmony_ci * A number of macros affect a variety of minor aspects of ICU. 367777dab0Sopenharmony_ci * Most of them used to be defined elsewhere (e.g., in utypes.h or platform.h) 377777dab0Sopenharmony_ci * and moved here to make them easier to find. 387777dab0Sopenharmony_ci * 397777dab0Sopenharmony_ci * Switches for excluding parts of ICU library code modules: 407777dab0Sopenharmony_ci * 417777dab0Sopenharmony_ci * Changing these macros allows building partial, smaller libraries for special purposes. 427777dab0Sopenharmony_ci * By default, all modules are built. 437777dab0Sopenharmony_ci * The switches are fairly coarse, controlling large modules. 447777dab0Sopenharmony_ci * Basic services cannot be turned off. 457777dab0Sopenharmony_ci * 467777dab0Sopenharmony_ci * Building with any of these options does not guarantee that the 477777dab0Sopenharmony_ci * ICU build process will completely work. It is recommended that 487777dab0Sopenharmony_ci * the ICU libraries and data be built using the normal build. 497777dab0Sopenharmony_ci * At that time you should remove the data used by those services. 507777dab0Sopenharmony_ci * After building the ICU data library, you should rebuild the ICU 517777dab0Sopenharmony_ci * libraries with these switches customized to your needs. 527777dab0Sopenharmony_ci * 537777dab0Sopenharmony_ci * @stable ICU 2.4 547777dab0Sopenharmony_ci */ 557777dab0Sopenharmony_ci 567777dab0Sopenharmony_ci/** 577777dab0Sopenharmony_ci * If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h" 587777dab0Sopenharmony_ci * prior to determining default settings for uconfig variables. 597777dab0Sopenharmony_ci * 607777dab0Sopenharmony_ci * @internal ICU 4.0 617777dab0Sopenharmony_ci */ 627777dab0Sopenharmony_ci#if defined(UCONFIG_USE_LOCAL) 637777dab0Sopenharmony_ci#include "uconfig_local.h" 647777dab0Sopenharmony_ci#endif 657777dab0Sopenharmony_ci 667777dab0Sopenharmony_ci/** 677777dab0Sopenharmony_ci * \def U_DEBUG 687777dab0Sopenharmony_ci * Determines whether to include debugging code. 697777dab0Sopenharmony_ci * Automatically set on Windows, but most compilers do not have 707777dab0Sopenharmony_ci * related predefined macros. 717777dab0Sopenharmony_ci * @internal 727777dab0Sopenharmony_ci */ 737777dab0Sopenharmony_ci#ifdef U_DEBUG 747777dab0Sopenharmony_ci /* Use the predefined value. */ 757777dab0Sopenharmony_ci#elif defined(_DEBUG) 767777dab0Sopenharmony_ci /* 777777dab0Sopenharmony_ci * _DEBUG is defined by Visual Studio debug compilation. 787777dab0Sopenharmony_ci * Do *not* test for its NDEBUG macro: It is an orthogonal macro 797777dab0Sopenharmony_ci * which disables assert(). 807777dab0Sopenharmony_ci */ 817777dab0Sopenharmony_ci# define U_DEBUG 1 827777dab0Sopenharmony_ci# else 837777dab0Sopenharmony_ci# define U_DEBUG 0 847777dab0Sopenharmony_ci#endif 857777dab0Sopenharmony_ci 867777dab0Sopenharmony_ci/** 877777dab0Sopenharmony_ci * Determines whether to enable auto cleanup of libraries. 887777dab0Sopenharmony_ci * @internal 897777dab0Sopenharmony_ci */ 907777dab0Sopenharmony_ci#ifndef UCLN_NO_AUTO_CLEANUP 917777dab0Sopenharmony_ci#define UCLN_NO_AUTO_CLEANUP 1 927777dab0Sopenharmony_ci#endif 937777dab0Sopenharmony_ci 947777dab0Sopenharmony_ci/** 957777dab0Sopenharmony_ci * \def U_NO_DEFAULT_INCLUDE_UTF_HEADERS 967777dab0Sopenharmony_ci * Determines whether utypes.h includes utf.h, utf8.h, utf16.h and utf_old.h. 977777dab0Sopenharmony_ci * utypes.h includes those headers if this macro is defined to 0. 987777dab0Sopenharmony_ci * Otherwise, each those headers must be included explicitly when using one of their macros. 997777dab0Sopenharmony_ci * Defaults to 0 for backward compatibility, except inside ICU. 1007777dab0Sopenharmony_ci * @stable ICU 49 1017777dab0Sopenharmony_ci */ 1027777dab0Sopenharmony_ci#define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0 1037777dab0Sopenharmony_ci 1047777dab0Sopenharmony_ci/** 1057777dab0Sopenharmony_ci * \def U_OVERRIDE_CXX_ALLOCATION 1067777dab0Sopenharmony_ci * Determines whether to override new and delete. 1077777dab0Sopenharmony_ci * ICU is normally built such that all of its C++ classes, via their UMemory base, 1087777dab0Sopenharmony_ci * override operators new and delete to use its internal, customizable, 1097777dab0Sopenharmony_ci * non-exception-throwing memory allocation functions. (Default value 1 for this macro.) 1107777dab0Sopenharmony_ci * 1117777dab0Sopenharmony_ci * This is especially important when the application and its libraries use multiple heaps. 1127777dab0Sopenharmony_ci * For example, on Windows, this allows the ICU DLL to be used by 1137777dab0Sopenharmony_ci * applications that statically link the C Runtime library. 1147777dab0Sopenharmony_ci * 1157777dab0Sopenharmony_ci * @stable ICU 2.2 1167777dab0Sopenharmony_ci */ 1177777dab0Sopenharmony_ci#ifndef U_OVERRIDE_CXX_ALLOCATION 1187777dab0Sopenharmony_ci#define U_OVERRIDE_CXX_ALLOCATION 1 1197777dab0Sopenharmony_ci#endif 1207777dab0Sopenharmony_ci 1217777dab0Sopenharmony_ci/** 1227777dab0Sopenharmony_ci * \def U_ENABLE_TRACING 1237777dab0Sopenharmony_ci * Determines whether to enable tracing. 1247777dab0Sopenharmony_ci * @internal 1257777dab0Sopenharmony_ci */ 1267777dab0Sopenharmony_ci#ifndef U_ENABLE_TRACING 1277777dab0Sopenharmony_ci#define U_ENABLE_TRACING 0 1287777dab0Sopenharmony_ci#endif 1297777dab0Sopenharmony_ci 1307777dab0Sopenharmony_ci/** 1317777dab0Sopenharmony_ci * \def UCONFIG_ENABLE_PLUGINS 1327777dab0Sopenharmony_ci * Determines whether to enable ICU plugins. 1337777dab0Sopenharmony_ci * @internal 1347777dab0Sopenharmony_ci */ 1357777dab0Sopenharmony_ci#ifndef UCONFIG_ENABLE_PLUGINS 1367777dab0Sopenharmony_ci#define UCONFIG_ENABLE_PLUGINS 0 1377777dab0Sopenharmony_ci#endif 1387777dab0Sopenharmony_ci 1397777dab0Sopenharmony_ci/** 1407777dab0Sopenharmony_ci * \def U_ENABLE_DYLOAD 1417777dab0Sopenharmony_ci * Whether to enable Dynamic loading in ICU. 1427777dab0Sopenharmony_ci * @internal 1437777dab0Sopenharmony_ci */ 1447777dab0Sopenharmony_ci#ifndef U_ENABLE_DYLOAD 1457777dab0Sopenharmony_ci#define U_ENABLE_DYLOAD 1 1467777dab0Sopenharmony_ci#endif 1477777dab0Sopenharmony_ci 1487777dab0Sopenharmony_ci/** 1497777dab0Sopenharmony_ci * \def U_CHECK_DYLOAD 1507777dab0Sopenharmony_ci * Whether to test Dynamic loading as an OS capability. 1517777dab0Sopenharmony_ci * @internal 1527777dab0Sopenharmony_ci */ 1537777dab0Sopenharmony_ci#ifndef U_CHECK_DYLOAD 1547777dab0Sopenharmony_ci#define U_CHECK_DYLOAD 1 1557777dab0Sopenharmony_ci#endif 1567777dab0Sopenharmony_ci 1577777dab0Sopenharmony_ci/** 1587777dab0Sopenharmony_ci * \def U_DEFAULT_SHOW_DRAFT 1597777dab0Sopenharmony_ci * Do we allow ICU users to use the draft APIs by default? 1607777dab0Sopenharmony_ci * @internal 1617777dab0Sopenharmony_ci */ 1627777dab0Sopenharmony_ci#ifndef U_DEFAULT_SHOW_DRAFT 1637777dab0Sopenharmony_ci#define U_DEFAULT_SHOW_DRAFT 1 1647777dab0Sopenharmony_ci#endif 1657777dab0Sopenharmony_ci 1667777dab0Sopenharmony_ci/*===========================================================================*/ 1677777dab0Sopenharmony_ci/* Custom icu entry point renaming */ 1687777dab0Sopenharmony_ci/*===========================================================================*/ 1697777dab0Sopenharmony_ci 1707777dab0Sopenharmony_ci/** 1717777dab0Sopenharmony_ci * \def U_HAVE_LIB_SUFFIX 1727777dab0Sopenharmony_ci * 1 if a custom library suffix is set. 1737777dab0Sopenharmony_ci * @internal 1747777dab0Sopenharmony_ci */ 1757777dab0Sopenharmony_ci#ifdef U_HAVE_LIB_SUFFIX 1767777dab0Sopenharmony_ci /* Use the predefined value. */ 1777777dab0Sopenharmony_ci#elif defined(U_LIB_SUFFIX_C_NAME) || defined(U_IN_DOXYGEN) 1787777dab0Sopenharmony_ci# define U_HAVE_LIB_SUFFIX 1 1797777dab0Sopenharmony_ci#endif 1807777dab0Sopenharmony_ci 1817777dab0Sopenharmony_ci/** 1827777dab0Sopenharmony_ci * \def U_LIB_SUFFIX_C_NAME_STRING 1837777dab0Sopenharmony_ci * Defines the library suffix as a string with C syntax. 1847777dab0Sopenharmony_ci * @internal 1857777dab0Sopenharmony_ci */ 1867777dab0Sopenharmony_ci#ifdef U_LIB_SUFFIX_C_NAME_STRING 1877777dab0Sopenharmony_ci /* Use the predefined value. */ 1887777dab0Sopenharmony_ci#elif defined(U_LIB_SUFFIX_C_NAME) 1897777dab0Sopenharmony_ci# define CONVERT_TO_STRING(s) #s 1907777dab0Sopenharmony_ci# define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME) 1917777dab0Sopenharmony_ci#else 1927777dab0Sopenharmony_ci# define U_LIB_SUFFIX_C_NAME_STRING "" 1937777dab0Sopenharmony_ci#endif 1947777dab0Sopenharmony_ci 1957777dab0Sopenharmony_ci/* common/i18n library switches --------------------------------------------- */ 1967777dab0Sopenharmony_ci 1977777dab0Sopenharmony_ci/** 1987777dab0Sopenharmony_ci * \def UCONFIG_ONLY_COLLATION 1997777dab0Sopenharmony_ci * This switch turns off modules that are not needed for collation. 2007777dab0Sopenharmony_ci * 2017777dab0Sopenharmony_ci * It does not turn off legacy conversion because that is necessary 2027777dab0Sopenharmony_ci * for ICU to work on EBCDIC platforms (for the default converter). 2037777dab0Sopenharmony_ci * If you want "only collation" and do not build for EBCDIC, 2047777dab0Sopenharmony_ci * then you can define UCONFIG_NO_CONVERSION or UCONFIG_NO_LEGACY_CONVERSION to 1 as well. 2057777dab0Sopenharmony_ci * 2067777dab0Sopenharmony_ci * @stable ICU 2.4 2077777dab0Sopenharmony_ci */ 2087777dab0Sopenharmony_ci#ifndef UCONFIG_ONLY_COLLATION 2097777dab0Sopenharmony_ci# define UCONFIG_ONLY_COLLATION 0 2107777dab0Sopenharmony_ci#endif 2117777dab0Sopenharmony_ci 2127777dab0Sopenharmony_ci#if UCONFIG_ONLY_COLLATION 2137777dab0Sopenharmony_ci /* common library */ 2147777dab0Sopenharmony_ci# define UCONFIG_NO_BREAK_ITERATION 1 2157777dab0Sopenharmony_ci# define UCONFIG_NO_IDNA 1 2167777dab0Sopenharmony_ci 2177777dab0Sopenharmony_ci /* i18n library */ 2187777dab0Sopenharmony_ci# if UCONFIG_NO_COLLATION 2197777dab0Sopenharmony_ci# error Contradictory collation switches in uconfig.h. 2207777dab0Sopenharmony_ci# endif 2217777dab0Sopenharmony_ci# define UCONFIG_NO_FORMATTING 1 2227777dab0Sopenharmony_ci# define UCONFIG_NO_TRANSLITERATION 1 2237777dab0Sopenharmony_ci# define UCONFIG_NO_REGULAR_EXPRESSIONS 1 2247777dab0Sopenharmony_ci#endif 2257777dab0Sopenharmony_ci 2267777dab0Sopenharmony_ci/* common library switches -------------------------------------------------- */ 2277777dab0Sopenharmony_ci 2287777dab0Sopenharmony_ci/** 2297777dab0Sopenharmony_ci * \def UCONFIG_NO_FILE_IO 2307777dab0Sopenharmony_ci * This switch turns off all file access in the common library 2317777dab0Sopenharmony_ci * where file access is only used for data loading. 2327777dab0Sopenharmony_ci * ICU data must then be provided in the form of a data DLL (or with an 2337777dab0Sopenharmony_ci * equivalent way to link to the data residing in an executable, 2347777dab0Sopenharmony_ci * as in building a combined library with both the common library's code and 2357777dab0Sopenharmony_ci * the data), or via udata_setCommonData(). 2367777dab0Sopenharmony_ci * Application data must be provided via udata_setAppData() or by using 2377777dab0Sopenharmony_ci * "open" functions that take pointers to data, for example ucol_openBinary(). 2387777dab0Sopenharmony_ci * 2397777dab0Sopenharmony_ci * File access is not used at all in the i18n library. 2407777dab0Sopenharmony_ci * 2417777dab0Sopenharmony_ci * File access cannot be turned off for the icuio library or for the ICU 2427777dab0Sopenharmony_ci * test suites and ICU tools. 2437777dab0Sopenharmony_ci * 2447777dab0Sopenharmony_ci * @stable ICU 3.6 2457777dab0Sopenharmony_ci */ 2467777dab0Sopenharmony_ci#ifndef UCONFIG_NO_FILE_IO 2477777dab0Sopenharmony_ci# define UCONFIG_NO_FILE_IO 0 2487777dab0Sopenharmony_ci#endif 2497777dab0Sopenharmony_ci 2507777dab0Sopenharmony_ci#if UCONFIG_NO_FILE_IO && defined(U_TIMEZONE_FILES_DIR) 2517777dab0Sopenharmony_ci# error Contradictory file io switches in uconfig.h. 2527777dab0Sopenharmony_ci#endif 2537777dab0Sopenharmony_ci 2547777dab0Sopenharmony_ci/** 2557777dab0Sopenharmony_ci * \def UCONFIG_NO_CONVERSION 2567777dab0Sopenharmony_ci * ICU will not completely build (compiling the tools fails) with this 2577777dab0Sopenharmony_ci * switch turned on. 2587777dab0Sopenharmony_ci * This switch turns off all converters. 2597777dab0Sopenharmony_ci * 2607777dab0Sopenharmony_ci * You may want to use this together with U_CHARSET_IS_UTF8 defined to 1 2617777dab0Sopenharmony_ci * in utypes.h if char* strings in your environment are always in UTF-8. 2627777dab0Sopenharmony_ci * 2637777dab0Sopenharmony_ci * @stable ICU 3.2 2647777dab0Sopenharmony_ci * @see U_CHARSET_IS_UTF8 2657777dab0Sopenharmony_ci */ 2667777dab0Sopenharmony_ci#ifndef UCONFIG_NO_CONVERSION 2677777dab0Sopenharmony_ci# define UCONFIG_NO_CONVERSION 0 2687777dab0Sopenharmony_ci#endif 2697777dab0Sopenharmony_ci 2707777dab0Sopenharmony_ci#if UCONFIG_NO_CONVERSION 2717777dab0Sopenharmony_ci# define UCONFIG_NO_LEGACY_CONVERSION 1 2727777dab0Sopenharmony_ci#endif 2737777dab0Sopenharmony_ci 2747777dab0Sopenharmony_ci/** 2757777dab0Sopenharmony_ci * \def UCONFIG_ONLY_HTML_CONVERSION 2767777dab0Sopenharmony_ci * This switch turns off all of the converters NOT listed in 2777777dab0Sopenharmony_ci * the HTML encoding standard: 2787777dab0Sopenharmony_ci * http://www.w3.org/TR/encoding/#names-and-labels 2797777dab0Sopenharmony_ci * 2807777dab0Sopenharmony_ci * This is not possible on EBCDIC platforms 2817777dab0Sopenharmony_ci * because they need ibm-37 or ibm-1047 default converters. 2827777dab0Sopenharmony_ci * 2837777dab0Sopenharmony_ci * @stable ICU 55 2847777dab0Sopenharmony_ci */ 2857777dab0Sopenharmony_ci#ifndef UCONFIG_ONLY_HTML_CONVERSION 2867777dab0Sopenharmony_ci# define UCONFIG_ONLY_HTML_CONVERSION 0 2877777dab0Sopenharmony_ci#endif 2887777dab0Sopenharmony_ci 2897777dab0Sopenharmony_ci/** 2907777dab0Sopenharmony_ci * \def UCONFIG_NO_LEGACY_CONVERSION 2917777dab0Sopenharmony_ci * This switch turns off all converters except for 2927777dab0Sopenharmony_ci * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1) 2937777dab0Sopenharmony_ci * - US-ASCII 2947777dab0Sopenharmony_ci * - ISO-8859-1 2957777dab0Sopenharmony_ci * 2967777dab0Sopenharmony_ci * Turning off legacy conversion is not possible on EBCDIC platforms 2977777dab0Sopenharmony_ci * because they need ibm-37 or ibm-1047 default converters. 2987777dab0Sopenharmony_ci * 2997777dab0Sopenharmony_ci * @stable ICU 2.4 3007777dab0Sopenharmony_ci */ 3017777dab0Sopenharmony_ci#ifndef UCONFIG_NO_LEGACY_CONVERSION 3027777dab0Sopenharmony_ci# define UCONFIG_NO_LEGACY_CONVERSION 0 3037777dab0Sopenharmony_ci#endif 3047777dab0Sopenharmony_ci 3057777dab0Sopenharmony_ci/** 3067777dab0Sopenharmony_ci * \def UCONFIG_NO_NORMALIZATION 3077777dab0Sopenharmony_ci * This switch turns off normalization. 3087777dab0Sopenharmony_ci * It implies turning off several other services as well, for example 3097777dab0Sopenharmony_ci * collation and IDNA. 3107777dab0Sopenharmony_ci * 3117777dab0Sopenharmony_ci * @stable ICU 2.6 3127777dab0Sopenharmony_ci */ 3137777dab0Sopenharmony_ci#ifndef UCONFIG_NO_NORMALIZATION 3147777dab0Sopenharmony_ci# define UCONFIG_NO_NORMALIZATION 0 3157777dab0Sopenharmony_ci#endif 3167777dab0Sopenharmony_ci 3177777dab0Sopenharmony_ci#if UCONFIG_NO_NORMALIZATION 3187777dab0Sopenharmony_ci /* common library */ 3197777dab0Sopenharmony_ci /* ICU 50 CJK dictionary BreakIterator uses normalization */ 3207777dab0Sopenharmony_ci# define UCONFIG_NO_BREAK_ITERATION 1 3217777dab0Sopenharmony_ci /* IDNA (UTS #46) is implemented via normalization */ 3227777dab0Sopenharmony_ci# define UCONFIG_NO_IDNA 1 3237777dab0Sopenharmony_ci 3247777dab0Sopenharmony_ci /* i18n library */ 3257777dab0Sopenharmony_ci# if UCONFIG_ONLY_COLLATION 3267777dab0Sopenharmony_ci# error Contradictory collation switches in uconfig.h. 3277777dab0Sopenharmony_ci# endif 3287777dab0Sopenharmony_ci# define UCONFIG_NO_COLLATION 1 3297777dab0Sopenharmony_ci# define UCONFIG_NO_TRANSLITERATION 1 3307777dab0Sopenharmony_ci#endif 3317777dab0Sopenharmony_ci 3327777dab0Sopenharmony_ci/** 3337777dab0Sopenharmony_ci * \def UCONFIG_NO_BREAK_ITERATION 3347777dab0Sopenharmony_ci * This switch turns off break iteration. 3357777dab0Sopenharmony_ci * 3367777dab0Sopenharmony_ci * @stable ICU 2.4 3377777dab0Sopenharmony_ci */ 3387777dab0Sopenharmony_ci#ifndef UCONFIG_NO_BREAK_ITERATION 3397777dab0Sopenharmony_ci# define UCONFIG_NO_BREAK_ITERATION 0 3407777dab0Sopenharmony_ci#endif 3417777dab0Sopenharmony_ci 3427777dab0Sopenharmony_ci/** 3437777dab0Sopenharmony_ci * \def UCONFIG_NO_IDNA 3447777dab0Sopenharmony_ci * This switch turns off IDNA. 3457777dab0Sopenharmony_ci * 3467777dab0Sopenharmony_ci * @stable ICU 2.6 3477777dab0Sopenharmony_ci */ 3487777dab0Sopenharmony_ci#ifndef UCONFIG_NO_IDNA 3497777dab0Sopenharmony_ci# define UCONFIG_NO_IDNA 0 3507777dab0Sopenharmony_ci#endif 3517777dab0Sopenharmony_ci 3527777dab0Sopenharmony_ci/** 3537777dab0Sopenharmony_ci * \def UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE 3547777dab0Sopenharmony_ci * Determines the default UMessagePatternApostropheMode. 3557777dab0Sopenharmony_ci * See the documentation for that enum. 3567777dab0Sopenharmony_ci * 3577777dab0Sopenharmony_ci * @stable ICU 4.8 3587777dab0Sopenharmony_ci */ 3597777dab0Sopenharmony_ci#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE 3607777dab0Sopenharmony_ci# define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL 3617777dab0Sopenharmony_ci#endif 3627777dab0Sopenharmony_ci 3637777dab0Sopenharmony_ci/** 3647777dab0Sopenharmony_ci * \def UCONFIG_USE_WINDOWS_LCID_MAPPING_API 3657777dab0Sopenharmony_ci * On platforms where U_PLATFORM_HAS_WIN32_API is true, this switch determines 3667777dab0Sopenharmony_ci * if the Windows platform APIs are used for LCID<->Locale Name conversions. 3677777dab0Sopenharmony_ci * Otherwise, only the built-in ICU tables are used. 3687777dab0Sopenharmony_ci * 3697777dab0Sopenharmony_ci * @internal ICU 64 3707777dab0Sopenharmony_ci */ 3717777dab0Sopenharmony_ci#ifndef UCONFIG_USE_WINDOWS_LCID_MAPPING_API 3727777dab0Sopenharmony_ci# define UCONFIG_USE_WINDOWS_LCID_MAPPING_API 1 3737777dab0Sopenharmony_ci#endif 3747777dab0Sopenharmony_ci 3757777dab0Sopenharmony_ci/* i18n library switches ---------------------------------------------------- */ 3767777dab0Sopenharmony_ci 3777777dab0Sopenharmony_ci/** 3787777dab0Sopenharmony_ci * \def UCONFIG_NO_COLLATION 3797777dab0Sopenharmony_ci * This switch turns off collation and collation-based string search. 3807777dab0Sopenharmony_ci * 3817777dab0Sopenharmony_ci * @stable ICU 2.4 3827777dab0Sopenharmony_ci */ 3837777dab0Sopenharmony_ci#ifndef UCONFIG_NO_COLLATION 3847777dab0Sopenharmony_ci# define UCONFIG_NO_COLLATION 0 3857777dab0Sopenharmony_ci#endif 3867777dab0Sopenharmony_ci 3877777dab0Sopenharmony_ci/** 3887777dab0Sopenharmony_ci * \def UCONFIG_NO_FORMATTING 3897777dab0Sopenharmony_ci * This switch turns off formatting and calendar/timezone services. 3907777dab0Sopenharmony_ci * 3917777dab0Sopenharmony_ci * @stable ICU 2.4 3927777dab0Sopenharmony_ci */ 3937777dab0Sopenharmony_ci#ifndef UCONFIG_NO_FORMATTING 3947777dab0Sopenharmony_ci# define UCONFIG_NO_FORMATTING 0 3957777dab0Sopenharmony_ci#endif 3967777dab0Sopenharmony_ci 3977777dab0Sopenharmony_ci/** 3987777dab0Sopenharmony_ci * \def UCONFIG_NO_TRANSLITERATION 3997777dab0Sopenharmony_ci * This switch turns off transliteration. 4007777dab0Sopenharmony_ci * 4017777dab0Sopenharmony_ci * @stable ICU 2.4 4027777dab0Sopenharmony_ci */ 4037777dab0Sopenharmony_ci#ifndef UCONFIG_NO_TRANSLITERATION 4047777dab0Sopenharmony_ci# define UCONFIG_NO_TRANSLITERATION 0 4057777dab0Sopenharmony_ci#endif 4067777dab0Sopenharmony_ci 4077777dab0Sopenharmony_ci/** 4087777dab0Sopenharmony_ci * \def UCONFIG_NO_REGULAR_EXPRESSIONS 4097777dab0Sopenharmony_ci * This switch turns off regular expressions. 4107777dab0Sopenharmony_ci * 4117777dab0Sopenharmony_ci * @stable ICU 2.4 4127777dab0Sopenharmony_ci */ 4137777dab0Sopenharmony_ci#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS 4147777dab0Sopenharmony_ci# define UCONFIG_NO_REGULAR_EXPRESSIONS 0 4157777dab0Sopenharmony_ci#endif 4167777dab0Sopenharmony_ci 4177777dab0Sopenharmony_ci/** 4187777dab0Sopenharmony_ci * \def UCONFIG_NO_SERVICE 4197777dab0Sopenharmony_ci * This switch turns off service registration. 4207777dab0Sopenharmony_ci * 4217777dab0Sopenharmony_ci * @stable ICU 3.2 4227777dab0Sopenharmony_ci */ 4237777dab0Sopenharmony_ci#ifndef UCONFIG_NO_SERVICE 4247777dab0Sopenharmony_ci# define UCONFIG_NO_SERVICE 0 4257777dab0Sopenharmony_ci#endif 4267777dab0Sopenharmony_ci 4277777dab0Sopenharmony_ci/** 4287777dab0Sopenharmony_ci * \def UCONFIG_HAVE_PARSEALLINPUT 4297777dab0Sopenharmony_ci * This switch turns on the "parse all input" attribute. Binary incompatible. 4307777dab0Sopenharmony_ci * 4317777dab0Sopenharmony_ci * @internal 4327777dab0Sopenharmony_ci */ 4337777dab0Sopenharmony_ci#ifndef UCONFIG_HAVE_PARSEALLINPUT 4347777dab0Sopenharmony_ci# define UCONFIG_HAVE_PARSEALLINPUT 1 4357777dab0Sopenharmony_ci#endif 4367777dab0Sopenharmony_ci 4377777dab0Sopenharmony_ci/** 4387777dab0Sopenharmony_ci * \def UCONFIG_NO_FILTERED_BREAK_ITERATION 4397777dab0Sopenharmony_ci * This switch turns off filtered break iteration code. 4407777dab0Sopenharmony_ci * 4417777dab0Sopenharmony_ci * @internal 4427777dab0Sopenharmony_ci */ 4437777dab0Sopenharmony_ci#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION 4447777dab0Sopenharmony_ci# define UCONFIG_NO_FILTERED_BREAK_ITERATION 0 4457777dab0Sopenharmony_ci#endif 4467777dab0Sopenharmony_ci 4477777dab0Sopenharmony_ci#endif // __UCONFIG_H__ 448