summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2008-05-30 14:29:57 +0000
committerwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2008-05-30 14:29:57 +0000
commit89a260d3e9f71b66c6024eea2432baf96c5df4f8 (patch)
tree2cdac5872f8b18eb69dd0335170eb23ff2c7ebe6 /include
parentb8066f693982683426c119274ac446abe415d14a (diff)
downloadlibapr-util-89a260d3e9f71b66c6024eea2432baf96c5df4f8.tar.gz
Export the __fns array with an APU_MODULE_DECLARE_DATA,
which marks for export any data without respect for how the APR_DECLARE macros are configured. A module *imports* apr-util-1 lib, but it's vtable must be *exported*. git-svn-id: http://svn.apache.org/repos/asf/apr/apr-util/trunk@661731 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include')
-rw-r--r--include/apu.h.in16
-rw-r--r--include/apu.hnw12
-rw-r--r--include/apu.hw16
3 files changed, 44 insertions, 0 deletions
diff --git a/include/apu.h.in b/include/apu.h.in
index 144374ca..42573b63 100644
--- a/include/apu.h.in
+++ b/include/apu.h.in
@@ -66,6 +66,22 @@
* declarations within headers to properly import the variable.
*/
#define APU_DECLARE_DATA
+
+#if !defined(WIN32) || defined(APU_MODULE_DECLARE_STATIC)
+/**
+ * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA.
+ *
+ * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols
+ * declared with APU_MODULE_DECLARE_DATA are always exported.
+ * @code
+ * module APU_MODULE_DECLARE_DATA mod_tag
+ * @endcode
+ */
+#define APU_MODULE_DECLARE_DATA
+#else
+#define APU_MODULE_DECLARE_DATA __declspec(dllexport)
+#endif
+
/*
* we always have SDBM (it's in our codebase)
*/
diff --git a/include/apu.hnw b/include/apu.hnw
index eef74fe7..ce0f9d92 100644
--- a/include/apu.hnw
+++ b/include/apu.hnw
@@ -68,6 +68,18 @@
* declarations within headers to properly import the variable.
*/
#define APU_DECLARE_DATA
+
+/**
+ * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA.
+ *
+ * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols
+ * declared with APU_MODULE_DECLARE_DATA are always exported.
+ * @code
+ * module APU_MODULE_DECLARE_DATA mod_tag
+ * @endcode
+ */
+#define APU_MODULE_DECLARE_DATA
+
/*
* we always have SDBM (it's in our codebase)
*/
diff --git a/include/apu.hw b/include/apu.hw
index f3915a20..8785a91a 100644
--- a/include/apu.hw
+++ b/include/apu.hw
@@ -80,6 +80,22 @@
#define APU_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl
#define APU_DECLARE_DATA __declspec(dllimport)
#endif
+
+#if !defined(WIN32) || defined(APU_MODULE_DECLARE_STATIC)
+/**
+ * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA.
+ *
+ * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols
+ * declared with APU_MODULE_DECLARE_DATA are always exported.
+ * @code
+ * module APU_MODULE_DECLARE_DATA mod_tag
+ * @endcode
+ */
+#define APU_MODULE_DECLARE_DATA
+#else
+#define APU_MODULE_DECLARE_DATA __declspec(dllexport)
+#endif
+
/*
* we always have SDBM (it's in our codebase)
*/