Merge branch 'package-management'

Conflicts:
	app-arch/p7zip/p7zip-9.04.bep
	app-arch/p7zip/p7zip-9.13.bep
	app-arch/tar/tar-1.22.bep
	app-arch/tar/tar-1.23.bep
	app-arch/tar/tar-1.25.bep
	app-arch/xz-utils/xz-utils-4.999.9.bep
	app-cdr/bchunk/bchunk-1.2.0.bep
	app-cdr/cdrtools/cdrtools-2.01.01a66.bep
	app-cdr/cdrtools/cdrtools-3.01a01.bep
	app-crypt/gnupg/gnupg-1.4.11.bep
	app-doc/doxygen/doxygen-1.6.3.bep
	app-editors/nano/nano-2.2.6.bep
	app-editors/vim/vim-7.3.bep
	app-text/antiword/antiword-0.37.bep
	app-text/libpaper/libpaper-1.1.23.bep
	app-text/libpaper/libpaper-1.1.24.bep
	app-text/rman/rman-3.2.bep
	dev-db/sqlite/sqlite-3.6.22.bep
	dev-db/sqlite/sqlite-3.6.23.bep
	dev-db/sqlite/sqlite-3.7.2.bep
	dev-db/sqlite/sqlite-3.7.3.bep
	dev-db/sqlite/sqlite-3.7.4.bep
	dev-db/sqlite/sqlite-3.7.5.bep
	dev-lang/lua/lua-5.1.4.bep
	dev-lang/nasm/nasm-2.08.01.bep
	dev-lang/perl/patches/perl-5.10.0.patch
	dev-lang/python/python-2.5.4.bep
	dev-lang/python/python-2.6.4.bep
	dev-lang/python/python-2.6.5.bep
	dev-lang/python/python-2.6.6.bep
	dev-lang/python/python-2.6.7.bep
	dev-lang/python/python-2.6.8.bep
	dev-lang/python/python-3.2.bep
	dev-lang/python/python-3.2.recipe
	dev-lang/python/python-3.2a4.bep
	dev-lang/yasm/yasm-1.1.0.bep
	dev-libs/apr-util/apr-util-1.3.10.bep
	dev-libs/apr-util/apr-util-1.3.9.bep
	dev-libs/apr/apr-1.3.8.bep
	dev-libs/apr/apr-1.3.9.bep
	dev-libs/apr/apr-1.4.2.bep
	dev-libs/apr/patches/apr-1.4.2.patch
	dev-libs/expat/expat-2.0.1.bep
	dev-libs/fribidi/fribidi-0.19.2.bep
	dev-libs/icu/icu-4.4.1.bep
	dev-libs/libedit/libedit-20090923.bep
	dev-libs/libedit/libedit-20100424.bep
	dev-libs/libevent/libevent-1.4.11.bep
	dev-libs/libevent/libevent-1.4.13.bep
	dev-libs/libevent/libevent-1.4.14b.bep
	dev-libs/libevent/libevent-2.0.10.bep
	dev-libs/libiconv/libiconv-1.12.bep
	dev-libs/libiconv/libiconv-1.13.1.bep
	dev-libs/libpcre/libpcre-8.00.bep
	dev-libs/libpcre/libpcre-8.02.bep
	dev-libs/libpcre/libpcre-8.12.bep
	dev-libs/libxml2/libxml2-2.7.3.bep
	dev-libs/libxml2/libxml2-2.7.6.bep
	dev-libs/libxml2/libxml2-2.7.7.bep
	dev-libs/libxml2/libxml2-2.7.8.bep
	dev-libs/openssl/openssl-0.9.8l.bep
	dev-libs/openssl/openssl-0.9.8m.bep
	dev-libs/openssl/openssl-1.0.0.bep
	dev-libs/openssl/openssl-1.0.0a.bep
	dev-libs/openssl/openssl-1.0.0c.bep
	dev-qt/qtcore/qtcore-4.8.x-git.bep
	dev-qt/qtcore/qtcore-4.8.x.recipe
	dev-util/ccache/ccache-3.0.1.bep
	dev-util/cmake/cmake-2.6.4.bep
	dev-util/cmake/cmake-2.8.0.bep
	dev-util/cmake/cmake-2.8.1.bep
	dev-util/cmake/cmake-2.8.2.bep
	dev-util/cmake/cmake-2.8.3.bep
	dev-util/cmake/cmake-2.8.4.bep
	dev-util/ctags/ctags-5.8.bep
	dev-util/fastdep/fastdep-0.16.bep
	dev-util/gperf/gperf-3.0.4.bep
	dev-util/pkgconfig/pkgconfig-0.23.bep
	dev-util/pkgconfig/pkgconfig-0.25.bep
	dev-vcs/cvs/cvs-1.12.13.1.bep
	dev-vcs/cvs/cvs-1.12.13.bep
	dev-vcs/subversion/subversion-1.6.11.bep
	dev-vcs/subversion/subversion-1.6.12.bep
	dev-vcs/subversion/subversion-1.6.13.bep
	dev-vcs/subversion/subversion-1.6.15.bep
	dev-vcs/subversion/subversion-1.6.6.bep
	dev-vcs/subversion/subversion-1.6.9.bep
	dev-vcs/subversion/subversion-1.7.xx-svn.bep
	haiku-apps/bepdf/bepdf-1.1.1b4.bep
	haiku-apps/libwalter/libwalter-97.bep
	haiku-apps/paladin/paladin-1.3-hg.bep
	haiku-apps/pe/pe-2.4.3-600.bep
	haiku-apps/vision/patches/vision-908-gcc4.patch
	haiku-apps/vision/vision-0.9.7.bep
	haiku-libs/libwalter/libwalter-97.bep
	haiku-libs/libwalter/libwalter-97.recipe
	media-gfx/graphviz/graphviz-2.24.bep
	media-gfx/graphviz/graphviz-2.26.3.bep
	media-libs/flac/flac-1.2.1.bep
	media-libs/freetype/freetype-2.3.11.bep
	media-libs/freetype/freetype-2.4.2.bep
	media-libs/freetype/freetype-2.4.4.bep
	media-libs/ftgl/ftgl-2.1-svn.bep
	media-libs/guilib/guilib-1.2.1.bep
	media-libs/jpeg/jpeg-7.bep
	media-libs/jpeg/jpeg-8b.bep
	media-libs/jpeg/jpeg-8c.bep
	media-libs/libao/libao-1.0.0.bep
	media-libs/libmad/libmad-0.15.1b.bep
	media-libs/libmng/libmng-1.0.10.bep
	media-libs/libogg/libogg-1.1.4.bep
	media-libs/libogg/libogg-1.2.0.bep
	media-libs/libogg/libogg-1.2.2.bep
	media-libs/libpng/libpng-1.2.29.bep
	media-libs/libpng/libpng-1.2.30.bep
	media-libs/libpng/libpng-1.2.40.bep
	media-libs/libpng/libpng-1.2.41.bep
	media-libs/libpng/libpng-1.2.43.bep
	media-libs/libpng/libpng-1.2.44.bep
	media-libs/libpng/libpng-1.4.1.bep
	media-libs/libpng/libpng-1.4.2.bep
	media-libs/libpng/libpng-1.4.3.bep
	media-libs/libpng/libpng-1.4.4.bep
	media-libs/libpng/libpng-1.5.0.bep
	media-libs/libsdl/patches/libsdl-1.2-hg.patch
	media-libs/libtheora/libtheora-1.1.1.bep
	media-libs/libvorbis/libvorbis-1.2.3.bep
	media-libs/libvorbis/libvorbis-1.3.1.bep
	media-libs/libvorbis/libvorbis-1.3.2.bep
	media-libs/libvpx/libvpx-0.9.2-git.bep
	media-libs/smpeg/smpeg-0.4.5.bep
	media-libs/speex/speex-1.2-git.bep
	media-libs/speex/speex-1.2rc1.bep
	media-sound/lame/lame-3.98.4.bep
	media-sound/lame/lame-398-2.bep
	media-sound/vorbis-tools/vorbis-tools-1.2.0.bep
	media-sound/vorbis-tools/vorbis-tools-1.4.0.bep
	media-video/ffmpeg/ffmpeg-0.5.bep
	media-video/ffmpeg/ffmpeg-0.6.bep
	net-misc/curl/curl-7.18.2.bep
	net-misc/curl/curl-7.19.1.bep
	net-misc/curl/curl-7.19.2.bep
	net-misc/curl/curl-7.19.5.bep
	net-misc/curl/curl-7.19.7.bep
	net-misc/curl/curl-7.20.0.bep
	net-misc/curl/curl-7.20.1.bep
	net-misc/curl/curl-7.21.1.bep
	net-misc/curl/curl-7.21.2.bep
	net-misc/curl/curl-7.21.3.bep
	net-misc/openssh/openssh-5.4p1.bep
	net-misc/openssh/openssh-5.5p1.bep
	net-misc/openssh/openssh-5.6p1.bep
	net-misc/openssh/openssh-5.7p1.bep
	net-misc/openssh/openssh-5.8p1.bep
	net-wireless/b43-fwcutter/b43-fwcutter-012.bep
	sci-libs/gsl/gsl-1.14.bep
	sys-apps/ed/ed-1.4.bep
	sys-apps/gawk/gawk-3.1.8.bep
	sys-apps/grep/grep-2.5.4.bep
	sys-apps/grep/grep-2.7.bep
	sys-apps/groff/groff-1.20.1.bep
	sys-apps/man/man-1.6f.bep
	sys-apps/sed/sed-4.2.1.bep
	sys-apps/texinfo/texinfo-4.13a.bep
	sys-devel/autoconf/autoconf-2.68.bep
	sys-devel/automake/automake-1.11.1.bep
	sys-devel/bison/bison-2.4.1.bep
	sys-devel/bison/bison-2.4.bep
	sys-devel/flex/flex-2.5.35.bep
	sys-devel/gettext/gettext-0.18.1.1-dev.bep
	sys-devel/gettext/gettext-0.18.1.1.bep
	sys-devel/jam/jam-2.5.bep
	sys-devel/m4/m4-1.4.14.bep
	sys-libs/ncurses/ncurses-5.6.bep
	sys-libs/ncurses/ncurses-5.7.bep
	sys-libs/readline/readline-5.2.bep
	sys-libs/readline/readline-6.0.bep
	sys-libs/readline/readline-6.1.bep
	sys-libs/zlib/zlib-1.2.3.bep
	sys-libs/zlib/zlib-1.2.5.bep
	x11-libs/qt/qt-4.8.x-git.bep
