abstract: allow completely generic instantiation and destruction
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8a37ff9..36040e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -354,6 +354,7 @@
if (LWS_WITH_GENERIC_SESSIONS)
set(LWS_WITH_SQLITE3 1)
set(LWS_WITH_SMTP 1)
+ set(LWS_WITH_STRUCT_SQLITE3 1)
endif()
if (LWS_WITH_ESP32)
@@ -655,6 +656,13 @@
set(LWS_MAX_SMP 1)
endif()
+# using any abstract protocol enables LWS_WITH_ABSTRACT
+
+if (LWS_WITH_SMTP)
+ set(LWS_WITH_ABSTRACT 1)
+endif()
+
+
if (MINGW)
set(LWS_MINGW_SUPPORT 1)
@@ -916,8 +924,11 @@
lib/core-net/wsi-timeout.c
lib/core-net/adopt.c
lib/roles/pipe/ops-pipe.c
- lib/abstract/abstract.c
)
+ if (LWS_WITH_ABSTRACT)
+ list(APPEND SOURCES
+ lib/abstract/abstract.c)
+ endif()
if (LWS_WITH_STATS)
list(APPEND SOURCES
@@ -970,9 +981,13 @@
if (LWS_ROLE_RAW)
list(APPEND SOURCES
- lib/abstract/transports/raw-skt.c
lib/roles/raw-skt/ops-raw-skt.c
lib/roles/raw-file/ops-raw-file.c)
+
+ if (LWS_WITH_ABSTRACT)
+ list(APPEND SOURCES
+ lib/abstract/transports/raw-skt.c)
+ endif()
endif()
if (LWS_ROLE_RAW_PROXY)
@@ -1282,9 +1297,14 @@
)
endif()
+if (LWS_WITH_ABSTRACT)
+ list(APPEND SOURCES
+ lib/abstract/transports/unit-test.c)
+endif()
+
if (LWS_WITH_SMTP)
list(APPEND SOURCES
- lib/abstract/smtp/smtp.c)
+ lib/abstract/protocols/smtp/smtp.c)
endif()
if (LWS_WITH_RANGES)
@@ -2602,6 +2622,7 @@
message(" LWS_HAVE_STAT32I64 = ${LWS_HAVE_STAT32I64}")
message(" LWS_HAS_INTPTR_T = ${LWS_HAS_INTPTR_T}")
message(" LWS_WITH_EXPORT_LWSTARGETS = ${LWS_WITH_EXPORT_LWSTARGETS}")
+message(" LWS_WITH_ABSTRACT = ${LWS_WITH_ABSTRACT}")
message("---------------------------------------------------------------------")