mirror of https://github.com/eclipse/paho.mqtt.c
Change static build to use vs2019 - revert shared init to DllMain
This commit is contained in:
parent
291e96749b
commit
2d20fa3566
|
|
@ -61,6 +61,10 @@ IF (NOT PAHO_BUILD_SHARED AND NOT PAHO_BUILD_STATIC)
|
|||
MESSAGE(FATAL_ERROR "YOu must set either PAHO_BUILD_SHARED, PAHO_BUILD_STATIC, or both")
|
||||
ENDIF()
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_DEFINITIONS(-DPAHO_BUILD_STATIC=1)
|
||||
ENDIF()
|
||||
|
||||
IF(PAHO_BUILD_DEB_PACKAGE)
|
||||
set(CMAKE_INSTALL_DOCDIR share/doc/libpaho-mqtt)
|
||||
ENDIF()
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ environment:
|
|||
PENSSL_ROOT_DIR: "C:/OpenSSL-Win64"
|
||||
PAHO_BUILD_STATIC: FALSE
|
||||
PAHO_BUILD_SHARED: TRUE
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||
PAHO_WINDOWS_BUILD_BIT: x64
|
||||
PENSSL_ROOT_DIR: "C:/OpenSSL-Win64"
|
||||
PAHO_BUILD_STATIC: TRUE
|
||||
|
|
@ -39,6 +39,8 @@ build_script:
|
|||
|
||||
echo %APPVEYOR_BUILD_WORKER_IMAGE%
|
||||
|
||||
if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2019" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %PAHO_WINDOWS_BUILD_BIT%
|
||||
|
||||
if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PAHO_WINDOWS_BUILD_BIT%
|
||||
|
||||
if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2013" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %PAHO_WINDOWS_BUILD_BIT%
|
||||
|
|
|
|||
|
|
@ -117,30 +117,6 @@ extern mutex_type stack_mutex;
|
|||
extern mutex_type heap_mutex;
|
||||
extern mutex_type log_mutex;
|
||||
|
||||
/*
|
||||
BOOL APIENTRY DllMain(HANDLE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved)
|
||||
{
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL process attach");
|
||||
MQTTAsync_init();
|
||||
break;
|
||||
case DLL_THREAD_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread attach");
|
||||
break;
|
||||
case DLL_THREAD_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread detach");
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL process detach");
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}*/
|
||||
|
||||
void MQTTAsync_init(void)
|
||||
{
|
||||
if (mqttasync_mutex == NULL)
|
||||
|
|
@ -164,6 +140,7 @@ void MQTTAsync_init(void)
|
|||
}
|
||||
}
|
||||
|
||||
#if defined(PAHO_BUILD_STATIC)
|
||||
// Global variable for one-time initialization structure
|
||||
INIT_ONCE g_InitOnce = INIT_ONCE_STATIC_INIT; // Static initialization
|
||||
|
||||
|
|
@ -205,6 +182,30 @@ BOOL CALLBACK InitHandleFunction (
|
|||
MQTTAsync_init();
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
BOOL APIENTRY DllMain(HANDLE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved)
|
||||
{
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL process attach");
|
||||
MQTTAsync_init();
|
||||
break;
|
||||
case DLL_THREAD_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread attach");
|
||||
break;
|
||||
case DLL_THREAD_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread detach");
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL process detach");
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#else
|
||||
|
|
@ -605,7 +606,7 @@ int MQTTAsync_createWithOptions(MQTTAsync* handle, const char* serverURI, const
|
|||
int rc = 0;
|
||||
MQTTAsyncs *m = NULL;
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
#if (defined(_WIN32) || defined(_WIN64)) && defined(PAHO_BUILD_STATIC)
|
||||
OpenEventHandleSync(); /* intializes mutexes once. Must come before FUNC_ENTRY */
|
||||
#endif
|
||||
FUNC_ENTRY;
|
||||
|
|
|
|||
|
|
@ -112,30 +112,6 @@ extern mutex_type stack_mutex;
|
|||
extern mutex_type heap_mutex;
|
||||
extern mutex_type log_mutex;
|
||||
|
||||
/*
|
||||
BOOL APIENTRY DllMain(HANDLE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved)
|
||||
{
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL process attach");
|
||||
MQTTClient_init();
|
||||
break;
|
||||
case DLL_THREAD_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread attach");
|
||||
break;
|
||||
case DLL_THREAD_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread detach");
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL process detach");
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}*/
|
||||
|
||||
void MQTTClient_init(void)
|
||||
{
|
||||
if (mqttclient_mutex == NULL)
|
||||
|
|
@ -151,6 +127,7 @@ void MQTTClient_init(void)
|
|||
}
|
||||
}
|
||||
|
||||
#if defined(PAHO_BUILD_STATIC)
|
||||
// Global variable for one-time initialization structure
|
||||
INIT_ONCE g_InitOnce = INIT_ONCE_STATIC_INIT; // Static initialization
|
||||
|
||||
|
|
@ -193,6 +170,30 @@ BOOL CALLBACK InitHandleFunction (
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#else
|
||||
BOOL APIENTRY DllMain(HANDLE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved)
|
||||
{
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL process attach");
|
||||
MQTTClient_init();
|
||||
break;
|
||||
case DLL_THREAD_ATTACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread attach");
|
||||
break;
|
||||
case DLL_THREAD_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL thread detach");
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
Log(TRACE_MAX, -1, "DLL process detach");
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#else
|
||||
static pthread_mutex_t mqttclient_mutex_store = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
|
@ -396,7 +397,7 @@ int MQTTClient_createWithOptions(MQTTClient* handle, const char* serverURI, cons
|
|||
int rc = 0;
|
||||
MQTTClients *m = NULL;
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
#if (defined(_WIN32) || defined(_WIN64)) && defined(PAHO_BUILD_STATIC)
|
||||
OpenEventHandleSync(); /* intializes mutexes once. Must come before FUNC_ENTRY */
|
||||
#endif
|
||||
FUNC_ENTRY;
|
||||
|
|
|
|||
Loading…
Reference in New Issue