diff options
Diffstat (limited to 'source4/pidl/pidl')
-rwxr-xr-x | source4/pidl/pidl | 40 |
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); } } |