1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

r12670: Make a couple of dependencies stricter

Re-introduce and use the OUTPUT_TYPE property for MODULEs to force
specific modules to always be included
This commit is contained in:
Jelmer Vernooij 2006-01-02 00:16:08 +00:00 committed by Gerald (Jerry) Carter
parent c563aefb42
commit f9eede3d40
22 changed files with 59 additions and 35 deletions

View File

@ -8,7 +8,7 @@ OBJ_FILES = credentials.o \
credentials_ntlm.o \
credentials_gensec.o
REQUIRED_SUBSYSTEMS = \
HEIMDAL GENSEC LIBCLI_AUTH LIBLDB
HEIMDAL GENSEC LIBCLI_AUTH LIBLDB SECRETS
# End SUBSYSTEM CREDENTIALS
#################################

View File

@ -9,7 +9,7 @@ PUBLIC_HEADERS = gensec.h
PRIVATE_PROTO_HEADER = gensec_proto.h
OBJ_FILES = gensec.o
REQUIRED_SUBSYSTEMS = \
SCHANNELDB CREDENTIALS
CREDENTIALS
# End SUBSYSTEM GENSEC
#################################

View File

@ -8,6 +8,6 @@ OBJ_FILES = kerberos.o \
kerberos_pac.o \
gssapi_parse.o \
krb5_init_context.o
REQUIRED_SUBSYSTEMS = KERBEROS_LIB NDR_KRB5PAC
REQUIRED_SUBSYSTEMS = HEIMDAL_KRB5 NDR_KRB5PAC
# End SUBSYSTEM KERBEROS
#################################

View File

@ -43,6 +43,8 @@ my $section_types = {
"ENABLE" => "bool",
"NOPROTO" => "bool",
"OUTPUT_TYPE" => "string",
"MANPAGE" => "string",
"PRIVATE_PROTO_HEADER" => "string"
},

View File

