16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*
26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org**********************************************************************
36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   Copyright (C) 2002-2013, International Business Machines
46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   Corporation and others.  All Rights Reserved.
56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org**********************************************************************
66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   file name:  uconfig.h
76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   encoding:   US-ASCII
86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   tab size:   8 (not used)
96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   indentation:4
106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*
116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   created on: 2002sep19
126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*   created by: Markus W. Scherer
136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/
146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __UCONFIG_H__
166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define __UCONFIG_H__
176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*!
206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \file
216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \brief User-configurable settings
226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Miscellaneous switches:
246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * A number of macros affect a variety of minor aspects of ICU.
266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Most of them used to be defined elsewhere (e.g., in utypes.h or platform.h)
276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * and moved here to make them easier to find.
286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Switches for excluding parts of ICU library code modules:
306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Changing these macros allows building partial, smaller libraries for special purposes.
326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * By default, all modules are built.
336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * The switches are fairly coarse, controlling large modules.
346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Basic services cannot be turned off.
356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Building with any of these options does not guarantee that the
376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * ICU build process will completely work. It is recommended that
386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * the ICU libraries and data be built using the normal build.
396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * At that time you should remove the data used by those services.
406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * After building the ICU data library, you should rebuild the ICU
416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * libraries with these switches customized to your needs.
426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h"
486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * prior to determining default settings for uconfig variables.
496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal ICU 4.0
516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if defined(UCONFIG_USE_LOCAL)
536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "uconfig_local.h"
546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_DEBUG
586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines whether to include debugging code.
596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Automatically set on Windows, but most compilers do not have
606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * related predefined macros.
616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef U_DEBUG
646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* Use the predefined value. */
656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#elif defined(_DEBUG)
666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /*
676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org     * _DEBUG is defined by Visual Studio debug compilation.
686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org     * Do *not* test for its NDEBUG macro: It is an orthogonal macro
696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org     * which disables assert().
706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org     */
716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_DEBUG 1
726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# else
736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_DEBUG 0
746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines wheter to enable auto cleanup of libraries.
786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCLN_NO_AUTO_CLEANUP
816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define UCLN_NO_AUTO_CLEANUP 1
826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_DISABLE_RENAMING
866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines whether to disable renaming or not.
876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef U_DISABLE_RENAMING
906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define U_DISABLE_RENAMING 0
916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_NO_DEFAULT_INCLUDE_UTF_HEADERS
956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines whether utypes.h includes utf.h, utf8.h, utf16.h and utf_old.h.
966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * utypes.h includes those headers if this macro is defined to 0.
976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Otherwise, each those headers must be included explicitly when using one of their macros.
986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Defaults to 0 for backward compatibility, except inside ICU.
996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 49
1006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS
1026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* Use the predefined value. */
1036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || \
1046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org      defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION) || \
1056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org      defined(U_TOOLUTIL_IMPLEMENTATION)
1066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 1
1076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else
1086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_NO_DEFAULT_INCLUDE_UTF_HEADERS 0
1096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_OVERRIDE_CXX_ALLOCATION
1136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines whether to override new and delete.
1146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * ICU is normally built such that all of its C++ classes, via their UMemory base,
1156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * override operators new and delete to use its internal, customizable,
1166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * non-exception-throwing memory allocation functions. (Default value 1 for this macro.)
1176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
1186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This is especially important when the application and its libraries use multiple heaps.
1196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * For example, on Windows, this allows the ICU DLL to be used by
1206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * applications that statically link the C Runtime library.
1216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
1226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.2
1236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef U_OVERRIDE_CXX_ALLOCATION
1256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define U_OVERRIDE_CXX_ALLOCATION 1
1266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_ENABLE_TRACING
1306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines whether to enable tracing.
1316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
1326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef U_ENABLE_TRACING
1346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define U_ENABLE_TRACING 0
1356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_ENABLE_DYLOAD
1396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Whether to enable Dynamic loading in ICU.
1406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
1416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef U_ENABLE_DYLOAD
1436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define U_ENABLE_DYLOAD 1
1446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_CHECK_DYLOAD
1486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Whether to test Dynamic loading as an OS capability.
1496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
1506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef U_CHECK_DYLOAD
1526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define U_CHECK_DYLOAD 1
1536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_DEFAULT_SHOW_DRAFT
1586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Do we allow ICU users to use the draft APIs by default?
1596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
1606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef U_DEFAULT_SHOW_DRAFT
1626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define U_DEFAULT_SHOW_DRAFT 1
1636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*===========================================================================*/
1666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* Custom icu entry point renaming                                           */
1676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*===========================================================================*/
1686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_HAVE_LIB_SUFFIX
1716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * 1 if a custom library suffix is set.
1726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
1736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef U_HAVE_LIB_SUFFIX
1756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* Use the predefined value. */
1766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#elif defined(U_LIB_SUFFIX_C_NAME)
1776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_HAVE_LIB_SUFFIX 1
1786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def U_LIB_SUFFIX_C_NAME_STRING
1826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Defines the library suffix as a string with C syntax.
1836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
1846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
1856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef U_LIB_SUFFIX_C_NAME_STRING
1866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* Use the predefined value. */
1876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#elif defined(U_LIB_SUFFIX_C_NAME)
1886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_LIB_SUFFIX_C_NAME_STRING #U_LIB_SUFFIX_C_NAME
1896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else
1906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define U_LIB_SUFFIX_C_NAME_STRING ""
1916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
1926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* common/i18n library switches --------------------------------------------- */
1946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
1966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_ONLY_COLLATION
1976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off modules that are not needed for collation.
1986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
1996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * It does not turn off legacy conversion because that is necessary
2006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * for ICU to work on EBCDIC platforms (for the default converter).
2016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * If you want "only collation" and do not build for EBCDIC,
2026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
2036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
2056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
2066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_ONLY_COLLATION
2076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_ONLY_COLLATION 0
2086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
2096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if UCONFIG_ONLY_COLLATION
2116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* common library */
2126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_BREAK_ITERATION 1
2136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_IDNA 1
2146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* i18n library */
2166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   if UCONFIG_NO_COLLATION
2176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#       error Contradictory collation switches in uconfig.h.
2186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   endif
2196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_FORMATTING 1
2206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_TRANSLITERATION 1
2216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_REGULAR_EXPRESSIONS 1
2226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
2236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* common library switches -------------------------------------------------- */
2256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
2276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_FILE_IO
2286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off all file access in the common library
2296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * where file access is only used for data loading.
2306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * ICU data must then be provided in the form of a data DLL (or with an
2316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * equivalent way to link to the data residing in an executable,
2326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * as in building a combined library with both the common library's code and
2336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * the data), or via udata_setCommonData().
2346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Application data must be provided via udata_setAppData() or by using
2356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * "open" functions that take pointers to data, for example ucol_openBinary().
2366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * File access is not used at all in the i18n library.
2386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * File access cannot be turned off for the icuio library or for the ICU
2406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * test suites and ICU tools.
2416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 3.6
2436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
2446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_FILE_IO
2456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_FILE_IO 0
2466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
2476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
2496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_CONVERSION
2506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * ICU will not completely build with this switch turned on.
2516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off all converters.
2526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * You may want to use this together with U_CHARSET_IS_UTF8 defined to 1
2546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * in utypes.h if char* strings in your environment are always in UTF-8.
2556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 3.2
2576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @see U_CHARSET_IS_UTF8
2586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
2596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_CONVERSION
2606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_CONVERSION 0
2616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
2626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if UCONFIG_NO_CONVERSION
2646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_LEGACY_CONVERSION 1
2656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
2666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
2684dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org * This switch turns off all the converters NOT listed in
2694dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org * the encoding standard : http://encoding.spec.whatwg.org
2704dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org */
2714dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org#ifndef UCONFIG_NO_NON_HTML5_CONVERSION
2724dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org#define UCONFIG_NO_NON_HTML5_CONVERSION 0
2734dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org#endif
2744dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org
2754dfa619cf375ebb67b7b9311487d19a4129f742fjshin@chromium.org/**
2766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_LEGACY_CONVERSION
2776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off all converters except for
2786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
2796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * - US-ASCII
2806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * - ISO-8859-1
2816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Turning off legacy conversion is not possible on EBCDIC platforms
2836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * because they need ibm-37 or ibm-1047 default converters.
2846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
2866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
2876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_LEGACY_CONVERSION
2886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_LEGACY_CONVERSION 0
2896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
2906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
2916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
2926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_NORMALIZATION
2936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off normalization.
2946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * It implies turning off several other services as well, for example
2956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * collation and IDNA.
2966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
2976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.6
2986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
2996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_NORMALIZATION
3006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_NORMALIZATION 0
3016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#elif UCONFIG_NO_NORMALIZATION
3026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* common library */
3036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* ICU 50 CJK dictionary BreakIterator uses normalization */
3046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_BREAK_ITERATION 1
3056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* IDNA (UTS #46) is implemented via normalization */
3066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_IDNA 1
3076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    /* i18n library */
3096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   if UCONFIG_ONLY_COLLATION
3106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#       error Contradictory collation switches in uconfig.h.
3116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   endif
3126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_COLLATION 1
3136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_TRANSLITERATION 1
3146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_BREAK_ITERATION
3186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off break iteration.
3196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
3216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_BREAK_ITERATION
3236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_BREAK_ITERATION 0
3246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_IDNA
3286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off IDNA.
3296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.6
3316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_IDNA
3336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_IDNA 0
3346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
3386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Determines the default UMessagePatternApostropheMode.
3396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * See the documentation for that enum.
3406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 4.8
3426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
3446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
3456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* i18n library switches ---------------------------------------------------- */
3486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_COLLATION
3516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off collation and collation-based string search.
3526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
3546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_COLLATION
3566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_COLLATION 0
3576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_FORMATTING
3616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off formatting and calendar/timezone services.
3626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
3646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_FORMATTING
3666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_FORMATTING 0
3676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_TRANSLITERATION
3716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off transliteration.
3726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
3746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_TRANSLITERATION
3766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_TRANSLITERATION 0
3776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_REGULAR_EXPRESSIONS
3816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off regular expressions.
3826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 2.4
3846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
3866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_REGULAR_EXPRESSIONS 0
3876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
3906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_NO_SERVICE
3916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns off service registration.
3926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
3936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @stable ICU 3.2
3946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
3956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_NO_SERVICE
3966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_NO_SERVICE 0
3976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
3986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
3996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
4006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_HAVE_PARSEALLINPUT
4016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns on the "parse all input" attribute. Binary incompatible.
4026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
4036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
4046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
4056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_HAVE_PARSEALLINPUT
4066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_HAVE_PARSEALLINPUT 1
4076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
4086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
4096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
4106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/**
4116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * \def UCONFIG_FORMAT_FASTPATHS_49
4126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * This switch turns on other formatting fastpaths. Binary incompatible in object DecimalFormat and DecimalFormatSymbols
4136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *
4146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * @internal
4156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org */
4166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef UCONFIG_FORMAT_FASTPATHS_49
4176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#   define UCONFIG_FORMAT_FASTPATHS_49 1
4186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
4196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
4206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif
421