[ooo-build-commit] Branch 'ooo/OOO320' - 2 commits - icu/download icu/icu-4.0.patch icu/icu4c-4_0_1-src.patch icu/icuversion.mk icu/makefile.mk moz/extractfiles.mk moz/makefile.mk moz/patches moz/zipped nss/dtoa.patch nss/makefile.mk
Jan Holesovsky
kendy at kemper.freedesktop.org
Thu Dec 3 20:46:19 PST 2009
dev/null |binary
icu/download/icu4c-4_0_1-src.tgz |binary
icu/icu-4.0.patch | 247 --------------------------------
icu/icu4c-4_0_1-src.patch | 247 ++++++++++++++++++++++++++++++++
icu/icuversion.mk | 2
icu/makefile.mk | 4
moz/extractfiles.mk | 12 -
moz/makefile.mk | 6
moz/patches/dtoa.patch | 237 ++++++++++++++++++++++++++++++
moz/patches/respect_disable_pango.patch | 54 ++++++
moz/zipped/makefile.mk | 2
nss/dtoa.patch | 110 ++++++++++++++
nss/makefile.mk | 4
13 files changed, 667 insertions(+), 258 deletions(-)
New commits:
commit 2c7264751f496a4f20b5eb0840c6e58c3f2e19bc
Author: Oliver Bolte <obo at openoffice.org>
Date: Tue Dec 1 09:54:48 2009 +0000
CWS-TOOLING: integrate CWS icuooo32
2009-11-17 15:42:42 +0100 er r277537 : #i106904# upgrade to ICU 4.0.1
diff --git a/icu/download/icu-4.0.tar.gz b/icu/download/icu-4.0.tar.gz
deleted file mode 100755
index d174d06..0000000
Binary files a/icu/download/icu-4.0.tar.gz and /dev/null differ
diff --git a/icu/download/icu4c-4_0_1-src.tgz b/icu/download/icu4c-4_0_1-src.tgz
new file mode 100644
index 0000000..c837972
Binary files /dev/null and b/icu/download/icu4c-4_0_1-src.tgz differ
diff --git a/icu/icu-4.0.patch b/icu/icu-4.0.patch
deleted file mode 100644
index 172d624..0000000
--- a/icu/icu-4.0.patch
+++ /dev/null
@@ -1,247 +0,0 @@
---- misc/icu/source/common/putil.c 2008-07-01 03:41:12.000000000 +0200
-+++ misc/build/icu/source/common/putil.c 2008-09-02 07:01:29.335795765 +0200
-@@ -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/unicode/pwin32.h 2008-07-01 10:41:12.000000000 +0900
-+++ misc/build/icu/source/common/unicode/pwin32.h 2008-11-05 22:37:21.479250000 +0900
-@@ -32,6 +32,10 @@
- #define __STDC_CONSTANT_MACROS
- #endif
-
-+#if defined(__MINGW32__)
-+#define U_HAVE_INTTYPES_H 1
-+#endif
-+
- /* _MSC_VER is used to detect the Microsoft compiler. */
- #if defined(_MSC_VER)
- #define U_INT64_IS_LONG_LONG 0
---- misc/icu/source/config/mh-darwin Tue Jul 1 03:41:24 2008
-+++ misc/build/icu/source/config/mh-darwin Tue Jan 20 18:33:16 2009
-@@ -25,7 +25,7 @@
- SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS)
-
- ## Compiler switches to embed a library name and version information
--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 @executable_path/$(notdir $(FINAL_SO_TARGET))
-
- ## Compiler switch to embed a runtime search path
- LD_RPATH=
-@@ -41,10 +41,6 @@
- ## Non-shared intermediate object suffix
- STATIC_O = ao
-
--## Override Versioned target for a shared library.
--FINAL_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO)
--MIDDLE_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION_MAJOR).$(SO)
--
- ## Compilation rules
- %.$(STATIC_O): $(srcdir)/%.c
- $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
-@@ -76,15 +72,9 @@
-
- ## Versioned libraries rules
-
--%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO)
-+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
- $(RM) $@ && ln -s ${<F} $@
--%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO)
-- $(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@
--
--# tzcode option
--TZORIG_EXTRA_CFLAGS=-DSTD_INSPIRED
--
--# genren opts
--GENREN_PL_OPTS=-x Mach-O -n '-g' -p '| c++filt'
-+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
-+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
-
- ## End Darwin-specific setup
---- misc/icu/source/config/mh-linux 2007-12-12 19:57:36.000000000 +0100
-+++ misc/build/icu/source/config/mh-linux 2008-05-21 18:59:13.000000000 +0200
-@@ -20,6 +20,14 @@
- LD_RPATH=
- LD_RPATH_PRE = -Wl,-rpath,
-
-+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH
-+## (incl. the C++ runtime libs potentially found in the URE lib dir):
-+ENABLE_RPATH=YES
-+RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'
-+
-+#SH# ENABLE_RPATH=YES
-+#SH# RPATHLDFLAGS="${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'"
-+
- ## These are the library specific LDFLAGS
- LDFLAGSICUDT=-nodefaultlibs -nostdlib
-
---- misc/icu/source/config/mh-mingw 2008-07-01 10:41:24.000000000 +0900
-+++ misc/build/icu/source/config/mh-mingw 2008-11-06 00:18:30.261250000 +0900
-@@ -72,10 +72,12 @@
- # The #M# is used to delete lines for icu-config
- # Current full path directory.
- #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
--CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell
-+CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
- # Current full path directory for use in source code in a -D compiler option.
- #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
--CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell
-+CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
-+SRCDIR_DEPEND=$(shell cd $(SRCDIR) && pwd)
-+DATAFILEPATHS_DEPEND=$(foreach p,$(DATAFILEPATHS),$(shell cd $(dir $(p)) && pwd)/$(notdir $(p)))
-
- ## Compilation rules
- %.$(STATIC_O): $(srcdir)/%.c
---- misc/icu/source/config/mh-solaris 2008-07-01 03:41:26.000000000 +0200
-+++ misc/build/icu/source/config/mh-solaris 2009-02-17 11:54:45.105890123 +0100
-@@ -18,17 +18,24 @@
-
- ## 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
- LD_RPATH_PRE=
-
-+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH
-+ENABLE_RPATH=YES
-+RPATHLDFLAGS=${LD_RPATH}'$$ORIGIN'
-+
-+#SH# ENABLE_RPATH=YES
-+#SH# RPATHLDFLAGS="${LD_RPATH}'$$ORIGIN'"
-+
- #LIBRARY_PATH_PREFIX=/usr/lib/lwp:
-
- ## Compiler switch to embed a library name
---- misc/icu/source/layout/ArabicShaping.cpp 2008-07-01 03:42:04.000000000 +0200
-+++ misc/build/icu/source/layout/ArabicShaping.cpp 2009-02-17 12:04:34.264869737 +0100
-@@ -79,7 +79,6 @@
- #define markFeatureMask 0x00040000UL
- #define mkmkFeatureMask 0x00020000UL
-
--#define NO_FEATURES 0
- #define ISOL_FEATURES (isolFeatureMask | ligaFeatureMask | msetFeatureMask | markFeatureMask | ccmpFeatureMask | rligFeatureMask | caltFeatureMask | dligFeatureMask | cswhFeatureMask | cursFeatureMask | kernFeatureMask | mkmkFeatureMask)
-
- #define SHAPE_MASK 0xF0000000UL
-@@ -174,11 +173,7 @@
- LEUnicode c = chars[in];
- ShapeType t = getShapeType(c);
-
-- if (t == ST_NOSHAPE_NONE) {
-- glyphStorage.setAuxData(out, NO_FEATURES, success);
-- } else {
-- glyphStorage.setAuxData(out, ISOL_FEATURES, success);
-- }
-+ glyphStorage.setAuxData(out, ISOL_FEATURES, success);
-
- if ((t & MASK_TRANSPARENT) != 0) {
- continue;
---- misc/icu/source/layoutex/ParagraphLayout.cpp 2008-07-01 03:42:02.000000000 +0200
-+++ misc/build/icu/source/layoutex/ParagraphLayout.cpp 2008-12-01 19:32:58.000000000 +0100
-@@ -868,7 +868,7 @@
-
- return nullLanguageCode;
- }
--#elif
-+#else
-
- // TODO - dummy implementation for right now...
- le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)
---- misc/icu/source/tools/pkgdata/cmnmode.c 2008-07-01 10:41:20.000000000 +0900
-+++ misc/build/icu/source/tools/pkgdata/cmnmode.c 2008-11-07 00:03:32.393500000 +0900
-@@ -69,7 +69,11 @@
- sprintf(tmp, "# List file for gencmn:\n"
- "CMNLIST=%s%s%s_common.lst\n\n",
- o->tmpDir,
-+#ifdef __MINGW32__
-+ U_FILE_ALT_SEP_STRING,
-+#else
- U_FILE_SEP_STRING,
-+#endif
- o->shortName);
- T_FileStream_writeLine(makefile, tmp);
-
---- misc/icu/source/tools/pkgdata/dllmode.c 2008-07-01 10:41:20.000000000 +0900
-+++ misc/build/icu/source/tools/pkgdata/dllmode.c 2008-11-07 06:08:36.016750000 +0900
-@@ -139,7 +139,11 @@
- sprintf(tmp, "# List file for gencmn:\n"
- "CMNLIST=%s%s$(NAME)_dll.lst\n\n",
- o->tmpDir,
-+#ifdef __MINGW32__
-+ U_FILE_ALT_SEP_STRING);
-+#else
- U_FILE_SEP_STRING);
-+#endif
- T_FileStream_writeLine(makefile, tmp);
-
- if(o->hadStdin == FALSE) { /* shortcut */
---- misc/icu/source/tools/pkgdata/make.c 2008-07-01 10:41:20.000000000 +0900
-+++ misc/build/icu/source/tools/pkgdata/make.c 2008-11-06 23:23:04.096625000 +0900
-@@ -313,8 +313,13 @@
- uprv_strcpy(cfile+uprv_strlen(cfile)-uprv_strlen(objSuffix), ".c" ); /* replace .o with .c */
-
- /* Make up parents.. */
-+#ifdef __MINGW32__
-+ parentPath = uprv_malloc(1+uprv_strlen(baseName) + uprv_strlen("$(SRCDIR_DEPEND)/"));
-+ sprintf(parentPath, "$(SRCDIR_DEPEND)/%s", baseName);
-+#else
- parentPath = uprv_malloc(1+uprv_strlen(baseName) + uprv_strlen("$(SRCDIR)/"));
- sprintf(parentPath, "$(SRCDIR)/%s", baseName);
-+#endif
- parents = pkg_appendToList(parents, NULL, parentPath);
-
- /* make up commands.. */
-@@ -379,7 +384,11 @@
- T_FileStream_writeLine(f, "\n");
- T_FileStream_writeLine(f, "BASE_OBJECTS=$(NAME)_dat.o\n");
- T_FileStream_writeLine(f, "\n");
-+#ifdef __MINGW32__
-+ T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME).dat: $(CMNLIST) $(DATAFILEPATHS_DEPEND)\n");
-+#else
- T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME).dat: $(CMNLIST) $(DATAFILEPATHS)\n");
-+#endif
- T_FileStream_writeLine(f, "\t$(INVOKE) $(ICUPKG) -t$(ICUDATA_CHAR) -c -s $(SRCDIR) -a $(CMNLIST) new $(TEMP_DIR)/$(CNAME).dat\n");
- T_FileStream_writeLine(f, "\n");
- T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME)_dat.o : $(TEMP_DIR)/$(NAME).dat\n");
---- misc/icu/source/tools/pkgdata/pkgdata.c 2008-07-01 10:41:20.000000000 +0900
-+++ misc/build/icu/source/tools/pkgdata/pkgdata.c 2008-11-07 05:59:27.110500000 +0900
-@@ -594,7 +594,11 @@
- exit(U_ILLEGAL_ARGUMENT_ERROR);
- }
- uprv_strcpy(tmp, o->srcDir);
-+#ifdef __MINGW32__
-+ uprv_strcat(tmp, o->srcDir[uprv_strlen(o->srcDir)-1]==U_FILE_SEP_CHAR?"":U_FILE_ALT_SEP_STRING);
-+#else
- uprv_strcat(tmp, o->srcDir[uprv_strlen(o->srcDir)-1]==U_FILE_SEP_CHAR?"":U_FILE_SEP_STRING);
-+#endif
- uprv_strcat(tmp, s);
- o->filePaths = pkg_appendToList(o->filePaths, &tail2, uprv_strdup(tmp));
- linePtr = lineNext;
---- misc/icu/source/tools/pkgdata/sttcmode.c 2008-07-01 10:41:20.000000000 +0900
-+++ misc/build/icu/source/tools/pkgdata/sttcmode.c 2008-11-07 00:30:05.690375000 +0900
-@@ -172,7 +172,11 @@
- sprintf(tmp, "# List file for gencmn:\n"
- "CMNLIST=%s%s$(NAME)_static.lst\n\n",
- o->tmpDir,
-+#ifdef __MINGW32__
-+ U_FILE_ALT_SEP_STRING);
-+#else
- U_FILE_SEP_STRING);
-+#endif
- T_FileStream_writeLine(makefile, tmp);
-
- if(o->hadStdin == FALSE) { /* shortcut */
diff --git a/icu/icu4c-4_0_1-src.patch b/icu/icu4c-4_0_1-src.patch
new file mode 100644
index 0000000..172d624
--- /dev/null
+++ b/icu/icu4c-4_0_1-src.patch
@@ -0,0 +1,247 @@
+--- misc/icu/source/common/putil.c 2008-07-01 03:41:12.000000000 +0200
++++ misc/build/icu/source/common/putil.c 2008-09-02 07:01:29.335795765 +0200
+@@ -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/unicode/pwin32.h 2008-07-01 10:41:12.000000000 +0900
++++ misc/build/icu/source/common/unicode/pwin32.h 2008-11-05 22:37:21.479250000 +0900
+@@ -32,6 +32,10 @@
+ #define __STDC_CONSTANT_MACROS
+ #endif
+
++#if defined(__MINGW32__)
++#define U_HAVE_INTTYPES_H 1
++#endif
++
+ /* _MSC_VER is used to detect the Microsoft compiler. */
+ #if defined(_MSC_VER)
+ #define U_INT64_IS_LONG_LONG 0
+--- misc/icu/source/config/mh-darwin Tue Jul 1 03:41:24 2008
++++ misc/build/icu/source/config/mh-darwin Tue Jan 20 18:33:16 2009
+@@ -25,7 +25,7 @@
+ SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS)
+
+ ## Compiler switches to embed a library name and version information
+-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 @executable_path/$(notdir $(FINAL_SO_TARGET))
+
+ ## Compiler switch to embed a runtime search path
+ LD_RPATH=
+@@ -41,10 +41,6 @@
+ ## Non-shared intermediate object suffix
+ STATIC_O = ao
+
+-## Override Versioned target for a shared library.
+-FINAL_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO)
+-MIDDLE_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION_MAJOR).$(SO)
+-
+ ## Compilation rules
+ %.$(STATIC_O): $(srcdir)/%.c
+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
+@@ -76,15 +72,9 @@
+
+ ## Versioned libraries rules
+
+-%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO)
++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
+ $(RM) $@ && ln -s ${<F} $@
+-%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO)
+- $(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@
+-
+-# tzcode option
+-TZORIG_EXTRA_CFLAGS=-DSTD_INSPIRED
+-
+-# genren opts
+-GENREN_PL_OPTS=-x Mach-O -n '-g' -p '| c++filt'
++%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
++ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
+
+ ## End Darwin-specific setup
+--- misc/icu/source/config/mh-linux 2007-12-12 19:57:36.000000000 +0100
++++ misc/build/icu/source/config/mh-linux 2008-05-21 18:59:13.000000000 +0200
+@@ -20,6 +20,14 @@
+ LD_RPATH=
+ LD_RPATH_PRE = -Wl,-rpath,
+
++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH
++## (incl. the C++ runtime libs potentially found in the URE lib dir):
++ENABLE_RPATH=YES
++RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'
++
++#SH# ENABLE_RPATH=YES
++#SH# RPATHLDFLAGS="${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'"
++
+ ## These are the library specific LDFLAGS
+ LDFLAGSICUDT=-nodefaultlibs -nostdlib
+
+--- misc/icu/source/config/mh-mingw 2008-07-01 10:41:24.000000000 +0900
++++ misc/build/icu/source/config/mh-mingw 2008-11-06 00:18:30.261250000 +0900
+@@ -72,10 +72,12 @@
+ # The #M# is used to delete lines for icu-config
+ # Current full path directory.
+ #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
+-CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell
++CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+ # Current full path directory for use in source code in a -D compiler option.
+ #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
+-CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell
++CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
++SRCDIR_DEPEND=$(shell cd $(SRCDIR) && pwd)
++DATAFILEPATHS_DEPEND=$(foreach p,$(DATAFILEPATHS),$(shell cd $(dir $(p)) && pwd)/$(notdir $(p)))
+
+ ## Compilation rules
+ %.$(STATIC_O): $(srcdir)/%.c
+--- misc/icu/source/config/mh-solaris 2008-07-01 03:41:26.000000000 +0200
++++ misc/build/icu/source/config/mh-solaris 2009-02-17 11:54:45.105890123 +0100
+@@ -18,17 +18,24 @@
+
+ ## 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
+ LD_RPATH_PRE=
+
++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH
++ENABLE_RPATH=YES
++RPATHLDFLAGS=${LD_RPATH}'$$ORIGIN'
++
++#SH# ENABLE_RPATH=YES
++#SH# RPATHLDFLAGS="${LD_RPATH}'$$ORIGIN'"
++
+ #LIBRARY_PATH_PREFIX=/usr/lib/lwp:
+
+ ## Compiler switch to embed a library name
+--- misc/icu/source/layout/ArabicShaping.cpp 2008-07-01 03:42:04.000000000 +0200
++++ misc/build/icu/source/layout/ArabicShaping.cpp 2009-02-17 12:04:34.264869737 +0100
+@@ -79,7 +79,6 @@
+ #define markFeatureMask 0x00040000UL
+ #define mkmkFeatureMask 0x00020000UL
+
+-#define NO_FEATURES 0
+ #define ISOL_FEATURES (isolFeatureMask | ligaFeatureMask | msetFeatureMask | markFeatureMask | ccmpFeatureMask | rligFeatureMask | caltFeatureMask | dligFeatureMask | cswhFeatureMask | cursFeatureMask | kernFeatureMask | mkmkFeatureMask)
+
+ #define SHAPE_MASK 0xF0000000UL
+@@ -174,11 +173,7 @@
+ LEUnicode c = chars[in];
+ ShapeType t = getShapeType(c);
+
+- if (t == ST_NOSHAPE_NONE) {
+- glyphStorage.setAuxData(out, NO_FEATURES, success);
+- } else {
+- glyphStorage.setAuxData(out, ISOL_FEATURES, success);
+- }
++ glyphStorage.setAuxData(out, ISOL_FEATURES, success);
+
+ if ((t & MASK_TRANSPARENT) != 0) {
+ continue;
+--- misc/icu/source/layoutex/ParagraphLayout.cpp 2008-07-01 03:42:02.000000000 +0200
++++ misc/build/icu/source/layoutex/ParagraphLayout.cpp 2008-12-01 19:32:58.000000000 +0100
+@@ -868,7 +868,7 @@
+
+ return nullLanguageCode;
+ }
+-#elif
++#else
+
+ // TODO - dummy implementation for right now...
+ le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)
+--- misc/icu/source/tools/pkgdata/cmnmode.c 2008-07-01 10:41:20.000000000 +0900
++++ misc/build/icu/source/tools/pkgdata/cmnmode.c 2008-11-07 00:03:32.393500000 +0900
+@@ -69,7 +69,11 @@
+ sprintf(tmp, "# List file for gencmn:\n"
+ "CMNLIST=%s%s%s_common.lst\n\n",
+ o->tmpDir,
++#ifdef __MINGW32__
++ U_FILE_ALT_SEP_STRING,
++#else
+ U_FILE_SEP_STRING,
++#endif
+ o->shortName);
+ T_FileStream_writeLine(makefile, tmp);
+
+--- misc/icu/source/tools/pkgdata/dllmode.c 2008-07-01 10:41:20.000000000 +0900
++++ misc/build/icu/source/tools/pkgdata/dllmode.c 2008-11-07 06:08:36.016750000 +0900
+@@ -139,7 +139,11 @@
+ sprintf(tmp, "# List file for gencmn:\n"
+ "CMNLIST=%s%s$(NAME)_dll.lst\n\n",
+ o->tmpDir,
++#ifdef __MINGW32__
++ U_FILE_ALT_SEP_STRING);
++#else
+ U_FILE_SEP_STRING);
++#endif
+ T_FileStream_writeLine(makefile, tmp);
+
+ if(o->hadStdin == FALSE) { /* shortcut */
+--- misc/icu/source/tools/pkgdata/make.c 2008-07-01 10:41:20.000000000 +0900
++++ misc/build/icu/source/tools/pkgdata/make.c 2008-11-06 23:23:04.096625000 +0900
+@@ -313,8 +313,13 @@
+ uprv_strcpy(cfile+uprv_strlen(cfile)-uprv_strlen(objSuffix), ".c" ); /* replace .o with .c */
+
+ /* Make up parents.. */
++#ifdef __MINGW32__
++ parentPath = uprv_malloc(1+uprv_strlen(baseName) + uprv_strlen("$(SRCDIR_DEPEND)/"));
++ sprintf(parentPath, "$(SRCDIR_DEPEND)/%s", baseName);
++#else
+ parentPath = uprv_malloc(1+uprv_strlen(baseName) + uprv_strlen("$(SRCDIR)/"));
+ sprintf(parentPath, "$(SRCDIR)/%s", baseName);
++#endif
+ parents = pkg_appendToList(parents, NULL, parentPath);
+
+ /* make up commands.. */
+@@ -379,7 +384,11 @@
+ T_FileStream_writeLine(f, "\n");
+ T_FileStream_writeLine(f, "BASE_OBJECTS=$(NAME)_dat.o\n");
+ T_FileStream_writeLine(f, "\n");
++#ifdef __MINGW32__
++ T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME).dat: $(CMNLIST) $(DATAFILEPATHS_DEPEND)\n");
++#else
+ T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME).dat: $(CMNLIST) $(DATAFILEPATHS)\n");
++#endif
+ T_FileStream_writeLine(f, "\t$(INVOKE) $(ICUPKG) -t$(ICUDATA_CHAR) -c -s $(SRCDIR) -a $(CMNLIST) new $(TEMP_DIR)/$(CNAME).dat\n");
+ T_FileStream_writeLine(f, "\n");
+ T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME)_dat.o : $(TEMP_DIR)/$(NAME).dat\n");
+--- misc/icu/source/tools/pkgdata/pkgdata.c 2008-07-01 10:41:20.000000000 +0900
++++ misc/build/icu/source/tools/pkgdata/pkgdata.c 2008-11-07 05:59:27.110500000 +0900
+@@ -594,7 +594,11 @@
+ exit(U_ILLEGAL_ARGUMENT_ERROR);
+ }
+ uprv_strcpy(tmp, o->srcDir);
++#ifdef __MINGW32__
++ uprv_strcat(tmp, o->srcDir[uprv_strlen(o->srcDir)-1]==U_FILE_SEP_CHAR?"":U_FILE_ALT_SEP_STRING);
++#else
+ uprv_strcat(tmp, o->srcDir[uprv_strlen(o->srcDir)-1]==U_FILE_SEP_CHAR?"":U_FILE_SEP_STRING);
++#endif
+ uprv_strcat(tmp, s);
+ o->filePaths = pkg_appendToList(o->filePaths, &tail2, uprv_strdup(tmp));
+ linePtr = lineNext;
+--- misc/icu/source/tools/pkgdata/sttcmode.c 2008-07-01 10:41:20.000000000 +0900
++++ misc/build/icu/source/tools/pkgdata/sttcmode.c 2008-11-07 00:30:05.690375000 +0900
+@@ -172,7 +172,11 @@
+ sprintf(tmp, "# List file for gencmn:\n"
+ "CMNLIST=%s%s$(NAME)_static.lst\n\n",
+ o->tmpDir,
++#ifdef __MINGW32__
++ U_FILE_ALT_SEP_STRING);
++#else
+ U_FILE_SEP_STRING);
++#endif
+ T_FileStream_writeLine(makefile, tmp);
+
+ if(o->hadStdin == FALSE) { /* shortcut */
diff --git a/icu/icuversion.mk b/icu/icuversion.mk
index 7c03890..e0b599f 100755
--- a/icu/icuversion.mk
+++ b/icu/icuversion.mk
@@ -33,5 +33,5 @@ ICU_MAJOR=4
# minor
ICU_MINOR=0
# micro
-ICU_MICRO=0
+ICU_MICRO=1
diff --git a/icu/makefile.mk b/icu/makefile.mk
index 7503a4c..c452443 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -42,9 +42,9 @@ TARGET=so_icu
.INCLUDE : icuversion.mk
.IF "$(ICU_MICRO)"!="0"
-TARFILE_NAME=icu-$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO)
+TARFILE_NAME=icu4c-$(ICU_MAJOR)_$(ICU_MINOR)_$(ICU_MICRO)-src
.ELSE
-TARFILE_NAME=icu-$(ICU_MAJOR).$(ICU_MINOR)
+TARFILE_NAME=icu4c-$(ICU_MAJOR)_$(ICU_MINOR)-src
.ENDIF
TARFILE_ROOTDIR=icu
commit 52d81a927b1efc9d695a7279847e02e980b5468f
Author: Oliver Bolte <obo at openoffice.org>
Date: Tue Dec 1 08:53:35 2009 +0000
CWS-TOOLING: integrate CWS dba32j
2009-11-26 09:30:10 +0100 msc r277648 : #100000 fix urgent testscript error
2009-11-25 10:27:56 +0100 msc r277625 : #i100000 fix urgent testscript error
2009-11-17 22:16:46 +0100 fs r277544 : CWS-TOOLING: rebase CWS dba32j to branches/OOO320 at 277531 (milestone: OOO320:m5)
2009-11-17 14:26:47 +0100 fs r277535 : ooops, didn't mean to commit this uncommented line
2009-11-14 20:50:29 +0100 fs r277505 : add a --disable-pango switch to SM's configure options, and add a patch which makes certain code respect it (well, respect it better than currently, by not using some pango_x_* functions, which are not always available, even when pango itself is present)
2009-11-14 20:47:41 +0100 fs r277504 : spelling
2009-11-13 14:04:00 +0100 fs r277502 : #i100764# (commit approved by ab at openoffice.org): getModelFromBasic: do not start with the parent's parent when looking for ThisComponent, but walk up the anchestor chain, starting with the immediate parent
2009-11-13 11:04:15 +0100 fs r277496 : #i100764# better heuristics for determining whether or not to participate in the ThisComponent game
2009-11-13 11:02:30 +0100 fs r277495 : #i100764# set the WB_EXT_DOCUMENT style at the backing component's container window, when creating it without the TaskCreator (which would normally do this)
2009-11-11 13:49:11 +0100 fs r277452 : #i106816#
2009-11-11 13:48:53 +0100 fs r277451 : fix the CREATETARBAL target, which is expected to create the zips used as prebuilts. The *inc.zip missed the NSS files in case NSS was built externally
2009-11-11 12:15:34 +0100 fs r277449 : update ignore list
2009-11-11 12:09:23 +0100 fs r277448 : add a link to the Mozilla build tools download location
2009-11-11 12:07:16 +0100 fs r277447 : add a link to the Mozilla build tools download location
2009-11-06 16:23:12 +0100 fs r277393 : #i106643#
2009-11-03 23:20:29 +0100 fs r277328 : #i106574#
reverted the recent fix for issue #i105235#, and implemented a better one.
2009-11-02 12:59:48 +0100 fs r277294 : #i106550# errorOccured: also display the error when we're not in a nested form action - form actions are allowed to be triggered by other instances as well
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk
index dfb14af..c98bf85 100644
--- a/moz/extractfiles.mk
+++ b/moz/extractfiles.mk
@@ -408,11 +408,10 @@ $(MISC)$/build$/so_moz_include_files: $(INCCOM)$/nsBuildID.h
.ENDIF
$(TOUCH) $@
.IF "$(ENABLE_NSS_MODULE)"=="YES"
- +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCLUDE_DIR)$/$(dir) \
- $(INCLUDE_DIR)$/$(dir)_remove_me &&) \
- echo >& $(NULLDEV)
- $(foreach,dir,$(NSS_INCLUDE_LIST) rm -r -f $(INCLUDE_DIR)$/$(dir)_remove_me &&) \
- echo >& $(NULLDEV)
+ +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCLUDE_DIR)$/$(dir) $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV)
+ $(foreach,dir,$(NSS_INCLUDE_LIST) rm -rf $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV)
+ -$(MKDIR) $(OUT)$/inc.nss
+ cd $(OUT)$/inc.nss && $(foreach,dir,$(NSS_INCLUDE_LIST) $(GNUCOPY) -pRL $(SOLARINCDIR)$/mozilla/$(dir) . &&) echo >& $(NULLDEV)
.ENDIF
# On UNX the rules for so_moz_runtime_files copy files into the same directory
@@ -464,3 +463,6 @@ $(MISC)$/CREATETARBALL: extract_mozab_files
.ENDIF
cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip *
cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
+.IF "$(ENABLE_NSS_MODULE)"=="YES"
+ cd $(OUT)$/inc.nss && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
+.ENDIF
diff --git a/moz/makefile.mk b/moz/makefile.mk
index 3722229..4577625 100644
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -84,7 +84,10 @@ MOZILLA_VERSION=1.1.14
TARFILE_NAME=seamonkey-$(MOZILLA_VERSION).source
TARFILE_ROOTDIR=mozilla
-PATCH_FILES=seamonkey-source-$(MOZILLA_VERSION).patch
+PATCH_FILES = \
+ seamonkey-source-$(MOZILLA_VERSION).patch \
+ patches/dtoa.patch \
+ patches/respect_disable_pango.patch \
# This file is needed for the W32 build when BUILD_MOZAB is set
# (currently only vc8/vs2005 is supported when BUILD_MOZAB is set)
@@ -131,6 +134,7 @@ MOZILLA_CONFIGURE_FLAGS += --disable-tests \
--disable-image-encoders \
--disable-plugins \
--disable-printing \
+ --disable-pango \
--enable-extensions="pref"
#.IF "$(GUI)"!="WNT"
diff --git a/moz/patches/dtoa.patch b/moz/patches/dtoa.patch
new file mode 100644
index 0000000..fce3be3
--- /dev/null
+++ b/moz/patches/dtoa.patch
@@ -0,0 +1,237 @@
+--- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7
++++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000
+@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void)
+ * Llong, #define #ULLong to be the corresponding unsigned type.
+ * #define KR_headers for old-style C function headers.
+ * #define Bad_float_h if your system lacks a float.h or if it does not
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
+ * if memory is available and otherwise does something you deem
+ * appropriate. If MALLOC is undefined, malloc will be invoked
+- * directly -- and assumed always to succeed.
++ * directly -- and assumed always to succeed. Similarly, if you
++ * want something other than the system's free() to be called to
++ * recycle memory acquired from MALLOC, #define FREE to be the
++ * name of the alternate routine. (FREE or free is only called in
++ * pathological cases, e.g., in a dtoa call after a dtoa return in
++ * mode 3 with thousands of digits requested.)
+ * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
+ * memory allocations from a private pool of memory when possible.
+ * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes,
+ * unless #defined to be a different length. This default length
+ * suffices to get rid of MALLOC calls except for unusual cases,
+ * such as decimal-to-binary conversion of a very long string of
+ * digits. The longest string dtoa can return is about 751 bytes
+ * long. For conversions by strtod of strings of 800 digits and
+@@ -553,17 +558,17 @@ extern double rnd_prod(double, double),
+ #endif
+ #endif /* NO_LONG_LONG */
+
+ #ifndef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
+ #define FREE_DTOA_LOCK(n) /*nothing*/
+ #endif
+
+-#define Kmax 15
++#define Kmax 7
+
+ struct
+ Bigint {
+ struct Bigint *next;
+ int k, maxwds, sign, wds;
+ ULong x[1];
+ };
+
+@@ -581,27 +586,28 @@ Balloc
+ {
+ int x;
+ Bigint *rv;
+ #ifndef Omit_Private_Memory
+ unsigned int len;
+ #endif
+
+ ACQUIRE_DTOA_LOCK(0);
+- if (rv = freelist[k]) {
++ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */
++ /* but this case seems very unlikely. */
++ if (k <= Kmax && (rv = freelist[k]))
+ freelist[k] = rv->next;
+- }
+ else {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+- if (pmem_next - private_mem + len <= PRIVATE_mem) {
++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
+ pmem_next += len;
+ }
+ else
+ rv = (Bigint*)MALLOC(len*sizeof(double));
+ #endif
+ rv->k = k;
+ rv->maxwds = x;
+@@ -615,20 +621,28 @@ Balloc
+ Bfree
+ #ifdef KR_headers
+ (v) Bigint *v;
+ #else
+ (Bigint *v)
+ #endif
+ {
+ if (v) {
+- ACQUIRE_DTOA_LOCK(0);
+- v->next = freelist[v->k];
+- freelist[v->k] = v;
+- FREE_DTOA_LOCK(0);
++ if (v->k > Kmax)
++#ifdef FREE
++ FREE((void*)v);
++#else
++ free((void*)v);
++#endif
++ else {
++ ACQUIRE_DTOA_LOCK(0);
++ v->next = freelist[v->k];
++ freelist[v->k] = v;
++ FREE_DTOA_LOCK(0);
++ }
+ }
+ }
+
+ #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
+ y->wds*sizeof(Long) + 2*sizeof(int))
+
+ static Bigint *
+ multadd
+--- misc/mozilla/js/src/jsdtoa.c 2 Sep 2007 22:20:41 -0000 3.41
++++ misc/build/mozilla/js/src/jsdtoa.c 18 Sep 2009 16:15:13 -0000
+@@ -145,17 +145,22 @@
+ * and if "unsigned Llong" does not work as an unsigned version of
+ * Llong, #define #ULLong to be the corresponding unsigned type.
+ * #define Bad_float_h if your system lacks a float.h or if it does not
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
+ * if memory is available and otherwise does something you deem
+ * appropriate. If MALLOC is undefined, malloc will be invoked
+- * directly -- and assumed always to succeed.
++ * directly -- and assumed always to succeed. Similarly, if you
++ * want something other than the system's free() to be called to
++ * recycle memory acquired from MALLOC, #define FREE to be the
++ * name of the alternate routine. (FREE or free is only called in
++ * pathological cases, e.g., in a dtoa call after a dtoa return in
++ * mode 3 with thousands of digits requested.)
+ * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
+ * memory allocations from a private pool of memory when possible.
+ * When used, the private pool is PRIVATE_MEM bytes long: 2000 bytes,
+ * unless #defined to be a different length. This default length
+ * suffices to get rid of MALLOC calls except for unusual cases,
+ * such as decimal-to-binary conversion of a very long string of
+ * digits.
+ * #define INFNAN_CHECK on IEEE systems to cause strtod to check for
+@@ -320,17 +325,17 @@ static PRLock *freelist_lock;
+ JS_END_MACRO
+ #define RELEASE_DTOA_LOCK() PR_Unlock(freelist_lock)
+ #else
+ #undef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK() /*nothing*/
+ #define RELEASE_DTOA_LOCK() /*nothing*/
+ #endif
+
+-#define Kmax 15
++#define Kmax 7
+
+ struct Bigint {
+ struct Bigint *next; /* Free list link */
+ int32 k; /* lg2(maxwds) */
+ int32 maxwds; /* Number of words allocated for x */
+ int32 sign; /* Zero if positive, 1 if negative. Ignored by most Bigint routines! */
+ int32 wds; /* Actual number of words. If value is nonzero, the most significant word must be nonzero. */
+ ULong x[1]; /* wds words of number in little endian order */
+@@ -400,26 +405,26 @@ static Bigint *Balloc(int32 k)
+
+ #ifdef ENABLE_OOM_TESTING
+ if (++allocationNum == desiredFailure) {
+ printf("Forced Failing Allocation number %d\n", allocationNum);
+ return NULL;
+ }
+ #endif
+
+- if ((rv = freelist[k]) != NULL)
++ if (k <= Kmax && (rv = freelist[k]) != NULL)
+ freelist[k] = rv->next;
+ if (rv == NULL) {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+- if (pmem_next - private_mem + len <= PRIVATE_mem) {
++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
+ pmem_next += len;
+ }
+ else
+ rv = (Bigint*)MALLOC(len*sizeof(double));
+ #endif
+ if (!rv)
+ return NULL;
+@@ -428,18 +433,26 @@ static Bigint *Balloc(int32 k)
+ }
+ rv->sign = rv->wds = 0;
+ return rv;
+ }
+
+ static void Bfree(Bigint *v)
+ {
+ if (v) {
+- v->next = freelist[v->k];
+- freelist[v->k] = v;
++ if (v->k > Kmax)
++#ifdef FREE
++ FREE((void*)v);
++#else
++ free((void*)v);
++#endif
++ else {
++ v->next = freelist[v->k];
++ freelist[v->k] = v;
++ }
+ }
+ }
+
+ #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
+ y->wds*sizeof(Long) + 2*sizeof(int32))
+
+ /* Return b*m + a. Deallocate the old b. Both a and m must be between 0 and
+ * 65535 inclusive. NOTE: old b is deallocated on memory failure.
+--- misc/mozilla/js/src/jsdtoa.c 22 Sep 2009 06:16:27 -0000 3.42
++++ misc/build/mozilla/js/src/jsdtoa.c 15 Oct 2009 10:34:38 -0000
+@@ -405,19 +405,19 @@ static Bigint *Balloc(int32 k)
+
+ #ifdef ENABLE_OOM_TESTING
+ if (++allocationNum == desiredFailure) {
+ printf("Forced Failing Allocation number %d\n", allocationNum);
+ return NULL;
+ }
+ #endif
+
+- if (k <= Kmax && (rv = freelist[k]) != NULL)
++ if (k <= Kmax && (rv = freelist[k]))
+ freelist[k] = rv->next;
+- if (rv == NULL) {
++ else {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
diff --git a/moz/patches/respect_disable_pango.patch b/moz/patches/respect_disable_pango.patch
new file mode 100644
index 0000000..07a83e9
--- /dev/null
+++ b/moz/patches/respect_disable_pango.patch
@@ -0,0 +1,54 @@
+--- misc/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2006-02-28 15:55:35.000000000 +0100
++++ misc/build/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2009-11-13 15:12:24.000000000 +0100
+@@ -66,10 +66,12 @@
+ #endif /* MOZ_WIDGET_GTK */
+
+ #ifdef MOZ_WIDGET_GTK2
++#ifdef MOZ_ENABLE_PANGO
+ #include <pango/pango.h>
+ #include <pango/pangox.h>
+ #include <pango/pango-fontmap.h>
+ #endif
++#endif
+
+ #ifdef MOZ_ENABLE_XFT
+ #include "nsFontMetricsUtils.h"
+@@ -963,9 +965,11 @@
+ #ifdef MOZ_WIDGET_GTK2
+
+ #ifdef MOZ_ENABLE_COREXFONTS
++#ifdef MOZ_ENABLE_PANGO
+ static void xlfd_from_pango_font_description(GtkWidget *aWidget,
+ const PangoFontDescription *aFontDesc,
+ nsString& aFontName);
++#endif
+ #endif /* MOZ_ENABLE_COREXFONTS */
+
+ nsresult
+@@ -997,10 +1001,12 @@
+ #endif /* MOZ_ENABLE_XFT */
+
+ #ifdef MOZ_ENABLE_COREXFONTS
++#ifdef MOZ_ENABLE_PANGO
+ // if name already set by Xft, do nothing
+ if (!aFont->name.Length()) {
+ xlfd_from_pango_font_description(aWidget, desc, aFont->name);
+ }
++#endif /* MOZ_ENABLE_PANGO */
+ #endif /* MOZ_ENABLE_COREXFONTS */
+ aFont->weight = pango_font_description_get_weight(desc);
+
+@@ -1104,6 +1110,7 @@
+ #endif /* MOZ_ENABLE_XFT */
+
+ #if defined(MOZ_WIDGET_GTK2) && defined(MOZ_ENABLE_COREXFONTS)
++#ifdef MOZ_ENABLE_PANGO
+ // xlfd_from_pango_font_description copied from vte, which was
+ // written by nalin at redhat.com, and added some codes.
+ static void
+@@ -1226,4 +1233,5 @@
+ g_free(spec);
+ g_object_unref(font);
+ }
++#endif
+ #endif /* MOZ_WIDGET_GTK2 && MOZ_ENABLE_COREXFONTS */
diff --git a/moz/zipped/makefile.mk b/moz/zipped/makefile.mk
index a7b3ea8..b4f85f9 100644
--- a/moz/zipped/makefile.mk
+++ b/moz/zipped/makefile.mk
@@ -43,7 +43,7 @@ TARGET=moz_unzip
.IF "$(PREBUILD_MOZAB)" == "" || "$(SYSTEM_MOZILLA)" == "YES" || "$(WITH_MOZILLA)" == "NO"
dummy:
- @echo "No need to unpack the prebuild mozab packages"
+ @echo "No need to unpack the prebuilt mozab packages"
.ELSE # unpack mozab zips
.INCLUDE : target.mk
diff --git a/nss/dtoa.patch b/nss/dtoa.patch
new file mode 100644
index 0000000..3632df3
--- /dev/null
+++ b/nss/dtoa.patch
@@ -0,0 +1,110 @@
+--- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7
++++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000
+@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void)
+ * Llong, #define #ULLong to be the corresponding unsigned type.
+ * #define KR_headers for old-style C function headers.
+ * #define Bad_float_h if your system lacks a float.h or if it does not
+ * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP,
+ * FLT_RADIX, FLT_ROUNDS, and DBL_MAX.
+ * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n)
+ * if memory is available and otherwise does something you deem
+ * appropriate. If MALLOC is undefined, malloc will be invoked
+- * directly -- and assumed always to succeed.
++ * directly -- and assumed always to succeed. Similarly, if you
++ * want something other than the system's free() to be called to
++ * recycle memory acquired from MALLOC, #define FREE to be the
++ * name of the alternate routine. (FREE or free is only called in
++ * pathological cases, e.g., in a dtoa call after a dtoa return in
++ * mode 3 with thousands of digits requested.)
+ * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making
+ * memory allocations from a private pool of memory when possible.
+ * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes,
+ * unless #defined to be a different length. This default length
+ * suffices to get rid of MALLOC calls except for unusual cases,
+ * such as decimal-to-binary conversion of a very long string of
+ * digits. The longest string dtoa can return is about 751 bytes
+ * long. For conversions by strtod of strings of 800 digits and
+@@ -553,17 +558,17 @@ extern double rnd_prod(double, double),
+ #endif
+ #endif /* NO_LONG_LONG */
+
+ #ifndef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
+ #define FREE_DTOA_LOCK(n) /*nothing*/
+ #endif
+
+-#define Kmax 15
++#define Kmax 7
+
+ struct
+ Bigint {
+ struct Bigint *next;
+ int k, maxwds, sign, wds;
+ ULong x[1];
+ };
+
+@@ -581,27 +586,28 @@ Balloc
+ {
+ int x;
+ Bigint *rv;
+ #ifndef Omit_Private_Memory
+ unsigned int len;
+ #endif
+
+ ACQUIRE_DTOA_LOCK(0);
+- if (rv = freelist[k]) {
++ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */
++ /* but this case seems very unlikely. */
++ if (k <= Kmax && (rv = freelist[k]))
+ freelist[k] = rv->next;
+- }
+ else {
+ x = 1 << k;
+ #ifdef Omit_Private_Memory
+ rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
+ #else
+ len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1)
+ /sizeof(double);
+- if (pmem_next - private_mem + len <= PRIVATE_mem) {
++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
+ rv = (Bigint*)pmem_next;
+ pmem_next += len;
+ }
+ else
+ rv = (Bigint*)MALLOC(len*sizeof(double));
+ #endif
+ rv->k = k;
+ rv->maxwds = x;
+@@ -615,20 +621,28 @@ Balloc
+ Bfree
+ #ifdef KR_headers
+ (v) Bigint *v;
+ #else
+ (Bigint *v)
+ #endif
+ {
+ if (v) {
+- ACQUIRE_DTOA_LOCK(0);
+- v->next = freelist[v->k];
+- freelist[v->k] = v;
+- FREE_DTOA_LOCK(0);
++ if (v->k > Kmax)
++#ifdef FREE
++ FREE((void*)v);
++#else
++ free((void*)v);
++#endif
++ else {
++ ACQUIRE_DTOA_LOCK(0);
++ v->next = freelist[v->k];
++ freelist[v->k] = v;
++ FREE_DTOA_LOCK(0);
++ }
+ }
+ }
+
+ #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
+ y->wds*sizeof(Long) + 2*sizeof(int))
+
+ static Bigint *
+ multadd
diff --git a/nss/makefile.mk b/nss/makefile.mk
index 4ddd2b3..fabae94 100644
--- a/nss/makefile.mk
+++ b/nss/makefile.mk
@@ -47,7 +47,9 @@ all:
TARFILE_NAME=nss_3_12_4
TARFILE_ROOTDIR=mozilla
-PATCH_FILES=nss.patch
+PATCH_FILES=nss.patch dtoa.patch
+ # Note: dtoa.patch fixes https://bugzilla.mozilla.org/show_bug.cgi?id=516396. It can be removed as soon as
+ # we upgrade to a new NSS version which already contains this fix.
.IF "$(debug)" != ""
.ELSE
More information about the ooo-build-commit
mailing list