@ -69,12 +69,12 @@ sub check_module($$$)
if (defined($mod->{CHOSEN_BUILD}) and $mod->{CHOSEN_BUILD} ne "DEFAULT")
{
$mod->{OUTPUT_TYPE} = $mod->{CHOSEN_BUILD};
} else {
} elsif (not defined($mod->{OUTPUT_TYPE})) {
$mod->{OUTPUT_TYPE} = $default_ot;
}
if ($mod->{OUTPUT_TYPE} eq "SHARED_LIBRARY") {
$mod->{INSTALLDIR} = "LIBDIR/$mod->{SUBSYSTEM}";
$mod->{INSTALLDIR} = "MODULESDIR/$mod->{SUBSYSTEM}";
push (@{$mod->{REQUIRED_SUBSYSTEMS}}, $mod->{SUBSYSTEM});
} else {
push (@{$INPUT->{$mod->{SUBSYSTEM}}{REQUIRED_SUBSYSTEMS}}, $mod->{NAME});

View File

@ -242,6 +242,7 @@ sub SharedLibrary($$)
my ($self,$ctx) = @_;
push (@{$self->{shared_libs}}, "bin/$ctx->{LIBRARY_REALNAME}");
push (@{$self->{shared_modules}}, "bin/$ctx->{LIBRARY_REALNAME}");
$self->_prepare_list($ctx, "OBJ_LIST");
$self->_prepare_list($ctx, "CFLAGS");
@ -498,6 +499,7 @@ sub write($$)
$self->output("ALL_OBJS = " . array2oneperline($self->{all_objs}) . "\n");
$self->output("PROTO_OBJS = " . array2oneperline($self->{proto_objs}) . "\n");
$self->output("PROTO_HEADERS = " . array2oneperline($self->{proto_headers}) . "\n");
$self->output("SHARED_MODULES = " . array2oneperline($self->{shared_modules}) . "\n");
$self->_prepare_mk_files();

View File

@ -6,7 +6,7 @@ include samdb/ldb_modules/config.mk
# Start SUBSYSTEM SAMDB
[SUBSYSTEM::SAMDB]
PRIVATE_PROTO_HEADER = samdb/samdb.h
REQUIRED_SUBSYSTEMS = DB_WRAP
REQUIRED_SUBSYSTEMS = DB_WRAP LIBCLI_LDAP
OBJ_FILES = \
samdb/samdb.o \
samdb/samdb_privilege.o \

View File

@ -2,6 +2,7 @@
# Start MODULE libldb_objectguid
[MODULE::libldb_objectguid]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
objectguid.o
REQUIRED_SUBSYSTEMS = \
@ -13,8 +14,10 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE libldb_samldb
[MODULE::libldb_samldb]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
samldb.o
REQUIRED_SUBSYSTEMS = SAMDB
#
# End MODULE libldb_samldb
################################################
@ -23,6 +26,7 @@ OBJ_FILES = \
# Start MODULE libldb_samba3sam
[MODULE::libldb_samba3sam]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
samba3sam.o
#
@ -33,6 +37,7 @@ OBJ_FILES = \
# Start MODULE libldb_proxy
[MODULE::libldb_proxy]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
proxy.o
#
@ -44,6 +49,7 @@ OBJ_FILES = \
# Start MODULE libldb_rootdse
[MODULE::libldb_rootdse]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
rootdse.o
#
@ -54,6 +60,7 @@ OBJ_FILES = \
# Start MODULE libldb_password_hash
[MODULE::libldb_password_hash]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
password_hash.o
REQUIRED_SUBSYSTEMS = \

View File

@ -87,6 +87,7 @@ OBJ_FILES = \
../heimdal/lib/gssapi/get_mic.o \
../heimdal/lib/gssapi/import_name.o \
../heimdal/lib/gssapi/init.o
REQUIRED_SUBSYSTEMS = KERBEROS HEIMDAL_KRB5
NOPROTO = YES
# End SUBSYSTEM HEIMDAL_GSSAPI
#######################
@ -450,7 +451,7 @@ heimdal_clean: hdb_asn1_clean spnego_asn1_clean krb5_asn1_clean
[LIBRARY::HEIMDAL]
NOPROTO = YES
REQUIRED_SUBSYSTEMS = \
HEIMDAL_GSSAPI HEIMDAL_KRB5 \
HEIMDAL_GSSAPI HEIMDAL_KRB5 KERBEROS \
HEIMDAL_ASN1 HEIMDAL_DES HEIMDAL_ROKEN HEIMDAL_COM_ERR HEIMDAL_VERS HEIMDAL_GLUE EXT_LIB_RESOLV
# End SUBSYSTEM HEIMDAL
#######################

View File

@ -97,7 +97,7 @@ REQUIRED_SUBSYSTEMS = \
[SUBSYSTEM::DB_WRAP]
OBJ_FILES = db_wrap.o \
gendb.o
REQUIRED_SUBSYSTEMS = LIBLDB
REQUIRED_SUBSYSTEMS = LIBLDB LIBTDB
[SUBSYSTEM::PIDFILE]
OBJ_FILES = pidfile.o

View File

@ -2,6 +2,7 @@
# Start MODULE libldb_operational
[MODULE::libldb_operational]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
modules/operational.o
# End MODULE libldb_operational
@ -11,6 +12,7 @@ OBJ_FILES = \
# Start MODULE libldb_objectclass
[MODULE::libldb_objectclass]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
modules/objectclass.o
# End MODULE libldb_objectclass
@ -20,6 +22,7 @@ OBJ_FILES = \
# Start MODULE libldb_rdn_name
[MODULE::libldb_rdn_name]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
modules/rdn_name.o
# End MODULE libldb_rdn_name
@ -29,6 +32,7 @@ OBJ_FILES = \
# Start MODULE libldb_schema
[MODULE::libldb_schema]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
modules/schema.o
# End MODULE libldb_schema
@ -38,6 +42,7 @@ OBJ_FILES = \
# Start MODULE libldb_ildap
[MODULE::libldb_ildap]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
ldb_ildap/ldb_ildap.o
REQUIRED_SUBSYSTEMS = \
@ -50,6 +55,7 @@ NOPROTO = YES
# Start MODULE libldb_map
[MODULE::libldb_map]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = modules/ldb_map.o
# End MODULE libldb_map
################################################
@ -58,6 +64,7 @@ OBJ_FILES = modules/ldb_map.o
# Start MODULE libldb_sqlite3
[MODULE::libldb_sqlite3]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
ldb_sqlite3/ldb_sqlite3.o
REQUIRED_SUBSYSTEMS = \
@ -70,6 +77,7 @@ NOPROTO = YES
# Start MODULE libldb_tdb
[MODULE::libldb_tdb]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
ldb_tdb/ldb_tdb.o \
ldb_tdb/ldb_search.o \

View File

@ -46,6 +46,7 @@ OBJ_FILES = \
# Start MODULE registry_rpc
[MODULE::registry_rpc]
INIT_FUNCTION = registry_rpc_init
OUTPUT_TYPE = MERGEDOBJ
SUBSYSTEM = REGISTRY
OBJ_FILES = \
reg_backend_rpc.o

View File

@ -3,6 +3,7 @@
# Start MODULE socket_ipv4
[MODULE::socket_ipv4]
SUBSYSTEM = SOCKET
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
socket_ipv4.o
NOPROTO=YES
@ -13,6 +14,7 @@ NOPROTO=YES
# Start MODULE socket_ipv6
[MODULE::socket_ipv6]
SUBSYSTEM = SOCKET
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
socket_ipv6.o
NOPROTO=YES
@ -23,6 +25,7 @@ NOPROTO=YES
# Start MODULE socket_unix
[MODULE::socket_unix]
SUBSYSTEM = SOCKET
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
socket_unix.o
NOPROTO=YES

View File

@ -5,6 +5,6 @@ OBJ_FILES = credentials.o \
session.o \
smbencrypt.o
REQUIRED_SUBSYSTEMS = \
AUTH SCHANNELDB
AUTH SCHANNELDB gensec_ntlmssp
# End SUBSYSTEM LIBCLI_AUTH
#################################

View File

@ -25,6 +25,6 @@ OBJ_FILES = \
userinfo.o \
userman.o \
domain.o
REQUIRED_SUBSYSTEMS = RPC_NDR_SAMR RPC_NDR_LSA RPC_NDR_SRVSVC RPC_NDR_DRSUAPI LIBCLI_COMPOSITE LIBCLI_RESOLVE LIBSAMBA3 LIBCLI_CLDAP
REQUIRED_SUBSYSTEMS = RPC_NDR_SAMR RPC_NDR_LSA RPC_NDR_SRVSVC RPC_NDR_DRSUAPI LIBCLI_COMPOSITE LIBCLI_RESOLVE LIBSAMBA3 LIBCLI_CLDAP gensec_schannel
# End SUBSYSTEM LIBNET
#################################

View File

@ -26,8 +26,6 @@ REQUIRED_SUBSYSTEMS = LIBCOMPRESSION
# End SUBSYSTEM NDR_COMPRESSION
################################################
include rpc/config.mk
[SUBSYSTEM::NDR_SECURITY_HELPER]
OBJ_FILES = ndr/ndr_sec_helper.o ndr/ndr_sec.o
@ -127,7 +125,7 @@ REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SAMR]
OBJ_FILES = gen_ndr/ndr_samr.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR
REQUIRED_SUBSYSTEMS = LIBNDR NDR_LSA
[SUBSYSTEM::NDR_SPOOLSS]
OBJ_FILES = gen_ndr/ndr_spoolss.o
@ -273,7 +271,7 @@ REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_KRB5PAC]
OBJ_FILES = gen_ndr/ndr_krb5pac.o
NOPROTO = YES
REQUIRED_SUBSYSTEMS = LIBNDR NDR_KRB5PAC_UTIL
REQUIRED_SUBSYSTEMS = LIBNDR NDR_KRB5PAC_UTIL NDR_NETLOGON
[SUBSYSTEM::NDR_KRB5PAC_UTIL]
OBJ_FILES = ndr/ndr_krb5pac.o
@ -522,7 +520,18 @@ MINOR_VERSION = 0
DESCRIPTION = DCE/RPC client library
RELEASE_VERSION = 1
PUBLIC_HEADERS = rpc/dcerpc.h
REQUIRED_SUBSYSTEMS = LIBNDR RPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR NDR_UNIXINFO RPC_NDR_NETLOGON RPC_NDR_EPMAPPER
PRIVATE_PROTO_HEADER = rpc/dcerpc_proto.h
OBJ_FILES = \
rpc/dcerpc.o \
rpc/dcerpc_auth.o \
rpc/dcerpc_schannel.o \
rpc/dcerpc_util.o \
rpc/dcerpc_error.o \
rpc/dcerpc_smb.o \
rpc/dcerpc_smb2.o \
rpc/dcerpc_sock.o \
rpc/dcerpc_connect.o
REQUIRED_SUBSYSTEMS = SOCKET LIBNDR LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR NDR_UNIXINFO RPC_NDR_NETLOGON RPC_NDR_EPMAPPER
# End SUBSYSTEM LIBRPC
################################################

