aboutsummaryrefslogtreecommitdiff
path: root/src/util/makemetablob.pl
blob: 530e187c66e275a8b4d752ee1ce5c4a53667e7a5 (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
#! /usr/bin/perl -w

use strict;

print <<EOF;
/* This is an auto-generated file -- do not edit */

\#include <stddef.h>
\#include <stdlib.h>

struct datainfo
{
  unsigned char const * data;
  size_t length;
  struct datainfo const * next;
};

struct sourceinfo
{
  struct datainfo const * first;
  char const * arrangement;
  char const * thorn;
};

EOF

foreach my $argv (@ARGV) {
    print "extern struct sourceinfo const cactus_source_${argv};\n";
}

print <<EOF;

struct sourceinfo const * const cactus_source [] = {
EOF

foreach my $argv (@ARGV) {
    print "  & cactus_source_${argv},\n";
}

print <<EOF;
  NULL
};
EOF