esp8266 initial support
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a768da2..9076bec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,6 +100,8 @@
 option(LWS_WITH_GENERIC_SESSIONS "With the Generic Sessions plugin" OFF)
 option(LWS_WITH_SQLITE3 "Require SQLITE3 support" OFF)
 option(LWS_WITH_SMTP "Provide SMTP support" OFF)
+option(LWS_WITH_ESP8266 "Build for ESP8266" OFF)
+option(LWS_WITH_NO_LOGS "Disable all logging from being compiled in" OFF)
 
 if (LWS_WITH_LWSWS)
  message(STATUS "LWS_WITH_LWSWS --> Enabling LWS_WITH_PLUGINS and LWS_WITH_LIBUV")
@@ -146,6 +148,22 @@
 
 endif()
 
+if (LWS_WITH_ESP8266)
+ set(LWS_WITH_SHARED OFF)
+ set(LWS_WITH_SSL OFF)
+ set(LWS_WITH_ZLIB OFF)
+ set(LWS_WITHOUT_CLIENT ON)
+ set(LWS_WITHOUT_TESTAPPS ON)
+ set(LWS_WITHOUT_EXTENSIONS ON)
+ set(LWS_WITH_PLUGINS OFF)
+ # this implies no pthreads in the lib
+ set(LWS_MAX_SMP 1)
+ set(LWS_HAVE_MALLOC 1)
+ set(LWS_HAVE_REALLOC 1)
+ set(LWS_HAVE_GETIFADDRS 1)
+endif()
+
+
 if (WIN32)
 # this implies no pthreads in the lib
 set(LWS_MAX_SMP 1)
@@ -359,6 +377,9 @@
 endif()
 
 
+if (LWS_WITH_ESP8266)
+set(CMAKE_C_FLAGS "-nostdlib ${CMAKE_C_FLAGS}")
+endif()
 #if (LWS_MBED3)
 #	set(CMAKE_C_FLAGS "-D_DEBUG ${CMAKE_C_FLAGS}")
 #endif()
@@ -561,8 +582,13 @@
 			lib/lws-plat-mbed3.cpp
 			lib/lws-plat-mbed3.c)
 	else()
-		list(APPEND SOURCES
-			lib/lws-plat-unix.c)
+		if (LWS_WITH_ESP8266)
+			list(APPEND SOURCES
+				lib/lws-plat-esp8266.c)
+		else()
+			list(APPEND SOURCES
+				lib/lws-plat-unix.c)
+		endif()
 	endif()
 endif()
 
@@ -648,7 +674,7 @@
     if (LWS_HAVE_VISIBILITY)
                 set(VISIBILITY_FLAG -fvisibility=hidden)
     endif()
-    if (UNIX)
+    if (UNIX OR LWS_WITH_ESP8266)
                set(CMAKE_C_FLAGS "-Wall -Werror ${VISIBILITY_FLAG} ${CMAKE_C_FLAGS}" )
     else(UNIX)
                set(CMAKE_C_FLAGS "-Wall ${VISIBILITY_FLAG} ${CMAKE_C_FLAGS}" )