X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/51004dcb01e06fef634b61be77ed73dd61cb6db9..HEAD:/icuSources/common/unicode/uconfig.h diff --git a/icuSources/common/unicode/uconfig.h b/icuSources/common/unicode/uconfig.h index ef4ba94d..cbe860f7 100644 --- a/icuSources/common/unicode/uconfig.h +++ b/icuSources/common/unicode/uconfig.h @@ -1,10 +1,12 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ********************************************************************** -* Copyright (C) 2002-2013, International Business Machines +* Copyright (C) 2002-2016, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * file name: uconfig.h -* encoding: US-ASCII +* encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * @@ -74,7 +76,7 @@ #endif /** - * Determines wheter to enable auto cleanup of libraries. + * Determines whether to enable auto cleanup of libraries. * @internal */ #ifndef UCLN_NO_AUTO_CLEANUP @@ -84,10 +86,11 @@ /** * \def U_DISABLE_RENAMING * Determines whether to disable renaming or not. + * (Apple modifies the default to be 1, not 0) * @internal */ #ifndef U_DISABLE_RENAMING -#define U_DISABLE_RENAMING 0 +#define U_DISABLE_RENAMING 1 #endif /** @@ -134,6 +137,15 @@ #define U_ENABLE_TRACING 0 #endif +/** + * \def UCONFIG_ENABLE_PLUGINS + * Determines whether to enable ICU plugins. + * @internal + */ +#ifndef UCONFIG_ENABLE_PLUGINS +#define UCONFIG_ENABLE_PLUGINS 0 +#endif + /** * \def U_ENABLE_DYLOAD * Whether to enable Dynamic loading in ICU. @@ -152,7 +164,6 @@ #define U_CHECK_DYLOAD 1 #endif - /** * \def U_DEFAULT_SHOW_DRAFT * Do we allow ICU users to use the draft APIs by default? @@ -173,7 +184,7 @@ */ #ifdef U_HAVE_LIB_SUFFIX /* Use the predefined value. */ -#elif defined(U_LIB_SUFFIX_C_NAME) +#elif defined(U_LIB_SUFFIX_C_NAME) || defined(U_IN_DOXYGEN) # define U_HAVE_LIB_SUFFIX 1 #endif @@ -185,7 +196,8 @@ #ifdef U_LIB_SUFFIX_C_NAME_STRING /* Use the predefined value. */ #elif defined(U_LIB_SUFFIX_C_NAME) -# define U_LIB_SUFFIX_C_NAME_STRING #U_LIB_SUFFIX_C_NAME +# define CONVERT_TO_STRING(s) #s +# define U_LIB_SUFFIX_C_NAME_STRING CONVERT_TO_STRING(U_LIB_SUFFIX_C_NAME) #else # define U_LIB_SUFFIX_C_NAME_STRING "" #endif @@ -199,7 +211,7 @@ * It does not turn off legacy conversion because that is necessary * for ICU to work on EBCDIC platforms (for the default converter). * If you want "only collation" and do not build for EBCDIC, - * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well. + * then you can define UCONFIG_NO_CONVERSION or UCONFIG_NO_LEGACY_CONVERSION to 1 as well. * * @stable ICU 2.4 */ @@ -245,9 +257,14 @@ # define UCONFIG_NO_FILE_IO 0 #endif +#if UCONFIG_NO_FILE_IO && defined(U_TIMEZONE_FILES_DIR) +# error Contradictory file io switches in uconfig.h. +#endif + /** * \def UCONFIG_NO_CONVERSION - * ICU will not completely build with this switch turned on. + * ICU will not completely build (compiling the tools fails) with this + * switch turned on. * This switch turns off all converters. * * You may want to use this together with U_CHARSET_IS_UTF8 defined to 1 @@ -264,6 +281,21 @@ # define UCONFIG_NO_LEGACY_CONVERSION 1 #endif +/** + * \def UCONFIG_ONLY_HTML_CONVERSION + * This switch turns off all of the converters NOT listed in + * the HTML encoding standard: + * http://www.w3.org/TR/encoding/#names-and-labels + * + * This is not possible on EBCDIC platforms + * because they need ibm-37 or ibm-1047 default converters. + * + * @stable ICU 55 + */ +#ifndef UCONFIG_ONLY_HTML_CONVERSION +# define UCONFIG_ONLY_HTML_CONVERSION 0 +#endif + /** * \def UCONFIG_NO_LEGACY_CONVERSION * This switch turns off all converters except for @@ -290,7 +322,9 @@ */ #ifndef UCONFIG_NO_NORMALIZATION # define UCONFIG_NO_NORMALIZATION 0 -#elif UCONFIG_NO_NORMALIZATION +#endif + +#if UCONFIG_NO_NORMALIZATION /* common library */ /* ICU 50 CJK dictionary BreakIterator uses normalization */ # define UCONFIG_NO_BREAK_ITERATION 1 @@ -336,6 +370,18 @@ # define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL #endif +/** + * \def UCONFIG_USE_WINDOWS_LCID_MAPPING_API + * On platforms where U_PLATFORM_HAS_WIN32_API is true, this switch determines + * if the Windows platform APIs are used for LCID<->Locale Name conversions. + * Otherwise, only the built-in ICU tables are used. + * + * @internal ICU 64 + */ +#ifndef UCONFIG_USE_WINDOWS_LCID_MAPPING_API +# define UCONFIG_USE_WINDOWS_LCID_MAPPING_API 1 +#endif + /* i18n library switches ---------------------------------------------------- */ /** @@ -381,11 +427,12 @@ /** * \def UCONFIG_NO_SERVICE * This switch turns off service registration. + * (Apple modifies the default to be 1, not 0) * * @stable ICU 3.2 */ #ifndef UCONFIG_NO_SERVICE -# define UCONFIG_NO_SERVICE 0 +# define UCONFIG_NO_SERVICE 1 #endif /** @@ -398,15 +445,14 @@ # define UCONFIG_HAVE_PARSEALLINPUT 1 #endif - /** - * \def UCONFIG_FORMAT_FASTPATHS_49 - * This switch turns on other formatting fastpaths. Binary incompatible in object DecimalFormat and DecimalFormatSymbols + * \def UCONFIG_NO_FILTERED_BREAK_ITERATION + * This switch turns off filtered break iteration code. * * @internal */ -#ifndef UCONFIG_FORMAT_FASTPATHS_49 -# define UCONFIG_FORMAT_FASTPATHS_49 1 +#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION +# define UCONFIG_NO_FILTERED_BREAK_ITERATION 0 #endif -#endif +#endif // __UCONFIG_H__