View File

@ -1,18 +0,0 @@
################################################
# Start SUBSYSTEM RPC_RAW
[SUBSYSTEM::RPC_RAW]
PRIVATE_PROTO_HEADER = dcerpc_proto.h
OBJ_FILES = \
dcerpc.o \
dcerpc_auth.o \
dcerpc_schannel.o \
dcerpc_util.o \
dcerpc_error.o \
dcerpc_smb.o \
dcerpc_smb2.o \
dcerpc_sock.o \
dcerpc_connect.o
REQUIRED_SUBSYSTEMS = SOCKET
# End SUBSYSTEM RPC_RAW
################################################

View File

@ -29,9 +29,11 @@ include client/config.mk
include libcli/config.mk
include scripting/config.mk
include kdc/config.mk
include passdb/config.mk
binaries: $(BINARIES)
libraries: $(STATIC_LIBS) $(SHARED_LIBS)
modules: $(SHARED_MODULES)
headers: $(PUBLIC_HEADERS)
manpages: $(MANPAGES)
everything: all

View File

@ -2,6 +2,5 @@
OBJ_FILES = ../dynconfig.o \
loadparm.o \
params.o \
../passdb/secrets.o \
generic.o
REQUIRED_SUBSYSTEMS = LIBBASIC DB_WRAP

