From e99088348dec3a3b1fb3fdfac9c06b09ba08ce9d Mon Sep 17 00:00:00 2001
From: Deomid Ryabkov <rojer@cesanta.com>
Date: Mon, 31 Oct 2016 22:48:03 +0000
Subject: [PATCH] Use ICACHE_FLASH to guess CS_P_ESP8266

Also, do not require -DRTOS_SDK and pick socket/low-level event manager
based on LWIP_SOCKET.

PUBLISHED_FROM=d4afbdf8dab62a1c6ac4ca075c4a58887223dba4
---
 examples/ESP8266_RTOS/user/Makefile |  4 +---
 mongoose.h                          | 13 +++++++++----
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/examples/ESP8266_RTOS/user/Makefile b/examples/ESP8266_RTOS/user/Makefile
index d4006b1a2..56ca93213 100644
--- a/examples/ESP8266_RTOS/user/Makefile
+++ b/examples/ESP8266_RTOS/user/Makefile
@@ -23,9 +23,7 @@ endif
 #   makefile at its root level - these are then overridden
 #   for a subtree within the makefile rooted therein
 #
-DEFINES += -DCS_PLATFORM=3 \
-           -DRTOS_SDK \
-           -DMG_INTERNAL=
+DEFINES +=
 
 #############################################################
 # Recursion Magic - Don't touch this!!
diff --git a/mongoose.h b/mongoose.h
index fa596d2ef..af56f1355 100644
--- a/mongoose.h
+++ b/mongoose.h
@@ -77,6 +77,8 @@
 #define CS_PLATFORM CS_P_NXP_KINETIS
 #elif defined(PIC32)
 #define CS_PLATFORM CS_P_PIC32_HARMONY
+#elif defined(ICACHE_FLASH)
+#define CS_PLATFORM CS_P_ESP8266
 #endif
 
 #ifndef CS_PLATFORM
@@ -465,14 +467,17 @@ typedef struct stat cs_stat_t;
 
 #define MG_LWIP 1
 
-#ifdef RTOS_SDK
+/* struct timeval is defined in sys/time.h. */
+#define LWIP_TIMEVAL_PRIVATE 0
+
+#ifndef MG_NET_IF
+#include <lwip/opt.h>
+#if LWIP_SOCKET /* RTOS SDK has LWIP sockets */
 #  define MG_NET_IF MG_NET_IF_SOCKET
 #else
 #  define MG_NET_IF MG_NET_IF_LWIP_LOW_LEVEL
 #endif
-
-/* struct timeval is defined in sys/time.h. */
-#define LWIP_TIMEVAL_PRIVATE 0
+#endif
 
 #ifndef CS_ENABLE_STDIO
 #define CS_ENABLE_STDIO 1
-- 
GitLab