]> granicus.if.org Git - libevent/commitdiff
log/win32: fix exporting extern variable
authorAzat Khuzhin <a3at.mail@gmail.com>
Mon, 13 Mar 2017 21:33:26 +0000 (00:33 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Tue, 14 Mar 2017 09:55:40 +0000 (12:55 +0300)
  ==> win:   C:\vagrant\log.c(73): error C2370: 'event_debug_logging_mask_' : redefinition; different storage class [C:\vagrant\.cmake-vagrant\event_core_shared.vcxproj]

include/event2/visibility.h
log-internal.h
log.c

index 57ea3b76c8397abc9422483b6674ae546ac0fafe..af30905db4afcca380bb5699fdb274a47864dd6c 100644 (file)
@@ -34,6 +34,7 @@
     defined(event_core_shared_EXPORTS) || \
     defined(event_pthreads_shared_EXPORTS) || \
     defined(event_openssl_shared_EXPORTS)
+
 # if defined (__SUNPRO_C) && (__SUNPRO_C >= 0x550)
 #  define EVENT2_EXPORT_SYMBOL __global
 # elif defined __GNUC__
 # else
 #  define EVENT2_EXPORT_SYMBOL /* unknown compiler */
 # endif
-#else
+
+#else /* event_*_EXPORTS */
+
 # if defined(_MSC_VER)
 #  define EVENT2_EXPORT_SYMBOL extern __declspec(dllimport)
 # else
 #  define EVENT2_EXPORT_SYMBOL
 # endif
+
+#endif /* event_*_EXPORTS */
+
+#if defined(_MSC_VER)
+# define EVENT2_EXPORT_SYMBOL_DECL __declspec(dllimport)
+#else
+# define EVENT2_EXPORT_SYMBOL_DECL extern
 #endif
 
 #endif /* EVENT2_VISIBILITY_H_INCLUDED_ */
index 4c927afcb838ce0c1b2a97cb390aa25a8721ad83..b9d19f13a0882beb53fff07f9777457952ce1127 100644 (file)
@@ -48,8 +48,8 @@ extern "C" {
 #endif
 
 #ifdef EVENT_DEBUG_LOGGING_ENABLED
-EVENT2_EXPORT_SYMBOL
-extern ev_uint32_t event_debug_logging_mask_;
+EVENT2_EXPORT_SYMBOL_DECL
+ev_uint32_t event_debug_logging_mask_;
 #define event_debug_get_logging_mask_() (event_debug_logging_mask_)
 #else
 #define event_debug_get_logging_mask_() (0)
diff --git a/log.c b/log.c
index 0bbee6202baaae9b509b7ff3e840419a4d9ad1be..ed955575eae8f1e4d58febbc2c337ac4af4478c1 100644 (file)
--- a/log.c
+++ b/log.c
@@ -69,6 +69,7 @@ static event_fatal_cb fatal_fn = NULL;
 #define DEFAULT_MASK 0
 #endif
 
+EVENT2_EXPORT_SYMBOL
 ev_uint32_t event_debug_logging_mask_ = DEFAULT_MASK;
 #endif /* EVENT_DEBUG_LOGGING_ENABLED */