summaryrefslogtreecommitdiff
path: root/gtk/makegtkalias.pl
blob: dac18fe7008e497ce4da80a928c39f95b2e88151 (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
77
78
79
80
81
82
#!/usr/bin/perl -w

my $preamble = <<EOF;
/* Generated by makegtkalias.pl */

#if __GNUC__ > 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 = <<EOF;

#ifndef WAS_BROKEN
#undef  GTK_ENABLE_BROKEN
#else
#undef  WAS_BROKEN
#endif

#ifdef  WAS_NO_DEPR
#define GTK_DISABLE_DEPRECATED
#undef  WAS_NO_DEPR
#endif

#ifdef  WAS_NO_G_DEPR
#define G_DISABLE_DEPRECATED
#undef  WAS_NO_G_DEPR
#endif

#endif /* __GNUC__ > 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;