summaryrefslogtreecommitdiff
path: root/gdk/makegdkalias.pl
blob: f46d21cc165d7f59bc22e709df0493ede3fb100b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/perl -w

print <<EOF;
/* Generated by makegdkalias.pl */

#include <glib.h>

#ifdef G_HAVE_GNUC_VISIBILITY

#ifdef  GDK_ENABLE_BROKEN
#define WAS_BROKEN
#endif
#define GDK_ENABLE_BROKEN

#ifdef  GDK_MULTIHEAD_SAFE
#define WAS_MULTIHEAD
#endif
#undef GDK_MULTIHEAD_SAVE

#ifdef  GDK_DISABLE_DEPRECATED
#define WAS_NO_DEPR
#endif
#undef  GDK_DISABLE_DEPRECATED

#ifdef  G_DISABLE_DEPRECATED
#define WAS_NO_G_DEPR
#endif
#undef  G_DISABLE_DEPRECATED

#include "gdk.h"

#include "x11/gdkx.h"

EOF

while (<>) {

  # ignore empty lines
  next if /^\s*$/;

  my $str = $_;
  chomp($str);
  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 <<EOF;

#ifndef WAS_BROKEN
#undef  GDK_ENABLE_BROKEN
#else
#undef  WAS_BROKEN
#endif

#ifdef  WAS_MULTIHEAD
#define GDK_MULTIHEAD_SAFE
#undef  WAS_MULTIHEAD
#endif

#ifdef  WAS_NO_DEPR
#define GDK_DISABLE_DEPRECATED
#undef  WAS_NO_DEPR
#endif

#ifdef  WAS_NO_G_DEPR
#define G_DISABLE_DEPRECATED
#undef  WAS_NO_G_DEPR
#endif

#endif /* G_HAVE_GNUC_VISIBILITY */
EOF