diff --git a/icu4c/readme.html b/icu4c/readme.html index a6dc824468f..fa799521873 100644 --- a/icu4c/readme.html +++ b/icu4c/readme.html @@ -3,9 +3,9 @@
-Last updated: 2012-Oct-31
- Copyright © 1997-2012 International Business Machines Corporation and
+
Last updated: 2013-Feb-5
+ Copyright © 1997-2013 International Business Machines Corporation and
others. All Rights Reserved.
ICU4C 50 dropped support for the --enable-threads/--disable-threads configure option
- and the uconfig.h ICU_USE_THREADS
switch.
- ICU4C 50 and higher is always built with multi-threading safety support.
- ICU4C has never created threads in its libraries.
We have made make some changes to the C++ BasicTimeZone(basictz.h) for ICU 51 + that will make it easier to use some time zone support features found in BasicTimeZone + (basictz.h), but the changes are incompatible for subclasses. If there are subclasses, + they will have to be modified as well.
-If you need to prevent ICU from using thread safe mutexes when your application does
- not create threads, then you can use the --enable-weak-threads configure option.
- The --enable-weak-threads configure option will cause ICU to weakly reference the
- pthread mutex functions, and the stub implementations in the C runtime will be used.
- If this configure option does not work on your platform, then you can call
- u_setMutexFunctions()
and u_setAtomicIncDecFunctions()
- with your own empty implementations.
BasicTimeZone is a subclass of TimeZone and providing some enhanced features, such as + getNextTransition and getPreviousTransition. The class is used as the base class of all + of ICU's time zone implementation classes. User Classes directly extending TimeZone and + consumers of ICU TimeZone implementation classes are not affected by the changes.
-ICU has changed the compilers chosen by default. If the clang and clang++ compilers - are available, those will be used instead of gcc and g++. If the clang compilers - are not available, then gcc and g++ will be used just as before. The clang++ compiler - provides C++11 support and some optimizations that are helpful to ICU. The API - remains the same between these two sets of compilers, but ICU can internally leverage - language features and optimizations that are available in clang++.
- -If you need to force ICU to compile with gcc and g++, then you can use the following - from the command line in the source directory:
- --./configure CC=gcc CXX=g++ CFLAGS=-O3 CXXFLAGS=-O3 -- -
We have made some changes to the C++ Collator API for ICU 50 - that will make it easier to use and implement the Collator but - which are incompatible for subclasses. - If there are subclasses, they will have to be modified as well. - It will be easy to adapt subclass source code, if there is any. - We think it is unlikely (or at least rare) that users write subclasses of the C++ Collator, - given the number of virtual methods and the complexities of a collation implementation.
- -For details see the email "ICU4C C++ Collator subclassing-API breaking changes" - sent on 2012-jul-25 to the icu-design and icu-support +
For details see the email "ICU4C C++ BasicTimeZone subclassing-API breaking changes" + sent on 2013-Feb-5 to the icu-support mailing lists, - and ICU ticket #9346, - including the changes for that ticket.
- -In particular, the class TestCollator
in
- source/test/intltest/apicoll.cpp
- illustrates how a subclass needs to be changed.
- However, note that the TestCollator was also simplified slightly;
- not all changes made there were strictly required for the API signature changes.