aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Delarre <ben@delarre.net>2017-11-11 17:18:59 -0800
committerAndy Green <andy@warmcat.com>2017-12-01 11:37:35 +0800
commit3db1ce095357ec7d534d8e38898c7409806953d5 (patch)
tree4402e20bc9099b1d9820d38b6320f487c4b24f69
parent31606054620155f5e2e9bb8cae2aa3080c6199e1 (diff)
downloadlibwebsockets-3db1ce095357ec7d534d8e38898c7409806953d5.tar.gz
Esp32: allow build on windows
-rw-r--r--.gitignore1
-rw-r--r--component.mk25
-rw-r--r--contrib/cross-esp32.cmake11
3 files changed, 24 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index 7a1adf8a..a030dbaa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,4 @@ ar-lib
libwebsockets.pc
build/
*.swp
+doc \ No newline at end of file
diff --git a/component.mk b/component.mk
index 560c9d39..7cc5d7b1 100644
--- a/component.mk
+++ b/component.mk
@@ -1,10 +1,18 @@
-COMPONENT_DEPENDS:=mbedtls openssl
-COMPONENT_ADD_INCLUDEDIRS := ../../../../../../../../../../../../../../../../../../../../$(COMPONENT_BUILD_DIR)/include
+COMPONENT_DEPENDS := mbedtls openssl
+#COMPONENT_ADD_INCLUDEDIRS := ../../../../../../../../../../../../../../../../../../../../$(COMPONENT_BUILD_DIR)/include
-COMPONENT_OWNBUILDTARGET:= 1
+COMPONENT_OWNBUILDTARGET := 1
-CROSS_PATH1:=$(shell which xtensa-esp32-elf-gcc )
-CROSS_PATH:= $(shell dirname $(CROSS_PATH1) )/..
+CROSS_PATH1 := $(shell which xtensa-esp32-elf-gcc )
+CROSS_PATH := $(shell dirname $(CROSS_PATH1) )/..
+
+# detect MSYS2 environment and set generator flag if found
+# also set executable extension to .exe so that tools can be properly found
+# and disable bundled zlib
+MSYS_VERSION = $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)
+ifneq ($(MSYS_VERSION),0)
+ MSYS_FLAGS = -DLWS_WITH_BUNDLED_ZLIB=0 -DEXECUTABLE_EXT=.exe -G'MSYS Makefiles'
+endif
# -DNDEBUG=1 after cflags stops debug etc being built
.PHONY: build
@@ -20,9 +28,11 @@ build:
-DLWS_MBEDTLS_INCLUDE_DIRS="${IDF_PATH}/components/openssl/include;${IDF_PATH}/components/mbedtls/include;${IDF_PATH}/components/mbedtls/port/include" \
-DLWS_WITH_STATS=0 \
-DLWS_WITH_HTTP2=1 \
+ -DLWS_WITH_ACME=1 \
-DZLIB_LIBRARY=$(BUILD_DIR_BASE)/zlib/libzlib.a \
-DZLIB_INCLUDE_DIR=$(COMPONENT_PATH)/../zlib \
- -DLWS_WITH_ESP32=1 ;\
+ -DLWS_WITH_ESP32=1 \
+ $(MSYS_FLAGS) ; \
make && \
cp ${COMPONENT_BUILD_DIR}/lib/libwebsockets.a ${COMPONENT_BUILD_DIR}/liblibwebsockets.a
@@ -30,6 +40,3 @@ clean: myclean
myclean:
rm -rf ./build
-
-INCLUDES := $(INCLUDES) -I build/
-
diff --git a/contrib/cross-esp32.cmake b/contrib/cross-esp32.cmake
index f978e80e..6487f764 100644
--- a/contrib/cross-esp32.cmake
+++ b/contrib/cross-esp32.cmake
@@ -10,14 +10,15 @@
set(CMAKE_SYSTEM_NAME Linux)
# Name of C compiler.
-set(CMAKE_C_COMPILER "${CROSS_PATH}/bin/xtensa-esp32-elf-gcc")
-set(CMAKE_AR "${CROSS_PATH}/bin/xtensa-esp32-elf-ar")
-set(CMAKE_RANLIB "${CROSS_PATH}/bin/xtensa-esp32-elf-ranlib")
-set(CMAKE_LINKER "${CROSS_PATH}/bin/xtensa-esp32-elf-ld")
+set(CMAKE_C_COMPILER "${CROSS_PATH}/bin/xtensa-esp32-elf-gcc${EXECUTABLE_EXT}")
+set(CMAKE_AR "${CROSS_PATH}/bin/xtensa-esp32-elf-ar${EXECUTABLE_EXT}")
+set(CMAKE_RANLIB "${CROSS_PATH}/bin/xtensa-esp32-elf-ranlib${EXECUTABLE_EXT}")
+set(CMAKE_LINKER "${CROSS_PATH}/bin/xtensa-esp32-elf-ld${EXECUTABLE_EXT}")
SET(CMAKE_C_FLAGS "-nostdlib -Wall -Werror \
-I${BUILD_DIR_BASE}/include \
-I${IDF_PATH}/components/mdns/include \
+ -I${IDF_PATH}/components/heap/include \
-I${IDF_PATH}/components/driver/include \
-I${IDF_PATH}/components/spi_flash/include \
-I${IDF_PATH}/components/nvs_flash/include \
@@ -29,6 +30,8 @@ SET(CMAKE_C_FLAGS "-nostdlib -Wall -Werror \
-I${IDF_PATH}/components/bootloader_support/include/ \
-I${IDF_PATH}/components/app_update/include/ \
-I$(IDF_PATH)/components/soc/esp32/include/ \
+ -I$(IDF_PATH)/components/soc/include/ \
+ -I$(IDF_PATH)/components/vfs/include/ \
${LWS_C_FLAGS} -Os \
-I${IDF_PATH}/components/nvs_flash/test_nvs_host \
-I${IDF_PATH}/components/freertos/include" CACHE STRING "" FORCE)