summaryrefslogtreecommitdiff
path: root/src/settings.h
diff options
context:
space:
mode:
authorjan <jan@152afb58-edef-0310-8abb-c4023f1b3aa9>2007-02-17 11:48:27 +0000
committerjan <jan@152afb58-edef-0310-8abb-c4023f1b3aa9>2007-02-17 11:48:27 +0000
commitf3c0097659e1e707d847070de91ac7d13084781c (patch)
tree5676d583bee80d3556f6088a4f22ccc79284961d /src/settings.h
parenta484a6b46a050ae96d00101adfe6e17d5eddc427 (diff)
downloadlighttpd-f3c0097659e1e707d847070de91ac7d13084781c.tar.gz
added a huge win32 patch by jtiai
git-svn-id: svn://svn.lighttpd.net/lighttpd/trunk@1653 152afb58-edef-0310-8abb-c4023f1b3aa9
Diffstat (limited to 'src/settings.h')
-rw-r--r--src/settings.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/settings.h b/src/settings.h
index 1bdf5608..f7898e11 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -91,6 +91,8 @@
* win32 only recv/send
*/
#ifdef _WIN32
+/* Not yet ready for gthread */
+#undef USE_GTHREAD
# define USE_WIN32_SEND
/* wait for async-io support
# define USE_WIN32_TRANSMITFILE
@@ -109,4 +111,45 @@ typedef enum { HANDLER_UNSET,
HANDLER_WAIT_FOR_FD
} handler_t;
+/* Shared library support */
+#ifdef _WIN32
+ #define LI_IMPORT __declspec(dllimport)
+ #define LI_EXPORT __declspec(dllexport)
+ #define LI_DLLLOCAL
+ #define LI_DLLPUBLIC
+#else
+ #define LI_IMPORT
+ #ifdef GCC_HASCLASSVISIBILITY
+ #define LI_EXPORT __attribute__ ((visibility("default")))
+ #define LI_DLLLOCAL __attribute__ ((visibility("hidden")))
+ #define LI_DLLPUBLIC __attribute__ ((visibility("default")))
+ #else
+ #define LI_EXPORT
+ #define LI_DLLLOCAL
+ #define LI_DLLPUBLIC
+ #endif
+#endif
+
+/* Define LI_API for DLL builds */
+#ifdef LI_DLL
+ #ifdef LI_DLL_EXPORTS
+ #define LI_API LI_EXPORT
+ #else
+ #define LI_API LI_IMPORT
+ #endif
+#else
+ #define LI_API
+#endif
+
+/* Throwable classes must always be visible on GCC in all binaries */
+#ifdef _WIN32
+ #define LI_EXCEPTIONAPI(api) api
+#elif defined(GCC_HASCLASSVISIBILITY)
+ #define LI_EXCEPTIONAPI(api) LI_EXPORT
+#else
+ #define LI_EXCEPTIONAPI(api)
+#endif
+
+
+
#endif