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
|
# $Id$
package IDLHelper;
use strict;
use CommandHelper;
our @ISA = qw(CommandHelper);
sub get_output {
my($self, $file, $flags) = @_;
my @out;
# handle generated executor files (if any)
if ($flags =~ /-Gex/ && !($flags =~ /-oN/)) {
my $gendir = '';
if ($flags =~ /-oE\s*(\S+)/) {
$gendir = $1;
if (!($gendir =~ /(\\|\/)$/)) {
$gendir .= '/';
}
}
$file =~ /^(.*)(\.p?idl)$/;
push(@out, $gendir.$1."_exec.h");
push(@out, $gendir.$1."_exec.cpp");
}
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;
|