diff --git a/ext/nss-wdk/build-x64.bat b/ext/nss-wdk/build-x64.bat new file mode 100644 index 00000000..3b153db9 --- /dev/null +++ b/ext/nss-wdk/build-x64.bat @@ -0,0 +1,12 @@ +@echo off +set INCLUDE=c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt;c:\WinDDK\7600.16385.1\inc\ddk +set LIB=c:\WinDDK\7600.16385.1\lib\wnet\amd64;c:\WinDDK\7600.16385.1\lib\Crt\amd64 +set PATH=c:\WinDDK\7600.16385.1\bin\x86\amd64;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;c:\mozilla-build\msys\bin;c:\mozilla-build\moztools-x64\bin +set BUILD_OPT=1 +set USE_64=1 +set WINDDK_BUILD=1 +cd mozilla\security\nss +make nss_build_all +cd ..\..\.. +echo.Finished! +pause diff --git a/ext/nss-wdk/build-x86.bat b/ext/nss-wdk/build-x86.bat new file mode 100644 index 00000000..f043d37b --- /dev/null +++ b/ext/nss-wdk/build-x86.bat @@ -0,0 +1,12 @@ +@echo off +set INCLUDE=c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt +set LIB=c:\WinDDK\7600.16385.1\lib\wxp\i386;c:\WinDDK\7600.16385.1\lib\Crt\i386 +set PATH=c:\WinDDK\7600.16385.1\bin\x86\x86;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;c:\mozilla-build\msys\bin;c:\mozilla-build\moztools\bin;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE +set BUILD_OPT=1 +set USE_64= +set WINDDK_BUILD=1 +cd mozilla\security\nss +make nss_build_all +cd ..\..\.. +echo.Finished! +pause diff --git a/ext/nss-wdk/nss-wdk.patch b/ext/nss-wdk/nss-wdk.patch new file mode 100644 index 00000000..dc57e8af --- /dev/null +++ b/ext/nss-wdk/nss-wdk.patch @@ -0,0 +1,273 @@ +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/dbm/include/mcom_db.h nss-3.12.7/mozilla/dbm/include/mcom_db.h +--- nss-3.12.7.orig/mozilla/dbm/include/mcom_db.h 2009-06-05 01:18:50 +0200 ++++ nss-3.12.7/mozilla/dbm/include/mcom_db.h 2010-08-16 18:47:14 +0200 +@@ -40,6 +40,15 @@ + #define off_t long + #endif + ++#ifdef WINDDK_BUILD ++#ifndef stat ++#define stat _stat ++#endif ++#ifndef getpid ++#define getpid GetCurrentProcessId ++#endif ++#endif ++ + #ifndef macintosh + #include + #endif +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/dbm/src/mktemp.c nss-3.12.7/mozilla/dbm/src/mktemp.c +--- nss-3.12.7.orig/mozilla/dbm/src/mktemp.c 2009-06-05 01:19:30 +0200 ++++ nss-3.12.7/mozilla/dbm/src/mktemp.c 2010-08-16 18:47:14 +0200 +@@ -45,13 +45,13 @@ + #include + #include "mcom_db.h" + +-#ifndef _WINDOWS +-#include +-#endif +- + #ifdef _WINDOWS ++#ifndef WINDDK_BUILD + #include ++#endif + #include "winfile.h" ++#else ++#include + #endif + + static int _gettemp(char *path, register int *doopen, int extraFlags); +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/nsprpub/config/config.mk nss-3.12.7/mozilla/nsprpub/config/config.mk +--- nss-3.12.7.orig/mozilla/nsprpub/config/config.mk 2010-07-09 04:10:32 +0200 ++++ nss-3.12.7/mozilla/nsprpub/config/config.mk 2010-08-16 18:47:14 +0200 +@@ -154,6 +154,15 @@ + DEFINES += -DMOZ_UNICODE + endif + ++ifdef WINDDK_BUILD ++OS_CFLAGS += -DWINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif ++ + #################################################################### + # + # Configuration for the release process +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/nsprpub/pr/src/Makefile.in nss-3.12.7/mozilla/nsprpub/pr/src/Makefile.in +--- nss-3.12.7.orig/mozilla/nsprpub/pr/src/Makefile.in 2009-12-19 09:06:06 +0100 ++++ nss-3.12.7/mozilla/nsprpub/pr/src/Makefile.in 2010-08-16 18:47:14 +0200 +@@ -197,9 +197,17 @@ + ifdef NS_USE_GCC + OS_LIBS = -ladvapi32 -lwsock32 -lwinmm + else ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS = advapi32.lib wsock32.lib winmm.lib msvcrt_win2003.obj ++else ++OS_LIBS = advapi32.lib wsock32.lib winmm.lib msvcrt_winxp.obj ++endif ++else + OS_LIBS = advapi32.lib wsock32.lib winmm.lib + endif + endif ++endif + + ifeq ($(OS_ARCH),WINCE) + OS_LIBS = ws2.lib +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c nss-3.12.7/mozilla/nsprpub/pr/src/md/windows/ntmisc.c +--- nss-3.12.7.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c 2009-08-27 01:27:44 +0200 ++++ nss-3.12.7/mozilla/nsprpub/pr/src/md/windows/ntmisc.c 2010-08-16 18:47:14 +0200 +@@ -624,7 +624,11 @@ + */ + hasFdInheritBuffer = (attr && attr->fdInheritBuffer); + if ((envp == NULL) && hasFdInheritBuffer) { ++#ifdef WINDDK_BUILD ++ envp = getenv; ++#else + envp = environ; ++#endif + } + + if (envp != NULL) { +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/coreconf/WIN32.mk nss-3.12.7/mozilla/security/coreconf/WIN32.mk +--- nss-3.12.7.orig/mozilla/security/coreconf/WIN32.mk 2010-06-24 01:28:52 +0200 ++++ nss-3.12.7/mozilla/security/coreconf/WIN32.mk 2010-08-16 18:47:14 +0200 +@@ -118,6 +118,14 @@ + else # !NS_USE_GCC + OS_CFLAGS += -W3 -nologo -D_CRT_SECURE_NO_WARNINGS + OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS ++ ifdef WINDDK_BUILD ++ OS_CFLAGS += -DWINDDK_BUILD ++ ifdef USE_64 ++ OS_LIBS += msvcrt_win2003.obj ++ else ++ OS_LIBS += msvcrt_winxp.obj ++ endif ++ endif + ifeq ($(_MSC_VER),$(_MSC_VER_6)) + ifndef MOZ_DEBUG_SYMBOLS + OS_DLLFLAGS += -PDB:NONE +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/coreconf/arch.mk nss-3.12.7/mozilla/security/coreconf/arch.mk +--- nss-3.12.7.orig/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:48 +0200 ++++ nss-3.12.7/mozilla/security/coreconf/arch.mk 2010-08-16 18:47:14 +0200 +@@ -268,7 +268,15 @@ + # the uname.exe in the MSYS toolkit. + # + ifeq (MINGW32_NT,$(findstring MINGW32_NT,$(OS_ARCH))) +- OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH)) ++ ifdef WINDDK_BUILD ++ ifdef USE_64 ++ OS_RELEASE := 5.2 ++ else ++ OS_RELEASE := 5.1 ++ endif ++ else ++ OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH)) ++ endif + OS_ARCH = WINNT + USE_MSYS = 1 + ifndef CPU_ARCH +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/cmd/platlibs.mk nss-3.12.7/mozilla/security/nss/cmd/platlibs.mk +--- nss-3.12.7.orig/mozilla/security/nss/cmd/platlibs.mk 2010-06-12 02:58:32 +0200 ++++ nss-3.12.7/mozilla/security/nss/cmd/platlibs.mk 2010-08-16 18:47:14 +0200 +@@ -249,3 +249,11 @@ + endif + + JAR_LIBS = $(DIST)/lib/$(LIB_PREFIX)jar.$(LIB_SUFFIX) ++ ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/cmd/selfserv/selfserv.c nss-3.12.7/mozilla/security/nss/cmd/selfserv/selfserv.c +--- nss-3.12.7.orig/mozilla/security/nss/cmd/selfserv/selfserv.c 2010-04-03 20:27:26 +0200 ++++ nss-3.12.7/mozilla/security/nss/cmd/selfserv/selfserv.c 2010-08-16 18:47:14 +0200 +@@ -51,8 +51,13 @@ + #endif + + #if defined(_WINDOWS) ++#ifdef WINDDK_BUILD ++#include ++#define getpid GetCurrentProcessId ++#else + #include /* for getpid() */ + #endif ++#endif + + #include + #include +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c nss-3.12.7/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c +--- nss-3.12.7.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2009-03-10 21:18:06 +0100 ++++ nss-3.12.7/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2010-08-16 18:47:14 +0200 +@@ -80,7 +80,11 @@ + + #elif defined(_MSC_VER) + ++#ifdef WINDDK_BUILD ++#include ++#else + #include ++#endif + + void freebl_cpuid(unsigned long op, unsigned long *eax, + unsigned long *ebx, unsigned long *ecx, +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/freebl/win_rand.c nss-3.12.7/mozilla/security/nss/lib/freebl/win_rand.c +--- nss-3.12.7.orig/mozilla/security/nss/lib/freebl/win_rand.c 2009-07-15 05:34:04 +0200 ++++ nss-3.12.7/mozilla/security/nss/lib/freebl/win_rand.c 2010-08-16 18:47:14 +0200 +@@ -50,6 +50,13 @@ + #include + #include + #endif ++ ++#ifdef WINDDK_BUILD ++#ifndef stat ++#define stat _stat ++#endif ++#endif ++ + #include + #include "prio.h" + #include "prerror.h" +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk nss-3.12.7/mozilla/security/nss/lib/softoken/legacydb/config.mk +--- nss-3.12.7.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk 2009-06-11 02:55:48 +0200 ++++ nss-3.12.7/mozilla/security/nss/lib/softoken/legacydb/config.mk 2010-08-16 18:47:14 +0200 +@@ -96,3 +96,11 @@ + ifeq ($(OS_TARGET),WINCE) + DEFINES += -DDBM_USING_NSPR + endif ++ ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/sqlite/sqlite3.c nss-3.12.7/mozilla/security/nss/lib/sqlite/sqlite3.c +--- nss-3.12.7.orig/mozilla/security/nss/lib/sqlite/sqlite3.c 2010-01-08 05:42:38 +0100 ++++ nss-3.12.7/mozilla/security/nss/lib/sqlite/sqlite3.c 2010-08-16 18:47:14 +0200 +@@ -10980,7 +10980,8 @@ + ** localtime_s(). + */ + #if !defined(HAVE_LOCALTIME_R) && !defined(HAVE_LOCALTIME_S) && \ +- defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) ++ defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) && \ ++ !defined(WINDDK_BUILD) + #define HAVE_LOCALTIME_S 1 + #endif + +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/ssl/sslimpl.h nss-3.12.7/mozilla/security/nss/lib/ssl/sslimpl.h +--- nss-3.12.7.orig/mozilla/security/nss/lib/ssl/sslimpl.h 2010-02-10 00:33:50 +0100 ++++ nss-3.12.7/mozilla/security/nss/lib/ssl/sslimpl.h 2010-08-16 18:47:14 +0200 +@@ -1621,8 +1621,13 @@ + #elif defined(_WIN32_WCE) + #define SSL_GETPID GetCurrentProcessId + #elif defined(WIN32) ++#ifdef WINDDK_BUILD ++#include ++#define SSL_GETPID GetCurrentProcessId ++#else + extern int __cdecl _getpid(void); + #define SSL_GETPID _getpid ++#endif + #else + #define SSL_GETPID() 0 + #endif +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/zlib/config.mk nss-3.12.7/mozilla/security/nss/lib/zlib/config.mk +--- nss-3.12.7.orig/mozilla/security/nss/lib/zlib/config.mk 2009-11-07 01:13:10 +0100 ++++ nss-3.12.7/mozilla/security/nss/lib/zlib/config.mk 2010-08-16 18:47:14 +0200 +@@ -46,3 +46,11 @@ + PROGRAM = + + EXTRA_LIBS = $(LIBRARY) ++ ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif +diff -ruN --strip-trailing-cr nss-3.12.7.orig/mozilla/security/nss/lib/zlib/gzio.c nss-3.12.7/mozilla/security/nss/lib/zlib/gzio.c +--- nss-3.12.7.orig/mozilla/security/nss/lib/zlib/gzio.c 2009-11-07 01:13:10 +0100 ++++ nss-3.12.7/mozilla/security/nss/lib/zlib/gzio.c 2010-08-16 18:47:14 +0200 +@@ -11,6 +11,12 @@ + + #include "zutil.h" + ++#ifdef WINDDK_BUILD ++#ifndef vsnprintf ++#define vsnprintf _vsnprintf ++#endif ++#endif ++ + #ifdef NO_DEFLATE /* for compatibility with old definition */ + # define NO_GZCOMPRESS + #endif