From 92c6d446c13fb27d8812d4e9259a37710500f40d Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Mon, 26 Jul 2010 22:45:37 +0000 Subject: [PATCH] * updated ICU bep and patch to match ICU packages dated 2010-07-26 --- dev-libs/icu/icu-4.4.1.bep | 2 +- dev-libs/icu/patches/icu-4.4.1.patch | 449 +++++++++++++++++++-------- 2 files changed, 326 insertions(+), 125 deletions(-) diff --git a/dev-libs/icu/icu-4.4.1.bep b/dev-libs/icu/icu-4.4.1.bep index 378624945..ebeb67534 100644 --- a/dev-libs/icu/icu-4.4.1.bep +++ b/dev-libs/icu/icu-4.4.1.bep @@ -7,7 +7,7 @@ STATUS_HAIKU="stable" DEPEND="" BUILD { cd icu/source - ./configure --prefix=/boot/common + CPPFLAGS="-D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1" ./configure --prefix=/boot/common make } diff --git a/dev-libs/icu/patches/icu-4.4.1.patch b/dev-libs/icu/patches/icu-4.4.1.patch index 9d0a3e2af..93f8911f4 100644 --- a/dev-libs/icu/patches/icu-4.4.1.patch +++ b/dev-libs/icu/patches/icu-4.4.1.patch @@ -1,6 +1,19 @@ -diff -urN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.cpp ---- icu/source/common/normalizer2.cpp 2010-04-28 15:27:38.056098816 +0000 -+++ icu-haiku/source/common/normalizer2.cpp 2010-07-14 15:41:18.000000000 +0000 +diff -ruwN icu/source/aclocal.m4 icu-haiku/source/aclocal.m4 +--- icu/source/aclocal.m4 2010-04-28 17:28:54.011796480 +0200 ++++ icu-haiku/source/aclocal.m4 2010-07-26 14:35:01.820248576 +0200 +@@ -59,7 +59,8 @@ + *-*-os400*) icu_cv_host_frag=mh-os400 ;; + *-apple-rhapsody*) icu_cv_host_frag=mh-darwin ;; + *-apple-darwin*) icu_cv_host_frag=mh-darwin ;; +-*-*-beos|*-*-haiku) icu_cv_host_frag=mh-beos ;; ++*-*-beos) icu_cv_host_frag=mh-beos ;; ++*-*-haiku) icu_cv_host_frag=mh-haiku ;; + *-*-irix*) icu_cv_host_frag=mh-irix ;; + *-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;; + *-*-nto*) icu_cv_host_frag=mh-qnx ;; +diff -ruwN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.cpp +--- icu/source/common/normalizer2.cpp 2010-04-28 17:27:38.044040192 +0200 ++++ icu-haiku/source/common/normalizer2.cpp 2010-07-26 19:29:38.945553408 +0200 @@ -221,7 +221,7 @@ ReorderingBuffer &buffer, UErrorCode &errorCode) const { impl.decompose(src, limit, &buffer, errorCode); @@ -55,240 +68,437 @@ diff -urN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2. virtual UBool hasBoundaryBefore(UChar32 c) const { return impl.hasFCDBoundaryBefore(c); } virtual UBool hasBoundaryAfter(UChar32 c) const { return impl.hasFCDBoundaryAfter(c); } virtual UBool isInert(UChar32 c) const { return impl.isFCDInert(c); } -diff -urN icu/source/i18n/currfmt.h icu-haiku/source/i18n/currfmt.h ---- icu/source/i18n/currfmt.h 2010-04-28 15:27:08.035127296 +0000 -+++ icu-haiku/source/i18n/currfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -63,7 +63,7 @@ +diff -ruwN icu/source/config/mh-haiku icu-haiku/source/config/mh-haiku +--- icu/source/config/mh-haiku 1970-01-01 01:00:00.000000000 +0100 ++++ icu-haiku/source/config/mh-haiku 2010-07-26 21:54:15.739246080 +0200 +@@ -0,0 +1,82 @@ ++## -*-makefile-*- ++## haiku-specific setup ++## Copyright (c) 2009, International Business Machines Corporation and ++## others. All Rights Reserved. ++## ++ ++## Commands to generate dependency files ++GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) ++ ++## Flags for position independent code ++SHAREDLIBCFLAGS = -fPIC ++SHAREDLIBCXXFLAGS = -fPIC ++SHAREDLIBCPPFLAGS = -DPIC ++ ++## Additional flags when building libraries and with threads ++LIBCPPFLAGS = ++THREADSCPPFLAGS = ++ ++## These are the library specific LDFLAGS ++LDFLAGSICUDT=-nodefaultlibs -nostdlib ++ ++## Compiler switch to embed a runtime search path ++LD_RPATH= ++LD_RPATH_PRE = -Wl,-rpath, ++ ++## Compiler switch to embed a library name ++LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) ++ ++## Shared library options ++LD_SOOPTIONS= -Wl,-Bsymbolic ++ ++## Shared object suffix ++SO = so ++## Non-shared intermediate object suffix ++STATIC_O = ao ++ ++## Compilation rules ++%.$(STATIC_O): $(srcdir)/%.c ++ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< ++%.o: $(srcdir)/%.c ++ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< ++ ++%.$(STATIC_O): $(srcdir)/%.cpp ++ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< ++%.o: $(srcdir)/%.cpp ++ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< ++ ++ ++## Dependency rules ++%.d: $(srcdir)/%.c ++ @echo "generating dependency information for $<" ++ @$(SHELL) -ec '$(GEN_DEPS.c) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++%.d: $(srcdir)/%.cpp ++ @echo "generating dependency information for $<" ++ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++## Versioned libraries rules ++ ++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) ++ $(RM) $@ && ln -s ${ #include #include --#include -+// #include ++#if (__GNUC__ != 2) + #include ++#endif // *************************************************************************** // class DigitList -@@ -399,11 +399,13 @@ +@@ -399,11 +401,15 @@ nonConstThis->fDouble /= -1; } } else if (isInfinite()) { -+ /* ++#if (__GNUC__ != 2) if (std::numeric_limits::has_infinity) { nonConstThis->fDouble = std::numeric_limits::infinity(); } else { nonConstThis->fDouble = std::numeric_limits::max(); -- } -+ }*/ + } ++#else + nonConstThis->fDouble = DBL_MAX; ++#endif if (!isPositive()) { nonConstThis->fDouble = -fDouble; } -diff -urN icu/source/i18n/reldtfmt.h icu-haiku/source/i18n/reldtfmt.h ---- icu/source/i18n/reldtfmt.h 2010-04-28 15:27:10.059768832 +0000 -+++ icu-haiku/source/i18n/reldtfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -78,7 +78,7 @@ +diff -ruwN icu/source/i18n/reldtfmt.h icu-haiku/source/i18n/reldtfmt.h +--- icu/source/i18n/reldtfmt.h 2010-04-28 17:27:10.049283072 +0200 ++++ icu-haiku/source/i18n/reldtfmt.h 2010-07-26 19:08:52.212074496 +0200 +@@ -78,7 +78,9 @@ virtual UBool operator==(const Format& other) const; -- using DateFormat::format; -+ // using DateFormat::format; ++#if (__GNUC__ != 2) + using DateFormat::format; ++#endif /** * Format a date or time, which is the standard millis since 24:00 GMT, Jan -diff -urN icu/source/i18n/unicode/choicfmt.h icu-haiku/source/i18n/unicode/choicfmt.h ---- icu/source/i18n/unicode/choicfmt.h 2010-04-28 15:27:04.047710208 +0000 -+++ icu-haiku/source/i18n/unicode/choicfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -441,7 +441,7 @@ +diff -ruwN icu/source/i18n/smpdtfmt.cpp icu-haiku/source/i18n/smpdtfmt.cpp +--- icu/source/i18n/smpdtfmt.cpp 2010-04-28 17:27:08.050855936 +0200 ++++ icu-haiku/source/i18n/smpdtfmt.cpp 2010-07-26 14:35:01.834142208 +0200 +@@ -1054,7 +1054,7 @@ + int32_t + SimpleDateFormat::parseGMTDefault(const UnicodeString &text, ParsePosition &pos) const { + int32_t start = pos.getIndex(); +- NumberFormat *currentNumberFormat = getNumberFormat(UDAT_TIMEZONE_RFC_FIELD); ++ NumberFormat *currentNumberFormat = getNumberFormatByIndex(UDAT_TIMEZONE_RFC_FIELD); + + if (start + kUtLen + 1 >= text.length()) { + pos.setErrorIndex(start); +@@ -1465,7 +1465,7 @@ + return; + } + +- currentNumberFormat = getNumberFormat(patternCharIndex); ++ currentNumberFormat = getNumberFormatByIndex(patternCharIndex); + switch (patternCharIndex) { + + // for any "G" symbol, write out the appropriate era string +@@ -1730,7 +1730,7 @@ + //---------------------------------------------------------------------- + + NumberFormat * +-SimpleDateFormat::getNumberFormat(UDateFormatField index) const { ++SimpleDateFormat::getNumberFormatByIndex(UDateFormatField index) const { + if (fNumberFormatters != NULL) { + return fNumberFormatters[index]; + } else { +@@ -2365,7 +2365,7 @@ + } + + patternCharIndex = (UDateFormatField)(patternCharPtr - DateFormatSymbols::getPatternUChars()); +- currentNumberFormat = getNumberFormat(patternCharIndex); ++ currentNumberFormat = getNumberFormatByIndex(patternCharIndex); + UCalendarDateFields field = fgPatternIndexToCalendarField[patternCharIndex]; + + // If there are any spaces here, skip over them. If we hit the end +diff -ruwN icu/source/i18n/unicode/choicfmt.h icu-haiku/source/i18n/unicode/choicfmt.h +--- icu/source/i18n/unicode/choicfmt.h 2010-04-28 17:27:04.037486592 +0200 ++++ icu-haiku/source/i18n/unicode/choicfmt.h 2010-07-26 18:59:35.882114560 +0200 +@@ -441,7 +441,9 @@ virtual const UnicodeString* getFormats(int32_t& count) const; -- using NumberFormat::format; -+ // using NumberFormat::format; ++#if (__GNUC__ != 2) + using NumberFormat::format; ++#endif /** * Format a double or long number using this object's choices. -diff -urN icu/source/i18n/unicode/datefmt.h icu-haiku/source/i18n/unicode/datefmt.h ---- icu/source/i18n/unicode/datefmt.h 2010-04-28 15:27:04.046923776 +0000 -+++ icu-haiku/source/i18n/unicode/datefmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -212,7 +212,7 @@ +diff -ruwN icu/source/i18n/unicode/datefmt.h icu-haiku/source/i18n/unicode/datefmt.h +--- icu/source/i18n/unicode/datefmt.h 2010-04-28 17:27:04.036962304 +0200 ++++ icu-haiku/source/i18n/unicode/datefmt.h 2010-07-26 18:57:27.439615488 +0200 +@@ -212,7 +212,9 @@ virtual UBool operator==(const Format&) const; -- using Format::format; -+ // using Format::format; ++#if (__GNUC__ != 2) + using Format::format; ++#endif /** * Format an object to produce a string. This method handles Formattable -diff -urN icu/source/i18n/unicode/decimfmt.h icu-haiku/source/i18n/unicode/decimfmt.h ---- icu/source/i18n/unicode/decimfmt.h 2010-04-28 15:27:04.042205184 +0000 -+++ icu-haiku/source/i18n/unicode/decimfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -824,7 +824,7 @@ +diff -ruwN icu/source/i18n/unicode/decimfmt.h icu-haiku/source/i18n/unicode/decimfmt.h +--- icu/source/i18n/unicode/decimfmt.h 2010-04-28 17:27:04.032505856 +0200 ++++ icu-haiku/source/i18n/unicode/decimfmt.h 2010-07-26 21:37:12.587202560 +0200 +@@ -824,7 +824,16 @@ virtual UBool operator==(const Format& other) const; -- using NumberFormat::format; -+ // using NumberFormat::format; ++#if (__GNUC__ != 2) + using NumberFormat::format; ++#else ++ virtual UnicodeString& format(const Formattable& obj, ++ UnicodeString& appendTo, ++ FieldPositionIterator* posIter, ++ UErrorCode& status) const { ++ return NumberFormat::format(obj, appendTo, posIter, status); ++ } ++#endif /** * Format a double or long number using base-10 representation. -diff -urN icu/source/i18n/unicode/dtitvfmt.h icu-haiku/source/i18n/unicode/dtitvfmt.h ---- icu/source/i18n/unicode/dtitvfmt.h 2010-04-28 15:27:04.046661632 +0000 -+++ icu-haiku/source/i18n/unicode/dtitvfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -363,7 +363,7 @@ +diff -ruwN icu/source/i18n/unicode/dtitvfmt.h icu-haiku/source/i18n/unicode/dtitvfmt.h +--- icu/source/i18n/unicode/dtitvfmt.h 2010-04-28 17:27:04.036700160 +0200 ++++ icu-haiku/source/i18n/unicode/dtitvfmt.h 2010-07-26 19:12:22.191627264 +0200 +@@ -363,7 +363,9 @@ UBool operator!=(const Format& other) const; -- using Format::format; -+ // using Format::format; ++#if (__GNUC__ != 2) + using Format::format; ++#endif /** * Format an object to produce a string. This method handles Formattable -diff -urN icu/source/i18n/unicode/msgfmt.h icu-haiku/source/i18n/unicode/msgfmt.h ---- icu/source/i18n/unicode/msgfmt.h 2010-04-28 15:27:04.043515904 +0000 -+++ icu-haiku/source/i18n/unicode/msgfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -584,7 +584,7 @@ +diff -ruwN icu/source/i18n/unicode/msgfmt.h icu-haiku/source/i18n/unicode/msgfmt.h +--- icu/source/i18n/unicode/msgfmt.h 2010-04-28 17:27:04.033554432 +0200 ++++ icu-haiku/source/i18n/unicode/msgfmt.h 2010-07-26 18:57:58.825753600 +0200 +@@ -584,7 +584,9 @@ virtual const Format** getFormats(int32_t& count) const; -- using Format::format; -+ // using Format::format; ++#if (__GNUC__ != 2) + using Format::format; ++#endif /** * Formats the given array of arguments into a user-readable string. -diff -urN icu/source/i18n/unicode/numfmt.h icu-haiku/source/i18n/unicode/numfmt.h ---- icu/source/i18n/unicode/numfmt.h 2010-04-28 15:27:04.047185920 +0000 -+++ icu-haiku/source/i18n/unicode/numfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -235,7 +235,7 @@ +diff -ruwN icu/source/i18n/unicode/numfmt.h icu-haiku/source/i18n/unicode/numfmt.h +--- icu/source/i18n/unicode/numfmt.h 2010-04-28 17:27:04.037224448 +0200 ++++ icu-haiku/source/i18n/unicode/numfmt.h 2010-07-26 18:54:07.820510720 +0200 +@@ -234,8 +234,9 @@ + */ virtual UBool operator==(const Format& other) const; - -- using Format::format; -+ // using Format::format; +- ++#if (__GNUC__ != 2) + using Format::format; ++#endif /** * Format an object to produce a string. This method handles -diff -urN icu/source/i18n/unicode/plurfmt.h icu-haiku/source/i18n/unicode/plurfmt.h ---- icu/source/i18n/unicode/plurfmt.h 2010-04-28 15:27:04.041943040 +0000 -+++ icu-haiku/source/i18n/unicode/plurfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -308,7 +308,7 @@ +diff -ruwN icu/source/i18n/unicode/plurfmt.h icu-haiku/source/i18n/unicode/plurfmt.h +--- icu/source/i18n/unicode/plurfmt.h 2010-04-28 17:27:04.031981568 +0200 ++++ icu-haiku/source/i18n/unicode/plurfmt.h 2010-07-26 19:00:08.335282176 +0200 +@@ -308,7 +308,9 @@ void applyPattern(const UnicodeString& pattern, UErrorCode& status); -- using Format::format; -+ // using Format::format; ++#if (__GNUC__ != 2) + using Format::format; ++#endif /** * Formats a plural message for a given number. -diff -urN icu/source/i18n/unicode/rbnf.h icu-haiku/source/i18n/unicode/rbnf.h ---- icu/source/i18n/unicode/rbnf.h 2010-04-28 15:27:04.050069504 +0000 -+++ icu-haiku/source/i18n/unicode/rbnf.h 2010-07-14 15:41:18.000000000 +0000 -@@ -722,7 +722,7 @@ +diff -ruwN icu/source/i18n/unicode/rbnf.h icu-haiku/source/i18n/unicode/rbnf.h +--- icu/source/i18n/unicode/rbnf.h 2010-04-28 17:27:04.039845888 +0200 ++++ icu-haiku/source/i18n/unicode/rbnf.h 2010-07-26 19:01:11.091226112 +0200 +@@ -722,7 +722,9 @@ const Locale& locale = Locale::getDefault()); -- using NumberFormat::format; -+ // using NumberFormat::format; ++#if (__GNUC__ != 2) + using NumberFormat::format; ++#endif /** * Formats the specified 32-bit number using the default ruleset. -diff -urN icu/source/i18n/unicode/selfmt.h icu-haiku/source/i18n/unicode/selfmt.h ---- icu/source/i18n/unicode/selfmt.h 2010-04-28 15:27:04.049807360 +0000 -+++ icu-haiku/source/i18n/unicode/selfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -220,7 +220,7 @@ +diff -ruwN icu/source/i18n/unicode/selfmt.h icu-haiku/source/i18n/unicode/selfmt.h +--- icu/source/i18n/unicode/selfmt.h 2010-04-28 17:27:04.039583744 +0200 ++++ icu-haiku/source/i18n/unicode/selfmt.h 2010-07-26 19:00:39.130547712 +0200 +@@ -220,7 +220,9 @@ void applyPattern(const UnicodeString& pattern, UErrorCode& status); -- using Format::format; -+ // using Format::format; ++#if (__GNUC__ != 2) + using Format::format; ++#endif /** * Selects the phrase for the given keyword -diff -urN icu/source/i18n/unicode/smpdtfmt.h icu-haiku/source/i18n/unicode/smpdtfmt.h ---- icu/source/i18n/unicode/smpdtfmt.h 2010-04-28 15:27:04.044564480 +0000 -+++ icu-haiku/source/i18n/unicode/smpdtfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -368,7 +368,7 @@ +diff -ruwN icu/source/i18n/unicode/smpdtfmt.h icu-haiku/source/i18n/unicode/smpdtfmt.h +--- icu/source/i18n/unicode/smpdtfmt.h 2010-04-28 17:27:04.034603008 +0200 ++++ icu-haiku/source/i18n/unicode/smpdtfmt.h 2010-07-26 18:58:52.592969728 +0200 +@@ -368,7 +368,9 @@ virtual UBool operator==(const Format& other) const; -- using DateFormat::format; -+ // using DateFormat::format; ++#if (__GNUC__ != 2) + using DateFormat::format; ++#endif /** * Format a date or time, which is the standard millis since 24:00 GMT, Jan -@@ -1021,7 +1021,7 @@ +@@ -1021,8 +1023,7 @@ /** * Get the numbering system to be used for a particular field. */ - using DateFormat::getNumberFormat; // Do not hide visibility of base class function -+ // using DateFormat::getNumberFormat; // Do not hide visibility of base class function - NumberFormat * getNumberFormat(UDateFormatField index) const; +- NumberFormat * getNumberFormat(UDateFormatField index) const; ++ NumberFormat * getNumberFormatByIndex(UDateFormatField index) const; /** -diff -urN icu/source/i18n/unicode/tmutfmt.h icu-haiku/source/i18n/unicode/tmutfmt.h ---- icu/source/i18n/unicode/tmutfmt.h 2010-04-28 15:27:04.047448064 +0000 -+++ icu-haiku/source/i18n/unicode/tmutfmt.h 2010-07-14 15:41:18.000000000 +0000 -@@ -164,7 +164,7 @@ + * Parse the given override string and set up structures for number formats +diff -ruwN icu/source/i18n/unicode/tmutfmt.h icu-haiku/source/i18n/unicode/tmutfmt.h +--- icu/source/i18n/unicode/tmutfmt.h 2010-04-28 17:27:04.037486592 +0200 ++++ icu-haiku/source/i18n/unicode/tmutfmt.h 2010-07-26 21:37:12.592969728 +0200 +@@ -164,7 +164,16 @@ void setNumberFormat(const NumberFormat& format, UErrorCode& status); -- using MeasureFormat::format; -+ // using MeasureFormat::format; ++#if (__GNUC__ != 2) + using MeasureFormat::format; ++#else ++ virtual UnicodeString& format(const Formattable& obj, ++ UnicodeString& appendTo, ++ FieldPositionIterator* posIter, ++ UErrorCode& status) const { ++ return Format::format(obj, appendTo, posIter, status); ++ } ++#endif /** * Format a TimeUnitAmount. -diff -urN icu/source/i18n/uspoof_conf.cpp icu-haiku/source/i18n/uspoof_conf.cpp ---- icu/source/i18n/uspoof_conf.cpp 2010-04-28 15:27:08.060555264 +0000 -+++ icu-haiku/source/i18n/uspoof_conf.cpp 2010-07-14 15:41:18.000000000 +0000 -@@ -106,8 +106,8 @@ +diff -ruwN icu/source/i18n/uspoof_conf.cpp icu-haiku/source/i18n/uspoof_conf.cpp +--- icu/source/i18n/uspoof_conf.cpp 2010-04-28 17:27:08.050069504 +0200 ++++ icu-haiku/source/i18n/uspoof_conf.cpp 2010-07-26 19:15:22.253231104 +0200 +@@ -106,8 +106,10 @@ // Conforms to the type signature for a USortComparator in uvector.h static int8_t U_CALLCONV SPUStringCompare(UHashTok left, UHashTok right) { - const SPUString *sL = static_cast(left.pointer); - const SPUString *sR = static_cast(right.pointer); -+ const SPUString *sL = reinterpret_cast(left.pointer); -+ const SPUString *sR = reinterpret_cast(right.pointer); ++ const SPUString *sL = const_cast( ++ static_cast(left.pointer)); ++ const SPUString *sR = const_cast( ++ static_cast(right.pointer)); int32_t lenL = sL->fStr->length(); int32_t lenR = sR->fStr->length(); if (lenL < lenR) { -diff -urN icu/source/io/unicode/ustream.h icu-haiku/source/io/unicode/ustream.h ---- icu/source/io/unicode/ustream.h 2010-04-28 15:27:52.022544384 +0000 -+++ icu-haiku/source/io/unicode/ustream.h 2010-07-15 05:27:14.671350784 +0000 -@@ -27,8 +27,7 @@ +diff -ruwN icu/source/io/unicode/ustream.h icu-haiku/source/io/unicode/ustream.h +--- icu/source/io/unicode/ustream.h 2010-04-28 17:27:52.013369344 +0200 ++++ icu-haiku/source/io/unicode/ustream.h 2010-07-26 14:35:01.843055104 +0200 +@@ -27,8 +27,13 @@ */ #if U_IOSTREAM_SOURCE >= 199711 --#include --#include ++ ++#if (__GNUC__ == 2) +#include ++#else + #include + #include ++#endif U_NAMESPACE_BEGIN -diff -urN icu/source/tools/gennorm2/n2builder.cpp icu-haiku/source/tools/gennorm2/n2builder.cpp ---- icu/source/tools/gennorm2/n2builder.cpp 2010-04-28 15:27:42.064225280 +0000 -+++ icu-haiku/source/tools/gennorm2/n2builder.cpp 2010-07-14 15:50:05.000000000 +0000 -@@ -674,7 +674,7 @@ +diff -ruwN icu/source/tools/gennorm2/n2builder.cpp icu-haiku/source/tools/gennorm2/n2builder.cpp +--- icu/source/tools/gennorm2/n2builder.cpp 2010-04-28 17:27:42.052953088 +0200 ++++ icu-haiku/source/tools/gennorm2/n2builder.cpp 2010-07-26 19:18:33.715390976 +0200 +@@ -674,7 +674,11 @@ } int32_t length=p->compositions->size(); for(int32_t i=0; icompositions->at(i); ++#if (__GNUC__ == 2) + CompositionPair &pair=(*p->compositions)[i]; ++#else + CompositionPair &pair=p->compositions->at(i); ++#endif // 22 bits for the composite character and whether it combines forward. UChar32 compositeAndFwd=pair.composite<<1; if(getNormRef(pair.composite).compositions!=NULL) { -diff -urN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pkgdata.cpp ---- icu/source/tools/pkgdata/pkgdata.cpp 2010-04-28 15:27:46.021233664 +0000 -+++ icu-haiku/source/tools/pkgdata/pkgdata.cpp 2010-07-14 15:52:11.000000000 +0000 +diff -ruwN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pkgdata.cpp +--- icu/source/tools/pkgdata/pkgdata.cpp 2010-04-28 17:27:46.008912896 +0200 ++++ icu-haiku/source/tools/pkgdata/pkgdata.cpp 2010-07-26 18:30:06.726401024 +0200 @@ -472,7 +472,7 @@ } @@ -298,12 +508,3 @@ diff -urN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pk if (!specialHandling) { #ifdef USING_CYGWIN -@@ -1154,7 +1154,7 @@ - DATA_PREFIX_LENGTH - }; - --const static char DATA_PREFIX[DATA_PREFIX_LENGTH][10] = { -+static const char DATA_PREFIX[DATA_PREFIX_LENGTH][10] = { - "brkitr", - "coll", - "curr",