svn commit: samba r6837 - in branches/tmp/pidl2/source/build/pidl: .

jelmer at samba.org jelmer at samba.org
Mon May 16 23:43:39 GMT 2005


Author: jelmer
Date: 2005-05-16 23:43:38 +0000 (Mon, 16 May 2005)
New Revision: 6837

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6837

Log:
Allow optional outputfile arguments for --parser and --header arguments.

Modified:
   branches/tmp/pidl2/source/build/pidl/pidl.pl


Changeset:
Modified: branches/tmp/pidl2/source/build/pidl/pidl.pl
===================================================================
--- branches/tmp/pidl2/source/build/pidl/pidl.pl	2005-05-16 23:30:34 UTC (rev 6836)
+++ branches/tmp/pidl2/source/build/pidl/pidl.pl	2005-05-16 23:43:38 UTC (rev 6837)
@@ -34,11 +34,11 @@
 my($opt_parse) = 0;
 my($opt_dump) = 0;
 my($opt_diff) = 0;
-my($opt_header) = 0;
+my($opt_header); 
 my($opt_template) = 0;
 my($opt_client) = 0;
 my($opt_server) = 0;
-my($opt_parser) = 0;
+my($opt_parser);
 my($opt_eparser) = 0;
 my($opt_keep) = 0;
 my($opt_swig) = 0;
@@ -72,11 +72,11 @@
 
        Options:
          --help                this help page
-         --output OUTNAME      put output in OUTNAME.*
+         --output=OUTNAME      put output in OUTNAME.*
          --parse               parse a idl file to a .pidl file
          --dump                dump a pidl file back to idl
-         --header              create a C NDR header file
-         --parser              create a C NDR parser
+         --header[=OUTFILE]    create a C NDR header file
+         --parser[=OUTFILE]    create a C NDR parser
          --client              create a C NDR client
          --server              create server boilerplate
          --template            print a template for a pipe
@@ -97,10 +97,10 @@
 	    'output=s' => \$opt_output,
 	    'parse' => \$opt_parse,
 	    'dump' => \$opt_dump,
-	    'header' => \$opt_header,
+	    'header:s' => \$opt_header,
 	    'server' => \$opt_server,
 	    'template' => \$opt_template,
-	    'parser' => \$opt_parser,
+	    'parser:s' => \$opt_parser,
         'client' => \$opt_client,
 	    'eparser' => \$opt_eparser,
 	    'diff' => \$opt_diff,
@@ -187,13 +187,16 @@
 		$pidl = ODL::ODL2IDL($pidl);
 	}
 
-	if ($opt_header or $opt_client or $opt_server or $opt_parser) {
+	if (defined($opt_header) or $opt_client or $opt_server or defined($opt_parser)) {
 		$ndr = Ndr::Parse($pidl);
 #		print util::MyDumper($ndr);
 	}
 
-	if ($opt_header) {
-		my($header) = util::ChangeExtension($output, ".h");
+	if (defined($opt_header)) {
+		my $header = $opt_header;
+		if ($header eq "") {
+			$header = util::ChangeExtension($output, ".h");
+		}
 		util::FileSave($header, NdrHeader::Parse($ndr));
 		if ($opt_eparser) {
 		  my($eparserhdr) = dirname($output) . "/packet-dcerpc-$basename.h";
@@ -254,9 +257,13 @@
 		}
 	}
 
-	if ($opt_parser) {
+	if (defined($opt_parser)) {
 		my $needed = needed::BuildNeeded($pidl);
-		my($parser) = util::ChangeExtension($output, ".c");
+		my $parser = $opt_parser;
+		if ($parser eq "") {
+			$parser = util::ChangeExtension($output, ".c");
+		}
+		
 		util::FileSave($parser, NdrParser::Parse($ndr, $parser, $needed));
 		if($opt_eparser) {
 		  my($eparser) = dirname($output) . "/packet-dcerpc-$basename.c";



More information about the samba-cvs mailing list