summaryrefslogtreecommitdiffstats
path: root/source4/pidl/pidl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/pidl/pidl')
-rwxr-xr-xsource4/pidl/pidl40
1 files changed, 13 insertions, 27 deletions
diff --git a/source4/pidl/pidl b/source4/pidl/pidl
index 1cfc005c2f..d913e84e7d 100755
--- a/source4/pidl/pidl
+++ b/source4/pidl/pidl
@@ -613,27 +613,22 @@ sub process_file($)
unlink($tempfile);
}
+
+ my $comh_filename = ($opt_com_header or "$outputdir/com_$basename.h");
if (defined($opt_com_header)) {
require Parse::Pidl::Samba4::COM::Header;
- my $res = Parse::Pidl::Samba4::COM::Header::Parse($pidl);
+ my $res = Parse::Pidl::Samba4::COM::Header::Parse($pidl,"$outputdir/ndr_$basename.h");
if ($res) {
- my $comh_filename = ($opt_com_header or "$outputdir/com_$basename.h");
- FileSave($comh_filename,
- "#include \"librpc/gen_ndr/ndr_orpc.h\"\n" .
- "#include \"$outputdir/ndr_$basename.h\"\n" .
- $res);
+ FileSave($comh_filename, $res);
}
}
if (defined($opt_dcom_proxy)) {
require Parse::Pidl::Samba4::COM::Proxy;
- my $res = Parse::Pidl::Samba4::COM::Proxy::Parse($pidl);
+ my $res = Parse::Pidl::Samba4::COM::Proxy::Parse($pidl,$comh_filename);
if ($res) {
my ($client) = ($opt_dcom_proxy or "$outputdir/$basename\_p.c");
- FileSave($client,
- "#include \"includes.h\"\n" .
- "#include \"$outputdir/com_$basename.h\"\n" .
- "#include \"lib/com/dcom/dcom.h\"\n" .$res);
+ FileSave($client, $res);
}
}
@@ -690,12 +685,12 @@ sub process_file($)
require Parse::Pidl::Samba4::NDR::Server;
my $dcom = "";
- foreach my $x (@{$pidl}) {
- next if ($x->{TYPE} ne "INTERFACE");
+ foreach (@{$pidl}) {
+ next if ($_->{TYPE} ne "INTERFACE");
- if (Parse::Pidl::Util::has_property($x, "object")) {
+ if (Parse::Pidl::Util::has_property($_, "object")) {
require Parse::Pidl::Samba4::COM::Stub;
- $dcom .= Parse::Pidl::Samba4::COM::Stub::ParseInterface($x);
+ $dcom .= Parse::Pidl::Samba4::COM::Stub::ParseInterface($_);
}
}
@@ -717,25 +712,16 @@ $dcom
if (defined($opt_ndr_parser)) {
my $parser_fname = ($opt_ndr_parser or "$outputdir/ndr_$basename.c");
require Parse::Pidl::Samba4::NDR::Parser;
- my $header_fname = $parser_fname;
- $header_fname =~ s/\.c$/\.h/;
- my ($header,$parser) = Parse::Pidl::Samba4::NDR::Parser::Parse($ndr, $basename);
-
- my $baseheader = $h_filename; $baseheader =~ s/\/ndr_/\//;
- $header = "#include \"$baseheader\"\n$header";
+ my ($header,$parser) = Parse::Pidl::Samba4::NDR::Parser::Parse($ndr, $gen_header, $h_filename);
- $parser = "#include \"includes.h\"\n"
- . "#include \"librpc/gen_ndr/ndr_misc.h\"\n"
- . "#include \"librpc/gen_ndr/ndr_dcerpc.h\"\n"
- . "#include \"$header_fname\"\n\n$parser";
FileSave($parser_fname, $parser);
- FileSave($header_fname, $header);
+ FileSave($h_filename, $header);
if (defined($opt_swig)) {
require Parse::Pidl::Samba4::SWIG;
my($filename) = ($opt_swig or "$outputdir/$basename.i");
- Parse::Pidl::Samba4::SWIG::RewriteHeader($pidl, $header_fname, $filename);
+ Parse::Pidl::Samba4::SWIG::RewriteHeader($pidl, $h_filename, $filename);
}
}