summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsource4/build/pidl/pidl.pl19
-rwxr-xr-xsource4/script/build_idl.sh2
2 files changed, 13 insertions, 8 deletions
diff --git a/source4/build/pidl/pidl.pl b/source4/build/pidl/pidl.pl
index 5c09ca1842..a541bd2717 100755
--- a/source4/build/pidl/pidl.pl
+++ b/source4/build/pidl/pidl.pl
@@ -145,6 +145,12 @@ sub process_file($)
my($eparserhdr) = dirname($output) . "/packet-dcerpc-$basename.h";
IdlEParser::RewriteHeader($pidl, $header, $eparserhdr);
}
+ if ($opt_swig) {
+ my($filename) = $output;
+ $filename =~ s/\/ndr_/\//;
+ $filename = util::ChangeExtension($filename, ".i");
+ IdlSwig::RewriteHeader($pidl, $header, $filename);
+ }
}
if ($opt_client) {
@@ -210,13 +216,12 @@ $dcom
my($eparser) = dirname($output) . "/packet-dcerpc-$basename.c";
IdlEParser::RewriteC($pidl, $parser, $eparser);
}
- }
-
- if ($opt_swig) {
- my($filename) = $output;
- $filename =~ s/\/ndr_/\//;
- $filename = util::ChangeExtension($filename, ".i");
- util::FileSave($filename, IdlSwig::Parse($pidl));
+ if ($opt_swig) {
+ my($filename) = $output;
+ $filename =~ s/\/ndr_/\//;
+ $filename = util::ChangeExtension($filename, ".i");
+ IdlSwig::RewriteC($pidl, $parser, $filename);
+ }
}
if ($opt_diff) {
diff --git a/source4/script/build_idl.sh b/source4/script/build_idl.sh
index a4d0dfea8b..66f3400b6d 100755
--- a/source4/script/build_idl.sh
+++ b/source4/script/build_idl.sh
@@ -4,7 +4,7 @@ FULLBUILD=$1
[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
-PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server --client"
+PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server --client --swig"
EPARSERPIDL="$PERL ./build/pidl/pidl.pl --output $EPARSERPREFIX/ndr_ --parse --header --parser --eparser"
if [ x$FULLBUILD = xFULL ]; then