This commit is contained in:
Oliver Tappe
2013-10-15 22:48:02 +02:00
1452 changed files with 31199 additions and 33804 deletions

View File

@@ -1,20 +0,0 @@
DESCRIPTION="icu"
HOMEPAGE="http://www.icu-project.org"
SRC_URI="http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-src.tgz"
CHECKSUM_MD5="b6bc0a1153540b2088f8b03e0ba625d3"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd icu/source
CPPFLAGS="-D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1" ./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd icu/source
make install
}
LICENSE="ICU"
COPYRIGHT="1997-2010 IBM Corporation and others."

View File

@@ -0,0 +1,127 @@
SUMMARY="International Components for Unicode (ICU)"
HOMEPAGE="http://www.icu-project.org"
LICENSE="ICU"
COPYRIGHT="1997-2011 IBM Corporation and others."
SRC_URI="http://download.icu-project.org/files/icu4c/4.8.1.1/icu4c-4_8_1_1-src.tgz"
CHECKSUM_MD5="ea93970a0275be6b42f56953cd332c17"
REVISION="4"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PATCHES="icu-4.8.1.1.patch"
PROVIDES="
icu$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libicudata$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libicui18n$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libicuio$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libicule$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libiculx$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libicutest$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libicutu$secondaryArchSuffix = 48.1.1 compat >= 48
lib:libicuuc$secondaryArchSuffix = 48.1.1 compat >= 48
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:sed
"
SOURCE_DIR="icu"
BUILD()
{
cd source
runConfigure ./configure \
--disable-renaming --disable-samples --disable-extras
make $jobArgs
}
INSTALL()
{
cd source
make install
prepareInstalledDevelLibs \
libicudata \
libicui18n \
libicuio \
libicule \
libiculx \
libicutu \
libicuuc
fixPkgconfig
# Rename the data/icu directory when built for the secondary architecture,
# so that it doesn't clash with the primary package's.
if [ -n "$secondaryArchSuffix" ]; then
mv $dataDir/icu $dataDir/icu$secondaryArchSuffix
# TODO: The icu-config, the Makefile.inc, and possibly other files need
# to be adjusted as well. They are probably also not quite correct for
# the primary architecture (lib vs. develop/lib).
fi
# devel package
packageEntries devel \
$developDir \
$dataDir \
$libDir/icu \
$binDir/icu-config
# main package cleanup
rm -r $binDir
}
TEST()
{
cd source
make check
}
DESCRIPTION="ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms and between C/C++ and Java software.
ICU is released under a nonrestrictive open source license that is suitable for use with both commercial software and with other open source or free software.
Here are a few highlights of the services provided by ICU:
* Code Page Conversion: Convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.
* Collation: Compare strings according to the conventions and standards of a particular language, region or country. ICU's collation is based on the Unicode Collation Algorithm plus locale-specific comparison rules from the Common Locale Data Repository, a comprehensive source for this type of data.
* Formatting: Format numbers, dates, times and currency amounts according the conventions of a chosen locale. This includes translating month and day names into the selected language, choosing appropriate abbreviations, ordering fields correctly, etc. This data also comes from the Common Locale Data Repository.
* Time Calculations: Multiple types of calendars are provided beyond the traditional Gregorian calendar. A thorough set of timezone calculation APIs are provided.
* Unicode Support: ICU closely tracks the Unicode standard, providing easy access to all of the many Unicode character properties, Unicode Normalization, Case Folding and other fundamental operations as specified by the Unicode Standard.
* Regular Expression: ICU's regular expressions fully support Unicode while providing very competitive performance.
* Bidi: support for handling text containing a mixture of left to right (English) and right to left (Arabic or Hebrew) data.
* Text Boundaries: Locate the positions of words, sentences, paragraphs within a range of text, or identify locations that would be suitable for line wrapping when displaying the text."
# ----- devel package -------------------------------------------------------
SUMMARY_devel="The ICU development files"
PROVIDES_devel="
icu${secondaryArchSuffix}_devel = $portVersion
cmd:icu_config${secondaryArchSuffix} = $portVersion compat >= 4.8
devel:libicudata${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libicui18n${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libicuio${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libicule${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libiculx${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libicutest${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libicutu${secondaryArchSuffix} = 48.1.1 compat >= 48
devel:libicuuc${secondaryArchSuffix} = 48.1.1 compat >= 48
"
REQUIRES_devel="
icu${secondaryArchSuffix} == $portVersion base
"

View File

@@ -1,20 +0,0 @@
DESCRIPTION="icu"
HOMEPAGE="http://www.icu-project.org"
SRC_URI="http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz"
CHECKSUM_MD5="af36f635271a239d76d038d6cf8da8df"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd icu/source
./configure --prefix=`finddir B_COMMON_DIRECTORY` --disable-renaming --disable-samples --disable-extras
make
}
INSTALL {
cd icu/source
make install
}
LICENSE="ICU"
COPYRIGHT="1997-2011 IBM Corporation and others."

View File

@@ -1,510 +0,0 @@
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);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
@@ -231,7 +231,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &errorCode) const {
return impl.decompose(src, limit, NULL, errorCode);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UNormalizationCheckResult getQuickCheck(UChar32 c) const {
return impl.isDecompYes(impl.getNorm16(c)) ? UNORM_YES : UNORM_NO;
}
@@ -251,7 +251,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.compose(src, limit, onlyContiguous, TRUE, buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
@@ -293,7 +293,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &) const {
return impl.composeQuickCheck(src, limit, onlyContiguous, NULL);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UNormalizationCheckResult getQuickCheck(UChar32 c) const {
return impl.getCompQuickCheck(impl.getNorm16(c));
}
@@ -320,7 +320,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.makeFCD(src, limit, &buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
@@ -330,7 +330,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &errorCode) const {
return impl.makeFCD(src, limit, NULL, errorCode);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
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 -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 ${<F} $@
+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
+
+## Bind internal references
+
+# LDflags that pkgdata will use
+BIR_LDFLAGS= -Wl,-Bsymbolic
+
+# Dependencies [i.e. map files] for the final library
+BIR_DEPS=
+
+# Use LIBRARY_PATH instead of LD_LIBRARY_PATH
+LDLIBRARYPATH_ENVVAR= LIBRARY_PATH
+
+## End haiku-specific setup
+
diff -ruwN icu/source/configure icu-haiku/source/configure
--- icu/source/configure 2010-04-28 17:28:54.051904512 +0200
+++ icu-haiku/source/configure 2010-07-26 17:24:25.573308928 +0200
@@ -5501,7 +5501,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 ;;
@@ -11425,6 +11426,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruwN icu/source/configure.in icu-haiku/source/configure.in
--- icu/source/configure.in 2010-04-28 17:28:54.012845056 +0200
+++ icu-haiku/source/configure.in 2010-07-26 17:23:17.328728576 +0200
@@ -1230,6 +1230,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruwN icu/source/i18n/currfmt.h icu-haiku/source/i18n/currfmt.h
--- icu/source/i18n/currfmt.h 2010-04-28 17:27:08.025427968 +0200
+++ icu-haiku/source/i18n/currfmt.h 2010-07-26 19:08:17.175636480 +0200
@@ -63,7 +63,9 @@
virtual Format* clone() const;
+#if (__GNUC__ != 2)
using MeasureFormat::format;
+#endif
/**
* Override Format API.
diff -ruwN icu/source/i18n/digitlst.cpp icu-haiku/source/i18n/digitlst.cpp
--- icu/source/i18n/digitlst.cpp 2010-04-28 17:27:10.042467328 +0200
+++ icu-haiku/source/i18n/digitlst.cpp 2010-07-26 19:06:02.309329920 +0200
@@ -36,7 +36,9 @@
#include <limits.h>
#include <string.h>
#include <stdio.h>
+#if (__GNUC__ != 2)
#include <limits>
+#endif
// ***************************************************************************
// class DigitList
@@ -399,11 +401,15 @@
nonConstThis->fDouble /= -1;
}
} else if (isInfinite()) {
+#if (__GNUC__ != 2)
if (std::numeric_limits<double>::has_infinity) {
nonConstThis->fDouble = std::numeric_limits<double>::infinity();
} else {
nonConstThis->fDouble = std::numeric_limits<double>::max();
}
+#else
+ nonConstThis->fDouble = DBL_MAX;
+#endif
if (!isPositive()) {
nonConstThis->fDouble = -fDouble;
}
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;
+#if (__GNUC__ != 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
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;
+#if (__GNUC__ != 2)
using NumberFormat::format;
+#endif
/**
* Format a double or long number using this object's choices.
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;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
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;
+#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 -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;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
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;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Formats the given array of arguments into a user-readable string.
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;
-
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles
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);
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Formats a plural message for a given number.
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());
+#if (__GNUC__ != 2)
using NumberFormat::format;
+#endif
/**
* Formats the specified 32-bit number using the default ruleset.
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);
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Selects the phrase for the given keyword
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;
+#if (__GNUC__ != 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
@@ -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
- NumberFormat * getNumberFormat(UDateFormatField index) const;
+ NumberFormat * getNumberFormatByIndex(UDateFormatField index) const;
/**
* 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);
+#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 -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<const SPUString *>(left.pointer);
- const SPUString *sR = static_cast<const SPUString *>(right.pointer);
+ const SPUString *sL = const_cast<const SPUString *>(
+ static_cast<SPUString *>(left.pointer));
+ const SPUString *sR = const_cast<const SPUString *>(
+ static_cast<SPUString *>(right.pointer));
int32_t lenL = sL->fStr->length();
int32_t lenR = sR->fStr->length();
if (lenL < lenR) {
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
+
+#if (__GNUC__ == 2)
+#include <iostream>
+#else
#include <istream>
#include <ostream>
+#endif
U_NAMESPACE_BEGIN
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; i<length; ++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 -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 @@
}
static int runCommand(const char* command, UBool specialHandling) {
- char cmd[SMALL_BUFFER_MAX_SIZE];
+ char cmd[64000];
if (!specialHandling) {
#ifdef USING_CYGWIN

View File

@@ -0,0 +1,591 @@
diff -ruN icu/source/common/messagepattern.cpp icu-haiku/source/common/messagepattern.cpp
--- icu/source/common/messagepattern.cpp 2011-07-19 23:16:28.046137344 +0200
+++ icu-haiku/source/common/messagepattern.cpp 2011-08-19 15:48:48.211025920 +0200
@@ -88,8 +88,12 @@
int32_t length,
UErrorCode &errorCode);
UBool ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode);
- UBool memEquals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
- return 0==uprv_memcmp(a.getAlias(), other.a.getAlias(), length*sizeof(T));
+ UBool equals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
+ for (int32_t i=0; i<length; ++i) {
+ if (!(a.getAlias()[i] == other.a.getAlias()[i]))
+ return FALSE;
+ }
+ return TRUE;
}
MaybeStackArray<T, stackCapacity> a;
@@ -309,7 +313,7 @@
msg==other.msg &&
// parts.equals(o.parts)
partsLength==other.partsLength &&
- (partsLength==0 || partsList->memEquals(*other.partsList, partsLength));
+ (partsLength==0 || partsList->equals(*other.partsList, partsLength));
// No need to compare numericValues if msg and parts are the same.
}
diff -ruN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.cpp
--- icu/source/common/normalizer2.cpp 2011-07-19 23:16:24.008912896 +0200
+++ icu-haiku/source/common/normalizer2.cpp 2011-08-19 15:46:55.276824064 +0200
@@ -239,7 +239,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.decompose(src, limit, &buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
UnicodeString &safeMiddle,
@@ -250,7 +250,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &errorCode) const {
return impl.decompose(src, limit, NULL, errorCode);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UNormalizationCheckResult getQuickCheck(UChar32 c) const {
return impl.isDecompYes(impl.getNorm16(c)) ? UNORM_YES : UNORM_NO;
}
@@ -270,7 +270,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.compose(src, limit, onlyContiguous, TRUE, buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
UnicodeString &safeMiddle,
@@ -313,7 +313,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &) const {
return impl.composeQuickCheck(src, limit, onlyContiguous, NULL);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UNormalizationCheckResult getQuickCheck(UChar32 c) const {
return impl.getCompQuickCheck(impl.getNorm16(c));
}
@@ -340,7 +340,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.makeFCD(src, limit, &buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
UnicodeString &safeMiddle,
@@ -351,7 +351,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &errorCode) const {
return impl.makeFCD(src, limit, NULL, errorCode);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
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 -ruN icu/source/common/unicode/bytestrie.h icu-haiku/source/common/unicode/bytestrie.h
--- icu/source/common/unicode/bytestrie.h 2011-07-19 23:16:16.052953088 +0200
+++ icu-haiku/source/common/unicode/bytestrie.h 2011-08-19 15:46:55.331874304 +0200
@@ -338,6 +338,9 @@
// but the code looks more confusing that way.)
UVector32 *stack_;
};
+#if (__GNUC__ == 2)
+ friend class Iterator;
+#endif
private:
friend class BytesTrieBuilder;
diff -ruN icu/source/common/unicode/bytestriebuilder.h icu-haiku/source/common/unicode/bytestriebuilder.h
--- icu/source/common/unicode/bytestriebuilder.h 2011-07-19 23:16:16.053477376 +0200
+++ icu-haiku/source/common/unicode/bytestriebuilder.h 2011-08-19 15:46:55.333185024 +0200
@@ -141,6 +141,9 @@
private:
const char *s;
};
+#if (__GNUC__ == 2)
+ friend class BTLinearMatchNode;
+#endif
virtual Node *createLinearMatchNode(int32_t i, int32_t byteIndex, int32_t length,
Node *nextNode) const;
diff -ruN icu/source/common/unicode/platform.h.in icu-haiku/source/common/unicode/platform.h.in
--- icu/source/common/unicode/platform.h.in 2011-07-19 23:16:18.055574528 +0200
+++ icu-haiku/source/common/unicode/platform.h.in 2011-08-19 15:46:55.346554368 +0200
@@ -299,7 +299,7 @@
#ifdef U_STATIC_IMPLEMENTATION
#define U_EXPORT
-#elif @U_USE_GCC_VISIBILITY_ATTRIBUTE@
+#elif (@U_USE_GCC_VISIBILITY_ATTRIBUTE@) && (__GNUC__ > 2)
#define U_EXPORT __attribute__((visibility("default")))
#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \
|| (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550)
diff -ruN icu/source/common/unicode/stringtriebuilder.h icu-haiku/source/common/unicode/stringtriebuilder.h
--- icu/source/common/unicode/stringtriebuilder.h 2011-07-19 23:16:18.056623104 +0200
+++ icu-haiku/source/common/unicode/stringtriebuilder.h 2011-08-19 15:46:55.336068608 +0200
@@ -245,6 +245,9 @@
protected:
int32_t value;
};
+#if (__GNUC__ == 2)
+ friend class FinalValueNode;
+#endif
/** @internal */
class ValueNode : public Node {
@@ -272,6 +275,9 @@
protected:
Node *next;
};
+#if (__GNUC__ == 2)
+ friend class IntermediateValueNode;
+#endif
/** @internal */
class LinearMatchNode : public ValueNode {
@@ -323,6 +329,9 @@
int32_t values[kMaxBranchLinearSubNodeLength];
UChar units[kMaxBranchLinearSubNodeLength];
};
+#if (__GNUC__ == 2)
+ friend class ListBranchNode;
+#endif
/** @internal */
class SplitBranchNode : public BranchNode {
@@ -339,6 +348,9 @@
Node *lessThan;
Node *greaterOrEqual;
};
+#if (__GNUC__ == 2)
+ friend class SplitBranchNode;
+#endif
// Branch head node, for writing the actual node lead unit.
/** @internal */
@@ -354,6 +366,9 @@
int32_t length;
Node *next; // A branch sub-node.
};
+#if (__GNUC__ == 2)
+ friend class BranchHeadNode;
+#endif
/** @internal */
virtual Node *createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t length,
diff -ruN icu/source/common/unicode/ucharstrie.h icu-haiku/source/common/unicode/ucharstrie.h
--- icu/source/common/unicode/ucharstrie.h 2011-07-19 23:16:18.058720256 +0200
+++ icu-haiku/source/common/unicode/ucharstrie.h 2011-08-19 15:46:55.338165760 +0200
@@ -368,6 +368,9 @@
// but the code looks more confusing that way.)
UVector32 *stack_;
};
+#if (__GNUC__ == 2)
+ friend class Iterator;
+#endif
private:
friend class UCharsTrieBuilder;
diff -ruN icu/source/common/unicode/ucharstriebuilder.h icu-haiku/source/common/unicode/ucharstriebuilder.h
--- icu/source/common/unicode/ucharstriebuilder.h 2011-07-19 23:16:18.059244544 +0200
+++ icu-haiku/source/common/unicode/ucharstriebuilder.h 2011-08-19 15:46:55.339738624 +0200
@@ -145,6 +145,9 @@
private:
const UChar *s;
};
+#if (__GNUC__ == 2)
+ friend class UCTLinearMatchNode;
+#endif
virtual Node *createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t length,
Node *nextNode) const;
diff -ruN icu/source/config/mh-haiku icu-haiku/source/config/mh-haiku
--- icu/source/config/mh-haiku 2011-07-19 23:16:46.026214400 +0200
+++ icu-haiku/source/config/mh-haiku 2011-08-19 15:46:55.328990720 +0200
@@ -17,6 +17,9 @@
LIBCPPFLAGS =
THREADSCPPFLAGS =
+#
+CPPFLAGS += -D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1
+
## Compiler switch to embed a runtime search path
LD_RPATH=
LD_RPATH_PRE = -Wl,-rpath,
@@ -31,35 +34,35 @@
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
- $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
%.o: $(srcdir)/%.c
- $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
+ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
%.$(STATIC_O): $(srcdir)/%.cpp
- $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
+ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
%.o: $(srcdir)/%.cpp
- $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
+ $(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 $@'
+ @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 $@'
+ @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 ${<F} $@
+ $(RM) $@ && ln -s ${<F} $@
%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
- $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
## Bind internal references
diff -ruN icu/source/configure icu-haiku/source/configure
--- icu/source/configure 2011-07-19 23:19:38.029884416 +0200
+++ icu-haiku/source/configure 2011-08-19 15:46:55.287834112 +0200
@@ -7748,6 +7748,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruN icu/source/configure.in icu-haiku/source/configure.in
--- icu/source/configure.in 2011-07-19 23:19:38.029360128 +0200
+++ icu-haiku/source/configure.in 2011-08-19 15:46:55.290717696 +0200
@@ -1286,6 +1286,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruN icu/source/i18n/alphaindex.cpp icu-haiku/source/i18n/alphaindex.cpp
--- icu/source/i18n/alphaindex.cpp 2011-07-19 23:16:04.049545216 +0200
+++ icu-haiku/source/i18n/alphaindex.cpp 2011-08-19 15:46:55.342884352 +0200
@@ -196,7 +196,7 @@
UnicodeSet labelSet;
for (int32_t psIndex=0; psIndex<preferenceSorting.size(); psIndex++) {
- UnicodeString item = *static_cast<const UnicodeString *>(preferenceSorting.elementAt(psIndex));
+ UnicodeString item = *static_cast<UnicodeString *>(preferenceSorting.elementAt(psIndex));
// TODO: Since preferenceSorting was originally populated from the contents of a UnicodeSet,
// is it even possible for duplicates to show up in this check?
if (labelSet.contains(item)) {
@@ -240,7 +240,7 @@
int32_t count = 0;
int32_t old = -1;
for (int32_t srcIndex=0; srcIndex<labels_->size(); srcIndex++) {
- const UnicodeString *str = static_cast<const UnicodeString *>(labels_->elementAt(srcIndex));
+ const UnicodeString *str = static_cast<UnicodeString *>(labels_->elementAt(srcIndex));
++count;
const int32_t bump = count * maxLabelCount_ / size;
if (bump == old) {
@@ -528,7 +528,7 @@
const UnicodeString &AlphabeticIndex::getOverflowComparisonString(const UnicodeString &lowerLimit, UErrorCode &/*status*/) {
for (int32_t i=0; i<firstScriptCharacters_->size(); i++) {
const UnicodeString *s =
- static_cast<const UnicodeString *>(firstScriptCharacters_->elementAt(i));
+ const_cast<const UnicodeString *>(static_cast<UnicodeString *>(firstScriptCharacters_->elementAt(i)));
if (collator_->compare(*s, lowerLimit) > 0) {
return *s;
}
@@ -735,8 +735,10 @@
sortCollateComparator(const void *context, const void *left, const void *right) {
const UHashTok *leftTok = static_cast<const UHashTok *>(left);
const UHashTok *rightTok = static_cast<const UHashTok *>(right);
- const UnicodeString *leftString = static_cast<const UnicodeString *>(leftTok->pointer);
- const UnicodeString *rightString = static_cast<const UnicodeString *>(rightTok->pointer);
+ const UnicodeString *leftString
+ = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(leftTok->pointer));
+ const UnicodeString *rightString
+ = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(rightTok->pointer));
const Collator *col = static_cast<const Collator *>(context);
if (leftString == rightString) {
@@ -760,8 +762,10 @@
recordCompareFn(const void *context, const void *left, const void *right) {
const UHashTok *leftTok = static_cast<const UHashTok *>(left);
const UHashTok *rightTok = static_cast<const UHashTok *>(right);
- const AlphabeticIndex::Record *leftRec = static_cast<const AlphabeticIndex::Record *>(leftTok->pointer);
- const AlphabeticIndex::Record *rightRec = static_cast<const AlphabeticIndex::Record *>(rightTok->pointer);
+ const AlphabeticIndex::Record *leftRec
+ = const_cast<const AlphabeticIndex::Record *>(static_cast<AlphabeticIndex::Record *>(leftTok->pointer));
+ const AlphabeticIndex::Record *rightRec
+ = const_cast<const AlphabeticIndex::Record *>(static_cast<AlphabeticIndex::Record *>(rightTok->pointer));
const Collator *col = static_cast<const Collator *>(context);
Collator::EComparisonResult r = col->compare(leftRec->sortingName_, rightRec->sortingName_);
@@ -1087,8 +1091,8 @@
PreferenceComparator(const void *context, const void *left, const void *right) {
const UHashTok *leftTok = static_cast<const UHashTok *>(left);
const UHashTok *rightTok = static_cast<const UHashTok *>(right);
- const UnicodeString *s1 = static_cast<const UnicodeString *>(leftTok->pointer);
- const UnicodeString *s2 = static_cast<const UnicodeString *>(rightTok->pointer);
+ const UnicodeString *s1 = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(leftTok->pointer));
+ const UnicodeString *s2 = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(rightTok->pointer));
UErrorCode &status = *(UErrorCode *)(context); // Cast off both static and const.
if (s1 == s2) {
return 0;
diff -ruN icu/source/i18n/currfmt.h icu-haiku/source/i18n/currfmt.h
--- icu/source/i18n/currfmt.h 2011-07-19 23:16:00.058720256 +0200
+++ icu-haiku/source/i18n/currfmt.h 2011-08-19 15:46:55.293339136 +0200
@@ -63,7 +63,9 @@
virtual Format* clone() const;
+#if (__GNUC__ > 2)
using MeasureFormat::format;
+#endif
/**
* Override Format API.
diff -ruN icu/source/i18n/digitlst.cpp icu-haiku/source/i18n/digitlst.cpp
--- icu/source/i18n/digitlst.cpp 2011-07-19 23:16:00.050593792 +0200
+++ icu-haiku/source/i18n/digitlst.cpp 2011-08-19 15:46:55.295698432 +0200
@@ -37,7 +37,9 @@
#include <limits.h>
#include <string.h>
#include <stdio.h>
+#if (__GNUC__ > 2)
#include <limits>
+#endif
// ***************************************************************************
// class DigitList
@@ -423,11 +425,15 @@
nonConstThis->fDouble /= -1;
}
} else if (isInfinite()) {
+#if (__GNUC__ > 2)
if (std::numeric_limits<double>::has_infinity) {
nonConstThis->fDouble = std::numeric_limits<double>::infinity();
} else {
nonConstThis->fDouble = std::numeric_limits<double>::max();
}
+#else
+ nonConstThis->fDouble = DBL_MAX;
+#endif
if (!isPositive()) {
nonConstThis->fDouble = -fDouble;
}
diff -ruN icu/source/i18n/reldtfmt.h icu-haiku/source/i18n/reldtfmt.h
--- icu/source/i18n/reldtfmt.h 2011-07-19 23:16:06.034078720 +0200
+++ icu-haiku/source/i18n/reldtfmt.h 2011-08-19 15:46:55.297533440 +0200
@@ -79,7 +79,9 @@
virtual UBool operator==(const Format& other) const;
+#if (__GNUC__ > 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
diff -ruN icu/source/i18n/unicode/alphaindex.h icu-haiku/source/i18n/unicode/alphaindex.h
--- icu/source/i18n/unicode/alphaindex.h 2011-07-19 23:15:52.042467328 +0200
+++ icu-haiku/source/i18n/unicode/alphaindex.h 2011-08-19 15:46:55.344719360 +0200
@@ -588,6 +588,9 @@
Record(AlphabeticIndex *alphaIndex, const UnicodeString &name, const void *data);
~Record();
};
+#if (__GNUC__ == 2)
+ friend struct Record;
+#endif
/**
* Holds all user records before they are distributed into buckets.
diff -ruN icu/source/i18n/unicode/choicfmt.h icu-haiku/source/i18n/unicode/choicfmt.h
--- icu/source/i18n/unicode/choicfmt.h 2011-07-19 23:15:52.038797312 +0200
+++ icu-haiku/source/i18n/unicode/choicfmt.h 2011-08-19 15:46:55.300154880 +0200
@@ -352,7 +352,9 @@
virtual const UnicodeString* getFormats(int32_t& count) const;
+#if (__GNUC__ > 2)
using NumberFormat::format;
+#endif
/**
* Formats a double number using this object's choices.
diff -ruN icu/source/i18n/unicode/datefmt.h icu-haiku/source/i18n/unicode/datefmt.h
--- icu/source/i18n/unicode/datefmt.h 2011-07-19 23:15:52.035389440 +0200
+++ icu-haiku/source/i18n/unicode/datefmt.h 2011-08-19 15:46:55.302514176 +0200
@@ -212,7 +212,9 @@
virtual UBool operator==(const Format&) const;
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
diff -ruN icu/source/i18n/unicode/decimfmt.h icu-haiku/source/i18n/unicode/decimfmt.h
--- icu/source/i18n/unicode/decimfmt.h 2011-07-19 23:15:54.040370176 +0200
+++ icu-haiku/source/i18n/unicode/decimfmt.h 2011-08-19 15:46:55.305397760 +0200
@@ -834,7 +834,16 @@
virtual UBool operator==(const Format& other) const;
+#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 -ruN icu/source/i18n/unicode/dtitvfmt.h icu-haiku/source/i18n/unicode/dtitvfmt.h
--- icu/source/i18n/unicode/dtitvfmt.h 2011-07-19 23:15:54.042467328 +0200
+++ icu-haiku/source/i18n/unicode/dtitvfmt.h 2011-08-19 15:46:55.307757056 +0200
@@ -363,7 +363,9 @@
UBool operator!=(const Format& other) const;
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
diff -ruN icu/source/i18n/unicode/msgfmt.h icu-haiku/source/i18n/unicode/msgfmt.h
--- icu/source/i18n/unicode/msgfmt.h 2011-07-19 23:15:54.041156608 +0200
+++ icu-haiku/source/i18n/unicode/msgfmt.h 2011-08-19 15:46:55.310116352 +0200
@@ -615,7 +615,9 @@
virtual const Format** getFormats(int32_t& count) const;
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Formats the given array of arguments into a user-readable string.
diff -ruN icu/source/i18n/unicode/numfmt.h icu-haiku/source/i18n/unicode/numfmt.h
--- icu/source/i18n/unicode/numfmt.h 2011-07-19 23:15:54.039059456 +0200
+++ icu-haiku/source/i18n/unicode/numfmt.h 2011-08-19 15:46:55.312213504 +0200
@@ -212,8 +212,9 @@
*/
virtual UBool operator==(const Format& other) const;
-
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles
diff -ruN icu/source/i18n/unicode/plurfmt.h icu-haiku/source/i18n/unicode/plurfmt.h
--- icu/source/i18n/unicode/plurfmt.h 2011-07-19 23:15:52.044040192 +0200
+++ icu-haiku/source/i18n/unicode/plurfmt.h 2011-08-19 15:46:55.314310656 +0200
@@ -281,7 +281,9 @@
void applyPattern(const UnicodeString& pattern, UErrorCode& status);
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Formats a plural message for a given number.
diff -ruN icu/source/i18n/unicode/rbnf.h icu-haiku/source/i18n/unicode/rbnf.h
--- icu/source/i18n/unicode/rbnf.h 2011-07-19 23:15:54.034340864 +0200
+++ icu-haiku/source/i18n/unicode/rbnf.h 2011-08-19 15:46:55.316932096 +0200
@@ -722,7 +722,9 @@
const Locale& locale = Locale::getDefault());
+#if (__GNUC__ > 2)
using NumberFormat::format;
+#endif
/**
* Formats the specified 32-bit number using the default ruleset.
diff -ruN icu/source/i18n/unicode/selfmt.h icu-haiku/source/i18n/unicode/selfmt.h
--- icu/source/i18n/unicode/selfmt.h 2011-07-19 23:15:52.042991616 +0200
+++ icu-haiku/source/i18n/unicode/selfmt.h 2011-08-19 15:46:55.318767104 +0200
@@ -219,7 +219,9 @@
void applyPattern(const UnicodeString& pattern, UErrorCode& status);
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Selects the phrase for the given keyword
diff -ruN icu/source/i18n/unicode/smpdtfmt.h icu-haiku/source/i18n/unicode/smpdtfmt.h
--- icu/source/i18n/unicode/smpdtfmt.h 2011-07-19 23:15:52.035127296 +0200
+++ icu-haiku/source/i18n/unicode/smpdtfmt.h 2011-08-19 15:46:55.321126400 +0200
@@ -369,7 +369,9 @@
virtual UBool operator==(const Format& other) const;
+#if (__GNUC__ > 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
diff -ruN icu/source/i18n/unicode/tmutfmt.h icu-haiku/source/i18n/unicode/tmutfmt.h
--- icu/source/i18n/unicode/tmutfmt.h 2011-07-19 23:15:54.039583744 +0200
+++ icu-haiku/source/i18n/unicode/tmutfmt.h 2011-08-19 15:46:55.322961408 +0200
@@ -162,7 +162,16 @@
void setNumberFormat(const NumberFormat& format, UErrorCode& status);
+#if (__GNUC__ > 2)
using MeasureFormat::format;
+#else
+ virtual UnicodeString& format(const Formattable& obj,
+ UnicodeString& appendTo,
+ FieldPositionIterator* posIter,
+ UErrorCode& status) const {
+ return MeasureFormat::format(obj, appendTo, posIter, status);
+ }
+#endif
/**
* Format a TimeUnitAmount.
diff -ruN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pkgdata.cpp
--- icu/source/tools/pkgdata/pkgdata.cpp 2011-07-19 23:16:36.003670016 +0200
+++ icu-haiku/source/tools/pkgdata/pkgdata.cpp 2011-08-19 15:46:55.326107136 +0200
@@ -476,7 +476,7 @@
static int runCommand(const char* command, UBool specialHandling) {
char *cmd = NULL;
- char cmdBuffer[SMALL_BUFFER_MAX_SIZE];
+ char cmdBuffer[64000];
int32_t len = strlen(command);
if (len == 0) {