mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
mingw: update cross toolchain and add 32 and 64 default builds to sai
This commit is contained in:
parent
c0294c3e10
commit
16cbbe2b40
5 changed files with 36 additions and 7 deletions
10
.sai.json
10
.sai.json
|
@ -44,6 +44,14 @@
|
|||
"build": "mkdir build && cd build && set SAI_CPACK=\"-G ZIP\" && cmake .. -DLWS_OPENSSL_LIBRARIES=\"C:\\Program Files\\OpenSSL\\lib\\libssl.lib;C:\\Program Files\\OpenSSL\\lib\\libcrypto.lib\" -DLWS_OPENSSL_INCLUDE_DIRS=\"C:\\Program Files\\OpenSSL\\include\" -DLWS_EXT_PTHREAD_INCLUDE_DIR=\"C:\\Program Files (x86)\\pthreads\\include\" -DLWS_EXT_PTHREAD_LIBRARIES=\"C:\\Program Files (x86)\\pthreads\\lib\\x64\\libpthreadGC2.a\" ${cmake} && cmake --build . --config DEBUG && set CTEST_OUTPUT_ON_FAILURE=1 && ctest . -C DEBUG -j4 --output-on-failure",
|
||||
"default": false
|
||||
},
|
||||
"mingw32": {
|
||||
"build": "mkdir build && cd build && cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w32.cmake -DLWS_UNIX_SOCK=0 ${cmake} && cmake --build . --config DEBUG",
|
||||
"default": false
|
||||
},
|
||||
"mingw64": {
|
||||
"build": "mkdir build && cd build && cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w64.cmake -DLWS_UNIX_SOCK=0 ${cmake} && cmake --build . --config DEBUG",
|
||||
"default": false
|
||||
},
|
||||
"freertos-esp32": {
|
||||
# official way to get sdkconfig.h is idf.py menuconfig, but
|
||||
# no obvious way to do that in CI
|
||||
|
@ -60,7 +68,7 @@
|
|||
"configurations": {
|
||||
"default": {
|
||||
"cmake": "",
|
||||
"platforms": "windows-10, linkit-cross, ubuntu-focal-aarch64, freertos-esp32, linux-fedora-32-riscv"
|
||||
"platforms": "windows-10, linkit-cross, ubuntu-focal-aarch64, freertos-esp32, linux-fedora-32-riscv, mingw32, mingw64"
|
||||
},
|
||||
"default-examples-openssl-v3": {
|
||||
"cmake": "-DLWS_OPENSSL_LIBRARIES=\"/usr/local/src/openssl/v3/usr/local/lib64/libssl.a;/usr/local/src/openssl/v3/usr/local/lib64/libcrypto.a\" -DLWS_OPENSSL_INCLUDE_DIRS=\"/usr/local/src/openssl/v3/usr/local/include/\" -DLWS_WITH_MINIMAL_EXAMPLES=1",
|
||||
|
|
|
@ -525,6 +525,16 @@ CHECK_INCLUDE_FILE(malloc.h LWS_HAVE_MALLOC_H)
|
|||
CHECK_INCLUDE_FILE(pthread.h LWS_HAVE_PTHREAD_H)
|
||||
CHECK_INCLUDE_FILE(inttypes.h LWS_HAVE_INTTYPES_H)
|
||||
|
||||
if (WIN32 OR MSVC)
|
||||
CHECK_C_SOURCE_COMPILES("#include <winsock2.h>
|
||||
#include <afunix.h>
|
||||
int main() { return 0; }" LWS_HAVE_WIN32_AFUNIX_H)
|
||||
|
||||
if (LWS_UNIX_SOCK AND NOT LWS_HAVE_WIN32_AFUNIX_H)
|
||||
message(FATAL_ERROR "No afunix.h in toolchain for LWS_UNIX_SOCK")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
CHECK_LIBRARY_EXISTS(cap cap_set_flag "" LWS_HAVE_LIBCAP)
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,11 @@
|
|||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w32.cmake -DLWS_WITH_SSL=0
|
||||
#
|
||||
|
||||
set(CROSS_PATH /opt/mingw32)
|
||||
# the outermost path to your cross toolchain
|
||||
#set(CROSS_PATH /opt/mingw32)
|
||||
set(CROSS_PATH /usr)
|
||||
# your cross root
|
||||
set(CROSS_ROOT ${CROSS_PATH}/i686-w64-mingw32/sys-root/)
|
||||
|
||||
# Target operating system name.
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
|
@ -15,7 +19,6 @@ set(CMAKE_SYSTEM_NAME Windows)
|
|||
set(CMAKE_C_COMPILER "${CROSS_PATH}/bin/i686-w64-mingw32-gcc")
|
||||
set(CMAKE_CXX_COMPILER "${CROSS_PATH}/bin/i686-w64-mingw32-g++")
|
||||
set(CMAKE_RC_COMPILER "${CROSS_PATH}/bin/i686-w64-mingw32-windres")
|
||||
set(CMAKE_C_FLAGS "-Wno-error")
|
||||
|
||||
#
|
||||
# Different build system distros set release optimization level to different
|
||||
|
@ -34,7 +37,8 @@ if (CMAKE_BUILD_TYPE MATCHES RELEASE OR CMAKE_BUILD_TYPE MATCHES Release OR CMAK
|
|||
endif()
|
||||
|
||||
# Where to look for the target environment. (More paths can be added here)
|
||||
set(CMAKE_FIND_ROOT_PATH "${CROSS_PATH}")
|
||||
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOT}/mingw")
|
||||
set(CMAKE_SYSROOT ${CROSS_ROOT})
|
||||
|
||||
# Adjust the default behavior of the FIND_XXX() commands:
|
||||
# search programs in the host environment only.
|
||||
|
|
|
@ -3,13 +3,18 @@
|
|||
#
|
||||
# This can be used when running cmake in the following way:
|
||||
# cd build/
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w64.cmake -DLWS_WITH_SSL=0
|
||||
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../contrib/cross-w64.cmake
|
||||
#
|
||||
|
||||
set(CROSS_PATH /opt/mingw64)
|
||||
# the outermost path to your cross toolchain
|
||||
#set(CROSS_PATH /opt/mingw64)
|
||||
set(CROSS_PATH /usr)
|
||||
# your cross root
|
||||
set(CROSS_ROOT ${CROSS_PATH}/x86_64-w64-mingw32/sys-root/)
|
||||
|
||||
# Target operating system name.
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSROOT ${CROSS_ROOT})
|
||||
|
||||
# Name of C compiler.
|
||||
set(CMAKE_C_COMPILER "${CROSS_PATH}/bin/x86_64-w64-mingw32-gcc")
|
||||
|
@ -34,7 +39,7 @@ if (CMAKE_BUILD_TYPE MATCHES RELEASE OR CMAKE_BUILD_TYPE MATCHES Release OR CMAK
|
|||
endif()
|
||||
|
||||
# Where to look for the target environment. (More paths can be added here)
|
||||
set(CMAKE_FIND_ROOT_PATH "${CROSS_PATH}")
|
||||
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOT}/mingw")
|
||||
|
||||
# Adjust the default behavior of the FIND_XXX() commands:
|
||||
# search programs in the host environment only.
|
||||
|
|
|
@ -404,8 +404,10 @@ lws_client_connect_3_connect(struct lws *wsi, const char *ads,
|
|||
|
||||
if (lwsi_state(wsi) == LRS_WAITING_CONNECT &&
|
||||
lws_socket_is_valid(wsi->desc.sockfd)) {
|
||||
#if !defined(WIN32)
|
||||
socklen_t sl = sizeof(int);
|
||||
int e = 0;
|
||||
#endif
|
||||
|
||||
if (!result && /* no dns results... */
|
||||
!wsi->sul_connect_timeout.list.owner /* no ongoing connect timeout */)
|
||||
|
|
Loading…
Add table
Reference in a new issue