Improvemed patches to address travis and appveyor build errors
Reduced WINVER and _WIN32_WINNT to 0x0501 to be less restrictive
Refined CMakeLists.txt to allow for normal Windows and MinGW-specific OpenSSL certificate generation
Simplified include path to gettimeofday.h
Removed unnecessary list(APPEND LWS_LIBRARIES zlib_internal) export
Added back #include <windows.h> to gettimeofday.c to fix build for normal Windows
Made sure that pollfd gets defined on libwebsockets side when _WIN32_WINNT < 0x0600
Made sure that WINVER and _WIN32_WINNT don't get overridden by libwebsockets headers when already set to something greater than 0x0501
Added missing declaration of WSAPoll function for WINVER < 0x0600 in libwebsockets.h, eliminated invalid usages of pollfd instead of libwebsocket_pollfd in test-server.c
Cleaned up duplicate content in gettimeofday.c, removed header inclusions from gettimeofday.h and fixed include order in test-echo.c, test-ping.c and test-server.c to enable build with normal Windows and MinGW
Re-enabled debug_level in test-echo.c and made sure that the call to lws_set_log_level() is also active under Windows (just like in test-server.c); replaced all WIN32 occurrences by _WIN32 in test-echo.c, test-ping.c, and test-server.c
Removed build-msys.sh and added new section about how to build libwebsockets using MinGW to README.build.md
here are the problems that I found while compiling libwebsockets with
CMake using as a generator MinGW Makefiles.
1. In http://git.warmcat.com/cgi-bin/cgit/libwebsockets/plain/win32port/win32helpers/gettimeofday.c
Remove spaces around time.h, otherwise it looks for " time.h " and
fails with "No such file ..."
I also needed to comment out
struct timezone
{
int tz_minuteswest; /* minutes W of Greenwich */
int tz_dsttime; /* type of dst correction */
};
It is already declared in mingw's time.h
Signed-off-by: Arokux B <arokux@gmail.com>
This adds win32 build compatability to libwebsockets.
The patch is from Peter Hinz, Andy Green has cleaned it up a bit and
possibly broken win32 compatability since I can't test it, so there
may be followup patches. It compiles fine under Linux after this
patch anyway.
Much of the patch is changing a reserved keyword for Visual C compiler
"this" to "context", but there is no real C99 support in the MSFT
compiler even though it is 2011 so C99 style array declarations
have been mangled back into "ancient C" style.
Some windows-isms are also added like closesocket() but these are
quite localized. Win32 random is just using C library random() call
at the moment vs Linux /dev/urandom. canonical hostname detection is
broken in win32 at the moment.
Signed-off-by: Peter Hinz <cerebusrc@gmail.com>
Signed-off-by: Andy Green <andy@warmcat.com>