diff options
author | Johannes Schlüter <johannes@php.net> | 2012-05-25 00:22:25 +0200 |
---|---|---|
committer | Johannes Schlüter <johannes@php.net> | 2012-05-25 00:22:25 +0200 |
commit | 8fc9df3f67dc35bff019f538934322583fd5fefd (patch) | |
tree | 6f83b92c64f85b3ea3fb4f346d46578d65fae055 /ext/com_dotnet | |
parent | cfea8e5d04168d296d75dec21f8f0f920f563f00 (diff) | |
download | php-git-8fc9df3f67dc35bff019f538934322583fd5fefd.tar.gz |
Fix bug #62146 com_dotnet cannot be built shared, tested by Anatoliy
Diffstat (limited to 'ext/com_dotnet')
-rw-r--r-- | ext/com_dotnet/com_misc.c | 6 | ||||
-rw-r--r-- | ext/com_dotnet/com_olechar.c | 4 | ||||
-rwxr-xr-x | ext/com_dotnet/com_persist.c | 2 | ||||
-rw-r--r-- | ext/com_dotnet/com_typeinfo.c | 6 | ||||
-rw-r--r-- | ext/com_dotnet/com_variant.c | 6 | ||||
-rw-r--r-- | ext/com_dotnet/com_wrapper.c | 4 | ||||
-rw-r--r-- | ext/com_dotnet/php_com_dotnet.h | 8 | ||||
-rw-r--r-- | ext/com_dotnet/php_com_dotnet_internal.h | 28 |
8 files changed, 36 insertions, 28 deletions
diff --git a/ext/com_dotnet/com_misc.c b/ext/com_dotnet/com_misc.c index f931e6bf14..86deca2969 100644 --- a/ext/com_dotnet/com_misc.c +++ b/ext/com_dotnet/com_misc.c @@ -42,7 +42,7 @@ void php_com_throw_exception(HRESULT code, char *message TSRMLS_DC) } } -PHPAPI void php_com_wrap_dispatch(zval *z, IDispatch *disp, +PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp, int codepage TSRMLS_DC) { php_com_dotnet_object *obj; @@ -65,7 +65,7 @@ PHPAPI void php_com_wrap_dispatch(zval *z, IDispatch *disp, z->value.obj.handlers = &php_com_object_handlers; } -PHPAPI void php_com_wrap_variant(zval *z, VARIANT *v, +PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC) { php_com_dotnet_object *obj; @@ -92,7 +92,7 @@ PHPAPI void php_com_wrap_variant(zval *z, VARIANT *v, /* this is a convenience function for fetching a particular * element from a (possibly multi-dimensional) safe array */ -PHPAPI int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC) +PHP_COM_DOTNET_API int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC) { UINT dims; LONG lbound, ubound; diff --git a/ext/com_dotnet/com_olechar.c b/ext/com_dotnet/com_olechar.c index 67158fdfd5..2cb1f03e50 100644 --- a/ext/com_dotnet/com_olechar.c +++ b/ext/com_dotnet/com_olechar.c @@ -30,7 +30,7 @@ #include "php_com_dotnet_internal.h" -PHPAPI OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int codepage TSRMLS_DC) +PHP_COM_DOTNET_API OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int codepage TSRMLS_DC) { OLECHAR *olestring = NULL; DWORD flags = codepage == CP_UTF8 ? 0 : MB_PRECOMPOSED | MB_ERR_INVALID_CHARS; @@ -65,7 +65,7 @@ PHPAPI OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int c return olestring; } -PHPAPI char *php_com_olestring_to_string(OLECHAR *olestring, uint *string_len, int codepage TSRMLS_DC) +PHP_COM_DOTNET_API char *php_com_olestring_to_string(OLECHAR *olestring, uint *string_len, int codepage TSRMLS_DC) { char *string; uint length = 0; diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c index 96173af5df..fb940217e8 100755 --- a/ext/com_dotnet/com_persist.c +++ b/ext/com_dotnet/com_persist.c @@ -271,7 +271,7 @@ static void istream_destructor(php_istream *stm) } /* }}} */ -PHPAPI IStream *php_com_wrapper_export_stream(php_stream *stream TSRMLS_DC) +PHP_COM_DOTNET_API IStream *php_com_wrapper_export_stream(php_stream *stream TSRMLS_DC) { php_istream *stm = (php_istream*)CoTaskMemAlloc(sizeof(*stm)); diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c index 21f8532d0a..e860872ebb 100644 --- a/ext/com_dotnet/com_typeinfo.c +++ b/ext/com_dotnet/com_typeinfo.c @@ -35,7 +35,7 @@ * b) a CLSID, major, minor e.g. "{00000200-0000-0010-8000-00AA006D2EA4},2,0" * c) a Type Library name e.g. "Microsoft OLE DB ActiveX Data Objects 1.0 Library" */ -PHPAPI ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC) +PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC) { ITypeLib *TL = NULL; char *strtok_buf, *major, *minor; @@ -153,7 +153,7 @@ PHPAPI ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_D } /* Given a type-library, merge it into the current engine state */ -PHPAPI int php_com_import_typelib(ITypeLib *TL, int mode, int codepage TSRMLS_DC) +PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepage TSRMLS_DC) { int i, j, interfaces; TYPEKIND pTKind; @@ -224,7 +224,7 @@ void php_com_typelibrary_dtor(void *pDest) ITypeLib_Release(*Lib); } -PHPAPI ITypeLib *php_com_load_typelib_via_cache(char *search_string, +PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(char *search_string, int codepage, int *cached TSRMLS_DC) { ITypeLib **TLp; diff --git a/ext/com_dotnet/com_variant.c b/ext/com_dotnet/com_variant.c index 33c83fa853..16050d5077 100644 --- a/ext/com_dotnet/com_variant.c +++ b/ext/com_dotnet/com_variant.c @@ -98,7 +98,7 @@ bogus: } } -PHPAPI void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC) +PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC) { OLECHAR *olestring; php_com_dotnet_object *obj; @@ -166,7 +166,7 @@ PHPAPI void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_D } } -PHPAPI int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC) +PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC) { OLECHAR *olestring = NULL; int ret = SUCCESS; @@ -258,7 +258,7 @@ PHPAPI int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC } -PHPAPI int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar TSRMLS_DC) +PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar TSRMLS_DC) { int ret = SUCCESS; diff --git a/ext/com_dotnet/com_wrapper.c b/ext/com_dotnet/com_wrapper.c index fa5bbf7234..27a5685863 100644 --- a/ext/com_dotnet/com_wrapper.c +++ b/ext/com_dotnet/com_wrapper.c @@ -586,7 +586,7 @@ static void disp_destructor(php_dispatchex *disp) CoTaskMemFree(disp); } -PHPAPI IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, +PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, HashTable *id_to_name TSRMLS_DC) { php_dispatchex *disp = disp_constructor(val TSRMLS_CC); @@ -625,7 +625,7 @@ PHPAPI IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, return (IDispatch*)disp; } -PHPAPI IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC) +PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC) { php_dispatchex *disp = NULL; diff --git a/ext/com_dotnet/php_com_dotnet.h b/ext/com_dotnet/php_com_dotnet.h index ddcd38132e..96ea21ae6a 100644 --- a/ext/com_dotnet/php_com_dotnet.h +++ b/ext/com_dotnet/php_com_dotnet.h @@ -28,6 +28,14 @@ extern zend_module_entry com_dotnet_module_entry; #include "TSRM.h" #endif +#ifdef PHP_WIN32 +# define PHP_COM_DOTNET_API __declspec(dllexport) +#elif defined(__GNUC__) && __GNUC__ >= 4 +# define PHP_COM_DOTNET_API __attribute__ ((visibility("default"))) +#else +# define PHP_COM_DOTNET_API +#endif + PHP_MINIT_FUNCTION(com_dotnet); PHP_MSHUTDOWN_FUNCTION(com_dotnet); PHP_RINIT_FUNCTION(com_dotnet); diff --git a/ext/com_dotnet/php_com_dotnet_internal.h b/ext/com_dotnet/php_com_dotnet_internal.h index b429018445..6f7f0305f8 100644 --- a/ext/com_dotnet/php_com_dotnet_internal.h +++ b/ext/com_dotnet/php_com_dotnet_internal.h @@ -87,9 +87,9 @@ zend_object_iterator *php_com_saproxy_iter_get(zend_class_entry *ce, zval *objec int php_com_saproxy_create(zval *com_object, zval *proxy_out, zval *index TSRMLS_DC); /* com_olechar.c */ -PHPAPI char *php_com_olestring_to_string(OLECHAR *olestring, +PHP_COM_DOTNET_API char *php_com_olestring_to_string(OLECHAR *olestring, uint *string_len, int codepage TSRMLS_DC); -PHPAPI OLECHAR *php_com_string_to_olestring(char *string, +PHP_COM_DOTNET_API OLECHAR *php_com_string_to_olestring(char *string, uint string_len, int codepage TSRMLS_DC); @@ -115,8 +115,8 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen, /* com_wrapper.c */ int php_com_wrapper_minit(INIT_FUNC_ARGS); -PHPAPI IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, HashTable *id_to_name TSRMLS_DC); -PHPAPI IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC); +PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *sinkid, HashTable *id_to_name TSRMLS_DC); +PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export(zval *val TSRMLS_DC); /* com_persist.c */ int php_com_persist_minit(INIT_FUNC_ARGS); @@ -150,10 +150,10 @@ PHP_FUNCTION(variant_get_type); PHP_FUNCTION(variant_set_type); PHP_FUNCTION(variant_cast); -PHPAPI void php_com_variant_from_zval_with_type(VARIANT *v, zval *z, VARTYPE type, int codepage TSRMLS_DC); -PHPAPI void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC); -PHPAPI int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC); -PHPAPI int php_com_copy_variant(VARIANT *dst, VARIANT *src TSRMLS_DC); +PHP_COM_DOTNET_API void php_com_variant_from_zval_with_type(VARIANT *v, zval *z, VARTYPE type, int codepage TSRMLS_DC); +PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC); +PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC); +PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dst, VARIANT *src TSRMLS_DC); /* com_dotnet.c */ PHP_FUNCTION(com_dotnet_create_instance); @@ -162,17 +162,17 @@ void php_com_dotnet_mshutdown(TSRMLS_D); /* com_misc.c */ void php_com_throw_exception(HRESULT code, char *message TSRMLS_DC); -PHPAPI void php_com_wrap_dispatch(zval *z, IDispatch *disp, +PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp, int codepage TSRMLS_DC); -PHPAPI void php_com_wrap_variant(zval *z, VARIANT *v, +PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v, int codepage TSRMLS_DC); -PHPAPI int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC); +PHP_COM_DOTNET_API int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1 TSRMLS_DC); /* com_typeinfo.c */ -PHPAPI ITypeLib *php_com_load_typelib_via_cache(char *search_string, +PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(char *search_string, int codepage, int *cached TSRMLS_DC); -PHPAPI ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC); -PHPAPI int php_com_import_typelib(ITypeLib *TL, int mode, +PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib(char *search_string, int codepage TSRMLS_DC); +PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepage TSRMLS_DC); void php_com_typelibrary_dtor(void *pDest); ITypeInfo *php_com_locate_typeinfo(char *typelibname, php_com_dotnet_object *obj, char *dispname, int sink TSRMLS_DC); |