#*
#* You should have received a copy of the GNU General Public License
#* along with this program; if not, write to the Free Software
-#* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+#* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
#*****************************************************************************/
use IO::Handle;
# Reads to-be exported APIs
#
my %new_APIs;
+my $new_sym = IO::Handle->new();
while (<STDIN>)
{
#
# Write header's header
#
-my $new_sym=IO::Handle->new();
-open $new_sym, '> vlc_symbols.h.new' or die "$!";
+open $new_sym, '> vlc_symbols.h.new' or die "vlc_symbols.h.new: $!\n";
print { $new_sym }
"/*\n".
" * This file is automatically generated. DO NOT EDIT!\n".
"# define __VLC_SYMBOLS_H\n".
"\n".
"# 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".
+ "# error You are not supposed to include this file!\n".
+ "# endif\n".
"/*\n".
" * This is the big VLC API structure for plugins :\n".
" * Changing its layout breaks plugin's binary compatibility,\n".
#
print { $new_sym }
"};\n".
- "# if defined (__PLUGIN__)\n";
+ "# if defined (__PLUGIN__)\n";
foreach (@API)
{
}
print { $new_sym }
- "# elif defined (HAVE_DYNAMIC_PLUGINS) && !defined (__BUILTIN__)\n".
+ "# elif defined (HAVE_DYNAMIC_PLUGINS) && !defined (__BUILTIN__)\n".
"/******************************************************************\n".
" * STORE_SYMBOLS: store VLC APIs into p_symbols for plugin access.\n".
" ******************************************************************/\n".
- "# define STORE_SYMBOLS( p_symbols ) \\\n";
+ "# define STORE_SYMBOLS( p_symbols ) \\\n";
foreach (@API)
{
print { $new_sym }
"\n".
- "# endif /* __PLUGIN__ */\n".
- "# endif /* HAVE_SHARED_LIBVLC */\n".
+ "# endif /* __PLUGIN__ */\n".
"#endif /* __VLC_SYMBOLS_H */\n";
close $new_sym;