[vlc-devel] commit: Fix compilation, by "fixing" VLC_PUBLIC_API. (Pierre d'Herbemont )

git version control git at videolan.org
Wed Mar 19 08:00:00 CET 2008


vlc | branch: master | Pierre d'Herbemont <pdherbemont at free.fr> | Wed Mar 19 07:53:24 2008 +0100| [82d39c38faa8a4eaeb613d65d27957321f449c02]

Fix compilation, by "fixing" VLC_PUBLIC_API.

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)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=82d39c38faa8a4eaeb613d65d27957321f449c02
---

 include/vlc_common.h  |   10 +++++-----
 include/vlc_objects.h |    3 ---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/include/vlc_common.h b/include/vlc_common.h
index 1384f90..bc179a0 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -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
diff --git a/include/vlc_objects.h b/include/vlc_objects.h
index 0f5bbde..1115bbe 100644
--- a/include/vlc_objects.h
+++ b/include/vlc_objects.h
@@ -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 :-)
  *****************************************************************************/




More information about the vlc-devel mailing list