summaryrefslogtreecommitdiff
path: root/gtk/makegtkalias.pl
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/makegtkalias.pl')
-rwxr-xr-xgtk/makegtkalias.pl14
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