X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=vlc-api.pl;h=0cb7d529915d02ed0be342a6ce46a20ae8414a3f;hb=67da4884c3b2934ce028b9c437f23b3a5cfc9990;hp=1c963a6ad2147a91d6b141c2d725d90cbee8b20d;hpb=8d65083c187c5066a60de73d32695cfce6ddaef8;p=vlc diff --git a/vlc-api.pl b/vlc-api.pl index 1c963a6ad2..0cb7d52991 100755 --- a/vlc-api.pl +++ b/vlc-api.pl @@ -19,7 +19,7 @@ #* #* 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; @@ -31,6 +31,7 @@ my $srcdir = $ENV{'top_srcdir'}; # Reads to-be exported APIs # my %new_APIs; +my $new_sym = IO::Handle->new(); while () { @@ -43,8 +44,7 @@ while () # # 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;