Fix compilation, by "fixing" VLC_PUBLIC_API.
authorPierre d'Herbemont <pdherbemont@free.fr>
Wed, 19 Mar 2008 06:53:24 +0000 (07:53 +0100)
committerPierre d'Herbemont <pdherbemont@free.fr>
Wed, 19 Mar 2008 07:00:06 +0000 (08:00 +0100)
Revert "VLC_PUBLIC_API needs extern "C" on windows/c++ too."

This reverts commit 4af174fcd8b06d416eb499a61f56029a2d48bd90.

Revert "Mark VLC_PUBLIC_API as extern "C" when using C++."

This reverts commit 879e3eb226c7df84db6868b25964830664f92ebb.

Don't publish the default object destructor. (VLC_PUBLIC_API is broken)

include/vlc_common.h
include/vlc_objects.h

index 1384f90..bc179a0 100644 (file)
@@ -455,8 +455,8 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
 
 #if defined (WIN32) && defined (DLL_EXPORT)
 #  ifdef __cplusplus
-#    define VLC_PUBLIC_API extern "C" __declspec(dllexport)
-#    define VLC_PRIVATE_API extern "C" __declspec(dllexport)
+#    define VLC_PUBLIC_API __declspec(dllexport)
+#    define VLC_PRIVATE_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
@@ -468,12 +468,12 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
 #else
 #  ifdef __cplusplus
 #    ifdef HAVE_ATTRIBUTE_VISIBILITY
-#      define VLC_PUBLIC_API extern "C" __attribute__((visibility("default")))
-#      define VLC_PRIVATE_API extern "C" __attribute__((visibility("default")))
+#      define VLC_PUBLIC_API __attribute__((visibility("default")))
+#      define VLC_PRIVATE_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 extern "C"
+#      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
index 0f5bbde..1115bbe 100644 (file)
@@ -86,9 +86,6 @@
 /* Types */
 typedef void (*vlc_destructor_t)(struct vlc_object_t *);
 
-/* Constants */
-VLC_PUBLIC_API const vlc_destructor_t kVLCDestructor;
-
 /*****************************************************************************
  * The vlc_object_t type. Yes, it's that simple :-)
  *****************************************************************************/