From ed515d464251fc1bba6b32832ed7be0bf7416147 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Thu, 24 Oct 2019 11:51:25 +0300 Subject: [PATCH] mdbx: fix static library build on Windows. --- mdbx.h | 12 +++++++++--- src/elements/lck-windows.c | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/mdbx.h b/mdbx.h index c8baa3e3..474872c6 100644 --- a/mdbx.h +++ b/mdbx.h @@ -643,6 +643,13 @@ extern "C" { #endif /**** MDBX version information ************************************************/ + +#if defined(LIBMDBX_IMPORTS) +#define LIBMDBX_VERINFO_API __dll_import +#else +#define LIBMDBX_VERINFO_API __dll_export +#endif /* LIBMDBX_VERINFO_API */ + typedef struct mdbx_version_info { uint8_t major; uint8_t minor; @@ -656,7 +663,7 @@ typedef struct mdbx_version_info { } git; const char *sourcery /* sourcery anchor for pinning */; } mdbx_version_info; -extern LIBMDBX_API const mdbx_version_info mdbx_version; +extern LIBMDBX_VERINFO_API const mdbx_version_info mdbx_version; /* MDBX build information. * WARNING: Some strings could be NULL in case no corresponding information was @@ -668,8 +675,7 @@ typedef struct mdbx_build_info { const char *compiler /* compiler */; const char *flags /* CFLAGS */; } mdbx_build_info; - -extern LIBMDBX_API const mdbx_build_info mdbx_build; +extern LIBMDBX_VERINFO_API const mdbx_build_info mdbx_build; #if defined(_WIN32) || defined(_WIN64) #if !MDBX_BUILD_SHARED_LIBRARY diff --git a/src/elements/lck-windows.c b/src/elements/lck-windows.c index cd43aa4e..a469e6e9 100644 --- a/src/elements/lck-windows.c +++ b/src/elements/lck-windows.c @@ -26,7 +26,7 @@ static void mdbx_winnt_import(void); -#ifdef MDBX_BUILD_SHARED_LIBRARY +#if MDBX_BUILD_SHARED_LIBRARY #if MDBX_AVOID_CRT && defined(NDEBUG) /* DEBUG/CHECKED builds still require MSVC's CRT for runtime checks. * @@ -35,7 +35,7 @@ static void mdbx_winnt_import(void); * automatically use DllMainCRTStartup() from CRT library, which also * automatically call DllMain() from our mdbx.dll */ #pragma comment(linker, "/ENTRY:DllMain") -#endif +#endif /* MDBX_AVOID_CRT */ BOOL APIENTRY DllMain(HANDLE module, DWORD reason, LPVOID reserved) #else