summary refs log blame commit diff stats
path: root/win32/ext/nss-wdk/nss-wdk.patch
blob: 7d663491660544e49f1ff069a0d19aadc1a741bd (plain) (tree)
1
2
3


                                                                                                                    















                                   


                                                                                                          

















                                                                       



                                                                                                                          














                                                                     



                                                                                                                              
















                                                                



                                                                                                                                              










                                                          





                                                                                                                              











                                                   


                                                                                                                            
















                                                            


                                                                                                                                  











                                                      


                                                                                                                                                  













                                          


                                                                                                                                                          











                                                         


                                                                                                                                              













                       



                                                                                                                                                                  










                              


                                                                                                                                            









                                                                  



                                                                                                                                      












                                       


                                                                                                                                        











                              
diff -ruN --strip-trailing-cr nss-3.13.6.orig/mozilla/dbm/include/mcom_db.h nss-3.13.6/mozilla/dbm/include/mcom_db.h
--- nss-3.13.6.orig/mozilla/dbm/include/mcom_db.h	2009-06-05 01:18:50 +0200
+++ nss-3.13.6/mozilla/dbm/include/mcom_db.h	2012-10-06 00:54:22 +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 <sys/types.h>
 #endif
diff -ruN --strip-trailing-cr nss-3.13.6.orig/mozilla/dbm/src/mktemp.c nss-3.13.6/mozilla/dbm/src/mktemp.c
--- nss-3.13.6.orig/mozilla/dbm/src/mktemp.c	2009-06-05 01:19:31 +0200
+++ nss-3.13.6/mozilla/dbm/src/mktemp.c	2012-10-06 00:54:22 +0200
@@ -45,13 +45,13 @@
 #include <ctype.h>
 #include "mcom_db.h"
 
-#ifndef _WINDOWS
-#include <unistd.h>
-#endif
-
 #ifdef _WINDOWS
+#ifndef WINDDK_BUILD
 #include <process.h>
+#endif
 #include "winfile.h"
+#else
+#include <unistd.h>
 #endif
 
 static int _gettemp(char *path, register int *doopen, int extraFlags);
diff -ruN --strip-trailing-cr nss-3.13.6.orig/mozilla/nsprpub/config/config.mk nss-3.13.6/mozilla/nsprpub/config/config.mk
--- nss-3.13.6.orig/mozilla/nsprpub/config/config.mk	2012-03-06 14:13:38 +0100
+++ nss-3.13.6/mozilla/nsprpub/config/config.mk	2012-10-06 00:54:22 +0200
@@ -132,6 +132,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.13.6.orig/mozilla/nsprpub/pr/src/Makefile.in nss-3.13.6/mozilla/nsprpub/pr/src/Makefile.in
--- nss-3.13.6.orig/mozilla/nsprpub/pr/src/Makefile.in	2012-03-06 14:13:59 +0100
+++ nss-3.13.6/mozilla/nsprpub/pr/src/Makefile.in	2012-10-06 00:54:22 +0200
@@ -170,9 +170,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.13.6.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c nss-3.13.6/mozilla/nsprpub/pr/src/md/windows/ntmisc.c
--- nss-3.13.6.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c	2012-03-06 14:14:17 +0100
+++ nss-3.13.6/mozilla/nsprpub/pr/src/md/windows/ntmisc.c	2012-10-06 00:54:22 +0200
@@ -593,7 +593,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.13.6.orig/mozilla/security/coreconf/WIN32.mk nss-3.13.6/mozilla/security/coreconf/WIN32.mk
--- nss-3.13.6.orig/mozilla/security/coreconf/WIN32.mk	2011-09-14 19:59:43 +0200
+++ nss-3.13.6/mozilla/security/coreconf/WIN32.mk	2012-10-06 00:54:22 +0200
@@ -146,6 +146,14 @@
     OS_CFLAGS += -W3 -nologo -D_CRT_SECURE_NO_WARNINGS \
 		 -D_CRT_NONSTDC_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.13.6.orig/mozilla/security/coreconf/arch.mk nss-3.13.6/mozilla/security/coreconf/arch.mk
