18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project********************************************************************** 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 2002-2004, International Business Machines 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Corporation and others. All Rights Reserved. 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project********************************************************************** 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* file name: uconfig.h 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* encoding: US-ASCII 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* tab size: 8 (not used) 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* indentation:4 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* created on: 2002sep19 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* created by: Markus W. Scherer 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef __UCONFIG_H__ 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define __UCONFIG_H__ 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \file 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \brief Switches for excluding parts of ICU library code modules. 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Allows to build partial, smaller libraries for special purposes. 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * By default, all modules are built. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The switches are fairly coarse, controlling large modules. 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Basic services cannot be turned off. 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_ONLY_COLLATION 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off modules that are not needed for collation. 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * It does not turn off legacy conversion because that is necessary 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * for ICU to work on EBCDIC platforms (for the default converter). 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If you want "only collation" and do not build for EBCDIC, 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * then you can #define UCONFIG_NO_LEGACY_CONVERSION 1 as well. 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_ONLY_COLLATION 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_ONLY_COLLATION 0 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if UCONFIG_ONLY_COLLATION 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* common library */ 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_BREAK_ITERATION 1 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_IDNA 1 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* i18n library */ 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# if UCONFIG_NO_COLLATION 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# error Contradictory collation switches in uconfig.h. 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# endif 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_FORMATTING 1 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_TRANSLITERATION 1 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_REGULAR_EXPRESSIONS 1 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* common library switches -------------------------------------------------- */ 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_CONVERSION 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ICU will not completely build with this switch turned on. 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off all converters. 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @draft ICU 3.2 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_CONVERSION 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_CONVERSION 0 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if UCONFIG_NO_CONVERSION 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_LEGACY_CONVERSION 1 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_LEGACY_CONVERSION 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off all converters except for 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1) 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - US-ASCII 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * - ISO-8859-1 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Turning off legacy conversion is not possible on EBCDIC platforms 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * because they need ibm-37 or ibm-1047 default converters. 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_LEGACY_CONVERSION 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_LEGACY_CONVERSION 0 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_NORMALIZATION 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off normalization. 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * It implies turning off several other services as well, for example 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * collation and IDNA. 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_NORMALIZATION 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_NORMALIZATION 0 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#elif UCONFIG_NO_NORMALIZATION 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* common library */ 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_IDNA 1 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* i18n library */ 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# if UCONFIG_ONLY_COLLATION 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# error Contradictory collation switches in uconfig.h. 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# endif 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_COLLATION 1 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_TRANSLITERATION 1 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_BREAK_ITERATION 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off break iteration. 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_BREAK_ITERATION 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_BREAK_ITERATION 0 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_IDNA 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off IDNA. 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.6 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_IDNA 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_IDNA 0 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* i18n library switches ---------------------------------------------------- */ 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_COLLATION 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off collation and collation-based string search. 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_COLLATION 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_COLLATION 0 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_FORMATTING 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off formatting and calendar/timezone services. 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_FORMATTING 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_FORMATTING 0 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_TRANSLITERATION 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off transliteration. 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_TRANSLITERATION 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_TRANSLITERATION 0 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_REGULAR_EXPRESSIONS 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off regular expressions. 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @stable ICU 2.4 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_REGULAR_EXPRESSIONS 0 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * \def UCONFIG_NO_SERVICE 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This switch turns off service registration. 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * @draft ICU 3.2 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef UCONFIG_NO_SERVICE 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define UCONFIG_NO_SERVICE 0 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 187