#define VLC_PLUGIN_ENTRY(entrypoint) entrypoint, #include "plugins.manifest.h" /** * Define the list of plugins entry to use in the application. * * The plugins must then be linked to the application on way or * another, by static linking the plugin into the executable or * providing a dynamic library and link it for example. * * LibVLC plugins will automatically get inserted too. If only * LibVLC plugins are needed, this macro can be called with * NULL instead of the list of plugins entrypoint. * * \warning{This macro must be called once per application. * Calling it in a library is discouraged as it might prevent the * final application from including other plugins.} */ __attribute__((visibility("default"))) \ extern const int (*vlc_static_modules[])(int (*)(void*,void*,int,...), void*); #define VLCKIT_DECLARE_PLUGINS_EXPLICIT_(...) \ const int (*vlc_static_modules[])(int (*)(void*,void*,int,...), void*) = { \ __VA_ARGS__, \ NULL \ }; #ifdef VLC_PLUGIN_MANIFEST_LIST #define VLCKIT_DECLARE_PLUGINS(...) \ VLCKIT_DECLARE_PLUGINS_EXPLICIT_( \ VLC_PLUGIN_MANIFEST_LIST \ __VA_ARGS__) #else #define VLCKIT_DECLARE_PLUGINS(...) \ VLCKIT_DECLARE_PLUGINS_EXPLICIT_( \ __VA_ARGS__) #endif