Return non-zero if an error occurs.
[AROS.git] / tools / sfdc / LVO.pl
blobe4c71420e7f6ccd21052c307715f295f74a2c157
2 ### Class LVO: Create an assembler LVO include file ###########################
4 BEGIN {
5 package LVO;
7 sub new {
8 my $proto = shift;
9 my %params = @_;
10 my $class = ref($proto) || $proto;
11 my $self = {};
12 $self->{SFD} = $params{'sfd'};
13 bless ($self, $class);
14 return $self;
17 sub header {
18 my $self = shift;
19 my $sfd = $self->{SFD};
21 print "* Automatically generated header! Do not edit!\n";
22 print " IFND LVO_$sfd->{BASENAME}_LIB_I\n";
23 print "LVO_$sfd->{BASENAME}_LIB_I SET 1\n";
24 print "\n";
27 sub function {
28 my $self = shift;
29 my %params = @_;
30 my $prototype = $params{'prototype'};
32 # Don't process private functions
33 if ($prototype->{private}) {
34 return;
37 if ($prototype->{type} eq 'function') {
38 print "_LVO$prototype->{funcname} EQU -$prototype->{bias}\n";
42 sub footer {
43 my $self = shift;
44 my $sfd = $self->{SFD};
46 print "\n";
47 print " ENDC * LVO_$sfd->{BASENAME}_LIB_I\n";