summaryrefslogtreecommitdiff
path: root/source4/build/pidl/pidl.pl
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2004-09-08 11:54:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:58:35 -0500
commit3f7bf05f75c050c5132168b7eea6a346abfb482c (patch)
tree036922ea80caa257f8228b11c492e61842822061 /source4/build/pidl/pidl.pl
parent0e6799177c5d1c0904a904d4ff705d33d74d7d56 (diff)
downloadsamba-3f7bf05f75c050c5132168b7eea6a346abfb482c.tar.gz
samba-3f7bf05f75c050c5132168b7eea6a346abfb482c.tar.bz2
samba-3f7bf05f75c050c5132168b7eea6a346abfb482c.zip
r2253: Add test program, as small example of what's going on.
(This used to be commit fd31ae38dfe2d005b3e01ac059c2e15fa389aad4)
Diffstat (limited to 'source4/build/pidl/pidl.pl')
-rwxr-xr-xsource4/build/pidl/pidl.pl12
1 files changed, 11 insertions, 1 deletions
diff --git a/source4/build/pidl/pidl.pl b/source4/build/pidl/pidl.pl
index c45b17c3c4..5c3f8e5054 100755
--- a/source4/build/pidl/pidl.pl
+++ b/source4/build/pidl/pidl.pl
@@ -22,6 +22,7 @@ use eparser;
use validator;
use util;
use template;
+use swig;
my($opt_help) = 0;
my($opt_parse) = 0;
@@ -33,6 +34,7 @@ my($opt_server) = 0;
my($opt_parser) = 0;
my($opt_eparser) = 0;
my($opt_keep) = 0;
+my($opt_swig) = 0;
my($opt_output);
my $idl_parser = new idl;
@@ -86,7 +88,8 @@ GetOptions (
'parser' => \$opt_parser,
'eparser' => \$opt_eparser,
'diff' => \$opt_diff,
- 'keep' => \$opt_keep
+ 'keep' => \$opt_keep,
+ 'swig' => \$opt_swig
);
if ($opt_help) {
@@ -155,6 +158,13 @@ sub process_file($)
close(OUT);
}
+ if ($opt_swig) {
+ my($filename) = $output;
+ $filename =~ s/\/ndr_/\//;
+ $filename = util::ChangeExtension($filename, ".i");
+ util::FileSave($filename, IdlSwig::Parse($pidl));
+ }
+
if ($opt_diff) {
my($tempfile) = util::ChangeExtension($output, ".tmp");
util::FileSave($tempfile, IdlDump::Dump($pidl));