--- nss-3.13.6.orig/mozilla/security/coreconf/arch.mk	2009-06-05 04:14:49 +0200
+++ nss-3.13.6/mozilla/security/coreconf/arch.mk	2012-10-06 00:54:22 +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.13.6.orig/mozilla/security/nss/cmd/platlibs.mk nss-3.13.6/mozilla/security/nss/cmd/platlibs.mk
--- nss-3.13.6.orig/mozilla/security/nss/cmd/platlibs.mk	2010-06-12 02:58:33 +0200
+++ nss-3.13.6/mozilla/security/nss/cmd/platlibs.mk	2012-10-06 00:54:22 +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.13.6.orig/mozilla/security/nss/cmd/selfserv/selfserv.c nss-3.13.6/mozilla/security/nss/cmd/selfserv/selfserv.c
--- nss-3.13.6.orig/mozilla/security/nss/cmd/selfserv/selfserv.c	2012-03-01 19:38:24 +0100
+++ nss-3.13.6/mozilla/security/nss/cmd/selfserv/selfserv.c	2012-10-06 00:54:22 +0200
@@ -51,8 +51,13 @@
 #endif
 
 #if defined(_WINDOWS)
+#ifdef WINDDK_BUILD
+#include <windows.h>
+#define getpid GetCurrentProcessId
+#else
 #include <process.h>	/* for getpid() */
 #endif
+#endif
 
 #include <signal.h>
 #include <stdlib.h>
diff -ruN --strip-trailing-cr nss-3.13.6.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c nss-3.13.6/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c
--- nss-3.13.6.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c	2011-09-30 18:07:16 +0200
+++ nss-3.13.6/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c	2012-10-06 00:54:22 +0200
@@ -80,7 +80,11 @@
 
 #elif defined(_MSC_VER)
 
+#ifdef WINDDK_BUILD
+#include <ntddk.h>
+#else
 #include <intrin.h>