3
source/passdb/config.mk Normal file
View File

@ -0,0 +1,3 @@
[SUBSYSTEM::SECRETS]
OBJ_FILES = secrets.o
REQUIRED_SUBSYSTEMS = SAMDB

View File

@ -119,6 +119,7 @@ REQUIRED_SUBSYSTEMS = \
[MODULE::dcerpc_winreg]
INIT_FUNCTION = dcerpc_server_winreg_init
SUBSYSTEM = DCERPC
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
winreg/rpc_winreg.o
REQUIRED_SUBSYSTEMS = \
@ -159,6 +160,7 @@ REQUIRED_SUBSYSTEMS = \
[MODULE::dcerpc_spoolss]
INIT_FUNCTION = dcerpc_server_spoolss_init
SUBSYSTEM = DCERPC
OUTPUT_TYPE = MERGEDOBJ
OBJ_FILES = \
spoolss/dcesrv_spoolss.o
REQUIRED_SUBSYSTEMS = \
@ -207,7 +209,8 @@ OBJ_FILES = \
handles.o
REQUIRED_SUBSYSTEMS = \
LIBCLI_AUTH \
LIBNDR
LIBNDR \
LIBRPC
#
# End SUBSYSTEM DCERPC
################################################

View File

@ -14,6 +14,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE server_service_smb
[MODULE::server_service_smb]
INIT_FUNCTION = server_service_smb_init
OUTPUT_TYPE = MERGEDOBJ
SUBSYSTEM = SERVER_SERVICE
REQUIRED_SUBSYSTEMS = \
SMB
@ -25,6 +26,7 @@ REQUIRED_SUBSYSTEMS = \
[MODULE::server_service_rpc]
INIT_FUNCTION = server_service_rpc_init
SUBSYSTEM = SERVER_SERVICE
OUTPUT_TYPE = MERGEDOBJ
REQUIRED_SUBSYSTEMS = \
DCERPC
# End MODULE server_rpc