diff options
Diffstat (limited to 'gtk/makegtkalias.pl')
-rwxr-xr-x | gtk/makegtkalias.pl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk/makegtkalias.pl b/gtk/makegtkalias.pl index 43e17ced8b..b1b76d9560 100755 --- a/gtk/makegtkalias.pl +++ b/gtk/makegtkalias.pl @@ -103,13 +103,23 @@ while (<>) { next; } - + chop; my $str = $_; + my @words; + my $attributes = ""; + + @words = split(/ /, $str); + $str = shift(@words); chomp($str); my $alias = "IA__".$str; + # Drop any Win32 specific .def file syntax, but keep attributes + foreach $word (@words) { + $attributes = "$attributes $word" unless $word eq "PRIVATE"; + } + print <<EOF -extern __typeof ($str) $alias __attribute((visibility("hidden"))); +extern __typeof ($str) $alias __attribute((visibility("hidden")))$attributes; extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default"))); \#define $str $alias |