+#endif
 
 void freebl_cpuid(unsigned long op, unsigned long *eax, 
            unsigned long *ebx, unsigned long *ecx, 
diff -ruN --strip-trailing-cr nss-3.13.6.orig/mozilla/security/nss/lib/freebl/win_rand.c nss-3.13.6/mozilla/security/nss/lib/freebl/win_rand.c
--- nss-3.13.6.orig/mozilla/security/nss/lib/freebl/win_rand.c	2011-01-06 20:00:52 +0100
+++ nss-3.13.6/mozilla/security/nss/lib/freebl/win_rand.c	2012-10-06 00:54:22 +0200
@@ -50,6 +50,13 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #endif
+
+#ifdef WINDDK_BUILD
+#ifndef stat
+#define stat _stat
+#endif
+#endif
+
 #include <stdio.h>
 #include "prio.h"
 #include "prerror.h"
diff -ruN --strip-trailing-cr nss-3.13.6.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk nss-3.13.6/mozilla/security/nss/lib/softoken/legacydb/config.mk
--- nss-3.13.6.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk	2011-11-06 00:01:08 +0100
+++ nss-3.13.6/mozilla/security/nss/lib/softoken/legacydb/config.mk	2012-10-06 00:54:22 +0200
@@ -95,3 +95,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.13.6.orig/mozilla/security/nss/lib/sqlite/sqlite3.c nss-3.13.6/mozilla/security/nss/lib/sqlite/sqlite3.c
--- nss-3.13.6.orig/mozilla/security/nss/lib/sqlite/sqlite3.c	2010-01-08 06:42:38 +0100
+++ nss-3.13.6/mozilla/security/nss/lib/sqlite/sqlite3.c	2012-10-06 00:54:22 +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.13.6.orig/mozilla/security/nss/lib/ssl/sslimpl.h nss-3.13.6/mozilla/security/nss/lib/ssl/sslimpl.h
--- nss-3.13.6.orig/mozilla/security/nss/lib/ssl/sslimpl.h	2012-02-15 22:52:08 +0100
+++ nss-3.13.6/mozilla/security/nss/lib/ssl/sslimpl.h	2012-10-06 00:54:22 +0200
@@ -1657,8 +1657,13 @@
 #elif defined(_WIN32_WCE)
 #define SSL_GETPID GetCurrentProcessId
 #elif defined(WIN32)
+#ifdef WINDDK_BUILD
+#include <windows.h>
+#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.13.6.orig/mozilla/security/nss/lib/zlib/config.mk nss-3.13.6/mozilla/security/nss/lib/zlib/config.mk
--- nss-3.13.6.orig/mozilla/security/nss/lib/zlib/config.mk	2009-11-07 02:13:10 +0100
+++ nss-3.13.6/mozilla/security/nss/lib/zlib/config.mk	2012-10-06 00:54:22 +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
' href='#n92'>92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184


















                                                                            

                              

               
                      
 
                                                      
                                                               
                                                                  




                                                                                      
                                                                 



                                                                                     
                                                                



                                                                  
                                                                


                                                    
                                                             



                                                                        


                                                    
                               
                                                   
                                       
                                                    
                                    
                                                     
                                         
                                                   

                               


                                                                     

                                         

                                                                     
                                
                                                     


                                     
                                                               
                                  


                                                                        
                                     



                                                             
                                  

                                                    
                                  
                                                            




                                          
                                                             
                                      
                                                      
                                                     
                                                      

                                                        
                                  
                                                     
                                   
                                                       




                                       
                                                   


                             
                                                 
                       
                                                              

                                   
                                                              
                                
                            
                                                              
                                
                           
                                                              
                                 
                                                             
                                 
                                                           
                            











                                                                                                     

                                                                                                      


                                                                                                      
 






                                                 

                                                                                           



                                                                             
                                      
                                                             
                                                               




                                                                                                                       


                                                                                  
                                                        
                                                                                                


                                                                                                                                 
                                                                                                 

      
/* HexChat
 * Copyright (C) 1998-2010 Peter Zelezny.
 * Copyright (C) 2009-2013 Berke Viktor.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#ifndef HEXCHAT_COMMONPLUGIN_H
#define HEXCHAT_COMMONPLUGIN_H

#ifdef PLUGIN_C
struct _hexchat_plugin
{
	/* Keep these in sync with hexchat-plugin.h */
	/* !!don't change the order, to keep binary compat!! */
	hexchat_hook *(*hexchat_hook_command) (hexchat_plugin *ph,
		    const char *name,
		    int pri,
		    int (*callback) (char *word[], char *word_eol[], void *user_data),
		    const char *help_text,
		    void *userdata);
	hexchat_hook *(*hexchat_hook_server) (hexchat_plugin *ph,
		   const char *name,
		   int pri,
		   int (*callback) (char *word[], char *word_eol[], void *user_data),
		   void *userdata);
	hexchat_hook *(*hexchat_hook_print) (hexchat_plugin *ph,
		  const char *name,
		  int pri,
		  int (*callback) (char *word[], void *user_data),
		  void *userdata);
	hexchat_hook *(*hexchat_hook_timer) (hexchat_plugin *ph,
		  int timeout,
		  int (*callback) (void *user_data),
		  void *userdata);
	hexchat_hook *(*hexchat_hook_fd) (hexchat_plugin *ph,
		   int fd,
		   int flags,
		   int (*callback) (int fd, int flags, void *user_data),
		   void *userdata);
	void *(*hexchat_unhook) (hexchat_plugin *ph,
	      hexchat_hook *hook);
	void (*hexchat_print) (hexchat_plugin *ph,
	     const char *text);
	void (*hexchat_printf) (hexchat_plugin *ph,
	      const char *format, ...);
	void (*hexchat_command) (hexchat_plugin *ph,
	       const char *command);
	void (*hexchat_commandf) (hexchat_plugin *ph,
		const char *format, ...);
	int (*hexchat_nickcmp) (hexchat_plugin *ph,
	       const char *s1,
	       const char *s2);
	int (*hexchat_set_context) (hexchat_plugin *ph,
		   hexchat_context *ctx);
	hexchat_context *(*hexchat_find_context) (hexchat_plugin *ph,
		    const char *servname,
		    const char *channel);
	hexchat_context *(*hexchat_get_context) (hexchat_plugin *ph);
	const char *(*hexchat_get_info) (hexchat_plugin *ph,
		const char *id);
	int (*hexchat_get_prefs) (hexchat_plugin *ph,
		 const char *name,
		 const char **string,
		 int *integer);
	hexchat_list * (*hexchat_list_get) (hexchat_plugin *ph,
		const char *name);
	void (*hexchat_list_free) (hexchat_plugin *ph,
		 hexchat_list *xlist);
	const char * const * (*hexchat_list_fields) (hexchat_plugin *ph,
		   const char *name);
	int (*hexchat_list_next) (hexchat_plugin *ph,
		 hexchat_list *xlist);
	const char * (*hexchat_list_str) (hexchat_plugin *ph,
		hexchat_list *xlist,
		const char *name);
	int (*hexchat_list_int) (hexchat_plugin *ph,
		hexchat_list *xlist,
		const char *name);
	void * (*hexchat_plugingui_add) (hexchat_plugin *ph,
		     const char *filename,
		     const char *name,
		     const char *desc,
		     const char *version,
		     char *reserved);
	void (*hexchat_plugingui_remove) (hexchat_plugin *ph,
			void *handle);
	int (*hexchat_emit_print) (hexchat_plugin *ph,
			const char *event_name, ...);
	void *(*hexchat_read_fd) (hexchat_plugin *ph);
	time_t (*hexchat_list_time) (hexchat_plugin *ph,
		hexchat_list *xlist,
		const char *name);
	char *(*hexchat_gettext) (hexchat_plugin *ph,
		const char *msgid);
	void (*hexchat_send_modes) (hexchat_plugin *ph,
		  const char **targets,
		  int ntargets,
		  int modes_per_line,
		  char sign,
		  char mode);
	char *(*hexchat_strip) (hexchat_plugin *ph,
	     const char *str,
	     int len,
	     int flags);
	void (*hexchat_free) (hexchat_plugin *ph,
	    void *ptr);
	int (*hexchat_pluginpref_set_str) (hexchat_plugin *ph,
		const char *var,
		const char *value);
	int (*hexchat_pluginpref_get_str) (hexchat_plugin *ph,
		const char *var,
		char *dest);
	int (*hexchat_pluginpref_set_int) (hexchat_plugin *ph,
		const char *var,
		int value);
	int (*hexchat_pluginpref_get_int) (hexchat_plugin *ph,
		const char *var);
	int (*hexchat_pluginpref_delete) (hexchat_plugin *ph,
		const char *var);
	int (*hexchat_pluginpref_list) (hexchat_plugin *ph,
		char *dest);
	hexchat_hook *(*hexchat_hook_server_attrs) (hexchat_plugin *ph,
		   const char *name,
		   int pri,
		   int (*callback) (char *word[], char *word_eol[],
							hexchat_event_attrs *attrs, void *user_data),
		   void *userdata);
	hexchat_hook *(*hexchat_hook_print_attrs) (hexchat_plugin *ph,
		  const char *name,
		  int pri,
		  int (*callback) (char *word[], hexchat_event_attrs *attrs,
						   void *user_data),
		  void *userdata);
	int (*hexchat_emit_print_attrs) (hexchat_plugin *ph, hexchat_event_attrs *attrs,
									 const char *event_name, ...);
	hexchat_event_attrs *(*hexchat_event_attrs_create) (hexchat_plugin *ph);
	void (*hexchat_event_attrs_free) (hexchat_plugin *ph,
									  hexchat_event_attrs *attrs);

	/* PRIVATE FIELDS! */
	void *handle;		/* from dlopen */
	char *filename;	/* loaded from */
	char *name;
	char *desc;
	char *version;
	session *context;
	void *deinit_callback;	/* pointer to hexchat_plugin_deinit */
	unsigned int fake:1;		/* fake plugin. Added by hexchat_plugingui_add() */
	unsigned int free_strings:1;		/* free name,desc,version? */
};
#endif

GModule *module_load (char *filename);
char *plugin_load (session *sess, char *filename, char *arg);
int plugin_reload (session *sess, char *name, int by_filename);
void plugin_add (session *sess, char *filename, void *handle, void *init_func, void *deinit_func, char *arg, int fake);
int plugin_kill (char *name, int by_filename);
void plugin_kill_all (void);
void plugin_auto_load (session *sess);
int plugin_emit_command (session *sess, char *name, char *word[], char *word_eol[]);
int plugin_emit_server (session *sess, char *name, char *word[], char *word_eol[],
						time_t server_time);
int plugin_emit_print (session *sess, char *word[], time_t server_time);
int plugin_emit_dummy_print (session *sess, char *name);
int plugin_emit_keypress (session *sess, unsigned int state, unsigned int keyval, gunichar key);
GList* plugin_command_list(GList *tmp_list);
int plugin_show_help (session *sess, char *cmd);
void plugin_command_foreach (session *sess, void *userdata, void (*cb) (session *sess, void *userdata, char *name, char *usage));
session *plugin_find_context (const char *servname, const char *channel, server *current_server);

#endif