1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

r3881: Split up the LIBNDR_GEN subsystem into NDR_* and RPC_NDR_* subsystems.

This reduces the total size of the samba binaries from 119 Mb to 73 Mb.
Next step will be to have the build system obtain some of this information
by itself, so that we don't have to write ~10 lines per interface manually.
This commit is contained in:
Jelmer Vernooij 2004-11-19 20:21:13 +00:00 committed by Gerald (Jerry) Carter
parent 9ad3837dba
commit 16d905f6b0
14 changed files with 552 additions and 178 deletions

View File

@ -31,7 +31,8 @@ SUBSYSTEM = AUTH
INIT_OBJ_FILES = \
auth/auth_winbind.o
REQUIRED_SUBSYSTEMS = \
LIB_WINBIND_CLIENT
LIB_WINBIND_CLIENT \
NDR_NETLOGON LIBNDR
# End MODULE auth_builtin
#######################

View File

@ -168,18 +168,35 @@ sub process_file($)
}
if ($opt_server) {
my($server) = util::ChangeExtension($output, "_s.c");
my $res = "";
my $h_filename = util::ChangeExtension($output, ".h");
my $plain = "";
my $dcom = "";
foreach my $x (@{$pidl}) {
next if ($x->{TYPE} ne "INTERFACE");
if (util::has_property($x, "object")) {
$res .= IdlStub::ParseInterface($x);
$dcom .= IdlStub::ParseInterface($x);
} else {
$res .= IdlServer::ParseInterface($x);
$plain .= IdlServer::ParseInterface($x);
}
}
util::FileSave($server, $res);
if ($plain ne "") {
util::FileSave(util::ChangeExtension($output, "_s.c"), $plain);
}
if ($dcom ne "") {
$dcom = "
#include \"includes.h\"
#include \"$h_filename\"
#include \"rpc_server/dcerpc_server.h\"
#include \"rpc_server/common/common.h\"
$dcom
";
util::FileSave(util::ChangeExtension($output, "_d.c"), $dcom);
}
}
if ($opt_parser) {

View File

@ -27,12 +27,13 @@ sub gen_dispatch_switch($)
next if ($d->{TYPE} ne "FUNCTION");
pidl "\tcase $count: {\n";
pidl "\t\tNTSTATUS result;\n";
pidl "\t\tstruct $d->{NAME} *r2 = r;\n";
pidl "\t\tif (DEBUGLEVEL > 10) {\n";
pidl "\t\t\tNDR_PRINT_FUNCTION_DEBUG($d->{NAME}, NDR_IN, r2);\n";
pidl "\t\t}\n";
if ($d->{RETURN_TYPE} && $d->{RETURN_TYPE} ne "void") {
pidl "\t\tr2->out.result = vtable->$d->{NAME}(iface, mem_ctx, r2);\n";
pidl "\t\tresult = vtable->$d->{NAME}(iface, mem_ctx, r2);\n";
} else {
pidl "\t\tvtable->$d->{NAME}(iface, mem_ctx, r2);\n";
}
@ -89,8 +90,8 @@ static NTSTATUS $name\__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_C
{
uint16 opnum = dce_call->pkt.u.request.opnum;
struct GUID ipid = dce_call->pkt.u.request.object.object;
struct dcom_interface_p *iface = dcoms_get_ifacep(&ipid);
struct dcom_$name\_vtable *vtable = if->vtable;
struct dcom_interface_p *iface = dcom_get_iface_p(&ipid);
const struct dcom_$name\_vtable *vtable = iface->vtable;
dce_call->fault_code = 0;
@ -193,7 +194,7 @@ NTSTATUS dcerpc_server_$name\_init(void)
ep_server.interface_by_name = $name\__op_interface_by_name;
/* register ourselves with the DCERPC subsystem. */
ret = register_backend(\"dcerpc\", &ep_server);
ret = dcerpc_register_ep_server(&ep_server);
if (!NT_STATUS_IS_OK(ret)) {
DEBUG(0,(\"Failed to register \'$name\' endpoint server!\\n\"));
@ -209,7 +210,7 @@ NTSTATUS dcerpc_server_$name\_init(void)
sub ParseInterface($)
{
my($interface) = shift;
$res = "/* dcerpc server boilerplate generated by pidl */\n\n";
$res = "/* dcom interface stub generated by pidl */\n\n";
Boilerplate_Iface($interface);
Boilerplate_Ep_Server($interface);
@ -218,4 +219,3 @@ sub ParseInterface($)
}
1;

View File

@ -11,6 +11,6 @@ REQUIRED_SUBSYSTEMS = \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
LIBRPC
RPC_NDR_SRVSVC
# End BINARY smbclient
#################################

View File

@ -6,7 +6,7 @@
NOPROTO = YES
INIT_OBJ_FILES = gtk/common/gtk-smb.o
ADD_OBJ_FILES = gtk/common/select.o
REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk
REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk RPC_NDR_SAMR
# End SUBSYSTEM GTKSMB
##############################
@ -22,7 +22,7 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE REGISTRY GTKSMB
# Start BINARY gepdump
[BINARY::gepdump]
OBJ_FILES = gtk/tools/gepdump.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_EPMAPPER RPC_NDR_MGMT
# End BINARY gepdump
################################################
@ -30,7 +30,7 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
# Start BINARY gwcrontab
[BINARY::gwcrontab]
OBJ_FILES = gtk/tools/gwcrontab.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_ATSVC
# End BINARY gwcrontab
################################################
@ -38,6 +38,6 @@ REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB LIBRPC
# Start BINARY gwsam
[BINARY::gwsam]
OBJ_FILES = gtk/tools/gwsam.o gtk/tools/gwsam_user.o
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE LIBRPC GTKSMB
REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE RPC_NDR_SAMR GTKSMB
# End BINARY gwsam
################################################

View File

@ -0,0 +1,29 @@
/*
Unix SMB/CIFS implementation.
Running object table functions
Copyright (C) Jelmer Vernooij 2004
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "includes.h"
struct dcom_interface_p *dcom_get_iface_p(struct GUID *ipid)
{
/* FIXME */
return NULL;
}

View File

@ -3,8 +3,10 @@
[SUBSYSTEM::LIBDCOM]
INIT_OBJ_FILES = \
lib/dcom/common/main.o \
lib/dcom/common/tables.o
REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBNDR_GEN LIBRPC_RAW
lib/dcom/common/tables.o \
lib/dcom/common/rot.o
REQUIRED_SUBSYSTEMS = DCOM_PROXY_DCOM RPC_NDR_REMACT \
RPC_NDR_OXIDRESOLVER
#
# End SUBSYSTEM LIBDCOM
################################################

View File

@ -37,8 +37,7 @@ INIT_FUNCTION = registry_rpc_init
SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_rpc/reg_backend_rpc.o
REQUIRED_SUBSYSTEMS = \
LIBRPC
REQUIRED_SUBSYSTEMS = RPC_NDR_WINREG
# End MODULE registry_rpc
################################################

View File

@ -7,6 +7,6 @@ ADD_OBJ_FILES = \
libnet/libnet_passwd.o \
libnet/libnet_time.o \
libnet/libnet_rpc.o
REQUIRED_SUBSYSTEMS = LIBRPC
REQUIRED_SUBSYSTEMS = RPC_NDR_SAMR RPC_NDR_SRVSVC
# End SUBSYSTEM LIBNET
#################################

View File

@ -4,12 +4,14 @@
INIT_OBJ_FILES = \
librpc/ndr/ndr.o
ADD_OBJ_FILES = \
librpc/ndr/ndr_basic.o \
librpc/ndr/ndr_spoolss_buf.o \
librpc/ndr/ndr_dcom.o
librpc/ndr/ndr_basic.o
REQUIRED_SUBSYSTEMS = LIBCLI_UTILS
# End SUBSYSTEM LIBNDR_RAW
################################################
[SUBSYSTEM::LIBNDR]
REQUIRED_SUBSYSTEMS = LIBNDR_RAW
################################################
# Start SUBSYSTEM LIBRPC_RAW
[SUBSYSTEM::LIBRPC_RAW]
@ -28,144 +30,452 @@ REQUIRED_SUBSYSTEMS = SOCKET
# End SUBSYSTEM LIBRPC_RAW
################################################
################################################
# Start SUBSYSTEM LIBNDR_GEN
[SUBSYSTEM::LIBNDR_GEN]
INIT_FUNCTION = \
dcerpc_audiosrv_init \
dcerpc_dcerpc_init \
dcerpc_echo_init \
dcerpc_exchange_init \
dcerpc_dsbackup_init \
dcerpc_efs_init \
dcerpc_misc_init \
dcerpc_lsa_init \
dcerpc_lsads_init \
dcerpc_dfs_init \
dcerpc_drsuapi_init \
dcerpc_policyagent_init \
dcerpc_samr_init \
dcerpc_spoolss_init \
dcerpc_wkssvc_init \
dcerpc_srvsvc_init \
dcerpc_svcctl_init \
dcerpc_atsvc_init \
dcerpc_eventlog_init \
dcerpc_epmapper_init \
dcerpc_dbgidl_init \
dcerpc_dssetup_init \
dcerpc_msgsvc_init \
dcerpc_wins_init \
dcerpc_winreg_init \
dcerpc_mgmt_init \
dcerpc_protected_storage_init \
dcerpc_dcom_init \
dcom_dcom_init \
dcerpc_oxidresolver_init \
dcerpc_remact_init \
dcerpc_wzcsvc_init \
dcerpc_browser_init \
dcerpc_w32time_init \
dcerpc_scerpc_init \
dcerpc_ntsvcs_init \
dcerpc_netlogon_init \
dcerpc_trkwks_init \
dcerpc_keysvc_init \
dcerpc_krb5pac_init \
dcerpc_xattr_init \
dcerpc_schannel_init
[SUBSYSTEM::NDR_AUDIOSRV]
INIT_FUNCTION = dcerpc_audiosrv_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_audiosrv.o
NOPROTO = YES
ADD_OBJ_FILES = \
librpc/gen_ndr/ndr_audiosrv.o \
librpc/gen_ndr/ndr_dcerpc.o \
librpc/gen_ndr/ndr_echo.o \
librpc/gen_ndr/ndr_exchange.o \
librpc/gen_ndr/ndr_dsbackup.o \
librpc/gen_ndr/ndr_efs.o \
librpc/gen_ndr/ndr_misc.o \
librpc/gen_ndr/ndr_lsa.o \
librpc/gen_ndr/ndr_lsads.o \
librpc/gen_ndr/ndr_dfs.o \
librpc/gen_ndr/ndr_drsuapi.o \
librpc/gen_ndr/ndr_policyagent.o \
librpc/gen_ndr/ndr_samr.o \
librpc/gen_ndr/ndr_spoolss.o \
librpc/gen_ndr/ndr_wkssvc.o \
librpc/gen_ndr/ndr_srvsvc.o \
librpc/gen_ndr/ndr_svcctl.o \
librpc/gen_ndr/ndr_atsvc.o \
librpc/gen_ndr/ndr_eventlog.o \
librpc/gen_ndr/ndr_epmapper.o \
librpc/gen_ndr/ndr_dbgidl.o \
librpc/gen_ndr/ndr_dssetup.o \
librpc/gen_ndr/ndr_msgsvc.o \
librpc/gen_ndr/ndr_wins.o \
librpc/gen_ndr/ndr_winreg.o \
librpc/gen_ndr/ndr_mgmt.o \
librpc/gen_ndr/ndr_protected_storage.o \
librpc/gen_ndr/ndr_dcom.o \
librpc/gen_ndr/ndr_oxidresolver.o \
librpc/gen_ndr/ndr_remact.o \
librpc/gen_ndr/ndr_wzcsvc.o \
librpc/gen_ndr/ndr_browser.o \
librpc/gen_ndr/ndr_w32time.o \
librpc/gen_ndr/ndr_scerpc.o \
librpc/gen_ndr/ndr_ntsvcs.o \
librpc/gen_ndr/ndr_netlogon.o \
librpc/gen_ndr/ndr_trkwks.o \
librpc/gen_ndr/ndr_keysvc.o \
librpc/gen_ndr/ndr_krb5pac.o \
librpc/gen_ndr/ndr_xattr.o \
librpc/gen_ndr/ndr_schannel.o \
librpc/gen_ndr/ndr_audiosrv_c.o \
librpc/gen_ndr/ndr_dcerpc_c.o \
librpc/gen_ndr/ndr_echo_c.o \
librpc/gen_ndr/ndr_exchange_c.o \
librpc/gen_ndr/ndr_dsbackup_c.o \
librpc/gen_ndr/ndr_efs_c.o \
librpc/gen_ndr/ndr_misc_c.o \
librpc/gen_ndr/ndr_lsa_c.o \
librpc/gen_ndr/ndr_lsads_c.o \
librpc/gen_ndr/ndr_dfs_c.o \
librpc/gen_ndr/ndr_drsuapi_c.o \
librpc/gen_ndr/ndr_policyagent_c.o \
librpc/gen_ndr/ndr_samr_c.o \
librpc/gen_ndr/ndr_spoolss_c.o \
librpc/gen_ndr/ndr_wkssvc_c.o \
librpc/gen_ndr/ndr_srvsvc_c.o \
librpc/gen_ndr/ndr_svcctl_c.o \
librpc/gen_ndr/ndr_atsvc_c.o \
librpc/gen_ndr/ndr_eventlog_c.o \
librpc/gen_ndr/ndr_epmapper_c.o \
librpc/gen_ndr/ndr_dbgidl_c.o \
librpc/gen_ndr/ndr_dssetup_c.o \
librpc/gen_ndr/ndr_msgsvc_c.o \
librpc/gen_ndr/ndr_wins_c.o \
librpc/gen_ndr/ndr_winreg_c.o \
librpc/gen_ndr/ndr_mgmt_c.o \
librpc/gen_ndr/ndr_protected_storage_c.o \
librpc/gen_ndr/ndr_dcom_c.o \
librpc/gen_ndr/ndr_oxidresolver_c.o \
librpc/gen_ndr/ndr_remact_c.o \
librpc/gen_ndr/ndr_wzcsvc_c.o \
librpc/gen_ndr/ndr_browser_c.o \
librpc/gen_ndr/ndr_w32time_c.o \
librpc/gen_ndr/ndr_scerpc_c.o \
librpc/gen_ndr/ndr_ntsvcs_c.o \
librpc/gen_ndr/ndr_netlogon_c.o \
librpc/gen_ndr/ndr_trkwks_c.o \
librpc/gen_ndr/ndr_keysvc_c.o \
librpc/gen_ndr/ndr_krb5pac_c.o \
librpc/gen_ndr/ndr_xattr_c.o \
librpc/gen_ndr/ndr_schannel_c.o
REQUIRED_SUBSYSTEMS = LIBNDR
# End SUBSYSTEM LIBNDR_GEN
################################################
[SUBSYSTEM::NDR_DCERPC]
INIT_FUNCTION = dcerpc_dcerpc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_dcerpc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_ECHO]
INIT_FUNCTION = dcerpc_echo_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_echo.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EXCHANGE]
INIT_FUNCTION = dcerpc_exchange_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_exchange.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DSBACKUP]
INIT_FUNCTION = dcerpc_dsbackup_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_dsbackup.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EFS]
INIT_FUNCTION = dcerpc_efs_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_efs.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_MISC]
INIT_FUNCTION = dcerpc_misc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_misc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_LSA]
INIT_FUNCTION = dcerpc_lsa_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_lsa.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_LSADS]
INIT_FUNCTION = dcerpc_lsads_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_lsads.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DFS]
INIT_FUNCTION = dcerpc_dfs_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_dfs.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DRSUAPI]
INIT_FUNCTION = dcerpc_drsuapi_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_POLICYAGENT]
INIT_FUNCTION = dcerpc_policyagent_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_policyagent.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SAMR]
INIT_FUNCTION = dcerpc_samr_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_samr.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SPOOLSS]
INIT_FUNCTION = dcerpc_spoolss_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_spoolss.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR NDR_SPOOLSS_BUF
[SUBSYSTEM::NDR_SPOOLSS_BUF]
INIT_OBJ_FILES = librpc/ndr/ndr_spoolss_buf.o
[SUBSYSTEM::NDR_WKSSVC]
INIT_FUNCTION = dcerpc_wkssvc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SRVSVC]
INIT_FUNCTION = dcerpc_srvsvc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SVCCTL]
INIT_FUNCTION = dcerpc_svcctl_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_svcctl.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_ATSVC]
INIT_FUNCTION = dcerpc_atsvc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_atsvc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EVENTLOG]
INIT_FUNCTION = dcerpc_eventlog_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_eventlog.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EPMAPPER]
INIT_FUNCTION = dcerpc_epmapper_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_epmapper.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DBGIDL]
INIT_FUNCTION = dcerpc_dbgidl_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_dbgidl.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DSSETUP]
INIT_FUNCTION = dcerpc_dssetup_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_dssetup.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_MSGSVC]
INIT_FUNCTION = dcerpc_msgsvc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_msgsvc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_WINS]
INIT_FUNCTION = dcerpc_wins_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_wins.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_WINREG]
INIT_FUNCTION = dcerpc_winreg_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_winreg.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_MGMT]
INIT_FUNCTION = dcerpc_mgmt_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_mgmt.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_PROTECTED_STORAGE]
INIT_FUNCTION = dcerpc_protected_storage_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_protected_storage.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DCOM_MANUAL]
INIT_OBJ_FILES = librpc/ndr/ndr_dcom.o
[SUBSYSTEM::NDR_DCOM]
INIT_FUNCTION = dcerpc_dcom_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_dcom.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR NDR_DCOM_MANUAL
[SUBSYSTEM::NDR_OXIDRESOLVER]
INIT_FUNCTION = dcerpc_oxidresolver_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_oxidresolver.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR NDR_DCOM
[SUBSYSTEM::NDR_REMACT]
INIT_FUNCTION = dcerpc_remact_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_remact.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR NDR_DCOM
[SUBSYSTEM::NDR_WZCSVC]
INIT_FUNCTION = dcerpc_wzcsvc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_wzcsvc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_BROWSER]
INIT_FUNCTION = dcerpc_browser_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_browser.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_W32TIME]
INIT_FUNCTION = dcerpc_w32time_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_w32time.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SCERPC]
INIT_FUNCTION = dcerpc_scerpc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_scerpc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_NTSVCS]
INIT_FUNCTION = dcerpc_ntsvcs_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_ntsvcs.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_NETLOGON]
INIT_FUNCTION = dcerpc_netlogon_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_netlogon.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_TRKWKS]
INIT_FUNCTION = dcerpc_trkwks_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_trkwks.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_KEYSVC]
INIT_FUNCTION = dcerpc_keysvc_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_keysvc.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_KRB5PAC]
INIT_FUNCTION = dcerpc_krb5pac_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_krb5pac.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_XATTR]
INIT_FUNCTION = dcerpc_xattr_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_xattr.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SCHANNEL]
INIT_FUNCTION = dcerpc_schannel_init
INIT_OBJ_FILES = librpc/gen_ndr/ndr_schannel.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_ALL]
REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_LSADS NDR_DFS NDR_DRSUAPI \
NDR_POLICYAGENT NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \
NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \
NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE NDR_DCOM NDR_OXIDRESOLVER \
NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \
NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL
[SUBSYSTEM::RPC_NDR_AUDIOSRV]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_audiosrv_c.o
REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV LIBRPC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_ECHO]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_echo_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_ECHO
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EXCHANGE]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_exchange_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_EXCHANGE
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DSBACKUP]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_dsbackup_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DSBACKUP
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EFS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_efs_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_EFS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_LSA]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_lsa_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_LSA
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_LSADS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_lsads_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_LSADS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DFS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_dfs_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DFS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DRSUAPI]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSUAPI
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_POLICYAGENT]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_policyagent_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_POLICYAGENT
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SAMR]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_samr_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_SAMR
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SPOOLSS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_spoolss_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_SPOOLSS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WKSSVC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_wkssvc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_WKSSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SRVSVC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_srvsvc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_SRVSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SVCCTL]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_svcctl_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_SVCCTL
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_ATSVC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_atsvc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_ATSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EVENTLOG]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_eventlog_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_EVENTLOG
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EPMAPPER]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_epmapper_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_EPMAPPER
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DBGIDL]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_dbgidl_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DBGIDL
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DSSETUP]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_dssetup_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DSSETUP
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_MSGSVC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_msgsvc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_MSGSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WINS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_wins_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WINREG]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_winreg_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINREG
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_MGMT]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_mgmt_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_MGMT
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_protected_storage_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_PROTECTED_STORAGE
NOPROTO = YES
[SUBSYSTEM::DCOM_PROXY_DCOM]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_dcom_c.o
INIT_FUNCTION = dcom_dcom_init
REQUIRED_SUBSYSTEMS = LIBRPC NDR_DCOM
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_OXIDRESOLVER]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_oxidresolver_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_OXIDRESOLVER
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_REMACT]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_remact_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_REMACT
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WZCSVC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_wzcsvc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_WZCSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_BROWSER]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_browser_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_BROWSER
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_W32TIME]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_w32time_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_W32TIME
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SCERPC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_scerpc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_SCERPC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_NTSVCS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_ntsvcs_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_NTSVCS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_NETLOGON]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_netlogon_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_NETLOGON
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_TRKWKS]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_trkwks_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_TRKWKS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_KEYSVC]
ADD_OBJ_FILES = librpc/gen_ndr/ndr_keysvc_c.o
REQUIRED_SUBSYSTEMS = LIBRPC NDR_KEYSVC
NOPROTO = YES
################################################
# Start SUBSYSTEM LIBRPC
[SUBSYSTEM::LIBRPC]
REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBNDR_GEN LIBRPC_RAW LIBSMB LIBDCOM
REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EPMAPPER
# End SUBSYSTEM LIBRPC
################################################

