mingw add win32helper to lib and fix extpoll
Based on work from Radu Sorici <soriciradu@gmail.com> Signed-off-by: Andy Green <andy.green@linaro.org>
This commit is contained in:
parent
dc36192435
commit
aa6fc44b0a
9 changed files with 47 additions and 15 deletions
|
@ -24,7 +24,7 @@ libwebsockets_la_LDFLAGS:=
|
|||
|
||||
if MINGW
|
||||
libwebsockets_la_CFLAGS+= -w -I../win32port/win32helpers -I ../win32port/zlib/
|
||||
libwebsockets_la_LDFLAGS+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -L../win32port/zlib -L../win32port/win32helpers/ -lwebsock-w32
|
||||
libwebsockets_la_LDFLAGS+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc
|
||||
else
|
||||
libwebsockets_la_CFLAGS+= -rdynamic -fPIC -Werror
|
||||
libwebsockets_la_LDFLAGS+= -version-info 0:3
|
||||
|
|
|
@ -38,7 +38,7 @@ host_triplet = @host@
|
|||
@EXT_GOOGLE_MUX_TRUE@am__append_1 = extension-x-google-mux.c
|
||||
@LIBCRYPTO_FALSE@am__append_2 = md5.c sha-1.c
|
||||
@MINGW_TRUE@am__append_3 = -w -I../win32port/win32helpers -I ../win32port/zlib/
|
||||
@MINGW_TRUE@am__append_4 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -L../win32port/zlib -L../win32port/win32helpers/ -lwebsock-w32
|
||||
@MINGW_TRUE@am__append_4 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc
|
||||
@MINGW_FALSE@am__append_5 = -rdynamic -fPIC -Werror
|
||||
@MINGW_FALSE@am__append_6 = -version-info 0:3
|
||||
subdir = lib
|
||||
|
|
|
@ -32,6 +32,14 @@
|
|||
int openssl_websocket_private_data_index;
|
||||
#endif
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#include "../win32port/win32helpers/websock-w32.c"
|
||||
#else
|
||||
#ifdef __MINGW64__
|
||||
#include "../win32port/win32helpers/websock-w32.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* In-place str to lower case
|
||||
*/
|
||||
|
|
|
@ -863,6 +863,7 @@ allows as many protocols as you like to be handled by one server.
|
|||
<i>const char *</i> <b>name</b>;<br>
|
||||
<i>int (*</i><b>callback</b>) <i>(struct libwebsocket_context *context,struct libwebsocket_extension *ext,struct libwebsocket *wsi,enum libwebsocket_extension_callback_reasons reason,void *user, void *in, size_t len)</i>;<br>
|
||||
<i>size_t</i> <b>per_session_data_size</b>;<br>
|
||||
<i>void *</i> <b>per_context_private_data</b>;<br>
|
||||
};<br>
|
||||
<h3>Members</h3>
|
||||
<dl>
|
||||
|
@ -874,5 +875,9 @@ allows as many protocols as you like to be handled by one server.
|
|||
<dd>Libwebsockets will auto-malloc this much
|
||||
memory for the use of the extension, a pointer
|
||||
to it comes in the <tt><b>user</b></tt> callback parameter
|
||||
<dt><b>per_context_private_data</b>
|
||||
<dd>Optional storage for this externsion that
|
||||
is per-context, so it can track stuff across
|
||||
all sessions, etc, if it wants
|
||||
</dl>
|
||||
<hr>
|
||||
|
|
|
@ -14,10 +14,10 @@ libwebsockets_test_client_CFLAGS:= -w -I../win32port/win32helpers
|
|||
libwebsockets_test_server_extpoll_CFLAGS:= -w -I../win32port/win32helpers
|
||||
libwebsockets_test_fraggle_CFLAGS:= -w -I../win32port/win32helpers
|
||||
|
||||
libwebsockets_test_server_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
libwebsockets_test_client_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
libwebsockets_test_server_extpoll_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
libwebsockets_test_fraggle_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
libwebsockets_test_server_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
libwebsockets_test_client_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
libwebsockets_test_server_extpoll_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
libwebsockets_test_fraggle_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
|
||||
else
|
||||
libwebsockets_test_server_CFLAGS:= -Werror
|
||||
|
|
|
@ -38,10 +38,10 @@ bin_PROGRAMS = libwebsockets-test-server$(EXEEXT) \
|
|||
libwebsockets-test-client$(EXEEXT) \
|
||||
libwebsockets-test-server-extpoll$(EXEEXT) \
|
||||
libwebsockets-test-fraggle$(EXEEXT) $(am__EXEEXT_1)
|
||||
@MINGW_TRUE@am__append_1 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
@MINGW_TRUE@am__append_2 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
@MINGW_TRUE@am__append_3 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
@MINGW_TRUE@am__append_4 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lpthread -ldl -lws2_32 -lz -L../win32port/win32helpers/ -lwebsock-w32
|
||||
@MINGW_TRUE@am__append_1 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
@MINGW_TRUE@am__append_2 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
@MINGW_TRUE@am__append_3 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
@MINGW_TRUE@am__append_4 = -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
|
||||
@NOPING_FALSE@am__append_5 = libwebsockets-test-ping
|
||||
subdir = test-server
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
|
|
|
@ -30,7 +30,15 @@
|
|||
#include <getopt.h>
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
#ifdef __MINGW32__
|
||||
#include "../win32port/win32helpers/websock-w32.h"
|
||||
#else
|
||||
#ifdef __MINGW64__
|
||||
#include "../win32port/win32helpers/websock-w32.h"
|
||||
#else
|
||||
#include <poll.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "../lib/libwebsockets.h"
|
||||
|
||||
|
@ -428,9 +436,9 @@ int main(int argc, char **argv)
|
|||
{
|
||||
int n = 0;
|
||||
const char *cert_path =
|
||||
LOCAL_RESOURCE_PATH"/libwebsockets-test-server.pem";
|
||||
LOCAL_RESOURCE_PATH"/libwebsockets-test-server.pem";
|
||||
const char *key_path =
|
||||
LOCAL_RESOURCE_PATH"/libwebsockets-test-server.key.pem";
|
||||
LOCAL_RESOURCE_PATH"/libwebsockets-test-server.key.pem";
|
||||
unsigned char buf[LWS_SEND_BUFFER_PRE_PADDING + 1024 +
|
||||
LWS_SEND_BUFFER_POST_PADDING];
|
||||
int port = 7681;
|
||||
|
@ -439,7 +447,7 @@ int main(int argc, char **argv)
|
|||
int opts = 0;
|
||||
unsigned int oldus = 0;
|
||||
char interface_name[128] = "";
|
||||
const char * interface = NULL;
|
||||
const char *interface_ptr = NULL;
|
||||
|
||||
fprintf(stderr, "libwebsockets test server with external poll()\n"
|
||||
"(C) Copyright 2010-2011 Andy Green <andy@warmcat.com> "
|
||||
|
@ -462,7 +470,7 @@ int main(int argc, char **argv)
|
|||
case 'i':
|
||||
strncpy(interface_name, optarg, sizeof interface_name);
|
||||
interface_name[(sizeof interface_name) - 1] = '\0';
|
||||
interface = interface_name;
|
||||
interface_ptr = interface_name;
|
||||
break;
|
||||
case 'h':
|
||||
fprintf(stderr, "Usage: test-server "
|
||||
|
@ -474,7 +482,7 @@ int main(int argc, char **argv)
|
|||
if (!use_ssl)
|
||||
cert_path = key_path = NULL;
|
||||
|
||||
context = libwebsocket_create_context(port, interface, protocols,
|
||||
context = libwebsocket_create_context(port, interface_ptr, protocols,
|
||||
libwebsocket_internal_extensions,
|
||||
cert_path, key_path, -1, -1, opts);
|
||||
if (context == NULL) {
|
||||
|
|
|
@ -1,6 +1,15 @@
|
|||
#define FD_SETSIZE 256
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#include <winsock2.h>
|
||||
#else
|
||||
#ifdef __MINGW64__
|
||||
#include <winsock2.h>
|
||||
#else
|
||||
#include <WinSock2.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include "websock-w32.h"
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
|
||||
#ifdef DEF_POLL_STUFF
|
||||
|
||||
#include <winsock2.h>
|
||||
|
||||
typedef struct pollfd {
|
||||
SOCKET fd;
|
||||
short events;
|
||||
|
|
Loading…
Add table
Reference in a new issue