geninclude.pl.in 675 Bytes
Newer Older
1 2 3
#!/usr/bin/perl -w

print <<EOT;
4 5
typedef	GtkWidget *(*GDoDemoFunc) (void);

6 7 8 9 10 11
typedef struct _Demo Demo;

struct _Demo 
{
  gchar *title;
  gchar *filename;
12
  GDoDemoFunc func;
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
};

EOT

$array = "";
$first = 1;
for $file (@ARGV) {
    
    ($basename = $file) =~ s/\.c$//;

    if ($first) {
	$first = 0;
    } else {
	$array .= ",\n";
    }

    open INFO_FILE, $file or die "Cannot open '$file'\n";
    $title = <INFO_FILE>;
    $title =~ s@^\s*/\*\s*@@;
    $title =~ s@\s*$@@;

    close INFO_FILE;

36
    print "GtkWidget *do_$basename (void);\n";
37 38 39 40 41 42
    $array .= qq(  { "$title", "$file", do_$basename });
}

print "\nDemo testgtk_demos[] = {";
print $array;
print "\n};\n";