r12670: Make a couple of dependencies stricter
authorJelmer Vernooij <jelmer@samba.org>
Mon, 2 Jan 2006 00:16:08 +0000 (00:16 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:49:35 +0000 (13:49 -0500)
Re-introduce and use the OUTPUT_TYPE property for MODULEs to force
specific modules to always be included

22 files changed:
source/auth/credentials/config.mk
source/auth/gensec/config.mk
source/auth/kerberos/config.mk
source/build/smb_build/config_mk.pm
source/build/smb_build/input.pm
source/build/smb_build/makefile.pm
source/dsdb/config.mk
source/dsdb/samdb/ldb_modules/config.mk
source/heimdal_build/config.mk
source/lib/basic.mk
source/lib/ldb/config.mk
source/lib/registry/config.mk
source/lib/socket/config.mk
source/libcli/auth/config.mk
source/libnet/config.mk
source/librpc/config.mk
source/librpc/rpc/config.mk [deleted file]
source/main.mk
source/param/config.mk
source/passdb/config.mk [new file with mode: 0644]
source/rpc_server/config.mk
source/smbd/config.mk

index f0e5ea3f211e2d4514d554bf303f0d748ff6a111..5c72630d5adb1611c2a1e66489184ce6fb8c3c67 100644 (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
 #################################
 
index 84e8cfd3cce16e68d7f7f73018b64bc7e1f05863..0ba5a5e282f55f724070e4754ff9b26d94b81b38 100644 (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
 #################################
 
index 53720dd5f69a34fd7415de79450f5d1ffab731e5..93b45ddedc4c0c433e3c7367708a6322626cde6d 100644 (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
 #################################
index 64fd5e6fc969bfa1b744b63e606d37fa4754075a..6a8426974f42ef73c7b832e016f492cd9cd764be 100644 (file)
@@ -43,6 +43,8 @@ my $section_types = {
                "ENABLE"                => "bool",
                "NOPROTO"               => "bool",
 
+               "OUTPUT_TYPE" => "string",
+
                "MANPAGE"               => "string",
                "PRIVATE_PROTO_HEADER"  => "string"
                },
index ceddd75c3fc9987d554e9b1234cdd8316602b8e9..ef90e3c122ffc1e0d72237f7b72fd95e301c7101 100644 (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});
index e28aaec9d1806d411009ca66ae2f291211746fda..2e06dc179ac7a39254f41c06306feb48bd34de0d 100644 (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();
 
index d7188e43b59aa1d4ef89db67507e97d272a714b6..b1a00cc387d83357c713b962872cbcc4d9ba428b 100644 (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 \
index f9c267e2db89ca1d9288ce6c0e719cfa821e6845..a18d2c435976e15787038585d81859f53fe370cb 100644 (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 = \
index 9aab1cf21a90ee7175965f844529ce51d4108f0e..4cea6fa4f9b78c8961be711922bd6607fbf485d6 100644 (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
 #######################
index 92b60bfd4028b437da4e2bd39a555c4afe2d9ec9..d5bff95f01249999caabd18b9296262080437e2b 100644 (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
index 9cb74f551b42e85b3cf3d7258c0b1b4ff3fc724a..96cd0dbad8822ba03d009c5d571b04b51d98404f 100644 (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 \
index fbef97a299ba783e11f080fd14276a326fe9422e..a977e0ea5c9ac7fd45ccc7d14761497df9e9bfbb 100644 (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
index 60db3ab07eab5b2bc3dc80475bae02b97f1ddcfd..ad555522a351da22a1459b205172c7a7ef3f95c2 100644 (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
index 75b4180976effa65c362b517e2a019dd46b2dbad..0d8c21d5274077c99139baf551272727b8f1346a 100644 (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
 #################################
index 3c695edd39bedc14df0fb4db30711a4c8a42ff9d..b76fe0c7e565755f31681b66a58e0d49d1bd8d1a 100644 (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
 #################################
index d87ac86ce52d10dd89ebf25a17e3d8be4ba679e9..4ca36a6b3b7fd5ae79c4cd845dcd4fd2466c660d 100644 (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
 ################################################
 
diff --git a/source/librpc/rpc/config.mk b/source/librpc/rpc/config.mk
deleted file mode 100644 (file)
index 7206d2f..0000000
+++ /dev/null
@@ -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
-################################################
-
index e9e28bd035a6ed0e0e56456bd3a90d7f9c99c818..55cbb03d30f30afa4e328b43281fbbe2c0af0b7c 100644 (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
index cf21871503853c819833ec89a98fd0c6f5863679..800e130e9e62215987bb9081ad4fdf2113eb9b2a 100644 (file)
@@ -2,6 +2,5 @@
 OBJ_FILES = ../dynconfig.o \
                                loadparm.o \
                                params.o \
-                               ../passdb/secrets.o \
                                generic.o
 REQUIRED_SUBSYSTEMS = LIBBASIC DB_WRAP
diff --git a/source/passdb/config.mk b/source/passdb/config.mk
new file mode 100644 (file)
index 0000000..c57f79a
--- /dev/null
@@ -0,0 +1,3 @@
+[SUBSYSTEM::SECRETS]
+OBJ_FILES = secrets.o
+REQUIRED_SUBSYSTEMS = SAMDB
index f6ec5d308080312cc66d87d734c49037026568ea..ac4ca4962ac07cead119c75230c107146e0531b1 100644 (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
 ################################################
index 7378b3b2c31feecf6f8348b2fcc429dd3a83a0c8..6acc30fcafbf539060edf0a4491faa0d71935cf3 100644 (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