Kaydet (Commit) 58355181 authored tarafından Caolán McNamara's avatar Caolán McNamara

upgrade to icu 49

Change-Id: I I I I I If403ee07ef8ea654369a8faac57fa8940f90e040
üst b1c3f00d
...@@ -7767,7 +7767,7 @@ else ...@@ -7767,7 +7767,7 @@ else
AC_MSG_RESULT([internal]) AC_MSG_RESULT([internal])
SYSTEM_ICU="NO" SYSTEM_ICU="NO"
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
# ICU_RECLASSIFIED_PREPEND_SET_EMPTY not applied for our internal ICU 4.4.2 ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES"
BUILD_TYPE="$BUILD_TYPE ICU" BUILD_TYPE="$BUILD_TYPE ICU"
fi fi
......
--- misc/icu/source/source/common/uloc.c
+++ misc/build/icu/source/common/uloc.c
@@ -1797,7 +1797,7 @@
int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n);
len -= variantLen;
if (variantLen > 0) {
- if (name[len-1] == '_') { /* delete trailing '_' */
+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
--len;
}
addKeyword = VARIANT_MAP[j].keyword;
@@ -1805,7 +1805,7 @@
break;
}
}
- if (name[len-1] == '_') { /* delete trailing '_' */
+ if (len > 0 && len <= nameCapacity && name[len-1] == '_') { /* delete trailing '_' */
--len;
}
}
Index: icu-4.4.1/source/tools/toolutil/pkg_genc.c
===================================================================
--- misc/icu/source/tools/toolutil/pkg_genc.c 2010-04-28 11:27:46.000000000 -0400
+++ misc/build/icu/source/tools/toolutil/pkg_genc.c 2010-07-17 07:31:54.408752610 -0400
@@ -1,5 +1,5 @@
/******************************************************************************
- * Copyright (C) 2009, International Business Machines
+ * Copyright (C) 2009-2010, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
*/
@@ -118,10 +118,10 @@
} assemblyHeader[] = {
{"gcc",
".globl %s\n"
- "\t.section .note.GNU-stack,\"\",@progbits\n"
+ "\t.section .note.GNU-stack,\"\",%%progbits\n"
"\t.section .rodata\n"
"\t.align 8\n" /* Either align 8 bytes or 2^8 (256) bytes. 8 bytes is needed. */
- "\t.type %s,@object\n"
+ "\t.type %s,%%object\n"
"%s:\n\n",
".long ","",HEX_0X
...@@ -9,3 +9,67 @@ ...@@ -9,3 +9,67 @@
#SH# # We can't depend on MIDDLE_SO_TARGET being set. #SH# # We can't depend on MIDDLE_SO_TARGET being set.
#SH# LD_SONAME= #SH# LD_SONAME=
--- misc/icu/source/configure
+++ misc/build/icu/source/configure
@@ -5053,7 +5053,7 @@
else
icu_cv_host_frag=mh-linux-va
fi ;;
-*-*-linux*|*-*-gnu|*-*-k*bsd*-gnu|*-*-kopensolaris*-gnu) icu_cv_host_frag=mh-linux ;;
+*-*-linux*|*-*-gnu|*-*-k*bsd*-gnu|*-*-kopensolaris*-gnu|*-*-*-androideabi*) icu_cv_host_frag=mh-linux ;;
*-*-cygwin|*-*-mingw32)
if test "$GCC" = yes; then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6127,6 +6127,9 @@
# Check to see if genccode can generate simple assembly.
GENCCODE_ASSEMBLY=
case "${host}" in
+*-*-linux-androideabi)
+ GENCCODE_ASSEMBLY="-a gcc-android"
+ ;;
*-linux*|*-kfreebsd*-gnu*|i*86-*-*bsd*|i*86-pc-gnu)
if test "$GCC" = yes; then
# We're using gcc, and the simple -a gcc command line works for genccode
@@ -7200,6 +7203,10 @@
# wchar_t can be used
CHECK_UTF16_STRING_RESULT="available"
;;
+*-*-*-androideabi*)
+ # no UTF-16 strings thanks, I think, this is to avoid the -std=c++0x which causes trouble with uint64_t
+ CHECK_UTF16_STRING_RESULT="nope"
+ ;;
*)
;;
esac
--- misc/icu/source/tools/toolutil/pkg_genc.c
+++ misc/build/icu/source/tools/toolutil/pkg_genc.c
@@ -145,6 +145,28 @@
".long ","",HEX_0X
},
+ {"gcc-android",
+ "\t.arch armv5te\n"
+ "\t.fpu softvfp\n"
+ "\t.eabi_attribute 20, 1\n"
+ "\t.eabi_attribute 21, 1\n"
+ "\t.eabi_attribute 23, 3\n"
+ "\t.eabi_attribute 24, 1\n"
+ "\t.eabi_attribute 25, 1\n"
+ "\t.eabi_attribute 26, 2\n"
+ "\t.eabi_attribute 30, 6\n"
+ "\t.eabi_attribute 18, 4\n"
+ "\t.file \"%s.s\"\n"
+ "\t.global %s\n"
+ "\t.section .rodata\n"
+ "\t.align 2\n"
+ "\t.type %s, %%object\n"
+ "%s:\n",
+
+ "\t.word ",
+ "\t.section .note.GNU-stack,\"\",%%progbits\n",
+ HEX_0X
+ },
{"sun",
"\t.section \".rodata\"\n"
"\t.align 8\n"
--- misc/icu/source/config.sub 2010-09-29 20:38:38.000000000 +0200 --- misc/icu/source/tools/toolutil/pkg_genc.h
+++ misc/build/icu/source/config.sub 2011-09-26 22:51:02.000000000 +0200 +++ misc/build/icu/source/tools/toolutil/pkg_genc.h
@@ -120,7 +120,7 @@ @@ -58,7 +58,7 @@
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -1250,7 +1250,7 @@
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -linux-gnu* | -linux-androideabi* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
--- misc/icu/source/configure
+++ misc/build/icu/source/configure
@@ -5438,7 +5438,7 @@
else
icu_cv_host_frag=mh-linux-va
fi ;;
-*-*-linux*|*-pc-gnu) icu_cv_host_frag=mh-linux ;;
+*-*-linux*|*-pc-gnu|*-*-*-androideabi*) icu_cv_host_frag=mh-linux ;;
*-*-cygwin|*-*-mingw32)
if test "$GCC" = yes; then
cat >conftest.$ac_ext <<_ACEOF
@@ -7429,6 +7429,9 @@
# Check to see if genccode can generate simple assembly.
GENCCODE_ASSEMBLY=
case "${host}" in
+*-*-linux-androideabi)
+ GENCCODE_ASSEMBLY="-a gcc-android"
+ ;;
*-linux*|i*86-*-*bsd*|i*86-pc-gnu)
if test "$GCC" = yes; then
# We're using gcc, and the simple -a gcc command line works for genccode
@@ -8001,8 +8001,9 @@
# Check for potential -arch flags. It is not universal unless
# there are some -arch flags. Note that *ppc* also matches
# ppc64. This check is also rather less than ideal.
+ # Huh? This breaks the ICU build on MacOSX 10.6 at least --tml@iki.fi
case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #(
- *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
+ # *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
esac
else
$as_echo "$as_me: failed program was:" >&5
@@ -11115,6 +1115,10 @@
# wchar_t can be used
CHECK_UTF16_STRING_RESULT="available"
;;
+*-*-*-androideabi*)
+ # no UTF-16 strings thanks, I think, this is to avoid the -std=c++0x which causes trouble with uint64_t
+ CHECK_UTF16_STRING_RESULT="nope"
+ ;;
*)
;;
esac
--- misc/icu/source/tools/toolutil/pkg_genc.c
+++ misc/build/icu/source/tools/toolutil/pkg_genc.c
@@ -145,6 +145,28 @@
".long ","",HEX_0X
},
+ {"gcc-android",
+ "\t.arch armv5te\n"
+ "\t.fpu softvfp\n"
+ "\t.eabi_attribute 20, 1\n"
+ "\t.eabi_attribute 21, 1\n"
+ "\t.eabi_attribute 23, 3\n"
+ "\t.eabi_attribute 24, 1\n"
+ "\t.eabi_attribute 25, 1\n"
+ "\t.eabi_attribute 26, 2\n"
+ "\t.eabi_attribute 30, 6\n"
+ "\t.eabi_attribute 18, 4\n"
+ "\t.file \"%s.s\"\n"
+ "\t.global %s\n"
+ "\t.section .rodata\n"
+ "\t.align 2\n"
+ "\t.type %s, %%object\n"
+ "%s:\n",
+
+ "\t.word ",
+ "\t.section .note.GNU-stack,\"\",%%progbits\n",
+ HEX_0X
+ },
{"sun",
"\t.section \".rodata\"\n"
"\t.align 8\n"
--- misc/icu/source/tools/pkgdata/pkgdata.cpp
+++ misc/build/icu/source/tools/pkgdata/pkgdata.cpp
@@ -97,7 +97,7 @@
#endif #endif
#define LARGE_BUFFER_MAX_SIZE 2048 #define LARGE_BUFFER_MAX_SIZE 2048
-#define SMALL_BUFFER_MAX_SIZE 512 -#define SMALL_BUFFER_MAX_SIZE 512
+#define SMALL_BUFFER_MAX_SIZE 2048 +#define SMALL_BUFFER_MAX_SIZE 2048
#define SMALL_BUFFER_FLAG_NAMES 32
static void loadLists(UPKGOptions *o, UErrorCode *status); #define BUFFER_PADDING_SIZE 20
--- misc/icu/source/common/putil.c 2010-09-29 20:37:22.000000000 +0200
+++ misc/build/icu/source/common/putil.c 2011-03-15 10:58:44.054592942 +0100
@@ -52,7 +52,7 @@
Poorly upgraded Solaris machines can't have this defined.
Cleanly installed Solaris can use this #define.
*/
-#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ >= 199901L)
+#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L)
#define _XOPEN_SOURCE_EXTENDED 1
#endif
--- misc/icu/source/common/stringpiece.cpp 2010-09-29 20:37:20.000000000 +0200 --- misc/icu/source/common/stringpiece.cpp 2010-09-29 20:37:20.000000000 +0200
+++ misc/build/icu/source/common/stringpiece.cpp 2011-03-15 10:57:24.722045561 +0100 +++ misc/build/icu/source/common/stringpiece.cpp 2011-03-15 10:57:24.722045561 +0100
@@ -71,7 +71,7 @@ @@ -75,7 +75,7 @@
* Visual Studios 9.0. * Visual Studios 9.0.
* Cygwin with MSVC 9.0 also complains here about redefinition. * Cygwin with MSVC 9.0 also complains here about redefinition.
*/ */
-#if (!defined(_MSC_VER) || (_MSC_VER >= 1500)) && !defined(CYGWINMSVC) -#if (!defined(_MSC_VER) || (_MSC_VER > 1500)) && !defined(CYGWINMSVC)
+#if (!defined(_MSC_VER) && !defined(CYGWINMSVC)) +#if (!defined(_MSC_VER) && !defined(CYGWINMSVC))
const int32_t StringPiece::npos; const int32_t StringPiece::npos;
#endif #endif
--- misc/icu/source/config/mh-darwin 2010-09-29 20:37:36.000000000 +0200 --- misc/icu/source/config/mh-darwin 2010-09-29 20:37:36.000000000 +0200
+++ misc/build/icu/source/config/mh-darwin 2011-03-15 10:56:26.653056004 +0100 +++ misc/build/icu/source/config/mh-darwin 2011-03-15 10:56:26.653056004 +0100
@@ -25,7 +25,7 @@ @@ -25,11 +25,7 @@
SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) $(LD_SOOPTIONS) SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) $(LD_SOOPTIONS)
## Compiler switches to embed a library name and version information ## Compiler switches to embed a library name and version information
-ifeq ($(ENABLE_RPATH),YES)
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))
-else
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) -LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET))
-endif
+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @executable_path/$(notdir $(MIDDLE_SO_TARGET)) +LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @executable_path/$(notdir $(MIDDLE_SO_TARGET))
## Compiler switch to embed a runtime search path ## Compiler switch to embed a runtime search path
LD_RPATH= LD_RPATH=
@@ -41,10 +41,6 @@ @@ -45,10 +41,6 @@
## Non-shared intermediate object suffix ## Non-shared intermediate object suffix
STATIC_O = ao STATIC_O = ao
...@@ -147,7 +46,7 @@ ...@@ -147,7 +46,7 @@
## Compilation rules ## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c %.$(STATIC_O): $(srcdir)/%.c
$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
@@ -76,16 +72,10 @@ @@ -80,16 +72,10 @@
## Versioned libraries rules ## Versioned libraries rules
...@@ -181,33 +80,6 @@ ...@@ -181,33 +80,6 @@
## These are the library specific LDFLAGS ## These are the library specific LDFLAGS
LDFLAGSICUDT=-nodefaultlibs -nostdlib LDFLAGSICUDT=-nodefaultlibs -nostdlib
--- misc/icu/source/config/mh-solaris 2010-09-29 20:37:36.000000000 +0200
+++ misc/build/icu/source/config/mh-solaris 2011-03-15 11:01:04.370475053 +0100
@@ -36,17 +36,21 @@
## Commands to link
## For Sun Workshop, use CC to link to bring in C++ runtime
-LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS)
-LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS)
+LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath
+LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath
## Commands to make a shared library
SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -G
-SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G
+SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G -norunpath
## Compiler switch to embed a runtime search path
LD_RPATH= -R'$$'ORIGIN
LD_RPATH_PRE= -R
+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH
+ENABLE_RPATH=YES
+RPATHLDFLAGS=${LD_RPATH}'$$ORIGIN'
+
#LIBRARY_PATH_PREFIX=/usr/lib/lwp:
## Compiler switch to embed a library name
--- misc/icu/source/layout/ArabicShaping.cpp 2010-09-29 20:38:38.000000000 +0200 --- misc/icu/source/layout/ArabicShaping.cpp 2010-09-29 20:38:38.000000000 +0200
+++ misc/build/icu/source/layout/ArabicShaping.cpp 2011-03-15 10:56:26.655056238 +0100 +++ misc/build/icu/source/layout/ArabicShaping.cpp 2011-03-15 10:56:26.655056238 +0100
@@ -79,7 +79,6 @@ @@ -79,7 +79,6 @@
......
--- misc/icu/source/tools/icuinfo/Makefile.in 2011-03-15 21:41:25.647780036 +0000
+++ misc/build/icu/source/tools/icuinfo/Makefile.in 2011-03-15 21:41:25.647780036 +0000
@@ -36,7 +36,7 @@
ICUINFO_OPTS=-i ../../data/out/build/$(ICUDATA_PLATFORM_NAME)
-CPPFLAGS+= -DU_PLATFORM=\"@platform@\" -DU_BUILD=\"@build@\" -DU_HOST=\"@host@\" -DU_CC=\"@CC@\" -DU_CXX=\"@CXX@\"
+CPPFLAGS+= -DU_PLATFORM="\"@platform@\"" -DU_BUILD="\"@build@\"" -DU_HOST="\"@host@\"" -DU_CC="\"@CC@\"" -DU_CXX="\"@CXX@\""
# -DENABLE_RELEASE=@ENABLE_RELEASE@ -DENABLE_DEBUG=@ENABLE_DEBUG@ "
--- misc/build/icu/source/extra/uconv/Makefile.in.sav 2010-09-29 20:37:14.000000000 +0200
+++ misc/build/icu/source/extra/uconv/Makefile.in 2011-10-19 01:12:22.000000000 +0200
@@ -147,7 +147,7 @@ $(UCONVMSG_LIB): resfiles
endif
-package-resfiles: $(RESDIR)/$(RESDIR).lst pkgdata.inc
+package-resfiles: $(RESFILES) $(RESDIR)/$(RESDIR).lst pkgdata.inc
$(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
$(RESDIR)/$(RESDIR).lst: Makefile $(srcdir)/resfiles.mk
@@ -159,7 +159,7 @@ $(RESDIR)/$(RESDIR).lst: Makefile $(srcd
# no install for static mode
ifneq ($(UCONVMSG_MODE),static)
-install-resfiles: $(RESFILES)
+install-resfiles: $(RESFILES) $(RESDIR)/$(RESDIR).lst pkgdata.inc
$(MKINSTALLDIRS) $(DESTDIR)$(ICUDATA_DIR)
$(INVOKE) $(TOOLBINDIR)/pkgdata -p $(RESDIR) -O pkgdata.inc -m $(PKGMODE) -d $(RESDIR) -I $(INSTALLTO) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
else
--- misc/build/icu/source/common/wintz.c.orig 2011-08-19 17:13:10.000000000 +0200
+++ misc/build/icu/source/common/wintz.c 2011-08-19 17:13:35.000000000 +0200
@@ -113,7 +113,7 @@ static int32_t detectWindowsType()
}
}
- return winType+1; // +1 to bring it inline with the enum
+ return winType+1; /* +1 to bring it inline with the enum */
}
static LONG openTZRegKey(HKEY *hkey, const char *winid)
--- misc/icu/source/common/unicode/stringpiece.h
+++ misc/build/icu/source/common/unicode/stringpiece.h
@@ -140,7 +140,7 @@
* @param len the length of the new data
* @internal
*/
- void set(const char* data, int32_t len) { ptr_ = data; length_ = len; }
+ void set(const char* data_, int32_t len) { ptr_ = data_; length_ = len; }
/**
* Reset the stringpiece to refer to new data.
--- misc/icu/source/common/unicode/ --- misc/icu/source/common/unicode/
+++ misc/build/icu/source/common/unicode/utf16.h +++ misc/build/icu/source/common/unicode/utf16.h
@@ -316,6 +316,7 @@ @@ -316,6 +316,7 @@
......
--- misc/icu/source/layout/LookupProcessor.h 2011-02-03 09:20:27.657005678 +0000
+++ misc/build/icu/source/layout/LookupProcessor.h 2011-02-03 09:25:34.498396208 +0000
@@ -65,6 +65,7 @@
const FeatureListTable *featureListTable;
FeatureMask *lookupSelectArray;
+ le_uint32 lookupSelectCount;
le_uint16 *lookupOrderArray;
le_uint32 lookupOrderCount;
--- misc/icu/source/layout/LookupProcessor.cpp 2011-02-02 12:29:54.369077099 +0000 --- misc/icu/source/layout/LookupProcessor.cpp 2011-02-02 12:29:54.369077099 +0000
+++ misc/build/icu/source/layout/LookupProcessor.cpp 2011-02-02 12:31:54.215503036 +0000 +++ misc/build/icu/source/layout/LookupProcessor.cpp 2011-02-02 12:31:54.215503036 +0000
@@ -70,6 +70,10 @@
if (selectMask != 0) {
const LookupTable *lookupTable = lookupListTable->getLookupTable(lookup);
+
+ if (!lookupTable)
+ continue;
+
le_uint16 lookupFlags = SWAPW(lookupTable->lookupFlags);
glyphIterator.reset(lookupFlags, selectMask);
@@ -111,6 +115,9 @@ @@ -111,6 +115,9 @@
for (le_uint16 lookup = 0; lookup < lookupCount; lookup += 1) { for (le_uint16 lookup = 0; lookup < lookupCount; lookup += 1) {
le_uint16 lookupListIndex = SWAPW(featureTable->lookupListIndexArray[lookup]); le_uint16 lookupListIndex = SWAPW(featureTable->lookupListIndexArray[lookup]);
...@@ -31,15 +10,6 @@ ...@@ -31,15 +10,6 @@
lookupSelectArray[lookupListIndex] |= featureMask; lookupSelectArray[lookupListIndex] |= featureMask;
lookupOrderArray[store++] = lookupListIndex; lookupOrderArray[store++] = lookupListIndex;
} }
@@ -122,7 +129,7 @@
Offset scriptListOffset, Offset featureListOffset, Offset lookupListOffset,
LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures,
LEErrorCode& success)
- : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL),
+ : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), lookupSelectCount(0),
lookupOrderArray(NULL), lookupOrderCount(0)
{
const ScriptListTable *scriptListTable = NULL;
@@ -170,6 +177,8 @@ @@ -170,6 +177,8 @@
lookupSelectArray[i] = 0; lookupSelectArray[i] = 0;
} }
...@@ -49,14 +19,3 @@ ...@@ -49,14 +19,3 @@
le_int32 count, order = 0; le_int32 count, order = 0;
le_int32 featureReferences = 0; le_int32 featureReferences = 0;
const FeatureTable *featureTable = NULL; const FeatureTable *featureTable = NULL;
@@ -186,6 +195,10 @@
le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]);
featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag);
+
+ if (!featureTable)
+ continue;
+
featureReferences += SWAPW(featureTable->lookupCount);
}
--- misc/icu/source/icudefs.mk.in
+++ misc/build/icu/source/icudefs.mk.in
@@ -266,9 +266,9 @@
include @platform_make_fragment@
# Current full path directory.
-CURR_FULL_DIR=$(shell pwd | sed 's/ /\\ /g')
+CURR_FULL_DIR?=$(shell pwd | sed 's/ /\\ /g')
# Current full path directory for use in source code in a -D compiler option.
-CURR_SRCCODE_FULL_DIR=$(shell pwd | sed 's/ /\\ /')
+CURR_SRCCODE_FULL_DIR?=$(shell pwd | sed 's/ /\\ /')
# When shared libraries are disabled and static libraries are enabled,
# the C++ compiler must be used to link in the libraries for the tools.
...@@ -26,13 +26,13 @@ ...@@ -26,13 +26,13 @@
#************************************************************************* #*************************************************************************
# major # major
.IF "$(ICU_MAJOR)" == "" .IF "$(ICU_MAJOR)" == ""
ICU_MAJOR=4 ICU_MAJOR=49
.ENDIF .ENDIF
# minor # minor
.IF "$(ICU_MINOR)" == "" .IF "$(ICU_MINOR)" == ""
ICU_MINOR=4 ICU_MINOR=1
.ENDIF .ENDIF
# micro # micro
.IF "$(ICU_MICRO)" == "" .IF "$(ICU_MICRO)" == ""
ICU_MICRO=2 ICU_MICRO=1
.ENDIF .ENDIF
...@@ -37,8 +37,8 @@ TARGET=so_icu ...@@ -37,8 +37,8 @@ TARGET=so_icu
.INCLUDE : icuversion.mk .INCLUDE : icuversion.mk
TARFILE_NAME=icu4c-4_4_2-src TARFILE_NAME=icu4c-49_1_1-src
TARFILE_MD5=314e582264c36b3735466c522899aa07 TARFILE_MD5=7c53f83e0327343f4060c0eb83842daf
TARFILE_ROOTDIR=icu TARFILE_ROOTDIR=icu
#icu4c.8320.freeserif.crash.patch, see #icu4c.8320.freeserif.crash.patch, see
...@@ -51,11 +51,7 @@ PATCH_FILES=\ ...@@ -51,11 +51,7 @@ PATCH_FILES=\
icu4c-aix.patch \ icu4c-aix.patch \
icu4c-wchar_t.patch \ icu4c-wchar_t.patch \
icu4c-warnings.patch \ icu4c-warnings.patch \
icu4c-escapespace.patch \ icu4c.9313.cygwin.patch \
icu4c-strict-c.patch \
CVE-2011-4599.patch \
arm-assembler.patch \
icu4c-parallel-buid.patch
.IF "$(OS)"=="ANDROID" .IF "$(OS)"=="ANDROID"
PATCH_FILES+=\ PATCH_FILES+=\
...@@ -184,20 +180,20 @@ OUT2LIB= \ ...@@ -184,20 +180,20 @@ OUT2LIB= \
$(BUILD_DIR)$/lib$/libicutulo.so $(BUILD_DIR)$/lib$/libicutulo.so
.ELSE .ELSE
OUT2LIB= \ OUT2LIB= \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ $(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ $(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR) \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST) \ $(BUILD_DIR)$/lib$/libicudata$(DLLPOST) \
$(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR) \
$(BUILD_DIR)$/lib$/libicuuc$(DLLPOST) \ $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST) \
$(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR) \
$(BUILD_DIR)$/lib$/libicui18n$(DLLPOST) \ $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST) \
$(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ $(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ $(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR) \
$(BUILD_DIR)$/lib$/libicule$(DLLPOST) \ $(BUILD_DIR)$/lib$/libicule$(DLLPOST) \
$(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR) \
$(BUILD_DIR)$/lib$/libicutu$(DLLPOST) $(BUILD_DIR)$/lib$/libicutu$(DLLPOST)
OUT2BIN_NONE= \ OUT2BIN_NONE= \
...@@ -267,11 +263,11 @@ OUT2LIB= \ ...@@ -267,11 +263,11 @@ OUT2LIB= \
$(BUILD_DIR)$/lib$/icutu$(ICU_BUILD_LIBPOST).lib $(BUILD_DIR)$/lib$/icutu$(ICU_BUILD_LIBPOST).lib
OUT2BIN= \ OUT2BIN= \
$(BUILD_DIR)$/lib$/icudt$(ICU_MAJOR)$(ICU_MINOR).dll \ $(BUILD_DIR)$/lib$/icudt$(ICU_MAJOR).dll \
$(BUILD_DIR)$/lib$/icuin$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ $(BUILD_DIR)$/lib$/icuin$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
$(BUILD_DIR)$/lib$/icuuc$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ $(BUILD_DIR)$/lib$/icuuc$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
$(BUILD_DIR)$/lib$/icule$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ $(BUILD_DIR)$/lib$/icule$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
$(BUILD_DIR)$/lib$/icutu$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ $(BUILD_DIR)$/lib$/icutu$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
$(BUILD_DIR)$/bin$/genccode.exe \ $(BUILD_DIR)$/bin$/genccode.exe \
$(BUILD_DIR)$/bin$/genbrk.exe \ $(BUILD_DIR)$/bin$/genbrk.exe \
$(BUILD_DIR)$/bin$/gencmn.exe $(BUILD_DIR)$/bin$/gencmn.exe
......
...@@ -401,7 +401,7 @@ javaFrameworkError SAL_CALL jfw_startVM(JavaVMOption *arOptions, sal_Int32 cOpti ...@@ -401,7 +401,7 @@ javaFrameworkError SAL_CALL jfw_startVM(JavaVMOption *arOptions, sal_Int32 cOpti
//start Java //start Java
JavaVM *pVm = NULL; JavaVM *pVm = NULL;
SAL_WARN("jvmfwk", "starting java"); SAL_INFO("jvmfwk", "starting java");
javaPluginError plerr = (*pFunc)(aInfo, arOpt, index, & pVm, ppEnv); javaPluginError plerr = (*pFunc)(aInfo, arOpt, index, & pVm, ppEnv);
if (plerr == JFW_PLUGIN_E_VM_CREATION_FAILED) if (plerr == JFW_PLUGIN_E_VM_CREATION_FAILED)
{ {
......
...@@ -75,7 +75,7 @@ d7a242ca43e33e1b63d3073f9d46a6a8-librsvg-2.32.1.tar.gz ...@@ -75,7 +75,7 @@ d7a242ca43e33e1b63d3073f9d46a6a8-librsvg-2.32.1.tar.gz
9e5d864bce8f06751bbd99962ecf4aad-libpng-1.5.10.tar.gz 9e5d864bce8f06751bbd99962ecf4aad-libpng-1.5.10.tar.gz
a2c10c04f396a9ce72894beb18b4e1f9-jpeg-8c.tar.gz a2c10c04f396a9ce72894beb18b4e1f9-jpeg-8c.tar.gz
c735eab2d659a96e5a594c9e8541ad63-zlib-1.2.5.tar.gz c735eab2d659a96e5a594c9e8541ad63-zlib-1.2.5.tar.gz
314e582264c36b3735466c522899aa07-icu4c-4_4_2-src.tgz 7c53f83e0327343f4060c0eb83842daf-icu4c-49_1_1-src.tgz
451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt 451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt
b99fb620b1324b4ce79ee6998b507146-JLanguageTool-1.4.0.tar.bz2 b99fb620b1324b4ce79ee6998b507146-JLanguageTool-1.4.0.tar.bz2
0f63ee487fda8f21fafa767b3c447ac9-ixion-0.2.0.tar.gz 0f63ee487fda8f21fafa767b3c447ac9-ixion-0.2.0.tar.gz
......
...@@ -704,9 +704,9 @@ End ...@@ -704,9 +704,9 @@ End
File gid_File_Lib_Icudata File gid_File_Lib_Icudata
LIB_FILE_BODY; LIB_FILE_BODY;
#ifdef UNX #ifdef UNX
Name = STRING(CONCAT7(libicudata,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR,.,ICU_MICRO)); Name = STRING(CONCAT8(libicudata,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR,.,ICU_MICRO));
#else #else
Name = STRING(CONCAT4(icudt,ICU_MAJOR,ICU_MINOR,.dll)); Name = STRING(CONCAT3(icudt,ICU_MAJOR,.dll));
#endif #endif
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED); Styles = (PACKED);
...@@ -715,9 +715,9 @@ End ...@@ -715,9 +715,9 @@ End
File gid_File_Lib_Icui18n File gid_File_Lib_Icui18n
LIB_FILE_BODY; LIB_FILE_BODY;
#ifdef UNX #ifdef UNX
Name = STRING(CONCAT7(libicui18n,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR,.,ICU_MICRO)); Name = STRING(CONCAT8(libicui18n,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR,.,ICU_MICRO));
#else #else
Name = STRING(CONCAT4(icuin,ICU_MAJOR,ICU_MINOR,.dll)); Name = STRING(CONCAT3(icuin,ICU_MAJOR,.dll));
#endif #endif
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED); Styles = (PACKED);
...@@ -726,9 +726,9 @@ End ...@@ -726,9 +726,9 @@ End
File gid_File_Lib_Icule File gid_File_Lib_Icule
LIB_FILE_BODY; LIB_FILE_BODY;
#ifdef UNX #ifdef UNX
Name = STRING(CONCAT7(libicule,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR,.,ICU_MICRO)); Name = STRING(CONCAT8(libicule,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR,.,ICU_MICRO));
#else #else
Name = STRING(CONCAT4(icule,ICU_MAJOR,ICU_MINOR,.dll)); Name = STRING(CONCAT3(icule,ICU_MAJOR,.dll));
#endif #endif
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED); Styles = (PACKED);
...@@ -737,9 +737,9 @@ End ...@@ -737,9 +737,9 @@ End
File gid_File_Lib_Icuuc File gid_File_Lib_Icuuc
LIB_FILE_BODY; LIB_FILE_BODY;
#ifdef UNX #ifdef UNX
Name = STRING(CONCAT7(libicuuc,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR,.,ICU_MICRO)); Name = STRING(CONCAT8(libicuuc,UNXSUFFIX,.,ICU_MAJOR,.,ICU_MINOR,.,ICU_MICRO));
#else #else
Name = STRING(CONCAT4(icuuc,ICU_MAJOR,ICU_MINOR,.dll)); Name = STRING(CONCAT3(icuuc,ICU_MAJOR,.dll));
#endif #endif
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED); Styles = (PACKED);
......
...@@ -34,7 +34,7 @@ Shortcut gid_Shortcut_Lib_Icudata ...@@ -34,7 +34,7 @@ Shortcut gid_Shortcut_Lib_Icudata
FileID = gid_File_Lib_Icudata; FileID = gid_File_Lib_Icudata;
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
#ifndef AIX #ifndef AIX
Name = STRING(CONCAT5(libicudata,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR)); Name = STRING(CONCAT4(libicudata,UNXSUFFIX,.,ICU_MAJOR));
#else #else
Name = "libicudata.so"; Name = "libicudata.so";
#endif #endif
...@@ -45,7 +45,7 @@ Shortcut gid_Shortcut_Lib_Icui18n ...@@ -45,7 +45,7 @@ Shortcut gid_Shortcut_Lib_Icui18n
FileID = gid_File_Lib_Icui18n; FileID = gid_File_Lib_Icui18n;
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
#ifndef AIX #ifndef AIX
Name = STRING(CONCAT5(libicui18n,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR)); Name = STRING(CONCAT4(libicui18n,UNXSUFFIX,.,ICU_MAJOR));
#else #else
Name = "libicui18n.so"; Name = "libicui18n.so";
#endif #endif
...@@ -56,7 +56,7 @@ Shortcut gid_Shortcut_Lib_Icule ...@@ -56,7 +56,7 @@ Shortcut gid_Shortcut_Lib_Icule
FileID = gid_File_Lib_Icule; FileID = gid_File_Lib_Icule;
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
#ifndef AIX #ifndef AIX
Name = STRING(CONCAT5(libicule,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR)); Name = STRING(CONCAT4(libicule,UNXSUFFIX,.,ICU_MAJOR));
#else #else
Name = "libicule.so"; Name = "libicule.so";
#endif #endif
...@@ -67,7 +67,7 @@ Shortcut gid_Shortcut_Lib_Icuuc ...@@ -67,7 +67,7 @@ Shortcut gid_Shortcut_Lib_Icuuc
FileID = gid_File_Lib_Icuuc; FileID = gid_File_Lib_Icuuc;
Dir = SCP2_OOO_BIN_DIR; Dir = SCP2_OOO_BIN_DIR;
#ifndef AIX #ifndef AIX
Name = STRING(CONCAT5(libicuuc,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR)); Name = STRING(CONCAT4(libicuuc,UNXSUFFIX,.,ICU_MAJOR));
#else #else
Name = "libicuuc.so"; Name = "libicuuc.so";
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment