diff options
-rw-r--r-- | moz/extractfiles.mk | 12 | ||||
-rw-r--r-- | moz/makefile.mk | 6 | ||||
-rw-r--r-- | moz/patches/dtoa.patch | 237 | ||||
-rw-r--r-- | moz/patches/respect_disable_pango.patch | 54 | ||||
-rw-r--r-- | moz/zipped/makefile.mk | 2 | ||||
-rw-r--r-- | neon/makefile.mk | 7 | ||||
-rw-r--r-- | neon/neon.patch | 80 | ||||
-rw-r--r-- | neon/neon_exports_unix.patch | 289 | ||||
-rw-r--r-- | neon/neon_exports_win.patch | 295 | ||||
-rw-r--r-- | neon/prj/d.lst | 6 | ||||
-rw-r--r-- | nss/dtoa.patch | 110 | ||||
-rw-r--r-- | nss/makefile.mk | 4 | ||||
-rw-r--r-- | zlib/zlib-1.1.4.patch | 2 |
13 files changed, 1069 insertions, 35 deletions
diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk index dfb14afa8a3e..c98bf8574e73 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 b28605f6a073..0aabda002e2e 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 000000000000..fce3be38b10b --- /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 000000000000..07a83e9dd40a --- /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@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 a7b3ea846e9b..b4f85f93e748 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/neon/makefile.mk b/neon/makefile.mk index 247e640ce8b1..dd0022822752 100644 --- a/neon/makefile.mk +++ b/neon/makefile.mk @@ -54,6 +54,13 @@ NEON_NAME=neon-0.28.2 TARFILE_NAME=$(NEON_NAME) PATCH_FILES=neon.patch + +.IF "$(GUI)"=="WNT" + PATCH_FILES+=neon_exports_win.patch +.ELSE + PATCH_FILES+=neon_exports_unix.patch +.ENDIF + ADDITIONAL_FILES=src$/makefile.mk src$/config.h src$/ne_ntlm.h src$/ne_ntlm.c BUILD_DIR=src diff --git a/neon/neon.patch b/neon/neon.patch index 569ed0f0a189..94769f7cc58f 100644 --- a/neon/neon.patch +++ b/neon/neon.patch @@ -1,5 +1,5 @@ ---- misc/neon-0.28.2/src/config.h 2009-08-30 19:00:56.000000000 +0200 -+++ misc/build/neon-0.28.2/src/config.h 2009-08-11 09:48:54.000000000 +0200 +--- misc/neon-0.28.2/src/config.h 2009-09-29 10:28:26.750000000 +0200 ++++ misc/build/neon-0.28.2/src/config.h 2009-09-29 10:22:51.890625000 +0200 @@ -1 +1,484 @@ -dummy + @@ -486,15 +486,16 @@ +#else +#define HAVE_NTLM 1 +#endif ---- misc/neon-0.28.2/src/makefile.mk 2009-08-30 19:00:56.000000000 +0200 -+++ misc/build/neon-0.28.2/src/makefile.mk 2009-08-11 09:48:54.000000000 +0200 -@@ -1 +1,59 @@ +--- misc/neon-0.28.2/src/makefile.mk 2009-09-29 10:28:26.687500000 +0200 ++++ misc/build/neon-0.28.2/src/makefile.mk 2009-09-17 13:04:18.031250000 +0200 +@@ -1 +1,91 @@ -dummy +PRJ=..$/..$/..$/..$/.. + +PRJNAME=neon +TARGET=neon +LIBTARGET=NO ++USE_DEFFILE=TRUE +EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +# --- Settings ----------------------------------------------------- @@ -506,9 +507,15 @@ +CDEFS+=-DHAVE_CONFIG_H + +.IF "$(SYSTEM_LIBXML)" == "YES" -+CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS) ++CFLAGS+= -DSYSTEM_LIBXML $(LIBXML_CFLAGS) ++.ELSE ++LIBXMLINCDIR=external$/libxml ++CFLAGS+= -I$(SOLARINCDIR)$/$(LIBXMLINCDIR) +.ENDIF + ++.IF "$(SYSTEM_OPENSSL)" == "YES" ++CFLAGS+= $(OPENSSL_CFLAGS) ++.ENDIF + +SLOFILES= \ + $(SLO)$/ne_207.obj \ @@ -542,15 +549,40 @@ +# $(SLO)$/ne_gnutls.obj \ +# $(SLO)$/ne_stubssl.obj + -+LIB1TARGET=$(SLB)$/$(TARGET).lib -+LIB1ARCHIV=$(LB)$/lib$(TARGET).a -+LIB1OBJFILES=$(SLOFILES) ++SHL1OBJS=$(SLOFILES) ++SHL1TARGET=$(TARGET) ++SHL1VERSIONMAP=exports.map ++SHL1IMPLIB=i$(TARGET) ++ ++SHL1STDLIBS+= $(LIBXML2LIB) ++ ++.IF "$(GUI)"=="WNT" ++ SHL1STDLIBS+= $(WSOCK32LIB) ++ .IF "$(WINDOWS_VISTA_PSDK)" != "" ++ SHL1STDLIBS+= $(WS2_32LIB) ++ .ENDIF ++ SHL1STDLIBS+= $(OPENSSLLIB) ++.ELSE # WNT ++ .IF "$(OS)"=="SOLARIS" ++ SHL1STDLIBS+= -lnsl -lsocket -ldl ++ .ENDIF # SOLARIS ++ .IF "$(OS)"=="OS2" ++ SHL1STDLIBS+= pthread.lib libz.lib ++ .ENDIF # OS2 ++ .IF "$(SYSTEM_OPENSSL)"=="YES" ++ SHL1STDLIBS+= $(OPENSSLLIB) ++ .ELSE ++ SHL1STDLIBS+= $(OPENSSLLIBST) ++ .ENDIF ++.ENDIF # WNT ++ ++SHL1DEF=$(MISC)$/$(SHL1TARGET).def + +# --- Targets ------------------------------------------------------ -+ ++DEF1NAME=$(SHL1TARGET) +.INCLUDE : target.mk --- misc/neon-0.28.2/src/ne_auth.c 2008-02-29 17:30:12.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_auth.c 2009-08-24 15:41:32.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_auth.c 2009-09-29 10:22:51.906250000 +0200 @@ -77,6 +77,10 @@ #include "ne_sspi.h" #endif @@ -714,7 +746,7 @@ return ret; } --- misc/neon-0.28.2/src/ne_auth.h 2007-12-05 17:39:58.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_auth.h 2009-08-24 15:16:22.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_auth.h 2009-09-29 10:22:51.921875000 +0200 @@ -47,8 +47,8 @@ * Hint: if you just wish to attempt authentication just once (even if * the user gets the username/password wrong), have the callback @@ -727,7 +759,7 @@ /* Set callbacks to provide credentials for server and proxy * authentication, using the default set of authentication protocols. --- misc/neon-0.28.2/src/ne_defs.h 2006-10-24 21:40:09.000000000 +0200 -+++ misc/build/neon-0.28.2/src/ne_defs.h 2009-08-11 09:48:54.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_defs.h 2009-09-29 10:22:51.921875000 +0200 @@ -41,7 +41,7 @@ #endif @@ -738,7 +770,7 @@ #endif --- misc/neon-0.28.2/src/ne_locks.h 2006-01-02 12:43:19.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_locks.h 2009-08-11 09:48:54.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_locks.h 2009-09-29 10:22:51.921875000 +0200 @@ -22,6 +22,10 @@ #ifndef NE_LOCKS_H #define NE_LOCKS_H @@ -750,8 +782,8 @@ #include "ne_request.h" /* for ne_session + ne_request */ #include "ne_uri.h" /* for ne_uri */ ---- misc/neon-0.28.2/src/ne_ntlm.c 2009-08-30 19:00:56.000000000 +0200 -+++ misc/build/neon-0.28.2/src/ne_ntlm.c 2009-08-11 09:48:54.000000000 +0200 +--- misc/neon-0.28.2/src/ne_ntlm.c 2009-09-29 10:28:26.875000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_ntlm.c 2009-09-29 10:22:51.937500000 +0200 @@ -1 +1,700 @@ -dummy +/* @@ -1454,8 +1486,8 @@ + +#endif /* HAVE_OPENSSL */ +#endif /* HAVE_NTLM */ ---- misc/neon-0.28.2/src/ne_ntlm.h 2009-08-30 19:00:56.000000000 +0200 -+++ misc/build/neon-0.28.2/src/ne_ntlm.h 2009-08-11 09:48:54.000000000 +0200 +--- misc/neon-0.28.2/src/ne_ntlm.h 2009-09-29 10:28:26.812500000 +0200 ++++ misc/build/neon-0.28.2/src/ne_ntlm.h 2009-09-29 10:22:51.937500000 +0200 @@ -1 +1,44 @@ -dummy +/* @@ -1503,7 +1535,7 @@ + +#endif /* NE_NTLM_H */ --- misc/neon-0.28.2/src/ne_socket.c 2008-02-28 14:19:19.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_socket.c 2009-08-11 09:48:54.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_socket.c 2009-09-29 10:22:51.953125000 +0200 @@ -60,6 +60,7 @@ #include <stddef.h> #ifdef USE_GETADDRINFO @@ -1513,7 +1545,7 @@ #endif --- misc/neon-0.28.2/src/ne_sspi.c 2007-08-10 17:26:08.000000000 +0200 -+++ misc/build/neon-0.28.2/src/ne_sspi.c 2009-08-11 09:48:54.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_sspi.c 2009-09-29 10:22:51.953125000 +0200 @@ -202,9 +202,48 @@ return -1; } @@ -1604,7 +1636,7 @@ securityStatus = initializeSecurityContext(&sspiContext->credentials, NULL, --- misc/neon-0.28.2/src/ne_sspi.h 2006-02-12 13:05:14.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_sspi.h 2009-08-11 09:48:54.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_sspi.h 2009-09-29 10:22:51.968750000 +0200 @@ -41,7 +41,7 @@ int ne_sspi_clear_context(void *context); @@ -1615,7 +1647,7 @@ #endif /* HAVE_SSPI */ --- misc/neon-0.28.2/src/ne_uri.c 2007-12-05 12:04:47.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_uri.c 2009-08-11 09:48:54.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_uri.c 2009-09-29 10:22:51.968750000 +0200 @@ -42,7 +42,7 @@ #include "ne_alloc.h" #include "ne_uri.h" @@ -1662,7 +1694,7 @@ /* 4x */ AT, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, /* 5x */ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, GD, OT, GD, OT, US, --- misc/neon-0.28.2/src/ne_utils.c 2006-03-07 10:36:43.000000000 +0100 -+++ misc/build/neon-0.28.2/src/ne_utils.c 2009-08-30 18:55:04.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_utils.c 2009-09-29 10:22:51.984375000 +0200 @@ -118,6 +118,9 @@ #ifdef HAVE_GNUTLS ", GNU TLS " LIBGNUTLS_VERSION @@ -1693,7 +1725,7 @@ #endif /* NE_HAVE_* */ default: --- misc/neon-0.28.2/src/ne_utils.h 2007-07-16 08:54:57.000000000 +0200 -+++ misc/build/neon-0.28.2/src/ne_utils.h 2009-08-24 15:47:03.000000000 +0200 ++++ misc/build/neon-0.28.2/src/ne_utils.h 2009-09-29 10:22:51.984375000 +0200 @@ -54,6 +54,7 @@ #define NE_FEATURE_SOCKS (5) /* SOCKSv5 support */ #define NE_FEATURE_TS_SSL (6) /* Thread-safe SSL/TLS support */ diff --git a/neon/neon_exports_unix.patch b/neon/neon_exports_unix.patch new file mode 100644 index 000000000000..4e8098eb1eeb --- /dev/null +++ b/neon/neon_exports_unix.patch @@ -0,0 +1,289 @@ +--- misc/neon-0.28.2/src/exports.map 2009-09-29 10:28:13.531250000 +0200 ++++ misc/build/neon-0.28.2/src/exports.map 2009-09-21 12:16:53.453125000 +0200 +@@ -0,0 +1,286 @@ ++NEON_0_28_2 { ++ global: ++ ne__negotiate_ssl; ++ ne__ssl_exit; ++ ne__ssl_init; ++ ne_ssl_cert_cmp; ++ ne_ssl_cert_digest; ++ ne_ssl_cert_export; ++ ne_ssl_cert_free; ++ ne_ssl_cert_identity; ++ ne_ssl_cert_import; ++ ne_ssl_cert_issuer; ++ ne_ssl_cert_read; ++ ne_ssl_cert_signedby; ++ ne_ssl_cert_subject; ++ ne_ssl_cert_validity_time; ++ ne_ssl_cert_write; ++ ne_ssl_clicert_decrypt; ++ ne_ssl_clicert_encrypted; ++ ne_ssl_clicert_free; ++ ne_ssl_clicert_name; ++ ne_ssl_clicert_owner; ++ ne_ssl_clicert_read; ++ ne_ssl_context_create; ++ ne_ssl_context_destroy; ++ ne_ssl_context_keypair; ++ ne_ssl_context_set_flag; ++ ne_ssl_context_set_verify; ++ ne_ssl_context_trustcert; ++ ne_ssl_dname_cmp; ++ ne_ssl_readable_dname; ++ ne_ssl_set_clicert; ++ ne_ssl_trust_default_ca; ++ ne_xml_dispatch_request; ++ ne_xml_parse_response; ++ ne_xml_create; ++ ne_xml_currentline; ++ ne_xml_destroy; ++ ne_xml_doc_encoding; ++ ne_xml_failed; ++ ne_xml_get_attr; ++ ne_xml_get_error; ++ ne_xml_mapid; ++ ne_xml_parse; ++ ne_xml_parse_v; ++ ne_xml_push_handler; ++ ne_xml_resolve_nspace; ++ ne_xml_set_error; ++ ne_debug; ++ ne_debug_init; ++ ne_debug_mask; ++ ne_debug_stream; ++ ne_has_support; ++ ne_parse_statusline; ++ ne_version_match; ++ ne_version_string; ++ ne_path_childof; ++ ne_path_compare; ++ ne_path_escape; ++ ne_path_has_trailing_slash; ++ ne_path_parent; ++ ne_path_unescape; ++ ne_uri_cmp; ++ ne_uri_copy; ++ ne_uri_defaultport; ++ ne_uri_free; ++ ne_uri_parse; ++ ne_uri_resolve; ++ ne_uri_unparse; ++ ne_base64; ++ ne_buffer_altered; ++ ne_buffer_append; ++ ne_buffer_clear; ++ ne_buffer_concat; ++ ne_buffer_create; ++ ne_buffer_destroy; ++ ne_buffer_finish; ++ ne_buffer_grow; ++ ne_buffer_ncreate; ++ ne_buffer_snprintf; ++ ne_buffer_zappend; ++ ne_concat; ++ ne_qtoken; ++ ne_shave; ++ ne_snprintf; ++ ne_strcasecmp; ++ ne_strclean; ++ ne_strerror; ++ ne_strncasecmp; ++ ne_token; ++ ne_tolower_array; ++ ne_unbase64; ++ ne_vsnprintf; ++ ne__sock_sslsock; ++ ne_addr_destroy; ++ ne_addr_error; ++ ne_addr_first; ++ ne_addr_next; ++ ne_addr_resolve; ++ ne_addr_result; ++ ne_iaddr_cmp; ++ ne_iaddr_free; ++ ne_iaddr_make; ++ ne_iaddr_print; ++ ne_iaddr_reverse; ++ ne_iaddr_typeof; ++ ne_sock_accept; ++ ne_sock_accept_ssl; ++ ne_sock_block; ++ ne_sock_cipher; ++ ne_sock_close; ++ ne_sock_connect; ++ ne_sock_connect_ssl; ++ ne_sock_connect_timeout; ++ ne_sock_create; ++ ne_sock_error; ++ ne_sock_exit; ++ ne_sock_fd; ++ ne_sock_fullread; ++ ne_sock_fullwrite; ++ ne_sock_init; ++ ne_sock_peek; ++ ne_sock_peer; ++ ne_sock_prebind; ++ ne_sock_read; ++ ne_sock_read_timeout; ++ ne_sock_readline; ++ ne_sock_sessid; ++ ne__ssl_set_verify_err; ++ ne_close_connection; ++ ne_fill_proxy_uri; ++ ne_fill_server_uri; ++ ne_get_error; ++ ne_get_scheme; ++ ne_get_server_hostport; ++ ne_get_session_flag; ++ ne_hook_close_conn; ++ ne_hook_create_request; ++ ne_hook_destroy_request; ++ ne_hook_destroy_session; ++ ne_hook_post_headers; ++ ne_hook_post_send; ++ ne_hook_pre_send; ++ ne_session_create; ++ ne_session_destroy; ++ ne_session_proxy; ++ ne_set_addrlist; ++ ne_set_connect_timeout; ++ ne_set_error; ++ ne_set_localaddr; ++ ne_set_notifier; ++ ne_set_progress; ++ ne_set_read_timeout; ++ ne_set_session_flag; ++ ne_set_session_private; ++ ne_set_useragent; ++ ne_ssl_cert_validity; ++ ne_ssl_provide_clicert; ++ ne_ssl_set_verify; ++ ne_ssl_trust_cert; ++ ne_unhook_close_conn; ++ ne_unhook_create_request; ++ ne_unhook_destroy_request; ++ ne_unhook_destroy_session; ++ ne_unhook_post_headers; ++ ne_unhook_post_send; ++ ne_unhook_pre_send; ++ ne_version_pre_http11; ++ ne_accept_2xx; ++ ne_accept_always; ++ ne_add_request_header; ++ ne_add_response_body_reader; ++ ne_begin_request; ++ ne_discard_response; ++ ne_end_request; ++ ne_get_request_flag; ++ ne_get_request_private; ++ ne_get_response_header; ++ ne_get_session; ++ ne_get_session_private; ++ ne_get_status; ++ ne_print_request_header; ++ ne_read_response_block; ++ ne_read_response_to_fd; ++ ne_request_create; ++ ne_request_destroy; ++ ne_request_dispatch; ++ ne_response_header_iterate; ++ ne_set_request_body_buffer; ++ ne_set_request_body_fd; ++ ne_set_request_body_provider; ++ ne_set_request_flag; ++ ne_set_request_private; ++ ne_redirect_location; ++ ne_redirect_register; ++ ne_propfind_allprop; ++ ne_propfind_create; ++ ne_propfind_current_private; ++ ne_propfind_destroy; ++ ne_propfind_get_parser; ++ ne_propfind_get_request; ++ ne_propfind_named; ++ ne_propfind_set_private; ++ ne_propnames; ++ ne_proppatch; ++ ne_propset_iterate; ++ ne_propset_lang; ++ ne_propset_private; ++ ne_propset_status; ++ ne_propset_value; ++ ne_simple_propfind; ++ ne_ascii_to_md5; ++ ne_md5_create_ctx; ++ ne_md5_destroy_ctx; ++ ne_md5_dup_ctx; ++ ne_md5_finish_ascii; ++ ne_md5_finish_ctx; ++ ne_md5_process_block; ++ ne_md5_process_bytes; ++ ne_md5_read_ctx; ++ ne_md5_reset_ctx; ++ ne_md5_stream; ++ ne_md5_to_ascii; ++ ne_lock; ++ ne_lock_copy; ++ ne_lock_create; ++ ne_lock_destroy; ++ ne_lock_discover; ++ ne_lock_free; ++ ne_lock_refresh; ++ ne_lock_using_parent; ++ ne_lock_using_resource; ++ ne_lockstore_add; ++ ne_lockstore_create; ++ ne_lockstore_destroy; ++ ne_lockstore_findbyuri; ++ ne_lockstore_first; ++ ne_lockstore_next; ++ ne_lockstore_register; ++ ne_lockstore_remove; ++ ne_unlock; ++ ne_i18n_init; ++ ne_asctime_parse; ++ ne_httpdate_parse; ++ ne_iso8601_parse; ++ ne_rfc1036_parse; ++ ne_rfc1123_date; ++ ne_rfc1123_parse; ++ ne_decompress_destroy; ++ ne_decompress_reader; ++ ne_add_depth_header; ++ ne_copy; ++ ne_delete; ++ ne_get; ++ ne_get_content_type; ++ ne_get_range; ++ ne_getmodtime; ++ ne_mkcol; ++ ne_move; ++ ne_options; ++ ne_options2; ++ ne_post; ++ ne_put; ++ ne_add_proxy_auth; ++ ne_add_server_auth; ++ ne_forget_auth; ++ ne_set_proxy_auth; ++ ne_set_server_auth; ++ ne_calloc; ++ ne_malloc; ++ ne_oom_callback; ++ ne_realloc; ++ ne_strdup; ++ ne_strndup; ++ ne_acl_set; ++ ne_207_create; ++ ne_207_destroy; ++ ne_207_get_current_propstat; ++ ne_207_get_current_response; ++ ne_207_set_propstat_handlers; ++ ne_207_set_response_handlers; ++ ne_accept_207; ++ ne_simple_request; ++ local: ++ *; ++}; diff --git a/neon/neon_exports_win.patch b/neon/neon_exports_win.patch new file mode 100644 index 000000000000..479f03a9d6bc --- /dev/null +++ b/neon/neon_exports_win.patch @@ -0,0 +1,295 @@ +--- misc/neon-0.28.2/src/exports.map 2009-09-29 10:28:13.531250000 +0200 ++++ misc/build/neon-0.28.2/src/exports.map 2009-09-21 12:16:53.453125000 +0200 +@@ -0,0 +1,292 @@ ++NEON_0_28_2 { ++ global: ++ ne_sspi_authenticate; ++ ne_sspi_clear_context; ++ ne_sspi_create_context; ++ ne_sspi_deinit; ++ ne_sspi_destroy_context; ++ ne_sspi_init; ++ ne__negotiate_ssl; ++ ne__ssl_exit; ++ ne__ssl_init; ++ ne_ssl_cert_cmp; ++ ne_ssl_cert_digest; ++ ne_ssl_cert_export; ++ ne_ssl_cert_free; ++ ne_ssl_cert_identity; ++ ne_ssl_cert_import; ++ ne_ssl_cert_issuer; ++ ne_ssl_cert_read; ++ ne_ssl_cert_signedby; ++ ne_ssl_cert_subject; ++ ne_ssl_cert_validity_time; ++ ne_ssl_cert_write; ++ ne_ssl_clicert_decrypt; ++ ne_ssl_clicert_encrypted; ++ ne_ssl_clicert_free; ++ ne_ssl_clicert_name; ++ ne_ssl_clicert_owner; ++ ne_ssl_clicert_read; ++ ne_ssl_context_create; ++ ne_ssl_context_destroy; ++ ne_ssl_context_keypair; ++ ne_ssl_context_set_flag; ++ ne_ssl_context_set_verify; ++ ne_ssl_context_trustcert; ++ ne_ssl_dname_cmp; ++ ne_ssl_readable_dname; ++ ne_ssl_set_clicert; ++ ne_ssl_trust_default_ca; ++ ne_xml_dispatch_request; ++ ne_xml_parse_response; ++ ne_xml_create; ++ ne_xml_currentline; ++ ne_xml_destroy; ++ ne_xml_doc_encoding; ++ ne_xml_failed; ++ ne_xml_get_attr; ++ ne_xml_get_error; ++ ne_xml_mapid; ++ ne_xml_parse; ++ ne_xml_parse_v; ++ ne_xml_push_handler; ++ ne_xml_resolve_nspace; ++ ne_xml_set_error; ++ ne_debug; ++ ne_debug_init; ++ ne_debug_mask; ++ ne_debug_stream; ++ ne_has_support; ++ ne_parse_statusline; ++ ne_version_match; ++ ne_version_string; ++ ne_path_childof; ++ ne_path_compare; ++ ne_path_escape; ++ ne_path_has_trailing_slash; ++ ne_path_parent; ++ ne_path_unescape; ++ ne_uri_cmp; ++ ne_uri_copy; ++ ne_uri_defaultport; ++ ne_uri_free; ++ ne_uri_parse; ++ ne_uri_resolve; ++ ne_uri_unparse; ++ ne_base64; ++ ne_buffer_altered; ++ ne_buffer_append; ++ ne_buffer_clear; ++ ne_buffer_concat; ++ ne_buffer_create; ++ ne_buffer_destroy; ++ ne_buffer_finish; ++ ne_buffer_grow; ++ ne_buffer_ncreate; ++ ne_buffer_snprintf; ++ ne_buffer_zappend; ++ ne_concat; ++ ne_qtoken; ++ ne_shave; ++ ne_snprintf; ++ ne_strcasecmp; ++ ne_strclean; ++ ne_strerror; ++ ne_strncasecmp; ++ ne_token; ++ ne_tolower_array; ++ ne_unbase64; ++ ne_vsnprintf; ++ ne__sock_sslsock; ++ ne_addr_destroy; ++ ne_addr_error; ++ ne_addr_first; ++ ne_addr_next; ++ ne_addr_resolve; ++ ne_addr_result; ++ ne_iaddr_cmp; ++ ne_iaddr_free; ++ ne_iaddr_make; ++ ne_iaddr_print; ++ ne_iaddr_reverse; ++ ne_iaddr_typeof; ++ ne_sock_accept; ++ ne_sock_accept_ssl; ++ ne_sock_block; ++ ne_sock_cipher; ++ ne_sock_close; ++ ne_sock_connect; ++ ne_sock_connect_ssl; ++ ne_sock_connect_timeout; ++ ne_sock_create; ++ ne_sock_error; ++ ne_sock_exit; ++ ne_sock_fd; ++ ne_sock_fullread; ++ ne_sock_fullwrite; ++ ne_sock_init; ++ ne_sock_peek; ++ ne_sock_peer; ++ ne_sock_prebind; ++ ne_sock_read; ++ ne_sock_read_timeout; ++ ne_sock_readline; ++ ne_sock_sessid; ++ ne__ssl_set_verify_err; ++ ne_close_connection; ++ ne_fill_proxy_uri; ++ ne_fill_server_uri; ++ ne_get_error; ++ ne_get_scheme; ++ ne_get_server_hostport; ++ ne_get_session_flag; ++ ne_hook_close_conn; ++ ne_hook_create_request; ++ ne_hook_destroy_request; ++ ne_hook_destroy_session; ++ ne_hook_post_headers; ++ ne_hook_post_send; ++ ne_hook_pre_send; ++ ne_session_create; ++ ne_session_destroy; ++ ne_session_proxy; ++ ne_set_addrlist; ++ ne_set_connect_timeout; ++ ne_set_error; ++ ne_set_localaddr; ++ ne_set_notifier; ++ ne_set_progress; ++ ne_set_read_timeout; ++ ne_set_session_flag; ++ ne_set_session_private; ++ ne_set_useragent; ++ ne_ssl_cert_validity; ++ ne_ssl_provide_clicert; ++ ne_ssl_set_verify; ++ ne_ssl_trust_cert; ++ ne_unhook_close_conn; ++ ne_unhook_create_request; ++ ne_unhook_destroy_request; ++ ne_unhook_destroy_session; ++ ne_unhook_post_headers; ++ ne_unhook_post_send; ++ ne_unhook_pre_send; ++ ne_version_pre_http11; ++ ne_accept_2xx; ++ ne_accept_always; ++ ne_add_request_header; ++ ne_add_response_body_reader; ++ ne_begin_request; ++ ne_discard_response; ++ ne_end_request; ++ ne_get_request_flag; ++ ne_get_request_private; ++ ne_get_response_header; ++ ne_get_session; ++ ne_get_session_private; ++ ne_get_status; ++ ne_print_request_header; ++ ne_read_response_block; ++ ne_read_response_to_fd; ++ ne_request_create; ++ ne_request_destroy; ++ ne_request_dispatch; ++ ne_response_header_iterate; ++ ne_set_request_body_buffer; ++ ne_set_request_body_fd; ++ ne_set_request_body_provider; ++ ne_set_request_flag; ++ ne_set_request_private; ++ ne_redirect_location; ++ ne_redirect_register; ++ ne_propfind_allprop; ++ ne_propfind_create; ++ ne_propfind_current_private; ++ ne_propfind_destroy; ++ ne_propfind_get_parser; ++ ne_propfind_get_request; ++ ne_propfind_named; ++ ne_propfind_set_private; ++ ne_propnames; ++ ne_proppatch; ++ ne_propset_iterate; ++ ne_propset_lang; ++ ne_propset_private; ++ ne_propset_status; ++ ne_propset_value; ++ ne_simple_propfind; ++ ne_ascii_to_md5; ++ ne_md5_create_ctx; ++ ne_md5_destroy_ctx; ++ ne_md5_dup_ctx; ++ ne_md5_finish_ascii; ++ ne_md5_finish_ctx; ++ ne_md5_process_block; ++ ne_md5_process_bytes; ++ ne_md5_read_ctx; ++ ne_md5_reset_ctx; ++ ne_md5_stream; ++ ne_md5_to_ascii; ++ ne_lock; ++ ne_lock_copy; ++ ne_lock_create; ++ ne_lock_destroy; ++ ne_lock_discover; ++ ne_lock_free; ++ ne_lock_refresh; ++ ne_lock_using_parent; ++ ne_lock_using_resource; ++ ne_lockstore_add; ++ ne_lockstore_create; ++ ne_lockstore_destroy; ++ ne_lockstore_findbyuri; ++ ne_lockstore_first; ++ ne_lockstore_next; ++ ne_lockstore_register; ++ ne_lockstore_remove; ++ ne_unlock; ++ ne_i18n_init; ++ ne_asctime_parse; ++ ne_httpdate_parse; ++ ne_iso8601_parse; ++ ne_rfc1036_parse; ++ ne_rfc1123_date; ++ ne_rfc1123_parse; ++ ne_decompress_destroy; ++ ne_decompress_reader; ++ ne_add_depth_header; ++ ne_copy; ++ ne_delete; ++ ne_get; ++ ne_get_content_type; ++ ne_get_range; ++ ne_getmodtime; ++ ne_mkcol; ++ ne_move; ++ ne_options; ++ ne_options2; ++ ne_post; ++ ne_put; ++ ne_add_proxy_auth; ++ ne_add_server_auth; ++ ne_forget_auth; ++ ne_set_proxy_auth; ++ ne_set_server_auth; ++ ne_calloc; ++ ne_malloc; ++ ne_oom_callback; ++ ne_realloc; ++ ne_strdup; ++ ne_strndup; ++ ne_acl_set; ++ ne_207_create; ++ ne_207_destroy; ++ ne_207_get_current_propstat; ++ ne_207_get_current_response; ++ ne_207_set_propstat_handlers; ++ ne_207_set_response_handlers; ++ ne_accept_207; ++ ne_simple_request; ++ local: ++ *; ++}; diff --git a/neon/prj/d.lst b/neon/prj/d.lst index c9cf72163a44..a6c269e96600 100644 --- a/neon/prj/d.lst +++ b/neon/prj/d.lst @@ -2,5 +2,7 @@ mkdir: %_DEST%\inc%_EXT%\external mkdir: %_DEST%\inc%_EXT%\external\neon ..\version.mk %_DEST%\inc%_EXT%\external\neon\version.mk ..\%__SRC%\inc\ne_*.h %_DEST%\inc%_EXT%\external\neon\ne_*.h -..\%__SRC%\slb\neon.lib %_DEST%\lib%_EXT%\neon.lib -..\%__SRC%\lib\libneon.a %_DEST%\lib%_EXT%\libneon.a +..\%__SRC%\lib\ineon.lib %_DEST%\lib%_EXT%\ineon.lib +..\%__SRC%\bin\neon*.dll %_DEST%\bin%_EXT%\neon*.dll +..\%__SRC%\lib\libneon*.so %_DEST%\lib%_EXT%\libneon*.so +..\%__SRC%\lib\libneon*.dylib %_DEST%\lib%_EXT%\libneon*.dylib
\ No newline at end of file diff --git a/nss/dtoa.patch b/nss/dtoa.patch new file mode 100644 index 000000000000..3632df335f83 --- /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 26bc88c80146..cdc7aad019bf 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 diff --git a/zlib/zlib-1.1.4.patch b/zlib/zlib-1.1.4.patch index 34f2fdde44ee..6b76c9114e6e 100644 --- a/zlib/zlib-1.1.4.patch +++ b/zlib/zlib-1.1.4.patch @@ -63,7 +63,7 @@ + $(SLO_X64)$/trees.obj \ + $(SLO_X64)$/zutil.obj \ + $(SLO_X64)$/unzip.obj \ -+ $(SLO)$/ioapi.obj ++ $(SLO_X64)$/ioapi.obj + +LIB1TARGET_X64=$(SLB_X64)$/$(TARGET).lib +LIB1OBJFILES_X64=$(SLOFILES_X64) |