View File

@ -31,5 +31,6 @@ ADD_OBJ_FILES = \
ntvfs/posix/pvfs_acl.o \
ntvfs/common/opendb.o \
ntvfs/common/brlock.o
REQUIRED_SUBSYSTEMS = NDR_XATTR
# End MODULE ntvfs_posix
################################################

View File

@ -12,7 +12,7 @@ ADD_OBJ_FILES = \
################################################
################################################
# Start MODULE dcerpc_DCOM
# Start MODULE dcerpc_dcom
[MODULE::dcerpc_dcom]
INIT_FUNCTION = dcerpc_server_dcom_init
SUBSYSTEM = DCERPC
@ -21,8 +21,11 @@ INIT_OBJ_FILES = \
rpc_server/dcom/rot.o \
rpc_server/dcom/remact.o
REQUIRED_SUBSYSTEMS = \
DCERPC_COMMON
# End MODULE dcerpc_IRemoteActivation
DCERPC_COMMON \
NDR_OXIDRESOLVER \
NDR_REMACT \
LIBDCOM
# End MODULE dcerpc_dcom
################################################
@ -57,6 +60,7 @@ INIT_FUNCTION = dcerpc_server_rpcecho_init
SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/echo/rpc_echo.o
REQUIRED_SUBSYSTEMS = NDR_ECHO
# End MODULE dcerpc_rpcecho
################################################
@ -67,6 +71,7 @@ INIT_FUNCTION = dcerpc_server_epmapper_init
SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/epmapper/rpc_epmapper.o
REQUIRED_SUBSYSTEMS = NDR_EPMAPPER
# End MODULE dcerpc_epmapper
################################################
@ -78,7 +83,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/remote/dcesrv_remote.o
REQUIRED_SUBSYSTEMS = \
LIBSMB
LIBSMB NDR_ALL
# End MODULE dcerpc_remote
################################################
@ -90,7 +95,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/srvsvc/dcesrv_srvsvc.o
REQUIRED_SUBSYSTEMS = \
DCERPC_COMMON
DCERPC_COMMON NDR_SRVSVC
# End MODULE dcerpc_srvsvc
################################################
@ -102,7 +107,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/wkssvc/dcesrv_wkssvc.o
REQUIRED_SUBSYSTEMS = \
DCERPC_COMMON
DCERPC_COMMON NDR_WKSSVC
# End MODULE dcerpc_wkssvc
################################################
@ -117,7 +122,8 @@ ADD_OBJ_FILES = \
rpc_server/samr/samr_password.o
REQUIRED_SUBSYSTEMS = \
SAMDB \
DCERPC_COMMON
DCERPC_COMMON \
NDR_SAMR
# End MODULE dcerpc_samr
################################################
@ -129,7 +135,7 @@ SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/winreg/rpc_winreg.o
REQUIRED_SUBSYSTEMS = \
REGISTRY
REGISTRY NDR_WINREG
# End MODULE dcerpc_winreg
################################################
@ -142,7 +148,8 @@ INIT_OBJ_FILES = \
rpc_server/netlogon/dcerpc_netlogon.o
REQUIRED_SUBSYSTEMS = \
DCERPC_COMMON \
SCHANNELDB
SCHANNELDB \
NDR_NETLOGON
# End MODULE dcerpc_netlogon
################################################
@ -155,7 +162,8 @@ INIT_OBJ_FILES = \
rpc_server/lsa/dcesrv_lsa.o
REQUIRED_SUBSYSTEMS = \
SAMDB \
DCERPC_COMMON
DCERPC_COMMON \
NDR_LSA
# End MODULE dcerpc_lsa
################################################
@ -168,7 +176,8 @@ INIT_OBJ_FILES = \
rpc_server/spoolss/dcesrv_spoolss.o \
rpc_server/spoolss/spoolssdb.o
REQUIRED_SUBSYSTEMS = \
DCERPC_COMMON
DCERPC_COMMON \
NDR_SPOOLSS
# End MODULE dcerpc_lsa
################################################
@ -183,7 +192,8 @@ ADD_OBJ_FILES = \
rpc_server/drsuapi/drsuapi_cracknames.o
REQUIRED_SUBSYSTEMS = \
SAMDB \
DCERPC_COMMON
DCERPC_COMMON \
NDR_DRSUAPI
# End MODULE dcerpc_drsuapi
################################################
@ -197,7 +207,8 @@ ADD_OBJ_FILES = \
rpc_server/dcesrv_auth.o \
rpc_server/handles.o
REQUIRED_SUBSYSTEMS = \
LIBCLI_AUTH
LIBCLI_AUTH \
LIBNDR
#
# End SUBSYSTEM DCERPC
################################################

