+ "# ifdef HAVE_SHARED_LIBVLC\n".
+ "/*\n".
+ " * In an ideal world, plugins would include all the headers they need.\n".
+ " * But of course, many, if not all, of them don't, so we have to make sure\n".
+ " * the whole libvlc API is defined here in any case when included from a\n".
+ " * plugin.\n".
+ " */\n".
+ "# ifdef __PLUGIN__\n".
+ "# ifdef __cplusplus\n".
+ "extern \"C\" {\n".
+ "# endif\n";
+
+foreach (keys %new_APIs)
+{
+ print { $new_sym }
+ $new_APIs{$_}[0]." $_ (".$new_APIs{$_}[1].");\n";
+}
+
+print { $new_sym }
+ "# ifdef __cplusplus\n".
+ "}\n".
+ "# endif\n".
+ "# endif /* __PLUGIN__ */\n".
+ "# else /* HAVE_LIBVLC_SHARED */\n".