Index: apr-1.6.3/include/apr.h.in =================================================================== --- apr-1.6.3.orig/include/apr.h.in +++ apr-1.6.3/include/apr.h.in @@ -477,7 +477,7 @@ typedef apr_uint32_t apr_uin * headers, without defining APR_DECLARE_STATIC, will prepare the code to be * linked to the dynamic library. */ -#define APR_DECLARE(type) type +#define APR_DECLARE(type) __attribute__ ((visibility ("default"))) type /** * The public APR functions using variable arguments are declared with @@ -490,7 +490,7 @@ typedef apr_uint32_t apr_uin * * */ -#define APR_DECLARE_NONSTD(type) type +#define APR_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type /** * The public APR variables are declared with AP_MODULE_DECLARE_DATA. @@ -506,7 +506,7 @@ typedef apr_uint32_t apr_uin * * */ -#define APR_DECLARE_DATA +#define APR_DECLARE_DATA __attribute__ ((visibility ("default"))) #elif defined(APR_DECLARE_STATIC) #define APR_DECLARE(type) type __stdcall Index: apr-1.6.3/include/apr_support.h =================================================================== --- apr-1.6.3.orig/include/apr_support.h +++ apr-1.6.3/include/apr_support.h @@ -45,7 +45,7 @@ extern "C" { * otherwise wait for data to be able to be written. * @return APR_TIMEUP if we run out of time. */ -apr_status_t apr_wait_for_io_or_timeout(apr_file_t *f, apr_socket_t *s, +APR_DECLARE(apr_status_t) apr_wait_for_io_or_timeout(apr_file_t *f, apr_socket_t *s, int for_read); /** @} */