1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

pidl: Remove the need to always specify --client with --python

This allows us to avoid generating client code for NDR-only protocols that do
not go over DCE/RPC

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
Andrew Bartlett 2019-06-25 15:41:40 +12:00
parent 46bf62dd0c
commit 5df815cfd2
3 changed files with 10 additions and 3 deletions

View File

@ -92,7 +92,7 @@ bld.SAMBA_PIDL_LIST('PIDL',
windows_event_ids.idl
xattr.idl
''',
options='--header --ndr-parser --python --client',
options='--header --ndr-parser --python',
output_dir='../gen_ndr')
bld.SAMBA_PIDL_LIST('PIDL',

View File

@ -2267,6 +2267,10 @@ sub Parse($$$$$)
$self->{BASENAME} = $basename;
my $ndr_hdr_include = "";
if (defined($ndr_hdr)) {
$ndr_hdr_include = "#include \"$ndr_hdr\"";
}
$self->pidl_hdr("
/* Python wrapper functions auto-generated by pidl */
#define PY_SSIZE_T_CLEAN 1 /* We use Py_ssize_t for PyArg_ParseTupleAndKeywords */
@ -2278,7 +2282,7 @@ sub Parse($$$$$)
#include \"librpc/rpc/pyrpc.h\"
#include \"librpc/rpc/pyrpc_util.h\"
#include \"$hdr\"
#include \"$ndr_hdr\"
$ndr_hdr_include
/*
* These functions are here to ensure they can be optimized out by

View File

@ -712,8 +712,11 @@ sub process_file($)
if (defined($opt_python)) {
require Parse::Pidl::Samba4::Python;
my $generator = new Parse::Pidl::Samba4::Python();
if (!defined($opt_client)) {
$c_header = undef;
}
my ($prsr) = $generator->Parse($basename, $ndr,
"$outputdir/ndr_$basename\_c.h", $h_filename);
$c_header, $h_filename);
FileSave("$outputdir/py_$basename.c", $prsr);
}