diff options
author | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2008-05-30 14:29:57 +0000 |
---|---|---|
committer | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2008-05-30 14:29:57 +0000 |
commit | 89a260d3e9f71b66c6024eea2432baf96c5df4f8 (patch) | |
tree | 2cdac5872f8b18eb69dd0335170eb23ff2c7ebe6 /include | |
parent | b8066f693982683426c119274ac446abe415d14a (diff) | |
download | libapr-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.in | 16 | ||||
-rw-r--r-- | include/apu.hnw | 12 | ||||
-rw-r--r-- | include/apu.hw | 16 |
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) */ |