diff --git a/gtk/makegtkalias.pl b/gtk/makegtkalias.pl new file mode 100755 index 0000000000..dac18fe700 --- /dev/null +++ b/gtk/makegtkalias.pl @@ -0,0 +1,82 @@ +#!/usr/bin/perl -w + +my $preamble = < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) + +#ifdef GTK_ENABLE_BROKEN +#define WAS_BROKEN +#endif +#define GTK_ENABLE_BROKEN +#define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API + + +#ifdef GTK_DISABLE_DEPRECATED +#define WAS_NO_DEPR +#endif +#undef GTK_DISABLE_DEPRECATED + +#ifdef G_DISABLE_DEPRECATED +#define WAS_NO_G_DEPR +#endif +#undef G_DISABLE_DEPRECATED + +#include "gtk.h" + +#include "gtkfilesystem.h" +#include "gtkfilesystemunix.h" +#include "gtkhsv.h" +#include "gtkinternals.h" +#include "gtkpathbar.h" +#include "gtktextdisplay.h" +#include "gtktextlayout.h" +#include "gtktextsegment.h" +#include "gtktexttypes.h" +#include "gtktreedatalist.h" +#include "gtkthemes.h" +#include "gtkwindow-decorate.h" + +EOF + +my $postamble = < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) */ +EOF + +print $preamble; +while (<>) { + my $str = $_; + chomp($str); + + # ignore empty lines + if ("$str" eq "") { + next; + } + + my $alias = $str."__internal_alias"; + + print "extern __typeof ($str) $alias __attribute((visibility(\"hidden\"))); \n"; + print "extern __typeof ($str) $str __attribute((alias(\"$alias\"), visibility(\"default\"))); \n"; + print "#define $str $alias \n"; + print "\n"; +} + +print $postamble; +