]> git.sesse.net Git - vlc/commitdiff
vlc.h: move VLC_PUBLIC_API definition when building libvlc to vlc_common.h
authorDamien Fouilleul <damienf@videolan.org>
Fri, 18 May 2007 18:06:18 +0000 (18:06 +0000)
committerDamien Fouilleul <damienf@videolan.org>
Fri, 18 May 2007 18:06:18 +0000 (18:06 +0000)
include/vlc/vlc.h
include/vlc_common.h

index 2f79ed6e4bbf47e2e80802401063bf28ae529c79..1eaa8e89ed16016a451e88382da592236b763bd6 100644 (file)
@@ -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
 
 /*****************************************************************************
index 00b43d4170bf3e8d99ab568a8bf819e8c2039e97..9beadf0f5b917ff9fe923ca32c44215535293df3 100644 (file)
@@ -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;