diff --git a/CMakeLists.txt b/CMakeLists.txt index c4bf719..935ee37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,6 +191,18 @@ endif() source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Header Files" FILES ${HEADERS}) source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Source Files" FILES ${SOURCES}) +include(CheckFunctionExists) + +if (STATIC_BINARY) + add_definitions(-DCURL_STATICLIB) + + check_function_exists(__nss_module_disable_loading HAVE_NSS_MODULE_DISABLE_LOADING) + + if (HAVE_NSS_MODULE_DISABLE_LOADING) + add_definitions(-DHAVE_NSS_MODULE_DISABLE_LOADING) + endif() +endif() + if (NOT ((CMAKE_CXX_COMPILER_ID MATCHES MSVC) OR STATIC_BINARY OR STATIC_LIBS)) include(FindCURL) endif() @@ -265,13 +277,13 @@ if(APPLE) set(LIBS ${LIBS} ${FOUNDATION_LIB} ${CORE_FOUNDATION_LIB} ${SYSTEM_CONFIGURATION_LIB}) endif() -add_definitions(/DZMQ_STATIC) +add_definitions(-DZMQ_STATIC) include(CheckIncludeFile) check_include_file(asm/hwcap.h HAVE_HWCAP) if(HAVE_HWCAP) - add_definitions(/DHAVE_HWCAP) + add_definitions(-DHAVE_HWCAP) endif() include(CheckCXXSourceCompiles) @@ -348,32 +360,32 @@ int main() set(CMAKE_REQUIRED_LIBRARIES) if (HAVE_BUILTIN_CLZLL) - add_definitions(/DHAVE_BUILTIN_CLZLL) + add_definitions(-DHAVE_BUILTIN_CLZLL) endif() if (HAVE_BITSCANREVERSE64) - add_definitions(/DHAVE_BITSCANREVERSE64) + add_definitions(-DHAVE_BITSCANREVERSE64) endif() if (HAVE_SCHED) - add_definitions(/DHAVE_SCHED) + add_definitions(-DHAVE_SCHED) endif() if (HAVE_RES_QUERY) - add_definitions(/DHAVE_RES_QUERY) + add_definitions(-DHAVE_RES_QUERY) if (HAVE_RESOLV_LIB) set(LIBS ${LIBS} resolv) endif() endif() if (HAVE_PTHREAD_SETNAME_NP) - add_definitions(/DHAVE_PTHREAD_SETNAME_NP) + add_definitions(-DHAVE_PTHREAD_SETNAME_NP) endif() add_definitions("-DRAPIDJSON_PARSE_DEFAULT_FLAGS=kParseTrailingCommasFlag") if (WIN32 AND (CMAKE_BUILD_TYPE STREQUAL "Release")) - add_definitions(/DNDEBUG) + add_definitions(-DNDEBUG) endif() add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES}) diff --git a/src/common.h b/src/common.h index 5592a57..73a1977 100644 --- a/src/common.h +++ b/src/common.h @@ -108,6 +108,12 @@ extern "C" void __asan_unpoison_memory_region(void const volatile* addr, size_t #define ASAN_UNPOISON_MEMORY_REGION(addr, size) #endif +#ifdef HAVE_NSS_MODULE_DISABLE_LOADING +extern "C" void __nss_module_disable_loading(); +#else +#define __nss_module_disable_loading() +#endif + namespace p2pool { constexpr size_t HASH_SIZE = 32; diff --git a/src/main.cpp b/src/main.cpp index d294780..0f4ca2e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -265,6 +265,8 @@ int main(int argc, char* argv[]) SymInitialize(GetCurrentProcess(), NULL, TRUE); #endif + __nss_module_disable_loading(); + memory_tracking_start(); // Create default loop here