summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--berkeleydb/makefile.mk12
-rw-r--r--boost/aliasing.patch43
-rw-r--r--boost/makefile.mk2
-rw-r--r--cairo/cairo/makefile.mk6
-rw-r--r--cairo/pixman/makefile.mk4
-rw-r--r--curl/makefile.mk10
-rw-r--r--graphite/graphite-2.3.1.patch414
-rwxr-xr-xgraphite/graphite-2.3.1.patch.mingw9
-rw-r--r--graphite/makefile.mk21
-rw-r--r--hunspell/hunspell-mingw.patch12
-rw-r--r--hunspell/makefile.mk7
-rw-r--r--icu/icu-mp.patch24
-rw-r--r--icu/makefile.mk10
-rw-r--r--libxml2/libxml2-global-symbols.patch59
-rw-r--r--libxml2/libxml2-gnome602728.patch12
-rwxr-xr-xlibxml2/libxml2-mingw.patch24
-rw-r--r--libxml2/makefile.mk15
-rw-r--r--libxslt/libxslt-gnome602728.patch11
-rw-r--r--libxslt/libxslt-internal-symbols.patch66
-rw-r--r--libxslt/libxslt-mingw.patch36
-rw-r--r--libxslt/makefile.mk14
-rw-r--r--more_fonts/fonts/ttf_dejavu/makefile.mk6
-rw-r--r--more_fonts/fonts/ttf_liberation/makefile.mk4
-rw-r--r--more_fonts/prj/d.lst9
-rw-r--r--moz/makefile.mk3
-rw-r--r--moz/patches/brokenmakefile.patch13
-rw-r--r--nss/makefile.mk62
-rw-r--r--nss/nss.patch47
-rwxr-xr-x[-rw-r--r--]nss/nss.patch.mingw50
-rw-r--r--nss/nss_macosx.patch4
-rw-r--r--python/Python-parallel-make.patch36
-rw-r--r--python/makefile.mk6
-rw-r--r--stax/makefile.mk8
33 files changed, 865 insertions, 194 deletions
diff --git a/berkeleydb/makefile.mk b/berkeleydb/makefile.mk
index 963c61a3bbde..751af3ca687c 100644
--- a/berkeleydb/makefile.mk
+++ b/berkeleydb/makefile.mk
@@ -76,7 +76,7 @@ CXXFLAGS:=-fno-strict-aliasing $(EXTRA_CFLAGS)
.IF "$(GUI)"=="UNX"
.IF "$(OS)$(COM)"=="LINUXGCC"
-LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN' -Wl,-z,noexecstack
+LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN'
.EXPORT: LDFLAGS
#The current dir when linking is unxlngi6.pro/misc/build/db-4.2.52.NC/out
# the map file is in unxlngi6.pro/misc/build/db-4.2.52.NC
@@ -107,7 +107,7 @@ CXXFLAGS+:=$(ARCH_FLAGS)
BUILD_DIR=$(CONFIGURE_DIR)
BUILD_DIR_OUT=$(CONFIGURE_DIR)
-BUILD_ACTION=make
+BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS)
OUT2LIB=$(BUILD_DIR)$/.libs$/libdb*$(DLLPOST)
OUT2INC= \
@@ -120,9 +120,9 @@ OUT2INC= \
CONFIGURE_DIR=out
#relative to CONFIGURE_DIR
# TODO needs clean up
-CFLAGS+=-nostdinc -D_MT
-db_CC=$(CC)
-db_CXX=$(CXX)
+CFLAGS+=-nostdinc
+db_CC=$(CC) -mthreads
+db_CXX=$(CXX) -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
db_CC+=-shared-libgcc
db_CXX+=-shared-libgcc
@@ -132,7 +132,7 @@ db_LDFLAGS=-no-undefined -L$(SOLARVER)/$(INPATH)/lib -L$(SOLARVER)/$(INPATH)/bin
db_LDFLAGS+=-L$(COMPATH)/lib/mingw -L$(COMPATH)/lib/w32api
.ENDIF
db_LDFLAGS+=-L$(COMPATH)/lib -L$(MINGW_CLIB_DIR)
-db_LIBS=-lmingwthrd
+db_LIBS=
.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
CFLAGS+=-D_GLIBCXX_DLL
db_LIBS+=-lstdc++_s
diff --git a/boost/aliasing.patch b/boost/aliasing.patch
new file mode 100644
index 000000000000..8e3dc4107344
--- /dev/null
+++ b/boost/aliasing.patch
@@ -0,0 +1,43 @@
+--- misc/boost_1_39_0/boost/function/function_base.hpp
++++ misc/build/boost_1_39_0/boost/function/function_base.hpp
+@@ -2,6 +2,7 @@
+
+ // Copyright Douglas Gregor 2001-2006
+ // Copyright Emil Dotchevski 2007
++// Copyright Dean Michael Berris 2009
+ // Use, modification and distribution is subject to the Boost Software License, Version 1.0.
+ // (See accompanying file LICENSE_1_0.txt or copy at
+ // http://www.boost.org/LICENSE_1_0.txt)
+@@ -41,6 +42,13 @@
+ # pragma warning( disable : 4127 ) // "conditional expression is constant"
+ #endif
+
++#if defined(__GNUC__)
++// Because GCC complains of strict aliasing problems, we make it
++// treat the header as a system header, becoming more forgiving with
++// treating implementation details that may be potentially harmful.
++# pragma GCC system_header
++#endif
++
+ // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
+ #ifdef BOOST_NO_STD_TYPEINFO
+ // Embedded VC++ does not have type_info in namespace std
+@@ -303,15 +311,15 @@
+ {
+ if (op == clone_functor_tag || op == move_functor_tag) {
+ const functor_type* in_functor =
+- reinterpret_cast<const functor_type*>(&in_buffer.data);
++ static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data));
+ new ((void*)&out_buffer.data) functor_type(*in_functor);
+
+ if (op == move_functor_tag) {
+- reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor();
++ static_cast<functor_type*>(static_cast<void*>(&in_buffer.data))->~Functor();
+ }
+ } else if (op == destroy_functor_tag) {
+ // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
+- reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
++ static_cast<functor_type*>(static_cast<void*>(&out_buffer.data))->~Functor();
+ } else if (op == check_functor_type_tag) {
+ const BOOST_FUNCTION_STD_NS::type_info& check_type
+ = *out_buffer.type.type;
diff --git a/boost/makefile.mk b/boost/makefile.mk
index fdc1dfd2a44c..4a52cb08c3a5 100644
--- a/boost/makefile.mk
+++ b/boost/makefile.mk
@@ -51,6 +51,8 @@ all:
TARFILE_NAME=boost_1_39_0
TARFILE_MD5=fcc6df1160753d0b8c835d17fdeeb0a7
PATCH_FILES=$(TARFILE_NAME).patch
+# See https://svn.boost.org/trac/boost/ticket/3780
+PATCH_FILES+=aliasing.patch
CONFIGURE_DIR=
CONFIGURE_ACTION=
diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk
index e0b12cc9f551..a5ddbc6af935 100644
--- a/cairo/cairo/makefile.mk
+++ b/cairo/cairo/makefile.mk
@@ -70,11 +70,9 @@ cairo_CPPFLAGS+=$(INCLUDE)
.IF "$(OS)"=="WNT"
# --------- Windows -------------------------------------------------
.IF "$(COM)"=="GCC"
-cairo_CFLAGS+=-D_MT
cairo_LDFLAGS+=-no-undefined -L$(ILIB:s/;/ -L/)
cairo_CPPFLAGS+=-nostdinc
-cairo_CC=$(CC)
-cairo_LIBS+=-lmingwthrd
+cairo_CC=$(CC) -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
cairo_CC+=-shared-libgcc
@@ -122,7 +120,7 @@ OUT2INC+=src$/cairo-quartz.h
.ELSE
# ----------- Unix ---------------------------------------------------------
.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
-cairo_LDFLAGS+=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec -Wl,-z,noexecstack
+cairo_LDFLAGS+=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec
.ELIF "$(OS)$(COM)"=="SOLARISC52"
cairo_LDFLAGS+=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib'
.ENDIF # "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
diff --git a/cairo/pixman/makefile.mk b/cairo/pixman/makefile.mk
index 20773c7597f8..b94e7673d996 100644
--- a/cairo/pixman/makefile.mk
+++ b/cairo/pixman/makefile.mk
@@ -62,7 +62,7 @@ PATCH_FILES=..$/$(TARFILE_NAME).patch
.IF "$(COM)"=="GCC"
CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure
-CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -D_MT" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" LIBS="-lmingwthrd" OBJDUMP="$(WRAPCMD) objdump"
+CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -mthreads" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" OBJDUMP="$(WRAPCMD) objdump"
BUILD_ACTION=$(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR)
@@ -92,7 +92,7 @@ BUILD_DIR=$(CONFIGURE_DIR)
.ELSE
# ----------- Unix ---------------------------------------------------------
.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
-LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec -Wl,-z,noexecstack
+LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec
.ENDIF # "$(OS)$(COM)"=="LINUXGCC"
.IF "$(OS)$(COM)"=="SOLARISC52"
diff --git a/curl/makefile.mk b/curl/makefile.mk
index 1fab0c301bff..f4e4c7f8ffd1 100644
--- a/curl/makefile.mk
+++ b/curl/makefile.mk
@@ -65,10 +65,6 @@ curl_CFLAGS+=-I$(SYSBASE)$/usr$/include
curl_LDFLAGS+=-L$(SYSBASE)$/usr$/lib
.ENDIF # "$(SYSBASE)"!=""
-.IF "$(OS)$(COM)$(CPU)"=="LINUXGCCI"
-curl_LDFLAGS+=-Wl,-z,noexecstack
-.ENDIF
-
.IF "$(OS)$(CPU)"=="SOLARISU"
curl_CFLAGS+:=$(ARCH_FLAGS)
curl_LDFLAGS+:=$(ARCH_FLAGS)
@@ -89,18 +85,18 @@ OUT2LIB=$(BUILD_DIR)$/.libs$/libcurl$(DLLPOST).4
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
-curl_CC=$(CC)
+curl_CC=$(CC) -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
curl_CC+=-shared-libgcc
.ENDIF
-curl_LIBS=-lws2_32 -lwinmm -lmingwthrd
+curl_LIBS=-lws2_32 -lwinmm
.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
curl_LIBS+=-lstdc++_s
.ENDIF
CONFIGURE_DIR=.$/
#relative to CONFIGURE_DIR
CONFIGURE_ACTION=.$/configure
-CONFIGURE_FLAGS= --without-ssl --enable-ftp --enable-ipv6 --disable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(curl_CC)" CPPFLAGS="$(INCLUDE)" OBJDUMP="objdump" CFLAGS=-D_MT LDFLAGS="-L$(ILIB:s/;/ -L/)" LIBS="$(curl_LIBS)"
+CONFIGURE_FLAGS= --without-ssl --enable-ftp --enable-ipv6 --disable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(curl_CC)" CPPFLAGS="$(INCLUDE)" OBJDUMP="objdump" LDFLAGS="-L$(ILIB:s/;/ -L/)" LIBS="$(curl_LIBS)"
BUILD_DIR=$(CONFIGURE_DIR)$/lib
BUILD_ACTION=make
OUT2BIN=$(BUILD_DIR)$/.libs$/libcurl*.dll
diff --git a/graphite/graphite-2.3.1.patch b/graphite/graphite-2.3.1.patch
index badbd92ae740..934eb8eaad49 100644
--- a/graphite/graphite-2.3.1.patch
+++ b/graphite/graphite-2.3.1.patch
@@ -67,7 +67,7 @@
+###CPPFLAGS= /Zc:wchar_t- /nologo /W4 /GR /EHsc /I "./src/font" /I "./src/painter" /I "./src/segment" /I "./src/textsource" /I "./src/generic" /I "./include/graphite" /I "../wrappers/win32" /D "GR_NAMESPACE" /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "TRACING" /Fp"$(INTDIR)\graphite.pch" /Fd"$(INTDIR)\\" /FD /c
+### HDU: because for full binary compatibility with the rest of OOo all compile flags must match exactly
+### which is especially true for template-heavy C++ code with non-default config (e.g. _STLP_DEBUG enabled)
-+CPPFLAGS= $(CFLAGS4MSC) /nologo /W4 /I "./src/font" /I "./src/painter" /I "./src/segment" /I "./src/textsource" /I "./src/generic" /I "./include/graphite" /I "../wrappers/win32" /D "GR_NAMESPACE" /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "TRACING" /Fp"$(INTDIR)\graphite.pch" /Fd"$(INTDIR)\\" /FD /c
++CPPFLAGS= $(CFLAGS4MSC) /nologo /W4 /I "./src/font" /I "./src/painter" /I "./src/segment" /I "./src/textsource" /I "./src/generic" /I "./include/graphite" /I "../wrappers/win32" /D "GR_NAMESPACE" /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "TRACING" /Fp"$(INTDIR)\graphite.pch" /FD /c
+
# /Wp62
@@ -77,7 +77,33 @@
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\\$(TARGET).bsc"
-@@ -48,11 +52,7 @@
+@@ -24,21 +29,21 @@
+ SBREXT = .sbr
+
+ !IF "$(CFG)" == "DEBUG"
+-CPP_DEBUG=/D "DEBUG" /Gm /GR /ZI /Od /RTC1 /FR"$(INTDIR)\\" /$(MLIB)d
++CPP_DEBUG=/D "DEBUG" /Gm /GR /Od /RTC1 /FR"$(INTDIR)\\"
+ # CPP_DEBUG=/D "DEBUG" /Gm /GR /ZI /Od /RTC1 /FR"$(INTDIR)\\" /MDd
+
+ OUTDIR=.\debug
+ INTDIR=.\debug_temp
+-LINK_DEBUG= MSVCRTD.lib /debug /incremental:yes #/pdbtype:sept
++LINK_DEBUG= /debug
+
+ all : lib lib_dll bsc
+
+ !ELSE
+-CPP_DEBUG=/D "NDEBUG" /O2 /$(MLIB)
++CPP_DEBUG=/D "NDEBUG" /O2
+ # CPP_DEBUG=/D "NDEBUG" /O2 /MD
+ OUTDIR=.\release
+ INTDIR=.\release_temp
+-LINK_DEBUG= MSVCRT.lib /incremental:no /NODEFAULTLIB:libc
++LINK_DEBUG= /incremental:no /NODEFAULTLIB:libc
+
+ all : lib lib_dll
+
+@@ -48,11 +53,7 @@
CPP_DEBUG=/D "TRACING" $(CPP_DEBUG)
!ENDIF
@@ -89,7 +115,7 @@
clean :
@- rd /s/q .\release_temp
-@@ -779,7 +779,7 @@
+@@ -779,7 +780,7 @@
@- $(CPP) $(CPPFLAGS) $(CPP_DEBUG) /Fo"$(INTDIR)\FileFont$(OBJEXT)" $?
"$(INTDIR)\FileFont_dll$(OBJEXT)" : "src/font/FileFont.cpp"
@@ -1200,39 +1226,51 @@
bool fSkipChunkStart, int cslotReprocess, bool fBackingUp)
{
Assert(AssertValid());
-@@ -1863,7 +1872,7 @@
+@@ -1863,7 +1872,11 @@
Ensure that the chunk maps for a pair of streams match properly. The recipient is
the input stream.
----------------------------------------------------------------------------------------------*/
--void GrSlotStream::AssertChunkMapsValid(GrSlotStream * psstrmOut)
-+void GrSlotStream::AssertChunkMapsValid(GrSlotStream * /*psstrmOut*/)
++#ifdef _DEBUG
+ void GrSlotStream::AssertChunkMapsValid(GrSlotStream * psstrmOut)
++#else
++void GrSlotStream::AssertChunkMapsValid(GrSlotStream * )
++#endif
{
#ifdef _DEBUG
GrSlotStream * psstrmIn = this;
-@@ -1915,7 +1924,7 @@
+@@ -1915,7 +1924,11 @@
Ensure that corresponding items in the streams of a positioning pass have matching
stream indices. The recipient is the output stream.
----------------------------------------------------------------------------------------------*/
--void GrSlotStream::AssertStreamIndicesValid(GrSlotStream * psstrmIn)
-+void GrSlotStream::AssertStreamIndicesValid(GrSlotStream * /*psstrmIn*/)
++#ifdef _DEBUG
+ void GrSlotStream::AssertStreamIndicesValid(GrSlotStream * psstrmIn)
++#else
++void GrSlotStream::AssertStreamIndicesValid(GrSlotStream * )
++#endif
{
#ifdef _DEBUG
if (!GotIndexOffset())
-@@ -1939,7 +1948,7 @@
+@@ -1939,7 +1948,11 @@
in the output stream. (Currently the compiler ensures this by making it an error
to write rules that don't do this.)
----------------------------------------------------------------------------------------------*/
--void GrSlotStream::AssertAttachmentsInOutput(int islotMin, int islotLim)
-+void GrSlotStream::AssertAttachmentsInOutput(int /*islotMin*/, int /*islotLim*/)
++#ifdef _DEBUG
+ void GrSlotStream::AssertAttachmentsInOutput(int islotMin, int islotLim)
++#else
++void GrSlotStream::AssertAttachmentsInOutput(int , int )
++#endif
{
#ifdef _DEBUG
for (int islot = islotMin; islot < islotLim; islot++)
-@@ -2007,7 +2016,7 @@
+@@ -2007,7 +2016,11 @@
Record the number of slots in the stream that are previous to the official start of the
segment.
----------------------------------------------------------------------------------------------*/
--void GrSlotStream::CalcIndexOffset(GrTableManager * ptman)
-+void GrSlotStream::CalcIndexOffset(GrTableManager * /*ptman*/)
++#ifdef _DEBUG
+ void GrSlotStream::CalcIndexOffset(GrTableManager * ptman)
++#else
++void GrSlotStream::CalcIndexOffset(GrTableManager * )
++#endif
{
if (GotIndexOffset())
return; // already figured it
@@ -1990,6 +2028,94 @@
*pclrBack = kclrTransparent;
--- misc/silgraphite-2.3.1/wrappers/win32/WinFont.cpp Thu Jan 29 10:33:19 2009
+++ misc/build/silgraphite-2.3.1/wrappers/win32/WinFont.cpp Sat Aug 22 19:36:36 2009
+@@ -70,6 +72,7 @@
+ // But don't store m_hfont, because we don't really "own" it; the client is
+ // responsible for releasing it.
+ m_hfont = 0;
++ m_pGlyphMetricMap = NULL;
+ memset(&m_fpropSet, 0, sizeof(m_fpropSet));
+
+ m_pbCmapTbl = NULL;
+@@ -196,6 +198,7 @@
+ m_hdc = 0;
+ m_hfont = 0;
+ m_hfontClient = 0;
++ m_pGlyphMetricMap = NULL;
+ memset(&m_fpropSet, 0, sizeof(FontProps));
+
+ m_pbCmapTbl = NULL;
+@@ -408,7 +410,7 @@
+ if (pPolyCurve->wType == TT_PRIM_QSPLINE &&
+ // test if this is the last curve
+ pPolyHdr->cb - (int)((byte *)(&pPolyCurve->apfx[j]) - (byte *)(pPolyHdr))
+- == sizeof POINTFX &&
++ == sizeof (POINTFX) &&
+ // and the two points are identical
+ CompareFixed(pPolyCurve->apfx[j].x, pPolyHdr->pfxStart.x) &&
+ CompareFixed(pPolyCurve->apfx[j].y, pPolyHdr->pfxStart.y))
+@@ -457,6 +459,16 @@
+ ----------------------------------------------------------------------------------------------*/
+ void WinFont::getGlyphMetrics(gid16 chw, gr::Rect & boundingBox, gr::Point & advances)
+ {
++ if (m_pGlyphMetricMap)
++ {
++ GlyphMetricMap::iterator i = m_pGlyphMetricMap->find(chw);
++ if (i != m_pGlyphMetricMap->end())
++ {
++ boundingBox = i->second.first;
++ advances = i->second.second;
++ return;
++ }
++ }
+ GLYPHMETRICS gm;
+ const MAT2 mat2 = {{0,1}, {0,0}, {0,0}, {0,1}};
+ if (GDI_ERROR == ::GetGlyphOutline(m_hdc, chw, GGO_GLYPH_INDEX | GGO_METRICS,
+@@ -474,6 +476,10 @@
+ boundingBox.bottom = (float)gm.gmptGlyphOrigin.y - gm.gmBlackBoxY;
+ advances.x = gm.gmCellIncX;
+ advances.y = gm.gmCellIncY;
++ if (m_pGlyphMetricMap)
++ {
++ (*m_pGlyphMetricMap)[chw] = std::pair<gr::Rect,gr::Point>(boundingBox, advances);
++ }
+ }
+
+ /*----------------------------------------------------------------------------------------------
+@@ -618,7 +620,10 @@
+
+ static int cCreateFontCalls = 0;
+ static int cCreateFontZero = 0;
+- HFONT hfont = g_fhc.GetFont(lf);
++ FontHandleCache::FontCacheValue cache = g_fhc.GetCache(lf);
++ HFONT hfont = cache.hfont;
++ m_pGlyphMetricMap = cache.pGlyphMetricMap;
++ //HFONT hfont = g_fhc.GetFont(lf);
+ //char ch1[200];
+ //if (hfont == 0)
+ //{
+@@ -731,7 +733,7 @@
+ @param lf LOGFONT value that describes the desired font
+ @return Font handle
+ ----------------------------------------------------------------------------------------------*/
+-HFONT WinFont::FontHandleCache::GetFont(LOGFONT & lf)
++WinFont::FontHandleCache::FontCacheValue WinFont::FontHandleCache::GetCache(LOGFONT & lf)
+ {
+ FontCacheValue fcv;
+ FontHandleHashMap::iterator itFound = m_hmlffcv.find(lf);
+@@ -752,11 +754,12 @@
+ THROW(kresFail);
+
+ fcv.nRefs = 1;
++ fcv.pGlyphMetricMap = new GlyphMetricMap();
+
+ m_hmlffcv.insert(std::pair<LOGFONT, FontCacheValue>(lf, fcv));
+ }
+
+- return fcv.hfont;
++ return fcv;
+ }
+
+ /*----------------------------------------------------------------------------------------------
@@ -767,7 +767,7 @@
----------------------------------------------------------------------------------------------*/
void WinFont::FontHandleCache::DeleteFont(HFONT hfont)
@@ -1999,11 +2125,31 @@
return;
// find the font in the hash map
+@@ -782,6 +784,8 @@
+ {
+ // delete font
+ ::DeleteObject(hfont);
++ if (fcv.pGlyphMetricMap)
++ delete fcv.pGlyphMetricMap;
+ m_hmlffcv.erase(it);
+ }
+ else
+@@ -832,7 +832,8 @@
+ bool WinFont::LogFontHashFuncs::operator() (const WinFont::LogFontWrapper & key1,
+ const WinFont::LogFontWrapper & key2) const
+ {
+- return (key1 == key2);
++ // return true if key1 should be ordered before key2
++ return (operator()(key1) < operator()(key2));
+ }
+
+ /*--------------------------------------------------------------------------------------
--- misc/silgraphite-2.3.1/wrappers/win32/WinFont.h Thu Jan 29 10:33:19 2009
+++ misc/build/silgraphite-2.3.1/wrappers/win32/WinFont.h Sat Aug 22 19:36:36 2009
-@@ -27,6 +27,10 @@
+@@ -27,7 +27,13 @@
#include "GrClient.h"
#include "Font.h"
++#include <map>
+#ifdef _STLPORT_VERSION
+namespace stdext = _STLP_STD;
@@ -2011,4 +2157,240 @@
+
namespace gr
{
++typedef std::map<gid16, std::pair<gr::Rect, gr::Point> > GlyphMetricMap;
+
+ class FontFace;
+@@ -100,6 +110,7 @@
+ HFONT m_hfontClient; // need to replace this HFONT into the DC when we are finished
+ // with it
+
++ GlyphMetricMap * m_pGlyphMetricMap;
+ // Debugging:
+ //OLECHAR m_rgchTemp[32];
+
+@@ -185,11 +196,13 @@
+ class FontHandleCache // hungarian: fhc
+ {
+ public:
+- struct FontCacheValue
++ struct FontCacheValue
+ {
+ int nRefs; // reference count
+ HFONT hfont; // font handle
+
++ GlyphMetricMap * pGlyphMetricMap; // glyph metrics
++
+ bool operator==(const FontCacheValue & val) const
+ {
+ return (hfont == val.hfont);
+@@ -199,7 +212,8 @@
+ FontHandleCache() : m_bValid(true) {};
+ ~FontHandleCache();
+
+- HFONT GetFont(LOGFONT & lf);
++ //HFONT GetFont(LOGFONT & lf);
++ FontCacheValue GetCache(LOGFONT & lf);
+ void DeleteFont(HFONT hfont);
+
+ typedef stdext::hash_map<LogFontWrapper, FontCacheValue, LogFontHashFuncs> FontHandleHashMap;
+--- misc/build/silgraphite-2.3.1/engine/test/RegressionTest/RtTextSrc.h~ 2009-01-22 05:06:42.000000000 +0630
++++ misc/build/silgraphite-2.3.1/engine/test/RegressionTest/RtTextSrc.h 2010-04-30 23:14:49.000000000 +0630
+@@ -44,18 +44,18 @@
+ }
+ }
+
+- virtual size_t getFontFeatures(toffset ich, FeatureSetting * prgfset)
++ virtual size_t getFontFeatures(toffset /*ich*/, FeatureSetting * prgfset)
+ {
+ // Note: size of prgfset buffer = gr::kMaxFeatures = 64
+ std::copy(m_fset, m_fset + MAXFEAT, prgfset);
+ return m_cFeats;
+ }
+
+- virtual bool getRightToLeft(toffset ich)
++ virtual bool getRightToLeft(toffset /*ich*/)
+ {
+ return m_fRtl;
+ }
+- virtual unsigned int getDirectionDepth(toffset ich)
++ virtual unsigned int getDirectionDepth(toffset /*ich*/)
+ {
+ return ((m_fRtl == 1) ? 1 : 0);
+ }
+
+--- misc/build/silgraphite-2.3.1/engine/test/RegressionTest/GrJustifier.cpp 2010-06-21 12:55:34.000000000 +0630
++++ misc/build/silgraphite-2.3.1/engine/test/RegressionTest/GrJustifier.cpp 2010-06-21 13:16:59.000000000 +0630
+@@ -16,8 +16,9 @@
+ //:> Include files
+ //:>********************************************************************************************
+ //#include "main.h" // This is used by clients, so main.h is not available
+-
++#ifdef _MSC_VER
+ #pragma hdrstop
++#endif
+ // any other headers (not precompiled)
+ #include "GrClient.h"
+ #include "ITextSource.h"
+@@ -31,9 +32,6 @@
+ #include <string>
+ #endif
+
+-#undef THIS_FILE
+-DEFINE_THIS_FILE
+-
+ //:>********************************************************************************************
+ //:> Global constants
+ //:>********************************************************************************************
+@@ -327,9 +325,9 @@
+ &dxStretchAchieved);
+ for (int iiiGlyph = 0; iiiGlyph < cStretchable; iiiGlyph++)
+ {
+- iiGlyph = viiGlyphsRem[iiiGlyph];
+- vdxStretchLeft[iiGlyph] = vdxStretchRem[iiiGlyph];
+- vdxWidth[iiGlyph] = vdxWidthRem[iiiGlyph];
++ int ivGlyph = viiGlyphsRem[iiiGlyph];
++ vdxStretchLeft[ivGlyph] = vdxStretchRem[iiiGlyph];
++ vdxWidth[ivGlyph] = vdxWidthRem[iiiGlyph];
+ }
+ }
+ else
+@@ -366,12 +364,12 @@
+ {
+ #ifdef WIN32
+ wchar_t rgchw[20];
+- std::fill_n(rgchw, 20, 0);
++ std::fill_n(rgchw, 20, L'\0');
+ _itow(dxStretchNeeded - dxStretchAchieved, rgchw, 10);
+ std::wstring strTmp(L"justification failed by ");
+ strTmp += rgchw;
+ strTmp += L" units (width needed = ";
+- std::fill_n(rgchw, 10, 0);
++ std::fill_n(rgchw, 10, L'\0');
+ _itow(dxDesiredWidth, rgchw, 10);
+ strTmp += rgchw;
+ strTmp += L")\n";
+--- misc/build/silgraphite-2.3.1/engine/test/RegressionTest/GrJustifier.h 2009-01-22 05:06:42.000000000 +0630
++++ misc/build/silgraphite-2.3.1/engine/test/RegressionTest/GrJustifier.h 2010-06-21 13:16:49.000000000 +0630
+@@ -11,7 +11,9 @@
+ Description:
+ A default justification agent for Graphite.
+ -------------------------------------------------------------------------------*//*:End Ignore*/
++#ifdef _MSC_VER
+ #pragma once
++#endif
+ #ifndef GRJUSTIFIER_INCLUDED
+ #define GRJUSTIFIER_INCLUDED
+
+--- misc/build/silgraphite-2.3.1/engine/test/RegressionTest/SimpleTextSrc.h 2010-06-21 12:55:34.000000000 +0630
++++ misc/build/silgraphite-2.3.1/engine/test/RegressionTest/SimpleTextSrc.h 2010-06-21 13:18:12.000000000 +0630
+@@ -11,7 +11,9 @@
+ Description:
+ A simple text source that shows how to use this interface within Graphite.
+ -------------------------------------------------------------------------------*//*:End Ignore*/
++#ifdef _MSC_VER
+ #pragma once
++#endif
+ #ifndef GRTXTSRC_INCLUDED
+ #define GRTXTSRC_INCLUDED
+
+
+--- misc/build/silgraphite-2.3.1/engine/test/RegressionTest/SimpleTextSrc.cpp 2010-06-21 12:55:34.000000000 +0630
++++ misc/build/silgraphite-2.3.1/engine/test/RegressionTest/SimpleTextSrc.cpp 2010-06-21 13:18:24.000000000 +0630
+@@ -15,7 +15,9 @@
+ //:>********************************************************************************************
+ //:> Include files
+ //:>********************************************************************************************
++#ifdef _MSC_VER
+ #pragma hdrstop
++#endif
+ // any other headers (not precompiled)
+
+ #include "GrClient.h"
+@@ -23,9 +25,6 @@
+ #include "ITextSource.h"
+ #include "SimpleTextSrc.h"
+
+-#undef THIS_FILE
+-DEFINE_THIS_FILE
+-
+ //:>********************************************************************************************
+ //:> Initialization and destruction
+ //:>********************************************************************************************
+--- misc/build/silgraphite-2.3.1/engine/src/segment/MemoryUsage.cpp 2009-01-22 05:06:42.000000000 +0630
++++ misc/build/silgraphite-2.3.1/engine/src/segment/MemoryUsage.cpp 2010-06-21 13:36:36.000000000 +0630
+@@ -11,10 +11,10 @@
+ Description:
+ Calculates memory usage for the engine and segments.
+ ----------------------------------------------------------------------------------------------*/
+-
++#ifdef _MSC_VER
+ #pragma warning(disable: 4244) // conversion from wchar_t to char
+ #pragma warning(disable: 4702) // unreachable code
+-
++#endif
+ //:>********************************************************************************************
+ //:> Include files
+ //:>********************************************************************************************
+@@ -54,8 +54,6 @@
+ #ifdef _MSC_VER
+ #pragma hdrstop
+ #endif
+-#undef THIS_FILE
+-DEFINE_THIS_FILE
+
+ //:End Ignore
+
+--- misc/build/silgraphite-2.3.1/engine/src/segment/GrSlotState.h 2010-06-23 19:52:56.429060400 +0700
++++ misc/build/silgraphite-2.3.1/engine/src/segment/GrSlotState.h 2010-05-25 11:51:15.195066300 +0700
+@@ -48,7 +48,7 @@
+ {
+ }
+
+- ~GrSlotAbstract()
++ virtual ~GrSlotAbstract()
+ {
+ // the table manager is responsible for destroying the contents of m_prgnVarLenBuf
+ }
+@@ -231,7 +231,7 @@
+ ZapCompositeMetrics();
+ }
+
+- ~GrSlotState()
++ virtual ~GrSlotState()
+ {
+ }
+
+--- misc/build/silgraphite-2.3.1/engine/src/segment/Segment.cpp.bak 2010-06-23 19:59:54.611660400 +0700
++++ misc/build/silgraphite-2.3.1/engine/src/segment/Segment.cpp 2010-06-23 21:30:16.335460400 +0700
+@@ -246,6 +246,8 @@
+
+ m_dxsVisibleWidth = -1;
+ m_dxsTotalWidth = -1;
++ m_ichwAssocsMin = 0;
++ m_ichwAssocsLim = 0;
+
+ // m_psstrm = NULL;
+ m_prgslout = NULL;
+@@ -2988,9 +2988,10 @@
+ return kresOk;
+ }
+
+-
++#ifdef __GNUC__
+ // suppress GCC 4.3 warning for optimized min()/max() when called with (ich, ich+1) or similar
+ #pragma GCC diagnostic ignored "-Wstrict-overflow"
++#endif
+
+ /*----------------------------------------------------------------------------------------------
+ Merge the given characters into the same Uniscribe cluster. This means merging any
+--- misc/build/silgraphite-2.3.1/wrappers/win32/win32_dll.cpp.bak 2008-05-09 18:10:30.000000000 +0700
++++ misc/build/silgraphite-2.3.1/wrappers/win32/win32_dll.cpp 2010-05-10 15:46:54.291818000 +0700
+@@ -14,7 +14,7 @@
+ DllMain. This is the main DLL entry point for a non-MFC DLL. For an MFC DLL, DllMain is
+ in DllModul.cpp. Both DllMains call ModuleEntry::DllMain.
+ ----------------------------------------------------------------------------------------------*/
+-extern "C" BOOL WINAPI DllMain(HMODULE hmod, DWORD dwReason, PVOID pvReserved)
++extern "C" BOOL WINAPI DllMain(HMODULE hmod, DWORD dwReason, PVOID /*pvReserved*/)
+ {
+ bool fRet = true;
diff --git a/graphite/graphite-2.3.1.patch.mingw b/graphite/graphite-2.3.1.patch.mingw
index ecec00da7c6e..c5fc3ecdf252 100755
--- a/graphite/graphite-2.3.1.patch.mingw
+++ b/graphite/graphite-2.3.1.patch.mingw
@@ -116,15 +116,6 @@
#include <assert.h>
--- misc/silgraphite-2.3.1/wrappers/win32/WinFont.cpp 2009-01-29 17:33:19.000000000 +0900
+++ misc/build/silgraphite-2.3.1/wrappers/win32/WinFont.cpp 2009-08-23 20:59:16.211375000 +0900
-@@ -408,7 +408,7 @@
- if (pPolyCurve->wType == TT_PRIM_QSPLINE &&
- // test if this is the last curve
- pPolyHdr->cb - (int)((byte *)(&pPolyCurve->apfx[j]) - (byte *)(pPolyHdr))
-- == sizeof POINTFX &&
-+ == sizeof(POINTFX) &&
- // and the two points are identical
- CompareFixed(pPolyCurve->apfx[j].x, pPolyHdr->pfxStart.x) &&
- CompareFixed(pPolyCurve->apfx[j].y, pPolyHdr->pfxStart.y))
@@ -846,7 +846,7 @@
} // namespace gr
diff --git a/graphite/makefile.mk b/graphite/makefile.mk
index 2f4ff2535442..b9ecb7aea396 100644
--- a/graphite/makefile.mk
+++ b/graphite/makefile.mk
@@ -51,7 +51,8 @@ PATCH_FILES=graphite-2.3.1.patch
# convert line-endings to avoid problems when patching
CONVERTFILES=\
- engine/makefile.vc8
+ engine/makefile.vc8 \
+ engine/test/RegressionTest/RtTextSrc.h
#.IF "$(OS)"=="WNT" && "$(COM)"!="GCC"
#CONFIGURE_DIR=win32
@@ -72,14 +73,18 @@ EXT_USE_STLPORT=TRUE
BUILD_ACTION=nmake VERBOSE=1
.IF "$(debug)"=="true"
BUILD_FLAGS= "CFG=DEBUG"
+CFLAGSWITHPATH= $(CFLAGS:s!-Fd.!-Fd../../../../../!)
+.ELSE
+# Speed Optimization is really needed for Graphite
+CFLAGSWITHPATH= $(CFLAGS) /O2
.ENDIF
### convert CFLAGS as cl.exe cannot handle OOO"s generic ones directly
### TODO: use "guw.exe" instead?
-ALLCFLAGS= $(CFLAGS) $(CFLAGSCXX) $(CFLAGSEXCEPTIONS) $(CDEFS)
+ALLCFLAGS= $(CFLAGSWITHPATH) $(CFLAGSCXX) $(CFLAGSEXCEPTIONS) $(CDEFS)
JUSTASLASH= /
CFLAGS2MSC= $(ALLCFLAGS:s/-Z/$(JUSTASLASH)Z/)
CFLAGS4MSC= $(CFLAGS2MSC:s/ -/ $(JUSTASLASH)/)
-BUILD_FLAGS+= "MLIB=MD" "CFLAGS4MSC=$(CFLAGS4MSC)" /F makefile.vc$(VCNUM) dll
+BUILD_FLAGS+= "CFLAGS4MSC=$(CFLAGS4MSC)" /F makefile.vc$(VCNUM) lib_dll
.ENDIF
.IF "$(COM)"=="GCC"
@@ -102,11 +107,11 @@ GR_LIB_PATH=
.IF "$(OS)"=="WNT"
PATCH_FILES+=graphite-2.3.1.patch.mingw
-EXTRA_GR_CXX_FLAGS=-nostdinc
+EXTRA_GR_CXX_FLAGS=-mthreads -nostdinc
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
EXTRA_GR_CXX_FLAGS+=-shared-libgcc
.ENDIF
-EXTRA_GR_LD_FLAGS+=-no-undefined
+EXTRA_GR_LD_FLAGS+=-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2
.ENDIF
# don't use SOLARLIB for LDFLAGS because it pulls in system graphite so build will fail
@@ -138,11 +143,11 @@ OUT2LIB+=src$/.libs$/libgraphite.*.dylib
#OUT2LIB+=engine$/src$/.libs$/libgraphite*.dll
.IF "$(debug)"=="true"
OUT2BIN= \
- engine$/debug$/*.dll \
+# engine$/debug$/*.dll \
engine$/debug$/*.pdb
.ELSE
-OUT2BIN= \
- engine$/release$/*.dll
+OUT2BIN=
+# engine$/release$/*.dll
# engine$/release$/*.pdb
.ENDIF
.ELSE
diff --git a/hunspell/hunspell-mingw.patch b/hunspell/hunspell-mingw.patch
new file mode 100644
index 000000000000..0120e01ddba1
--- /dev/null
+++ b/hunspell/hunspell-mingw.patch
@@ -0,0 +1,12 @@
+--- misc/hunspell-1.2.9/src/tools/hunspell.cxx 2010-02-27 23:37:14.000000000 +0900
++++ misc/build/hunspell-1.2.9/src/tools/hunspell.cxx 2010-04-25 07:57:39.233875000 +0900
+@@ -27,7 +27,9 @@
+
+ #ifdef WIN32
+
++#ifndef __MINGW32__
+ #define gettext
++#endif
+ #define LIBDIR "C:\\Hunspell\\"
+ #define USEROOODIR "Application Data\\OpenOffice.org 2\\user\\wordbook"
+ #define OOODIR \
diff --git a/hunspell/makefile.mk b/hunspell/makefile.mk
index f58204a33bc5..7b2bc84e0789 100644
--- a/hunspell/makefile.mk
+++ b/hunspell/makefile.mk
@@ -62,7 +62,7 @@ CONFIGURE_FLAGS+= CFLAGS="$(EXTRA_CFLAGS)" CXXFLAGS="$(EXTRA_CFLAGS)"
CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)"
.ENDIF
-BUILD_ACTION=make && make check
+BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS)
OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.2.a
@@ -71,8 +71,11 @@ OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.2.a
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
+PATCH_FILES=\
+ hunspell-mingw.patch
+
CONFIGURE_ACTION=configure
-CONFIGURE_FLAGS= --disable-shared --with-pic
+CONFIGURE_FLAGS= --disable-shared --with-pic LDFLAGS=-Wl,--enable-runtime-pseudo-reloc-v2
BUILD_ACTION=make
OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.2.a
.ELSE
diff --git a/icu/icu-mp.patch b/icu/icu-mp.patch
new file mode 100644
index 000000000000..10165427692a
--- /dev/null
+++ b/icu/icu-mp.patch
@@ -0,0 +1,24 @@
+diff -ur misc/icu/source/data/Makefile.in misc/build/icu/source/data/Makefile.in
+--- misc/icu/source/data/Makefile.in Mi Jul 21 12:19:00 2010
++++ misc/build/icu/source/data/Makefile.in Mi Jul 21 12:20:58 2010
+@@ -77,7 +77,7 @@
+ MISCSRCDIR=$(SRCDATADIR)/misc
+ UCMSRCDIR=$(SRCDATADIR)/mappings
+ COMINCDIR=$(top_srcdir)/common/unicode
+-SRCLISTDEPS=Makefile $(srcdir)/Makefile.in
++SRCLISTDEPS=Makefile $(srcdir)/Makefile.in build-dir
+ BUILD_DIRS=$(OUTDIR) $(MAINBUILDDIR) $(BUILDDIR) $(BRKBLDDIR) $(COLBLDDIR) $(RBNFBLDDIR) $(TRANSLITBLDDIR) $(OUTTMPDIR) $(OUTTMPDIR_390STUB) $(OUTTMPDIR)/$(COLLATION_TREE) $(OUTTMPDIR)/$(RBNF_TREE) $(OUTTMPDIR)/$(TRANSLIT_TREE) $(OUTTMPDIR)/$(BREAK_TREE)
+
+ # relative lib links from pkgdata are the same as for tmp
+diff -ru misc/icu/source/data/Makefile.in misc/build/icu//source/data/Makefile.in
+--- misc/icu/source/data/Makefile.in Do Jan 15 08:46:48 2009
++++ misc/build/icu//source/data/Makefile.in Mi Jul 21 11:37:49 2010
+@@ -132,7 +132,7 @@
+ # and convert it to the current type.
+ ifneq ($(ICUDATA_ARCHIVE),)
+ ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
+-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
++$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) build-dir
+ $(INVOKE) $(BINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
+ endif
+ else
diff --git a/icu/makefile.mk b/icu/makefile.mk
index 70ff42c1a443..7542aeb1ccd1 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -46,7 +46,7 @@ TARFILE_MD5=
.ENDIF
TARFILE_ROOTDIR=icu
-PATCH_FILES=${TARFILE_NAME}.patch
+PATCH_FILES=${TARFILE_NAME}.patch icu-mp.patch
# ADDITIONAL_FILES=
@@ -78,11 +78,6 @@ CC:=gcc $(EXTRA_CFLAGS)
.ENDIF # "$(EXTRA_CFLAGS)"!=""
.ENDIF # "$(OS)"=="MACOSX"
-# Disable executable stack
-.IF "$(OS)$(COM)"=="LINUXGCC"
-icu_LDFLAGS+=-Wl,-z,noexecstack
-.ENDIF
-
icu_CFLAGS+=-O $(ARCH_FLAGS) $(EXTRA_CDEFS)
icu_LDFLAGS+=$(EXTRA_LINKFLAGS)
icu_CXXFLAGS+=-O $(ARCH_FLAGS) $(EXTRA_CDEFS)
@@ -118,7 +113,7 @@ CONFIGURE_FLAGS=
# note the position of the single quotes.
BUILD_DIR=$(CONFIGURE_DIR)
-BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE)
+BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) -j$(EXTMAXPROCESS)
OUT2LIB= \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \
@@ -158,6 +153,7 @@ icu_LIBS=-lmingwthrd
.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
icu_LIBS+=-lstdc++_s
.ENDIF
+icu_LDFLAGS+=-Wl,--enable-runtime-pseudo-reloc-v2
CONFIGURE_ACTION+=sh -c 'CFLAGS="-O -D_MT" CXXFLAGS="-O -D_MT" LDFLAGS="$(icu_LDFLAGS)" LIBS="$(icu_LIBS)" ./configure --build=i586-pc-mingw32 --enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no'
#CONFIGURE_FLAGS=--enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no
diff --git a/libxml2/libxml2-global-symbols.patch b/libxml2/libxml2-global-symbols.patch
new file mode 100644
index 000000000000..20cd273d745c
--- /dev/null
+++ b/libxml2/libxml2-global-symbols.patch
@@ -0,0 +1,59 @@
+--- misc/libxml2-2.7.6/libxml2.syms Tue Oct 6 18:31:35 2009
++++ misc/build/libxml2-2.7.6/libxml2.syms Wed Jul 7 15:43:17 2010
+@@ -2184,10 +2184,10 @@
+ } LIBXML2_2.6.27;
+
+ LIBXML2_2.6.29 {
+- global:
++# global:
+
+ # threads
+- xmlDllMain;
++#WIN32 only! xmlDllMain;
+ } LIBXML2_2.6.28;
+
+ LIBXML2_2.6.32 {
+@@ -2231,3 +2231,43 @@
+ xmlXIncludeProcessTreeFlagsData;
+ } LIBXML2_2.7.3;
+
++# HACK: export global variable accessor functions (globals.h)
++LIBXML2_GLOBAL_VARIABLES {
++ global:
++# __xmlMalloc;
++# __xmlMallocAtomic;
++# __xmlRealloc;
++# __xmlFree;
++# __xmlMemStrdup;
++ __docbDefaultSAXHandler;
++ __htmlDefaultSAXHandler;
++ __xmlLastError;
++ __oldXMLWDcompatibility;
++ __xmlBufferAllocScheme;
++ __xmlDefaultBufferSize;
++ __xmlDefaultSAXHandler;
++ __xmlDefaultSAXLocator;
++ __xmlDoValidityCheckingDefaultValue;
++ __xmlGenericError;
++ __xmlStructuredError;
++ __xmlGenericErrorContext;
++ __xmlStructuredErrorContext;
++ __xmlGetWarningsDefaultValue;
++ __xmlIndentTreeOutput;
++ __xmlTreeIndentString;
++ __xmlKeepBlanksDefaultValue;
++ __xmlLineNumbersDefaultValue;
++ __xmlLoadExtDtdDefaultValue;
++ __xmlParserDebugEntities;
++ __xmlParserVersion;
++ __xmlPedanticParserDefaultValue;
++ __xmlSaveNoEmptyTags;
++ __xmlSubstituteEntitiesDefaultValue;
++ __xmlRegisterNodeDefaultValue;
++ __xmlDeregisterNodeDefaultValue;
++ __xmlParserInputBufferCreateFilenameValue;
++ __xmlOutputBufferCreateFilenameValue;
++# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local")
++ local:
++ *;
++} LIBXML2_2.7.4;
diff --git a/libxml2/libxml2-gnome602728.patch b/libxml2/libxml2-gnome602728.patch
deleted file mode 100644
index b284d457a751..000000000000
--- a/libxml2/libxml2-gnome602728.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- misc/libxml2-2.7.6/configure 2009-12-18 12:12:08.000000000 +0000
-+++ misc/build/libxml2-2.7.6/configure 2009-12-18 12:20:40.000000000 +0000
-@@ -12150,7 +12150,7 @@
- $(/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null) && \
- VERSION_SCRIPT_FLAGS=-Wl,--version-script=
- test "`uname`" == "SunOS" && \
-- VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
-+ VERSION_SCRIPT_FLAGS=""
-
- if test -n "$VERSION_SCRIPT_FLAGS"; then
- USE_VERSION_SCRIPT_TRUE=
-
diff --git a/libxml2/libxml2-mingw.patch b/libxml2/libxml2-mingw.patch
index d160dcb70138..651b0c13f1bb 100755
--- a/libxml2/libxml2-mingw.patch
+++ b/libxml2/libxml2-mingw.patch
@@ -9,6 +9,19 @@
*-*-cygwin*)
MODULE_EXTENSION=".dll"
{ $as_echo "$as_me:$LINENO: checking for dlopen in -lcygwin" >&5
+@@ -20632,11 +20636,10 @@
+
+ fi
+ case $host_os in
+- *mingw32*) if test "$THREAD_LIBS" != "-lpthread"; then
++ *mingw32*)
+ WITH_THREADS="1"
+ THREADS_W32="Win32"
+ THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
+- fi
+ ;;
+ *cygwin*) THREAD_LIBS=""
+ ;;
--- misc/libxml2-2.7.6/libxml.h 2007-11-23 19:47:23.000000000 +0900
+++ misc/build/libxml2-2.7.6/libxml.h 2009-07-10 14:37:34.988250000 +0900
@@ -30,6 +30,10 @@
@@ -22,3 +35,14 @@
#include <libxml/xmlversion.h>
#endif
+--- misc/libxml2-2.7.6/include/libxml/xmlexports.h 2009-09-25 00:31:59.000000000 +0900
++++ misc/build/libxml2-2.7.6/include/libxml/xmlexports.h 2010-06-06 11:15:54.160750000 +0900
+@@ -113,7 +113,7 @@
+ * _imp__xmlFree listed as missing. Try to workaround the problem
+ * by also making that declaration when compiling client code.
+ */
+- #if !defined(LIBXML_STATIC)
++ #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
+ #define XMLPUBFUN __declspec(dllexport)
+ #define XMLPUBVAR __declspec(dllexport)
+ #else
diff --git a/libxml2/makefile.mk b/libxml2/makefile.mk
index 93275b65b2d8..453ba3a68406 100644
--- a/libxml2/makefile.mk
+++ b/libxml2/makefile.mk
@@ -46,26 +46,29 @@ LIBXML2VERSION=2.7.6
TARFILE_NAME=$(PRJNAME)-$(LIBXML2VERSION)
TARFILE_MD5=7740a8ec23878a2f50120e1faa2730f2
+
+# libxml2-global-symbols: #i112480#: Solaris ld won't export non-listed symbols
PATCH_FILES=libxml2-configure.patch \
libxml2-mingw.patch \
libxml2-gnome599717.patch \
- libxml2-gnome602728.patch
+ libxml2-global-symbols.patch \
+
# This is only for UNX environment now
.IF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
-xml2_CC=$(CC)
+xml2_CC=$(CC) -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
xml2_CC+=-shared-libgcc
.ENDIF
-xml2_LIBS=-lws2_32 -lmingwthrd
+xml2_LIBS=-lws2_32
.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
xml2_LIBS+=-lstdc++_s
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure
-CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" CFLAGS=-D_MT LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP="$(WRAPCMD) objdump"
+CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump
BUILD_ACTION=$(GNUMAKE)
BUILD_DIR=$(CONFIGURE_DIR)
.ELSE
@@ -87,10 +90,6 @@ xml2_CFLAGS+=$(ARCH_FLAGS) $(C_RESTRICTIONFLAGS)
xml2_LDFLAGS+=-L$(SYSBASE)$/usr$/lib
.ENDIF # "$(SYSBASE)"!=""
-.IF "$(OS)$(COM)"=="LINUXGCC"
-xml2_LDFLAGS+=-Wl,-z,noexecstack
-.ENDIF
-
CONFIGURE_DIR=
.IF "$(OS)"=="OS2"
CONFIGURE_ACTION=sh .$/configure
diff --git a/libxslt/libxslt-gnome602728.patch b/libxslt/libxslt-gnome602728.patch
deleted file mode 100644
index 182855bf9486..000000000000
--- a/libxslt/libxslt-gnome602728.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- misc/libxslt-1.1.26.orig/configure 2009-12-21 10:07:14.000000000 +0000
-+++ misc/build/libxslt-1.1.26/configure 2009-12-21 10:07:42.000000000 +0000
-@@ -13402,7 +13402,7 @@
- $(/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null) && \
- VERSION_SCRIPT_FLAGS=-Wl,--version-script=
- test "`uname`" == "SunOS" && \
-- VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
-+ VERSION_SCRIPT_FLAGS=""
-
- if test -n "$VERSION_SCRIPT_FLAGS"; then
- USE_VERSION_SCRIPT_TRUE=
diff --git a/libxslt/libxslt-internal-symbols.patch b/libxslt/libxslt-internal-symbols.patch
new file mode 100644
index 000000000000..813c34f0386a
--- /dev/null
+++ b/libxslt/libxslt-internal-symbols.patch
@@ -0,0 +1,66 @@
+--- misc/libxslt-1.1.26/libxslt/libxslt.syms Thu Sep 24 16:28:46 2009
++++ misc/build/libxslt-1.1.26/libxslt/libxslt.syms Thu Jul 8 12:22:14 2010
+@@ -107,7 +107,7 @@
+ xsltFreeCompMatchList;
+ xsltFreeTemplateHashes;
+ xsltGetTemplate;
+- xsltMatchPattern;
++#NOT_IMPLEMENTED xsltMatchPattern;
+ xsltTestCompMatchList;
+
+ # preproc
+@@ -406,7 +406,7 @@
+ global:
+
+ # xsltInternals
+- xsltConstNamespaceNameXSLT; # variable
++#XSLT_REFACTORED_XSLT_NSCOMP xsltConstNamespaceNameXSLT; # variable
+ xsltExtensionInstructionResultFinalize;
+ xsltExtensionInstructionResultRegister;
+ xsltInitCtxtKey;
+@@ -415,24 +415,24 @@
+ xsltInit;
+
+ # xsltInternals
+- xsltParseAnyXSLTElem;
+- xsltParseSequenceConstructor;
+- xsltPointerListAddSize;
+- xsltPointerListClear;
+- xsltPointerListCreate;
+- xsltPointerListFree;
++#XSLT_REFACTORED xsltParseAnyXSLTElem;
++#XSLT_REFACTORED xsltParseSequenceConstructor;
++#XSLT_REFACTORED xsltPointerListAddSize;
++#XSLT_REFACTORED xsltPointerListClear;
++#XSLT_REFACTORED xsltPointerListCreate;
++#XSLT_REFACTORED xsltPointerListFree;
+ xsltRegisterLocalRVT;
+ xsltReleaseRVT;
+- xsltRestoreDocumentNamespaces;
++#XSLT_REFACTORED_XSLT_NSCOMP xsltRestoreDocumentNamespaces;
+
+ # extensions
+- xsltStyleStylesheetLevelGetExtData;
++#XSLT_REFACTORED xsltStyleStylesheetLevelGetExtData;
+
+ # xsltInternals
+- xsltTransStorageAdd;
+- xsltTransStorageRemove;
++#NOT_IMPLEMENTED xsltTransStorageAdd;
++#NOT_IMPLEMENTED xsltTransStorageRemove;
+ xsltUninit;
+- xsltXSLTAttrMarker; # variable
++#XSLT_REFACTORED xsltXSLTAttrMarker; # variable
+ } LIBXML2_1.1.9;
+
+ LIBXML2_1.1.20 {
+@@ -475,5 +475,9 @@
+
+ # transform
+ xsltProcessOneNode;
++
++# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local")
++ local:
++ *;
+ } LIBXML2_1.1.25;
+
diff --git a/libxslt/libxslt-mingw.patch b/libxslt/libxslt-mingw.patch
new file mode 100644
index 000000000000..da8eee3b1098
--- /dev/null
+++ b/libxslt/libxslt-mingw.patch
@@ -0,0 +1,36 @@
+--- misc/libxslt-1.1.26/ltmain.sh 2010-06-06 14:43:28.785750000 +0900
++++ misc/build/libxslt-1.1.26/ltmain.sh 2010-06-06 15:14:26.176375000 +0900
+@@ -2983,15 +2983,7 @@
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+- *mingw* ) # actually, msys
+- # awkward: cmd appends spaces to result
+- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+- func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+- $SED -e "$lt_sed_naive_backslashify"`
+- ;;
+- *cygwin* )
++ *cygwin* | *mingw* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+@@ -3062,15 +3054,7 @@
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+- *mingw* ) # Actually, msys.
+- # Awkward: cmd appends spaces to result.
+- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+- func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+- $SED -e "$lt_sed_naive_backslashify"`
+- ;;
+- *cygwin* )
++ *cygwin* | *mingw* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
diff --git a/libxslt/makefile.mk b/libxslt/makefile.mk
index b3f9ed203653..c4bb5f50977b 100644
--- a/libxslt/makefile.mk
+++ b/libxslt/makefile.mk
@@ -50,24 +50,28 @@ LIBXSLTVERSION=$(LIBXSLT_MAJOR).$(LIBXSLT_MINOR).$(LIBXSLT_MICRO)
TARFILE_NAME=$(PRJNAME)-$(LIBXSLTVERSION)
TARFILE_MD5=e61d0364a30146aaa3001296f853b2b9
+
+# libxslt-internal-symbols: #i112480#: Solaris ld requires symbols to be defined
PATCH_FILES=libxslt-configure.patch \
libxslt-win_manifest.patch \
- libxslt-gnome602728.patch
+ libxslt-mingw.patch \
+ libxslt-internal-symbols.patch
+
# This is only for UNX environment now
.IF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
-xslt_CC=$(CC)
+xslt_CC=$(CC) -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
xslt_CC+=-shared-libgcc
.ENDIF
-xslt_LIBS=-lmingwthrd
+xslt_LIBS=
.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
xslt_LIBS+=-lstdc++_s
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure
-CONFIGURE_FLAGS=--enable-ipv6=no --without-crypto --without-python --enable-static=no --with-sax1=yes --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xslt_CC)" CFLAGS="$(xslt_CFLAGS) -D_MT" LDFLAGS="-no-undefined -L$(ILIB:s/;/ -L/)" LIBS="$(xslt_LIBS)" LIBXML2LIB=$(LIBXML2LIB) OBJDUMP="$(WRAPCMD) objdump"
+CONFIGURE_FLAGS=--without-crypto --without-python --enable-static=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xslt_CC)" CFLAGS="$(xslt_CFLAGS)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xslt_LIBS)" LIBXML2LIB=$(LIBXML2LIB) OBJDUMP=objdump
BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR)
@@ -87,7 +91,7 @@ BUILD_DIR=$(CONFIGURE_DIR)
.ELSE
.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
-LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec -Wl,-z,noexecstack
+LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec
.ENDIF # "$(OS)$(COM)"=="LINUXGCC"
.IF "$(OS)$(COM)"=="SOLARISC52"
LDFLAGS:=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib'
diff --git a/more_fonts/fonts/ttf_dejavu/makefile.mk b/more_fonts/fonts/ttf_dejavu/makefile.mk
index f9fa78a7664b..090661bbde02 100644
--- a/more_fonts/fonts/ttf_dejavu/makefile.mk
+++ b/more_fonts/fonts/ttf_dejavu/makefile.mk
@@ -36,9 +36,9 @@ TARGET=ttf_dejavu
# --- Files --------------------------------------------------------
-TARFILE_NAME=dejavu-fonts-ttf-2.30
-TARFILE_MD5=fe5b3e2b7c4577f30dc001054365653e
-TARFILE_ROOTDIR=dejavu-fonts-ttf-2.30
+TARFILE_NAME=dejavu-fonts-ttf-2.32
+TARFILE_MD5=37282537d0ed1a087b1c8f050dc812d9
+TARFILE_ROOTDIR=dejavu-fonts-ttf-2.32
PATCH_FILES=
diff --git a/more_fonts/fonts/ttf_liberation/makefile.mk b/more_fonts/fonts/ttf_liberation/makefile.mk
index de711a644690..a49c568e2770 100644
--- a/more_fonts/fonts/ttf_liberation/makefile.mk
+++ b/more_fonts/fonts/ttf_liberation/makefile.mk
@@ -36,8 +36,8 @@ TARGET=ttf_liberation
# --- Files --------------------------------------------------------
-TARFILE_NAME=liberation-fonts-ttf-1.05.3.20100427
-TARFILE_MD5=ef9ab6c1740682fbd730606d5f6922e6
+TARFILE_NAME=liberation-fonts-ttf-1.06.0.20100721
+TARFILE_MD5=ca4870d899fd7e943ffc310a5421ad4d
TARFILE_ROOTDIR=.
PATCH_FILES=
diff --git a/more_fonts/prj/d.lst b/more_fonts/prj/d.lst
index 0bc15242b086..6dba097941ac 100644
--- a/more_fonts/prj/d.lst
+++ b/more_fonts/prj/d.lst
@@ -1,9 +1,10 @@
mkdir: %COMMON_DEST%\pck%_EXT%
..\fonts\fc_local.conf %COMMON_DEST%\pck%_EXT%\fc_local.conf
-..\%__SRC%\misc\build\dejavu-fonts-ttf-2.30\ttf\*.ttf %COMMON_DEST%\pck%_EXT%\*.ttf
-..\%__SRC%\misc\build\dejavu-fonts-ttf-2.30\LICENSE %COMMON_DEST%\pck%_EXT%\LICENSE_dejavu
-..\%__SRC%\misc\build\Liberation*.ttf %COMMON_DEST%\pck%_EXT%\*.ttf
-..\%__SRC%\misc\build\License.txt %COMMON_DEST%\pck%_EXT%\LICENSE_liberation
+# TODO: replace explicit versions by wildcard when the build system learns to handle them
+..\%__SRC%\misc\build\dejavu-fonts-ttf-2.32\ttf\*.ttf %COMMON_DEST%\pck%_EXT%\*.ttf
+..\%__SRC%\misc\build\dejavu-fonts-ttf-2.32\LICENSE %COMMON_DEST%\pck%_EXT%\LICENSE_dejavu
+..\%__SRC%\misc\build\liberation-fonts-ttf-1.06.0.20100721/Liberation*.ttf %COMMON_DEST%\pck%_EXT%\*.ttf
+..\%__SRC%\misc\build\liberation-fonts-ttf-1.06.0.20100721/License.txt %COMMON_DEST%\pck%_EXT%\LICENSE_liberation
..\%__SRC%\misc\build\gentiumbasic-fonts-1.10\*.ttf %COMMON_DEST%\pck%_EXT%\*.ttf
..\%__SRC%\misc\build\gentiumbasic-fonts-1.10\OFL.txt %COMMON_DEST%\pck%_EXT%\LICENSE_gentium
diff --git a/moz/makefile.mk b/moz/makefile.mk
index 9629f7138b74..feb2c50343ee 100644
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -86,7 +86,8 @@ PATCH_FILES = \
patches/dtoa.patch \
patches/respect_disable_pango.patch \
patches/arm_build_fix.patch \
- patches/link_fontconfig.patch
+ patches/link_fontconfig.patch \
+ patches/brokenmakefile.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)
diff --git a/moz/patches/brokenmakefile.patch b/moz/patches/brokenmakefile.patch
new file mode 100644
index 000000000000..20d88014b932
--- /dev/null
+++ b/moz/patches/brokenmakefile.patch
@@ -0,0 +1,13 @@
+--- misc/mozilla/mailnews/extensions/smime/build/Makefile.in 2010-09-04 16:00:38.000000000 +0100
++++ misc/build/mozilla/mailnews/extensions/smime/build/Makefile.in 2010-09-04 16:02:24.000000000 +0100
+@@ -79,10 +79,6 @@
+ $(DIST)/lib/$(LIB_PREFIX)msgsmime_s.$(LIB_SUFFIX) \
+ $(NULL)
+
+-ifndef MOZ_STATIC_MAIL_BUILD
+-SHARED_LIBRARY_LIBS + = $(DIST)/lib/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX)
+-endif
+-
+ EXTRA_DSO_LDOPTS = \
+ $(LIBS_DIR) \
+ $(EXTRA_DSO_LIBS) \
diff --git a/nss/makefile.mk b/nss/makefile.mk
index 78de2a9afbf3..34e278c4d84c 100644
--- a/nss/makefile.mk
+++ b/nss/makefile.mk
@@ -41,9 +41,9 @@ all:
@echo "NSS will not be built. ENABLE_NSS_MODULE is '$(ENABLE_NSS_MODULE)'"
.ENDIF
-TARFILE_NAME=nss_3_12_5
-TARFILE_MD5=6244eb0b6e2647ee50470951fa6efb47
-TARFILE_ROOTDIR=mozilla
+TARFILE_NAME=nss-3.12.6-with-nspr-4.8.4
+TARFILE_MD5=b92261a5679276c400555004937af965
+TARFILE_ROOTDIR=nss-3.12.6
PATCH_FILES=nss.patch
.IF "$(OS)"=="MACOSX"
@@ -83,9 +83,9 @@ MACOS_SDK_DIR*=$(MACDEVSDK)
.ENDIF # "$(EXTRA_CFLAGS)"!=""
.ENDIF # "$(OS)"=="MACOSX"
-OUT2LIB=dist$/out$/lib$/*$(DLLPOST)
+OUT2LIB=mozilla$/dist$/out$/lib$/*$(DLLPOST)
-BUILD_DIR=security$/nss
+BUILD_DIR=mozilla$/security$/nss
BUILD_ACTION= $(GNUMAKE) nss_build_all
#See #i105566# && moz#513024#
.IF "$(OS)"=="LINUX"
@@ -117,27 +117,25 @@ nss_LIBS+=-lstdc++_s
.ENDIF
-BUILD_DIR=security$/nss
+BUILD_DIR=mozilla$/security$/nss
BUILD_ACTION=NS_USE_GCC=1 CC="$(nss_CC)" CXX="$(nss_CXX)" OS_LIBS="$(nss_LIBS)" OS_TARGET=WIN95 _WIN32_IE=0x500 PATH="$(PATH)" DEFINES=-D_WIN32_IE=0x500 $(GNUMAKE) nss_build_all
OUT2LIB= \
- dist$/out$/lib$/libnspr4.a \
- dist$/out$/lib$/libnss3.a \
- dist$/out$/lib$/libnssdbm3.a \
- dist$/out$/lib$/libnssutil3.a \
- dist$/out$/lib$/libplc4.a \
- dist$/out$/lib$/libplds4.a \
- dist$/out$/lib$/libsmime3.a \
- dist$/out$/lib$/libsoftokn3.a \
- dist$/out$/lib$/libsqlite3.a \
- dist$/out$/lib$/libssl3.a
+ mozilla$/dist$/out$/lib$/libnspr4.a \
+ mozilla$/dist$/out$/lib$/libnss3.a \
+ mozilla$/dist$/out$/lib$/libnssdbm3.a \
+ mozilla$/dist$/out$/lib$/libnssutil3.a \
+ mozilla$/dist$/out$/lib$/libplc4.a \
+ mozilla$/dist$/out$/lib$/libplds4.a \
+ mozilla$/dist$/out$/lib$/libsmime3.a \
+ mozilla$/dist$/out$/lib$/libsoftokn3.a \
+ mozilla$/dist$/out$/lib$/libsqlite3.a \
+ mozilla$/dist$/out$/lib$/libssl3.a
.ELSE # "$(COM)"=="GCC"
MOZ_MSVCVERSION= 9
.EXPORT : MOZ_MSVCVERSION
moz_build:=$(shell cygpath -p $(MOZILLABUILD))
-PATH!:=$(moz_build)/msys/bin:$(moz_build)/moztools/bin:$(PATH)
-.EXPORT : PATH
#Using WINNT will cause at least that nspr4.dll, plc4.dll, plds4.dll
#become libnspr4.dll, libplc4.dll, libplds4.dll
@@ -151,29 +149,29 @@ EXT_USE_STLPORT=TRUE
#To build nss one has to call "make nss_build_all" in
#mozilla/security/nss
-NSS_BUILD_DIR= $(subst,\,/ $(PWD)/$(MISC)/build/mozilla/security/nss)
-BUILD_ACTION= $(subst,/,$/ $(MOZILLABUILD)/msys/bin/bash) -i \
+NSS_BUILD_DIR= $(subst,\,/ $(PWD)/$(MISC)/build/$(TARFILE_ROOTDIR)/mozilla/security/nss)
+BUILD_ACTION= PATH="$(moz_build)/msys/bin:$(moz_build)/moztools/bin:$(PATH)" && $(subst,/,$/ $(MOZILLABUILD)/msys/bin/bash) -i \
-c "cd $(NSS_BUILD_DIR) && make nss_build_all"
OUT2LIB= \
- dist$/out$/lib$/nspr4.lib \
- dist$/out$/lib$/nss3.lib \
- dist$/out$/lib$/nssdbm3.lib \
- dist$/out$/lib$/nssutil3.lib \
- dist$/out$/lib$/plc4.lib \
- dist$/out$/lib$/plds4.lib \
- dist$/out$/lib$/smime3.lib \
- dist$/out$/lib$/softokn3.lib \
- dist$/out$/lib$/sqlite3.lib \
- dist$/out$/lib$/ssl3.lib
+ mozilla$/dist$/out$/lib$/nspr4.lib \
+ mozilla$/dist$/out$/lib$/nss3.lib \
+ mozilla$/dist$/out$/lib$/nssdbm3.lib \
+ mozilla$/dist$/out$/lib$/nssutil3.lib \
+ mozilla$/dist$/out$/lib$/plc4.lib \
+ mozilla$/dist$/out$/lib$/plds4.lib \
+ mozilla$/dist$/out$/lib$/smime3.lib \
+ mozilla$/dist$/out$/lib$/softokn3.lib \
+ mozilla$/dist$/out$/lib$/sqlite3.lib \
+ mozilla$/dist$/out$/lib$/ssl3.lib
.ENDIF # "$(COM)"=="GCC"
-OUT2BIN=dist$/out$/lib$/*$(DLLPOST)
+OUT2BIN=mozilla$/dist$/out$/lib$/*$(DLLPOST)
.ENDIF # "$(GUI)"=="WNT"
-OUTDIR2INC=dist$/public$/nss dist$/out$/include
+OUTDIR2INC=mozilla$/dist$/public$/nss mozilla$/dist$/out$/include
# --- Targets ------------------------------------------------------
diff --git a/nss/nss.patch b/nss/nss.patch
index a6ce16071919..b5f871dd1ecc 100644
--- a/nss/nss.patch
+++ b/nss/nss.patch
@@ -1,6 +1,6 @@
---- misc/mozilla/nsprpub/config/rules.mk Sat May 2 01:08:01 2009
-+++ misc/build/mozilla/nsprpub/config/rules.mk Wed Nov 25 08:06:47 2009
-@@ -350,7 +350,12 @@
+--- misc/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2009-12-09 22:24:37.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2010-06-11 16:35:54.946870871 +0200
+@@ -345,7 +345,12 @@
ifdef NS_USE_GCC
$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
else
@@ -14,9 +14,9 @@
endif # GCC
@echo $(RES) finished
endif
---- misc/mozilla/nsprpub/configure Mon Nov 23 11:44:15 2009
-+++ misc/build/mozilla/nsprpub/configure Wed Nov 25 08:06:47 2009
-@@ -3899,7 +3899,7 @@
+--- misc/nss-3.12.6/mozilla/nsprpub/configure 2010-02-08 19:41:35.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/nsprpub/configure 2010-06-11 16:35:54.960188991 +0200
+@@ -3900,7 +3900,7 @@
PR_MD_CSRCS=linux.c
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
DSO_CFLAGS=-fPIC
@@ -25,8 +25,8 @@
_OPTIMIZE_FLAGS=-O2
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
# combo is not yet good at debugging inlined
---- misc/mozilla/security/coreconf/Darwin.mk Thu Jul 30 23:36:02 2009
-+++ misc/build/mozilla/security/coreconf/Darwin.mk Wed Nov 25 08:06:47 2009
+--- misc/nss-3.12.6/mozilla/security/coreconf/Darwin.mk 2010-02-04 19:59:10.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/Darwin.mk 2010-06-11 16:35:54.966185975 +0200
@@ -39,8 +39,12 @@
DEFAULT_COMPILER = cc
@@ -42,8 +42,8 @@
RANLIB = ranlib
ifndef CPU_ARCH
---- misc/mozilla/security/coreconf/Linux.mk Mon Nov 23 11:06:29 2009
-+++ misc/build/mozilla/security/coreconf/Linux.mk Wed Nov 25 08:11:35 2009
+--- misc/nss-3.12.6/mozilla/security/coreconf/Linux.mk 2010-01-15 23:19:00.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/Linux.mk 2010-06-11 16:35:54.981151732 +0200
@@ -46,8 +46,11 @@
IMPL_STRATEGY = _PTH
endif
@@ -58,7 +58,7 @@
RANLIB = ranlib
DEFAULT_COMPILER = gcc
-@@ -149,7 +152,7 @@
+@@ -147,7 +150,7 @@
# incorrectly reports undefined references in the libraries we link with, so
# we don't use -z defs there.
ZDEFS_FLAG = -Wl,-z,defs
@@ -67,7 +67,7 @@
LDFLAGS += $(ARCHFLAG)
# INCLUDES += -I/usr/include -Y/usr/include/linux
-@@ -160,8 +163,13 @@
+@@ -158,8 +161,13 @@
#
CPU_TAG = _$(CPU_ARCH)
@@ -81,8 +81,8 @@
# The -rpath '$$ORIGIN' linker option instructs this library to search for its
# dependencies in the same directory where it resides.
---- misc/mozilla/security/coreconf/SunOS5.mk Thu Jun 11 02:55:32 2009
-+++ misc/build/mozilla/security/coreconf/SunOS5.mk Wed Nov 25 08:06:47 2009
+--- misc/nss-3.12.6/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/SunOS5.mk 2010-06-11 16:35:54.985571182 +0200
@@ -89,8 +89,12 @@
# OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
endif
@@ -98,8 +98,8 @@
ASFLAGS += -Wa,-P
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
ifndef BUILD_OPT
---- misc/mozilla/security/coreconf/arch.mk Fri Jun 5 04:14:49 2009
-+++ misc/build/mozilla/security/coreconf/arch.mk Wed Nov 25 08:06:47 2009
+--- misc/nss-3.12.6/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/arch.mk 2010-06-11 16:35:54.990913282 +0200
@@ -324,7 +324,12 @@
# IMPL_STRATEGY may be defined too.
#
@@ -114,8 +114,8 @@
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifndef BUILD_OPT
---- misc/mozilla/security/coreconf/rules.mk Tue Aug 11 05:23:39 2009
-+++ misc/build/mozilla/security/coreconf/rules.mk Wed Nov 25 08:06:47 2009
+--- misc/nss-3.12.6/mozilla/security/coreconf/rules.mk 2009-12-08 02:33:36.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/rules.mk 2010-06-11 16:35:54.996448704 +0200
@@ -355,7 +355,12 @@
ifdef NS_USE_GCC
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
@@ -130,9 +130,9 @@
endif
@echo $(RES) finished
endif
---- misc/mozilla/security/nss/cmd/platlibs.mk Thu Jun 18 01:01:48 2009
-+++ misc/build/mozilla/security/nss/cmd/platlibs.mk Wed Nov 25 08:06:47 2009
-@@ -41,12 +41,13 @@
+--- misc/nss-3.12.6/mozilla/security/nss/cmd/platlibs.mk 2010-02-04 19:59:10.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/security/nss/cmd/platlibs.mk 2010-06-11 16:35:55.004869805 +0200
+@@ -41,27 +41,28 @@
ifeq ($(OS_ARCH), SunOS)
ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1)
@@ -149,7 +149,6 @@
endif
endif
-@@ -53,15 +54,15 @@
ifeq ($(OS_ARCH), Linux)
ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1)
@@ -169,8 +168,8 @@
endif
endif
endif
---- misc/mozilla/security/nss/cmd/shlibsign/Makefile Fri Aug 7 21:06:37 2009
-+++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile Fri Nov 27 13:07:52 2009
+--- misc/nss-3.12.6/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-07 21:06:37.000000000 +0200
++++ misc/build/nss-3.12.6/mozilla/security/nss/cmd/shlibsign/Makefile 2010-06-11 16:35:55.009851148 +0200
@@ -78,10 +78,15 @@
# sign any and all shared libraries that contain the word freebl
diff --git a/nss/nss.patch.mingw b/nss/nss.patch.mingw
index bead79548d6e..89edd5638e20 100644..100755
--- a/nss/nss.patch.mingw
+++ b/nss/nss.patch.mingw
@@ -1,5 +1,5 @@
---- misc/mozilla/nsprpub/config/autoconf.mk.in 2009-03-03 23:04:23.000000000 +0100
-+++ misc/build/mozilla/nsprpub/config/autoconf.mk.in 2009-09-18 17:24:12.042630830 +0200
+--- misc/nss-3.12.6/mozilla/nsprpub/config/autoconf.mk.in 2009-03-04 07:04:23.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/nsprpub/config/autoconf.mk.in 2010-06-17 08:42:08.010625000 +0900
@@ -22,6 +22,7 @@
RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@
OBJDIR_NAME = @OBJDIR_NAME@
@@ -8,12 +8,12 @@
OBJ_SUFFIX = @OBJ_SUFFIX@
LIB_SUFFIX = @LIB_SUFFIX@
DLL_SUFFIX = @DLL_SUFFIX@
---- misc/mozilla/nsprpub/config/rules.mk 2009-05-02 01:08:01.000000000 +0200
-+++ misc/build/mozilla/nsprpub/config/rules.mk 2009-09-18 17:24:52.422809433 +0200
+--- misc/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2009-12-10 06:24:37.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2010-06-17 08:42:08.057500000 +0900
@@ -113,9 +113,9 @@
# other platforms do not.
#
- ifeq (,$(filter-out WIN95 WINCE OS2,$(OS_TARGET)))
+ ifeq (,$(filter-out WIN95 WINCE WINMO OS2,$(OS_TARGET)))
-LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX)
+LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX)
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
@@ -22,8 +22,8 @@
SHARED_LIB_PDB = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).pdb
else
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX)
---- misc/mozilla/nsprpub/configure 2009-05-08 15:12:31.000000000 +0200
-+++ misc/build/mozilla/nsprpub/configure 2009-09-18 17:25:50.277803372 +0200
+--- misc/nss-3.12.6/mozilla/nsprpub/configure 2010-02-09 03:41:35.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/nsprpub/configure 2010-06-17 08:42:10.000000000 +0900
@@ -2770,6 +2770,7 @@
LIB_SUFFIX=a
DLL_SUFFIX=so
@@ -32,7 +32,7 @@
MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
PR_MD_ASFILES=
PR_MD_CSRCS=
-@@ -3998,6 +3999,7 @@
+@@ -4000,6 +4001,7 @@
OBJ_SUFFIX=obj
LIB_SUFFIX=lib
DLL_SUFFIX=dll
@@ -40,7 +40,7 @@
# Determine compiler version
CC_VERSION=`"${CC}" -v 2>&1 | grep Version | sed -e 's|.* Version ||' -e 's| .*||'`
-@@ -6291,6 +6293,7 @@
+@@ -6262,6 +6264,7 @@
s%@LIB_SUFFIX@%$LIB_SUFFIX%g
s%@DLL_SUFFIX@%$DLL_SUFFIX%g
s%@ASM_SUFFIX@%$ASM_SUFFIX%g
@@ -48,8 +48,8 @@
s%@MKSHLIB@%$MKSHLIB%g
s%@DSO_CFLAGS@%$DSO_CFLAGS%g
s%@DSO_LDOPTS@%$DSO_LDOPTS%g
---- misc/mozilla/nsprpub/pr/src/Makefile.in 2009-02-04 23:47:01.000000000 +0100
-+++ misc/build/mozilla/nsprpub/pr/src/Makefile.in 2009-09-18 17:26:33.544145410 +0200
+--- misc/nss-3.12.6/mozilla/nsprpub/pr/src/Makefile.in 2009-12-19 18:06:07.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/nsprpub/pr/src/Makefile.in 2010-06-17 08:42:08.151250000 +0900
@@ -195,7 +195,7 @@
ifeq ($(OS_ARCH),WINNT)
@@ -59,8 +59,8 @@
else
OS_LIBS = advapi32.lib wsock32.lib winmm.lib
endif
---- misc/mozilla/security/coreconf/WIN32.mk 2009-07-29 02:15:46.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/WIN32.mk 2009-09-18 17:27:39.253588269 +0200
+--- misc/nss-3.12.6/mozilla/security/coreconf/WIN32.mk 2009-07-29 09:15:46.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/WIN32.mk 2010-06-17 08:42:08.198125000 +0900
@@ -43,8 +43,8 @@
DEFAULT_COMPILER = cl
@@ -72,8 +72,8 @@
LINK = ld
AR = ar
AR += cr $@
---- misc/mozilla/security/coreconf/WIN95.mk 2009-02-14 06:51:10.000000000 +0100
-+++ misc/build/mozilla/security/coreconf/WIN95.mk 2009-09-18 17:28:06.433136076 +0200
+--- misc/nss-3.12.6/mozilla/security/coreconf/WIN95.mk 2009-02-14 14:51:10.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/WIN95.mk 2010-06-17 08:42:08.245000000 +0900
@@ -44,4 +44,8 @@
DEFINES += -DWIN95
@@ -85,8 +85,8 @@
+ NSPR31_LIB_PREFIX = $(NULL)
+endif
\ No newline at end of file
---- misc/mozilla/security/coreconf/rules.mk 2009-08-11 05:23:39.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/rules.mk 2009-09-18 17:29:05.079376677 +0200
+--- misc/nss-3.12.6/mozilla/security/coreconf/rules.mk 2009-12-08 10:33:36.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/coreconf/rules.mk 2010-06-17 08:42:08.291875000 +0900
@@ -281,8 +281,12 @@
fi
endif # MSVC with manifest tool
@@ -100,8 +100,8 @@
get_objs:
@echo $(OBJS)
---- misc/mozilla/security/nss/Makefile 2008-12-03 00:24:39.000000000 +0100
-+++ misc/build/mozilla/security/nss/Makefile 2009-09-18 17:29:46.194949392 +0200
+--- misc/nss-3.12.6/mozilla/security/nss/Makefile 2009-12-09 01:47:03.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/nss/Makefile 2010-06-17 08:42:08.338750000 +0900
@@ -108,7 +108,7 @@
NSPR_CONFIGURE_OPTS += --enable-debug-rtl
endif
@@ -111,8 +111,8 @@
endif
#
---- misc/mozilla/security/nss/cmd/crmftest/Makefile 2005-11-14 01:17:21.000000000 +0100
-+++ misc/build/mozilla/security/nss/cmd/crmftest/Makefile 2009-09-18 17:30:33.267190024 +0200
+--- misc/nss-3.12.6/mozilla/security/nss/cmd/crmftest/Makefile 2005-11-14 09:17:21.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/nss/cmd/crmftest/Makefile 2010-06-17 08:42:08.370000000 +0900
@@ -90,7 +90,7 @@
LDDIST = $(DIST)/lib
@@ -122,8 +122,8 @@
endif
include ../platrules.mk
---- misc/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-07 21:06:37.000000000 +0200
-+++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile 2009-09-18 17:31:02.168253398 +0200
+--- misc/nss-3.12.6/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-08 04:06:37.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/nss/cmd/shlibsign/Makefile 2010-06-17 08:42:10.000000000 +0900
@@ -115,10 +115,16 @@
$(call core_abspath,$(OBJDIR)) $(OS_TARGET) \
$(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<)
@@ -141,8 +141,8 @@
libs install :: $(CHECKLOC)
---- misc/mozilla/security/nss/lib/freebl/config.mk 2009-04-11 23:18:42.000000000 +0200
-+++ misc/build/mozilla/security/nss/lib/freebl/config.mk 2009-09-18 17:31:40.067954076 +0200
+--- misc/nss-3.12.6/mozilla/security/nss/lib/freebl/config.mk 2009-04-12 06:18:42.000000000 +0900
++++ misc/build/nss-3.12.6/mozilla/security/nss/lib/freebl/config.mk 2010-06-17 08:42:08.557500000 +0900
@@ -84,10 +84,6 @@
RES = $(OBJDIR)/$(LIBRARY_NAME).res
RESNAME = freebl.rc
diff --git a/nss/nss_macosx.patch b/nss/nss_macosx.patch
index d6ce6ff4f8d0..5a0228355748 100644
--- a/nss/nss_macosx.patch
+++ b/nss/nss_macosx.patch
@@ -1,5 +1,5 @@
---- misc/mozilla/security/nss/Makefile 2008-12-03 00:24:39.000000000 +0100
-+++ misc/build/mozilla/security/nss/Makefile 2009-11-27 13:36:22.662753328 +0100
+--- misc/nss-3.12.6/mozilla/security/nss/Makefile 2008-12-03 00:24:39.000000000 +0100
++++ misc/build/nss-3.12.6/mozilla/security/nss/Makefile 2009-11-27 13:36:22.662753328 +0100
@@ -104,6 +104,9 @@
ifeq ($(OS_TARGET),WIN95)
NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95
diff --git a/python/Python-parallel-make.patch b/python/Python-parallel-make.patch
new file mode 100644
index 000000000000..81ce8dabe35b
--- /dev/null
+++ b/python/Python-parallel-make.patch
@@ -0,0 +1,36 @@
+--- misc/Python-2.6.1/Makefile.pre.in.fix-parallel-make 2010-07-22 15:01:39.567996932 -0400
++++ misc/build/Python-2.6.1/Makefile.pre.in 2010-07-22 15:47:02.437998509 -0400
+@@ -207,6 +207,7 @@ SIGNAL_OBJS= @SIGNAL_OBJS@
+
+ ##########################################################################
+ # Grammar
++GRAMMAR_STAMP= $(srcdir)/grammar-stamp
+ GRAMMAR_H= $(srcdir)/Include/graminit.h
+ GRAMMAR_C= $(srcdir)/Python/graminit.c
+ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
+@@ -530,10 +531,24 @@ Modules/getpath.o: $(srcdir)/Modules/get
+ Modules/python.o: $(srcdir)/Modules/python.c
+ $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
+
++# GNU "make" interprets rules with two dependents as two copies of the rule.
++#
++# In a parallel build this can lead to pgen being run twice, once for each of
++# GRAMMAR_H and GRAMMAR_C, leading to race conditions in which the compiler
++# reads a partially-overwritten copy of one of these files, leading to syntax
++# errors (or linker errors if the fragment happens to be syntactically valid C)
++#
++# See http://www.gnu.org/software/hello/manual/automake/Multiple-Outputs.html
++# for more information
++#
++# Introduce ".grammar-stamp" as a contrived single output from PGEN to avoid
++# this:
++$(GRAMMAR_H) $(GRAMMAR_C): $(GRAMMAR_STAMP)
+
+-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
++$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT)
+ -@$(INSTALL) -d Include
+ -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++ touch $(GRAMMAR_STAMP)
+
+ $(PGEN): $(PGENOBJS)
+ $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
diff --git a/python/makefile.mk b/python/makefile.mk
index 86d9835e8604..607ba93ab92d 100644
--- a/python/makefile.mk
+++ b/python/makefile.mk
@@ -49,6 +49,7 @@ TARFILE_NAME=Python-$(PYVERSION)
TARFILE_MD5=e81c2f0953aa60f8062c05a4673f2be0
PATCH_FILES=\
Python-$(PYVERSION).patch \
+ Python-parallel-make.patch \
Python-ssl.patch
CONFIGURE_DIR=
@@ -66,10 +67,6 @@ CC+:=$(C_RESTRICTIONFLAGS)
.ENDIF # "$(COMNAME)"=="sunpro5"
.ENDIF # "$(SYSBASE)"!=""
-.IF "$(OS)$(COM)"=="LINUXGCC"
-python_LDFLAGS+=-Wl,-z,noexecstack
-.ENDIF
-
.IF "$(OS)$(CPU)"=="SOLARISU"
CC+:=$(ARCH_FLAGS)
python_LDFLAGS+=$(ARCH_FLAGS)
@@ -93,6 +90,7 @@ python_LDFLAGS=-mno-cygwin -mthreads
.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
python_LDFLAGS+=-shared-libgcc
.ENDIF
+python_LDFLAGS+=-shared-libgcc -Wl,--enable-runtime-pseudo-reloc-v2
CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/python-inst --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
BUILD_ACTION=$(ENV_BUILD) make && make install
.ELSE
diff --git a/stax/makefile.mk b/stax/makefile.mk
index 6dbe81ee7ca5..ff3238bd6bea 100644
--- a/stax/makefile.mk
+++ b/stax/makefile.mk
@@ -47,6 +47,13 @@ all:
@echo "Therefore the files provided here does not need to be built in addition."
.ENDIF
+.IF "$(BUILD_STAX)" != "YES"
+
+$(OUT)$/class$/jsr173_1.0_api.jar : $(PRJ)$/download$/jsr173_1.0_api.jar
+ +$(COPY) $< $@
+
+.ELSE # "$(BUILD_STAX)" != "YES"
+
# --- Files --------------------------------------------------------
TARFILE_NAME=stax-api-1.0-2-sources
TARFILE_MD5=8294d6c42e3553229af9934c5c0ed997
@@ -55,6 +62,7 @@ TARFILE_ROOTDIR=src
BUILD_ACTION=$(JAVAC) javax$/xml$/stream$/*.java && jar -cf jsr173_1.0_api.jar javax$/xml$/stream$/*.class javax$/xml$/stream$/events$/*.class javax$/xml$/stream$/util$/*.class
OUT2CLASS=jsr173_1.0_api.jar
+.ENDIF # "$(BUILD_STAX)" != "YES"
.ELSE # $(SOLAR_JAVA)!= ""
nojava: