diff --git a/CMakeLists.txt b/CMakeLists.txt index 113540667..19ad652d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -293,11 +293,16 @@ if (NOT LWS_HAVE_REALLOC) set(realloc rpl_realloc) endif() -# Generate the lws_config.h that includes all the compilation settings. +# Generate the lws_config.h that includes all the public compilation settings. configure_file( "${PROJECT_SOURCE_DIR}/lws_config.h.in" "${PROJECT_BINARY_DIR}/lws_config.h") +# Generate the lws_config.h that includes all the private compilation settings. +configure_file( + "${PROJECT_SOURCE_DIR}/lws_config_private.h.in" + "${PROJECT_BINARY_DIR}/lws_config_private.h") + if (MSVC) # Turn off stupid microsoft security warnings. add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h index ccbcbf1bd..460627be2 100644 --- a/lib/libwebsockets.h +++ b/lib/libwebsockets.h @@ -30,7 +30,6 @@ extern "C" { #include #endif -/* That's a bad idea since it will leak all internal defines outside */ #include "lws_config.h" #if defined(WIN32) || defined(_WIN32) diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h index 2201a11a2..1a627820e 100644 --- a/lib/private-libwebsockets.h +++ b/lib/private-libwebsockets.h @@ -20,6 +20,7 @@ */ #include "lws_config.h" +#include "lws_config_private.h" #ifdef LWS_HAVE_SYS_TYPES_H #include diff --git a/lws_config.h.in b/lws_config.h.in index 791940249..43818c535 100644 --- a/lws_config.h.in +++ b/lws_config.h.in @@ -1,15 +1,5 @@ /* lws_config.h Generated from lws_config.h.in */ -#ifndef NDEBUG - #ifndef _DEBUG - #define _DEBUG - #endif -#endif - -/* Define to 1 to use CyaSSL as a replacement for OpenSSL. - * LWS_OPENSSL_SUPPORT needs to be set also for this to work. */ -#cmakedefine USE_CYASSL - /* The Libwebsocket version */ #cmakedefine LWS_LIBRARY_VERSION "${LWS_LIBRARY_VERSION}" @@ -55,107 +45,3 @@ /* Use the BSD getifaddrs that comes with libwebsocket, for uclibc support */ #cmakedefine LWS_BUILTIN_GETIFADDRS -/* Define to 1 if you have the `bzero' function. */ -#cmakedefine LWS_HAVE_BZERO - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_FCNTL_H - -/* Define to 1 if you have the `fork' function. */ -#cmakedefine LWS_HAVE_FORK - -/* Define to 1 if you have the `getenv’ function. */ -#cmakedefine LWS_HAVE_GETENV - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_IN6ADDR_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_INTTYPES_H - -/* Define to 1 if you have the `ssl' library (-lssl). */ -//#cmakedefine LWS_HAVE_LIBSSL - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#cmakedefine LWS_HAVE_MALLOC - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#cmakedefine LWS_HAVE_MEMSET - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_NETINET_IN_H - -/* Define to 1 if your system has a GNU libc compatible `realloc' function, - and to 0 otherwise. */ -#cmakedefine LWS_HAVE_REALLOC - -/* Define to 1 if you have the `socket' function. */ -#cmakedefine LWS_HAVE_SOCKET - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_STDLIB_H - -/* Define to 1 if you have the `strerror' function. */ -#cmakedefine LWS_HAVE_STRERROR - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_SYS_PRCTL_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_UNISTD_H - -/* Define to 1 if you have the `vfork' function. */ -#cmakedefine LWS_HAVE_VFORK - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_VFORK_H - -/* Define to 1 if `fork' works. */ -#cmakedefine LWS_HAVE_WORKING_FORK - -/* Define to 1 if `vfork' works. */ -#cmakedefine LWS_HAVE_WORKING_VFORK - -/* Define to 1 if you have the header file. */ -#cmakedefine LWS_HAVE_ZLIB_H - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR // We're not using libtool - -/* Define to rpl_malloc if the replacement function should be used. */ -#cmakedefine malloc - -/* Define to rpl_realloc if the replacement function should be used. */ -#cmakedefine realloc - -/* Define to 1 if we have getifaddrs */ -#cmakedefine LWS_HAVE_GETIFADDRS - -/* Define if the inline keyword doesn't exist. */ -#cmakedefine inline ${inline} diff --git a/lws_config_private.h.in b/lws_config_private.h.in new file mode 100644 index 000000000..06da558c1 --- /dev/null +++ b/lws_config_private.h.in @@ -0,0 +1,118 @@ +/* lws_config_private.h.in. Private compilation options. */ + +#ifndef NDEBUG + #ifndef _DEBUG + #define _DEBUG + #endif +#endif + +/* Define to 1 to use CyaSSL as a replacement for OpenSSL. + * LWS_OPENSSL_SUPPORT needs to be set also for this to work. */ +#cmakedefine USE_CYASSL + +/* Define to 1 if you have the `bzero' function. */ +#cmakedefine LWS_HAVE_BZERO + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_FCNTL_H + +/* Define to 1 if you have the `fork' function. */ +#cmakedefine LWS_HAVE_FORK + +/* Define to 1 if you have the `getenv’ function. */ +#cmakedefine LWS_HAVE_GETENV + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_IN6ADDR_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_INTTYPES_H + +/* Define to 1 if you have the `ssl' library (-lssl). */ +//#cmakedefine LWS_HAVE_LIBSSL + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#cmakedefine LWS_HAVE_MALLOC + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_MEMORY_H + +/* Define to 1 if you have the `memset' function. */ +#cmakedefine LWS_HAVE_MEMSET + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_NETINET_IN_H + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#cmakedefine LWS_HAVE_REALLOC + +/* Define to 1 if you have the `socket' function. */ +#cmakedefine LWS_HAVE_SOCKET + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_STDLIB_H + +/* Define to 1 if you have the `strerror' function. */ +#cmakedefine LWS_HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_SYS_PRCTL_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_SYS_SOCKET_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_UNISTD_H + +/* Define to 1 if you have the `vfork' function. */ +#cmakedefine LWS_HAVE_VFORK + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_VFORK_H + +/* Define to 1 if `fork' works. */ +#cmakedefine LWS_HAVE_WORKING_FORK + +/* Define to 1 if `vfork' works. */ +#cmakedefine LWS_HAVE_WORKING_VFORK + +/* Define to 1 if you have the header file. */ +#cmakedefine LWS_HAVE_ZLIB_H + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR // We're not using libtool + +/* Define to rpl_malloc if the replacement function should be used. */ +#cmakedefine malloc + +/* Define to rpl_realloc if the replacement function should be used. */ +#cmakedefine realloc + +/* Define to 1 if we have getifaddrs */ +#cmakedefine LWS_HAVE_GETIFADDRS + +/* Define if the inline keyword doesn't exist. */ +#cmakedefine inline ${inline} + + diff --git a/test-server/test-client.c b/test-server/test-client.c index 624e2bf52..5d3b68041 100644 --- a/test-server/test-client.c +++ b/test-server/test-client.c @@ -31,8 +31,6 @@ #include #endif -#include "lws_config.h" - #include "../lib/libwebsockets.h" static unsigned int opts; diff --git a/test-server/test-echo.c b/test-server/test-echo.c index e26e4772a..77795c5f5 100644 --- a/test-server/test-echo.c +++ b/test-server/test-echo.c @@ -35,8 +35,6 @@ #include #endif -#include "lws_config.h" - #include "../lib/libwebsockets.h" static volatile int force_exit = 0; diff --git a/test-server/test-ping.c b/test-server/test-ping.c index fefca31d5..f414b0880 100644 --- a/test-server/test-ping.c +++ b/test-server/test-ping.c @@ -35,8 +35,6 @@ #include #endif -#include "lws_config.h" - #include "../lib/libwebsockets.h" /*