mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
Build (D)COM output again.
This commit is contained in:
parent
947bde9562
commit
9b21042938
@ -8,7 +8,7 @@ PIDL_EXTRA_ARGS="$*"
|
||||
|
||||
[ -d $OUTDIR ] || mkdir -p $OUTDIR || exit 1
|
||||
|
||||
PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --python $PIDL_EXTRA_ARGS"
|
||||
PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --python --dcom-proxy --com-header $PIDL_EXTRA_ARGS"
|
||||
|
||||
if [ x$FULLBUILD = xFULL ]; then
|
||||
echo Rebuilding all idl files in $IDLDIR
|
||||
|
@ -483,6 +483,8 @@ my($opt_quiet) = 0;
|
||||
my($opt_outputdir) = '.';
|
||||
my($opt_verbose) = 0;
|
||||
my($opt_warn_compat) = 0;
|
||||
my($opt_dcom_proxy);
|
||||
my($opt_com_header);
|
||||
|
||||
#########################################
|
||||
# display help text
|
||||
@ -523,6 +525,8 @@ Samba 4 output:
|
||||
--swig[=OUTFILE] create swig wrapper file [BASENAME.i]
|
||||
--server[=OUTFILE] create server boilerplate [ndr_BASENAME_s.c]
|
||||
--template print a template for a pipe
|
||||
--dcom-proxy[=OUTFILE] create DCOM proxy [ndr_BASENAME_p.c]
|
||||
--com-header[=OUTFILE] create header for COM [com_BASENAME.h]
|
||||
|
||||
Samba 3 output:
|
||||
--samba3-ndr-client[=OUTF] create client calls for Samba3
|
||||
@ -566,6 +570,8 @@ my $result = GetOptions (
|
||||
'python' => \$opt_python,
|
||||
'diff' => \$opt_diff,
|
||||
'swig:s' => \$opt_swig,
|
||||
'dcom-proxy:s' => \$opt_dcom_proxy,
|
||||
'com-header:s' => \$opt_com_header,
|
||||
'quiet' => \$opt_quiet,
|
||||
'verbose' => \$opt_verbose,
|
||||
'warn-compat' => \$opt_warn_compat,
|
||||
@ -626,6 +632,25 @@ sub process_file($)
|
||||
unlink($tempfile);
|
||||
}
|
||||
|
||||
my $comh_filename = ($opt_com_header or "$outputdir/com_$basename.h");
|
||||
if (defined($opt_com_header)) {
|
||||
require Parse::Pidl::Samba4::COM::Header;
|
||||
my $res = Parse::Pidl::Samba4::COM::Header::Parse($pidl,"$outputdir/ndr_$basename.h");
|
||||
if ($res) {
|
||||
FileSave($comh_filename, $res);
|
||||
}
|
||||
}
|
||||
|
||||
if (defined($opt_dcom_proxy)) {
|
||||
require Parse::Pidl::Samba4::COM::Proxy;
|
||||
my $res = Parse::Pidl::Samba4::COM::Proxy::Parse($pidl,$comh_filename);
|
||||
if ($res) {
|
||||
my ($client) = ($opt_dcom_proxy or "$outputdir/$basename\_p.c");
|
||||
FileSave($client, $res);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($opt_warn_compat) {
|
||||
require Parse::Pidl::Compat;
|
||||
Parse::Pidl::Compat::Check($pidl);
|
||||
|
Loading…
Reference in New Issue
Block a user