Mac OS X gui: Don't try to change the interface from a non-main thread. (Should fix...
[vlc.git] / vlc-api.pl
index fdccfda..0cb7d52 100755 (executable)
@@ -31,6 +31,7 @@ my $srcdir = $ENV{'top_srcdir'};
 # Reads to-be exported APIs
 #
 my %new_APIs;
+my $new_sym = IO::Handle->new();
 
 while (<STDIN>)
 {
@@ -43,8 +44,7 @@ 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".
@@ -55,29 +55,8 @@ print { $new_sym }
        "# 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".
@@ -179,7 +158,7 @@ foreach (keys %new_APIs)
 #
 print { $new_sym }
        "};\n".
-       "#  if defined (__PLUGIN__)\n";
+       "# if defined (__PLUGIN__)\n";
 
 foreach (@API)
 {
@@ -187,11 +166,11 @@ 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)
 {
@@ -204,8 +183,7 @@ foreach (@deprecated_API)
 
 print { $new_sym }
        "\n".
-       "#  endif /* __PLUGIN__ */\n".
-       "# endif /* HAVE_SHARED_LIBVLC */\n".
+       "# endif /* __PLUGIN__ */\n".
        "#endif /* __VLC_SYMBOLS_H */\n";
 close $new_sym;