X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=blobdiff_plain;f=pidl%2Fpidl;h=d0623a06904a7491ea8e9828bb6ebb583debe92f;hp=577db0a53fda2852f408263bb1e20d6656f1d744;hb=98fb71782e05ae72cd6abeb38b6e0b96a50c1761;hpb=db0abee678f7b079b32d08334682fcee442e206b diff --git a/pidl/pidl b/pidl/pidl index 577db0a53fd..d0623a06904 100755 --- a/pidl/pidl +++ b/pidl/pidl @@ -17,7 +17,7 @@ pidl - An IDL compiler written in Perl pidl --help -pidl [--outputdir[=OUTNAME]] [--includedir DIR...] [--parse-idl-tree] [--dump-idl-tree] [--dump-ndr-tree] [--header[=OUTPUT]] [--python[=OUTPUT]] [--swig[=OUTPUT]] [--ndr-parser[=OUTPUT]] [--client] [--server] [--warn-compat] [--quiet] [--verbose] [--template] [--ws-parser[=OUTPUT]] [--diff] [--dump-idl] [--tdr-parser[=OUTPUT]] [--samba3-ndr-client[=OUTPUT]] [--samba3-ndr-server[=OUTPUT]] [--typelib=[OUTPUT]] [.idl]... +pidl [--outputdir[=OUTNAME]] [--includedir DIR...] [--parse-idl-tree] [--dump-idl-tree] [--dump-ndr-tree] [--header[=OUTPUT]] [--python[=OUTPUT]] [--ndr-parser[=OUTPUT]] [--client] [--server] [--warn-compat] [--quiet] [--verbose] [--template] [--ws-parser[=OUTPUT]] [--diff] [--dump-idl] [--tdr-parser[=OUTPUT]] [--samba3-ndr-client[=OUTPUT]] [--samba3-ndr-server[=OUTPUT]] [--typelib=[OUTPUT]] [.idl]... =head1 DESCRIPTION @@ -477,7 +477,6 @@ my($opt_server); my($opt_ndr_parser); my($opt_tdr_parser); my($opt_ws_parser); -my($opt_swig); my($opt_python); my($opt_quiet) = 0; my($opt_outputdir) = '.'; @@ -521,7 +520,6 @@ Samba 4 output: --client[=OUTFILE] create a C NDR client [ndr_BASENAME_c.c] --tdr-parser[=OUTFILE] create a C TDR parser [tdr_BASENAME.c] --python[=OUTFILE] create python wrapper file [py_BASENAME.c] - --swig[=OUTFILE] create swig wrapper file [BASENAME.i] --server[=OUTFILE] create server boilerplate [ndr_BASENAME_s.c] --template print a template for a pipe --dcom-proxy[=OUTFILE] create DCOM proxy [ndr_BASENAME_p.c] @@ -567,7 +565,6 @@ my $result = GetOptions ( 'ws-parser:s' => \$opt_ws_parser, 'python' => \$opt_python, 'diff' => \$opt_diff, - 'swig:s' => \$opt_swig, 'dcom-proxy:s' => \$opt_dcom_proxy, 'com-header:s' => \$opt_com_header, 'quiet' => \$opt_quiet, @@ -612,7 +609,7 @@ sub process_file($) } require Parse::Pidl::Typelist; - Parse::Pidl::Typelist::LoadIdl($pidl); + Parse::Pidl::Typelist::LoadIdl($pidl, $basename); if (defined($opt_dump_idl_tree)) { my($pidl_file) = ($opt_dump_idl_tree or "$outputdir/$basename.pidl"); @@ -656,7 +653,18 @@ sub process_file($) $pidl = Parse::Pidl::ODL::ODL2IDL($pidl, dirname($idl_file), \@opt_incdirs); - if (defined($opt_ws_parser) or + if (defined($opt_ws_parser)) { + require Parse::Pidl::Wireshark::NDR; + + my $cnffile = $idl_file; + $cnffile =~ s/\.idl$/\.cnf/; + + my $generator = new Parse::Pidl::Wireshark::NDR(); + $generator->Initialize($cnffile); + } + + + if (defined($opt_ws_parser) or defined($opt_client) or defined($opt_server) or defined($opt_header) or @@ -666,7 +674,6 @@ sub process_file($) defined($opt_samba3_header) or defined($opt_samba3_parser) or defined($opt_samba3_server) or - defined($opt_swig) or defined($opt_samba3_ndr_client) or defined($opt_samba3_ndr_server)) { require Parse::Pidl::NDR; @@ -698,20 +705,12 @@ sub process_file($) FileSave($c_header, $hdrd); } - if (defined($opt_swig)) { - require Parse::Pidl::Samba4::SWIG; - my($filename) = ($opt_swig or "$outputdir/$basename.i"); - my $code = Parse::Pidl::Samba4::SWIG::Parse($ndr, $basename, "$outputdir/ndr_$basename\_c.h", $gen_header); - FileSave($filename, $code); - } - if (defined($opt_python)) { require Parse::Pidl::Samba4::Python; my $generator = new Parse::Pidl::Samba4::Python(); - my ($hdr,$prsr) = $generator->Parse($basename, $ndr, + my ($prsr) = $generator->Parse($basename, $ndr, "$outputdir/ndr_$basename\_c.h", $h_filename); FileSave("$outputdir/py_$basename.c", $prsr); - FileSave("$outputdir/py_$basename.h", $hdr); } if (defined($opt_server)) {