View File

@ -20,7 +20,7 @@ ADD_OBJ_FILES = \
torture/basic/delaywrite.o \
torture/basic/attr.o
REQUIRED_SUBSYSTEMS = \
LIBSMB LIBRPC
LIBSMB
# End SUBSYSTEM TORTURE_BASIC
#################################
@ -97,7 +97,11 @@ ADD_OBJ_FILES = \
torture/rpc/samsync.o \
torture/rpc/bind.o
REQUIRED_SUBSYSTEMS = \
LIBSMB
NDR_ALL RPC_NDR_SAMR RPC_NDR_WINREG RPC_NDR_OXIDRESOLVER \
RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
RPC_NDR_MGMT RPC_NDR_NETLOGON RPC_NDR_ATSVC RPC_NDR_DRSUAPI \
RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_SPOOLSS \
RPC_NDR_SRVSVC RPC_NDR_WKSSVC
# End SUBSYSTEM TORTURE_RPC
#################################

View File

@ -9,8 +9,9 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
NDR_ALL \
LIBRPC
# FIXME: ndrdump shouldn't have to depend on LIBRPC...
# End BINARY ndrdump
#################################
@ -37,7 +38,6 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
LIBRPC
# End BINARY getntacl
#################################
@ -51,7 +51,6 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
LIBRPC
# End BINARY setntacl
#################################
@ -65,7 +64,8 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
LIBRPC
LIBRPC \
NDR_XATTR \
NDR_SAMR
# End BINARY setnttoken
#################################