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 @@ - ReadMe for ICU 50 + ReadMe for ICU 51 + "Copyright (c) 1997-2013 IBM Corporation and others. All Rights Reserved." />

International Components for Unicode
- ICU 50 (Release Candidate) ReadMe

+ ICU 51 (Release Candidate) ReadMe -

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.


@@ -224,55 +224,21 @@ ICU milestone download page.

-

Thread safety support cannot be removed

-

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.

+

C++ BasicTimeZone subclassing-API breaking changes

+

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.

-

The default compilers have changed

-

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
-
- -

C++ Collator subclassing-API breaking changes

-

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.

+ and ICU ticket #9648.

How To Download the Source Code