diff --git a/icu4c/readme.html b/icu4c/readme.html index 995a65fcea..9a1234ad26 100644 --- a/icu4c/readme.html +++ b/icu4c/readme.html @@ -44,6 +44,8 @@
Depending on the platform and the type of installation, + we recommend a small number of modifications and build options.
+-DU_USING_ICU_NAMESPACE=0
+ or by modifying unicode/uversion.h:
+Index: source/common/unicode/uversion.h +=================================================================== +--- source/common/unicode/uversion.h (revision 26606) ++++ source/common/unicode/uversion.h (working copy) +@@ -180,7 +180,8 @@ + # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: + + # ifndef U_USING_ICU_NAMESPACE +-# define U_USING_ICU_NAMESPACE 1 ++ // Set to 0 to force namespace declarations in ICU usage. ++# define U_USING_ICU_NAMESPACE 0 + # endif + # if U_USING_ICU_NAMESPACE + U_NAMESPACE_USE ++ ICU call sites then either qualify ICU types explicitly, + for example
icu::UnicodeString
,
+ or do using icu::UnicodeString;
where appropriate.-DU_CHARSET_IS_UTF8=1
or modify unicode/utypes.h:
+Index: source/common/unicode/utypes.h +=================================================================== +--- source/common/unicode/utypes.h (revision 26606) ++++ source/common/unicode/utypes.h (working copy) +@@ -160,7 +160,7 @@ + * @see UCONFIG_NO_CONVERSION + */ + #ifndef U_CHARSET_IS_UTF8 +-# define U_CHARSET_IS_UTF8 0 ++# define U_CHARSET_IS_UTF8 1 + #endif + + /*===========================================================================*/ +
u_setDataDirectory()
)
+ or with a pointer to the data (udata_setCommonData()
)
+ before other ICU API calls.
+ This is usually easy if ICU is used from an application where
+ main()
takes care of such initialization.
+ It may be hard if ICU is shipped with
+ another shared library (such as the Xerces-C++ XML parser)
+ which does not control main()
.--with-data-packaging=archive
+ on the configure command line, as inrunConfigureICU Linux --with-data-packaging=archive
runConfigureICU Linux --enable-static --disable-shared
~/icu$ svn export http://source.icu-project.org/repos/icu/icu/trunk +~/icu$ mkdir trunk-dev +~/icu$ cd trunk-dev +~/icu/trunk-dev$ ../trunk/source/runConfigureICU Linux +~/icu/trunk-dev$ make check
If ICU is installed as a system-level library, there are further + opportunities and restrictions to consider. + For details, see the Using ICU as an Operating System Level Library + section of the User Guide ICU Architectural Design chapter.
+-DICU_DATA_DIR=/path/to/icu/data
when building
+ the ICU code. (Used by source/common/putil.c.)-DICU_NO_USER_DATA_OVERRIDE
+ if you do not want the "ICU_DATA" environment variable to be used.
+ (An application can still override the data path via
+ u_setDataDirectory()
or
+ udata_setCommonData()
.@draft
+ is new and not yet stable. Applications must not rely on unstable
+ APIs from a system-level library.
+ Define U_HIDE_DRAFT_API
, U_HIDE_INTERNAL_API
+ and U_HIDE_SYSTEM_API
+ by modifying unicode/utypes.h before installing it.\brief C++ API
.
+ Consider not installing these header files.runConfigureICU Linux --disable-renaming