diff options
Diffstat (limited to 'source4')
-rwxr-xr-x | source4/build/pidl/pidl.pl | 19 | ||||
-rwxr-xr-x | source4/script/build_idl.sh | 2 |
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 |