Commit aaa92c22 authored by damienf's avatar damienf

vlc.h: move VLC_PUBLIC_API definition when building libvlc to vlc_common.h

parent 51d87be8
......@@ -158,10 +158,8 @@ struct vlc_list_t
/*****************************************************************************
* Shared library Export macros
*****************************************************************************/
#if defined(WIN32) && defined(DLL_EXPORT)
# define VLC_PUBLIC_API extern __declspec(dllexport)
#else
# define VLC_PUBLIC_API extern __attribute__((visibility("default")))
#ifndef VLC_PUBLIC_API
# define VLC_PUBLIC_API extern
#endif
/*****************************************************************************
......
......@@ -472,9 +472,11 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *, /* variable's object */
#if defined (WIN32) && defined (DLL_EXPORT)
# ifdef __cplusplus
# define VLC_PUBLIC_API __declspec(dllexport)
# define VLC_EXPORT( type, name, args ) extern "C" __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) extern "C" type name args
# else
# define VLC_PUBLIC_API extern __declspec(dllexport)
# define VLC_EXPORT( type, name, args ) __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) type name args
# endif
......@@ -482,22 +484,27 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *, /* variable's object */
# if !defined (__PLUGIN__) || defined (HAVE_SHARED_LIBVLC)
# ifdef __cplusplus
# if HAVE_ATTRIBUTE_VISIBILITY
# define VLC_PUBLIC_API __attribute__((visibility("default")))
# define VLC_EXPORT( type, name, args ) extern "C" __attribute__((visibility("default"))) type name args
# define VLC_INTERNAL( type, name, args ) extern "C" __attribute__((visibility("hidden"))) type name args
# else
# define VLC_PUBLIC_API
# define VLC_EXPORT( type, name, args ) extern "C" type name args
# define VLC_INTERNAL( type, name, args ) extern "C" type name args
# endif
# else
# if HAVE_ATTRIBUTE_VISIBILITY
# define VLC_PUBLIC_API extern __attribute__((visibility("default")))
# define VLC_EXPORT( type, name, args ) __attribute__((visibility("default"))) type name args
# define VLC_INTERNAL( type, name, args ) __attribute__((visibility("hidden"))) type name args
# else
# define VLC_PUBLIC_API extern
# define VLC_EXPORT( type, name, args ) type name args
# define VLC_INTERNAL( type, name, args ) type name args
# endif
# endif
# else
# define VLC_PUBLIC_API
# define VLC_EXPORT( type, name, args ) struct _u_n_u_s_e_d_
# define VLC_INTERNAL( type, name, args ) struct _u_n_u_s_e_d_
extern module_symbols_t* p_symbols;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment