Просмотр исходного кода

Rework _MHD_EXTERN definition for VS project

Evgeny Grin (Karlson2k) 11 лет назад
Родитель
Сommit
49d17ea85e
2 измененных файлов с 21 добавлено и 0 удалено
  1. 7 0
      src/include/microhttpd.h
  2. 14 0
      src/include/platform.h

+ 7 - 0
src/include/microhttpd.h

@@ -166,7 +166,14 @@ typedef intptr_t ssize_t;
 #endif
 
 #ifndef _MHD_EXTERN
+#if defined(_WIN32) && defined(MHD_W32LIB)
 #define _MHD_EXTERN extern
+#elif defined (_WIN32) && defined(MHD_W32DLL)
+/* Define MHD_W32DLL when using MHD as W32 .DLL to speed up linker a little */
+#define _MHD_EXTERN __declspec(dllimport) 
+#else
+#define _MHD_EXTERN extern
+#endif
 #endif
 
 #ifndef MHD_SOCKET_DEFINED

+ 14 - 0
src/include/platform.h

@@ -40,7 +40,21 @@
 #ifdef _MHD_EXTERN
 #undef _MHD_EXTERN
 #endif /* _MHD_EXTERN */
+#if defined(_WIN32) && defined(MHD_W32LIB)
 #define _MHD_EXTERN extern
+#elif defined (_WIN32) && defined(MHD_W32DLL)
+#define _MHD_EXTERN __declspec(dllimport) 
+#else
+#define _MHD_EXTERN extern
+#endif
+#elif !defined(_MHD_EXTERN) /* && BUILDING_MHD_LIB */
+#if defined(_WIN32) && defined(MHD_W32LIB)
+#define _MHD_EXTERN extern
+#elif defined (_WIN32) && defined(MHD_W32DLL)
+#define _MHD_EXTERN extern __declspec(dllexport) 
+#else
+#define _MHD_EXTERN extern
+#endif
 #endif /* BUILDING_MHD_LIB */
 
 #define _XOPEN_SOURCE_EXTENDED  1