summaryrefslogtreecommitdiff
path: root/MPC/modules/IDLHelper.pm
blob: de2ddd8dc3fdb450f3820ccb6ccc4ac22220a5ab (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
package IDLHelper;

use strict;
use CommandHelper;
our @ISA = qw(CommandHelper);

sub get_output {
  my($self, $file, $flags) = @_;
  my @out;

  if ($flags =~ /-Gxhex/ && $flags =~ /-Wb,exec_export_include=(\S*)/) {
    push(@out, $1);
  }
  if ($flags =~ /-Gxhst/) {
    if ($flags =~ /-Wb,stub_export_file=(\S*)/) {
      push(@out, $1);
    } elsif ($flags =~ /-Wb,stub_export_include=(\S*)/) {
      push(@out, $1);
    }
  }
  if ($flags =~ /-Gxhsk/) {
    if ($flags =~ /-Wb,skel_export_file=(\S*)/) {
      push(@out, $1);
    } elsif ($flags =~ /-Wb,skel_export_include=(\S*)/) {
      push(@out, $1);
    }
  }
  if ($flags =~ /-Gxhsv/ && $flags =~ /-Wb,svnt_export_include=(\S*)/) {
    push(@out, $1);
  }
  if ($flags =~ /-Gxhcn/ && $flags =~ /-Wb,conn_export_include=(\S*)/) {
    push(@out, $1);
  }

  return \@out;
}

sub get_outputexts {
  return ['\\.h']; #this is a regexp pattern, so . gets escaped
}

1;