[PROPOSAL] proposed changes to build system

Peter Novodvorsky nidd at myxomop.com
Wed Apr 20 13:47:19 GMT 2005


Hi, metze!

Sorry, code is attached. 


>>>>> On Wed, 20 Apr 2005 13:09:58 +0200
>>>>> "S(M" == Stefan (metze) Metzmacher <metze at samba.org> wrote:
S(M> 
S(M> Peter Novodvorsky schrieb:
>> Code that is attached to this mail doesn't build samba to the end
>> because of the problems with sequence of files that are given to gcc
>> for linking (I'm not using -( and -) flags for portability), however
>> it is useful for understanding how makefile is generated. 
S(M> 
S(M> I don't see anythin attached to this mail:-(
S(M> 

-------------- next part --------------
Index: find_depends
===================================================================
--- find_depends	(revision 0)
+++ find_depends	(revision 0)
@@ -0,0 +1,29 @@
+
+OBJDIR=objs
+TMPDIR=objs
+
+for i in $OBJDIR/*.o; do 
+    nm $i | egrep -e '^[a-f0-9]{8} T' | cut -b 12- > $TMPDIR/`basename $i`.provides
+done
+
+for i in $OBJDIR/*.o; do
+    nm $i | egrep -e '^ {8} U' | cut -b 12- > $TMPDIR/`basename $i`.depends
+done
+
+for i in $TMPDIR/*.depends; do 
+    rm $TMPDIR/`basename $i`.real
+    while read line; do 
+	grep "^$line$" $TMPDIR/*.provides >> $TMPDIR/`basename $i`.real; 
+    done < $i; 
+done
+
+
+for i in $TMPDIR/*.depends.real; do
+    depends=`cut -d. -f 1 < $i | cut -d_ -f 2- | grep -v MODULE| sort | uniq | tr "\n" " "`;
+    component_type=`basename $i | cut -d_ -f 1`;
+    component_name=`basename $i | cut -d_ -f 2- | sed -e 's/\.o\.depends\.real//'`;
+
+    echo "[$component_type::$component_name]
+REQUIRED_SUBSYSTEMS = $depends
+"
+done
\ No newline at end of file
Index: libraries.mk
===================================================================
--- libraries.mk	(revision 0)
+++ libraries.mk	(revision 0)
@@ -0,0 +1,127 @@
+[LIBRARY::gtksmb]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = GTKSMB
+
+[LIBRARY::smbdsupport]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = \
+		SERVER_SERVICE \
+		PROCESS_MODEL \
+		SMB \
+		LDAP \
+		NBTD NBTD_WINS DCERPC
+
+[LIBRARY::winbind_client]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = LIB_WINBIND_CLIENT
+
+[LIBRARY::smbldapserv]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = 
+
+[LIBRARY::talloc]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = \
+		LIBTALLOC
+
+[LIBRARY::ldb]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = \
+		LIBLDB
+[LIBRARY::winregistry]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = \
+		REGISTRY
+[LIBRARY::tdb]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = \
+		LIBTDB
+
+[LIBRARY::smbbasic]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = CHARSET CONFIG LIBCRYPTO LIBBASIC LIBCLI_UTILS SOCKET LIBNETIF \
+		LIBEVENTS MESSAGING LIBCMDLINE
+
+[LIBRARY::smbreplace]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = LIBREPLACE
+BUILD_TYPE = STATIC
+
+
+[LIBRARY::smbnet]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = LIBNET
+
+
+[LIBRARY::smbcli]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = LIBCLI LIBCLI_RAW LIBCLI_AUTH \
+	LIBCLI_COMPOSITE LIBCLI_NBT LIB_SECURITY LIBCLI_RESOLVE LIBCLI_COMPOSITE_BASE \
+	LIBCLI_LSA LIBSMB LIBCLI_WINS LIBCLI_LDAP LIBCOM SAMDB \
+	NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
+	NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA 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_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 \
+	NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL LIB_SECURITY_NDR \
+	NDR_ORPC NDR_ORPC_MANUAL NDR_DCOM NDR_SPOOLSS_BUF NDR_DRSUAPI_PRINT \
+	RPC_NDR_ROT RPC_NDR_AUDIOSRV RPC_NDR_ECHO RPC_NDR_EXCHANGE RPC_NDR_DSBACKUP \
+	RPC_NDR_EFS RPC_NDR_LSA RPC_NDR_DFS RPC_NDR_DRSUAPI RPC_NDR_DRSBLOBS \
+	RPC_NDR_POLICYAGENT RPC_NDR_SAMR RPC_NDR_SPOOLSS RPC_NDR_WKSSVC \
+	RPC_NDR_SRVSVC RPC_NDR_SVCCTL RPC_NDR_ATSVC RPC_NDR_EVENTLOG RPC_NDR_EPMAPPER \
+	RPC_NDR_DBGIDL RPC_NDR_DSSETUP RPC_NDR_MSGSVC RPC_NDR_WINS RPC_NDR_WINREG \
+	RPC_NDR_MGMT RPC_NDR_PROTECTED_STORAGE DCOM_PROXY_DCOM RPC_NDR_OXIDRESOLVER \
+	RPC_NDR_REMACT RPC_NDR_WZCSVC RPC_NDR_BROWSER RPC_NDR_W32TIME RPC_NDR_SCERPC \
+	RPC_NDR_NTSVCS RPC_NDR_NETLOGON RPC_NDR_TRKWKS RPC_NDR_KEYSVC \
+	LIBRPC_RAW LIBNDR_RAW \
+	LIBRPC LIBNDR NDR_ALL \
+	DCERPC_COMMON AUTH SCHANNELDB GENSEC
+
+[LIBRARY::smbntvfs]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = ntvfs_common NTVFS
+
+[LIBRARY::smbtorturecomps]
+MAJOR_VERSION = 0
+MINOR_VERSION = 0
+RELEASE_VERSION = 1
+INCLUDES = \
+		TORTURE_BASIC \
+		TORTURE_RAW \
+		TORTURE_RPC \
+		TORTURE_RAP \
+		TORTURE_AUTH \
+		TORTURE_LOCAL \
+		TORTURE_NBENCH \
+		TORTURE_LDAP \
+		TORTURE_COM \
+		TORTURE_NBT
+
Index: smbd/process_model.mk
===================================================================
--- smbd/process_model.mk	(revision 6388)
+++ smbd/process_model.mk	(working copy)
@@ -1,34 +1,34 @@
 # Server process model subsystem
 
 ################################################
-# Start MODULE process_model_single
-[MODULE::process_model_single]
+# Start SUBSYSTEM process_model_single
+[SUBSYSTEM::process_model_single]
 INIT_FUNCTION = process_model_single_init 
 SUBSYSTEM = PROCESS_MODEL
 INIT_OBJ_FILES = \
 		smbd/process_single.o
-# End MODULE process_model_single
+# End SUBSYSTEM process_model_single
 ################################################
 
 ################################################
-# Start MODULE process_model_standard
-[MODULE::process_model_standard]
+# Start SUBSYSTEM process_model_standard
+[SUBSYSTEM::process_model_standard]
 INIT_FUNCTION = process_model_standard_init 
 SUBSYSTEM = PROCESS_MODEL
 INIT_OBJ_FILES = \
 		smbd/process_standard.o
-# End MODULE process_model_standard
+# End SUBSYSTEM process_model_standard
 ################################################
 
 ################################################
-# Start MODULE process_model_thread
-[MODULE::process_model_thread]
+# Start SUBSYSTEM process_model_thread
+[SUBSYSTEM::process_model_thread]
 INIT_FUNCTION = process_model_thread_init 
 SUBSYSTEM = PROCESS_MODEL
 INIT_OBJ_FILES = \
 		smbd/process_thread.o
 REQUIRED_SUBSYSTEMS = EXT_LIB_PTHREAD
-# End MODULE process_model_thread
+# End SUBSYSTEM process_model_thread
 ################################################
 
 ################################################
Index: smbd/config.mk
===================================================================
--- smbd/config.mk	(revision 6388)
+++ smbd/config.mk	(working copy)
@@ -1,53 +1,54 @@
 # server subsystem
 
 ################################################
-# Start MODULE server_service_auth
-[MODULE::server_service_auth]
+# Start SUBSYSTEM server_service_auth
+[SUBSYSTEM::server_service_auth]
 INIT_FUNCTION = server_service_auth_init
 SUBSYSTEM = SERVER_SERVICE
 REQUIRED_SUBSYSTEMS = \
 		AUTH
-# End MODULE server_auth
+# End SUBSYSTEM server_auth
 ################################################
 
 ################################################
-# Start MODULE server_service_smb
-[MODULE::server_service_smb]
+# Start SUBSYSTEM server_service_smb
+[SUBSYSTEM::server_service_smb]
 INIT_FUNCTION = server_service_smb_init
 SUBSYSTEM = SERVER_SERVICE
 REQUIRED_SUBSYSTEMS = \
 		SMB
-# End MODULE server_smb
+# End SUBSYSTEM server_smb
 ################################################
 
 ################################################
-# Start MODULE server_service_rpc
-[MODULE::server_service_rpc]
+# Start SUBSYSTEM server_service_rpc
+[SUBSYSTEM::server_service_rpc]
 INIT_FUNCTION = server_service_rpc_init
 SUBSYSTEM = SERVER_SERVICE
 REQUIRED_SUBSYSTEMS = \
 		DCERPC
-# End MODULE server_rpc
+# End SUBSYSTEM server_rpc
 ################################################
 
 ################################################
-# Start MODULE server_service_ldap
-[MODULE::server_service_ldap]
+# Start SUBSYSTEM server_service_ldap
+[SUBSYSTEM::server_service_ldap]
 INIT_FUNCTION = server_service_ldap_init
 SUBSYSTEM = SERVER_SERVICE
 REQUIRED_SUBSYSTEMS = \
 		LDAP
-# End MODULE server_ldap
+# End SUBSYSTEM server_ldap
 ################################################
 
 ################################################
-# Start MODULE server_service_nbtd
-[MODULE::server_service_nbtd]
+# Start SUBSYSTEM server_service_nbtd
+[SUBSYSTEM::server_service_nbtd]
 INIT_FUNCTION = server_service_nbtd_init
 SUBSYSTEM = SERVER_SERVICE
 REQUIRED_SUBSYSTEMS = \
-		NBTD
-# End MODULE server_service_nbtd
+		NBTD \
+		NBTD_WINS
+# End SUBSYSTEM server_service_nbtd
 ################################################
 
 #######################
@@ -64,7 +65,7 @@
 
 #################################
 # Start BINARY smbd
-[BINARY::smbd]
+[SUBSYSTEM::bin_smbd]
 OBJ_FILES = \
 		smbd/server.o
 REQUIRED_SUBSYSTEMS = \
Index: gtk/config.mk
===================================================================
--- gtk/config.mk	(revision 6388)
+++ gtk/config.mk	(working copy)
@@ -6,15 +6,14 @@
 NOPROTO = YES
 INIT_OBJ_FILES = gtk/common/gtk-smb.o 
 ADD_OBJ_FILES = gtk/common/select.o \
-		gtk/common/gtk_events.o \
-		gtk/common/credentials.o
+		gtk/common/gtk_events.o
 REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk RPC_NDR_SAMR
 # End SUBSYSTEM GTKSMB
 ##############################
 
 ################################################
 # Start BINARY gregedit
-[BINARY::gregedit]
+[SUBSYSTEM::bin_gregedit]
 OBJ_FILES = gtk/tools/gregedit.o
 REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE REGISTRY GTKSMB
 # End BINARY gregedit
@@ -22,7 +21,7 @@
 
 ################################################
 # Start BINARY gepdump 
-[BINARY::gepdump]
+[SUBSYSTEM::bin_gepdump]
 OBJ_FILES = gtk/tools/gepdump.o
 REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_EPMAPPER RPC_NDR_MGMT
 # End BINARY gepdump 
@@ -30,7 +29,7 @@
 
 ################################################
 # Start BINARY gwcrontab
-[BINARY::gwcrontab]
+[SUBSYSTEM::bin_gwcrontab]
 OBJ_FILES = gtk/tools/gwcrontab.o
 REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE GTKSMB RPC_NDR_ATSVC
 # End BINARY gwcrontab
@@ -38,7 +37,7 @@
 
 ################################################
 # Start BINARY gwsam
-[BINARY::gwsam]
+[SUBSYSTEM::bin_gwsam]
 OBJ_FILES = gtk/tools/gwsam.o gtk/tools/gwsam_user.o
 REQUIRED_SUBSYSTEMS = CONFIG LIBCMDLINE RPC_NDR_SAMR GTKSMB
 # End BINARY gwsam
Index: winbind/config.mk
===================================================================
--- winbind/config.mk	(revision 6388)
+++ winbind/config.mk	(working copy)
@@ -1,12 +1,12 @@
 # server subsystem
 
 ################################################
-# Start MODULE server_service_auth
-[MODULE::server_service_winbind]
+# Start SUBSYSTEM server_service_auth
+[SUBSYSTEM::server_service_winbind]
 INIT_FUNCTION = server_service_winbind_init
 SUBSYSTEM = SERVER_SERVICE
 INIT_OBJ_FILES = \
 		winbind/wb_server.o
 REQUIRED_SUBSYSTEMS = 
-# End MODULE server_service_winbind
+# End SUBSYSTEM server_service_winbind
 ################################################
Index: auth/config.mk
===================================================================
--- auth/config.mk	(revision 6388)
+++ auth/config.mk	(working copy)
@@ -1,30 +1,30 @@
 # AUTH Server subsystem
 
 #######################
-# Start MODULE auth_sam
-[MODULE::auth_sam]
+# Start SUBSYSTEM auth_sam
+[SUBSYSTEM::auth_sam]
 INIT_FUNCTION = auth_sam_init
 SUBSYSTEM = AUTH
 INIT_OBJ_FILES = \
 		auth/auth_sam.o
 REQUIRED_SUBSYSTEMS = \
 		SAMDB
-# End MODULE auth_sam
+# End SUBSYSTEM auth_sam
 #######################
 
 #######################
-# Start MODULE auth_anonymous
-[MODULE::auth_anonymous]
+# Start SUBSYSTEM auth_anonymous
+[SUBSYSTEM::auth_anonymous]
 INIT_FUNCTION = auth_anonymous_init
 SUBSYSTEM = AUTH
 INIT_OBJ_FILES = \
 		auth/auth_anonymous.o
-# End MODULE auth_anonymous
+# End SUBSYSTEM auth_anonymous
 #######################
 
 #######################
-# Start MODULE auth_winbind
-[MODULE::auth_winbind]
+# Start SUBSYSTEM auth_winbind
+[SUBSYSTEM::auth_winbind]
 INIT_FUNCTION = auth_winbind_init
 SUBSYSTEM = AUTH
 INIT_OBJ_FILES = \
@@ -32,29 +32,17 @@
 REQUIRED_SUBSYSTEMS = \
 		LIB_WINBIND_CLIENT \
 		NDR_NETLOGON LIBNDR
-# End MODULE auth_winbind
+# End SUBSYSTEM auth_winbind
 #######################
 
 #######################
-# Start MODULE auth_domain
-[MODULE::auth_domain]
-INIT_FUNCTION = auth_domain_init
-SUBSYSTEM = AUTH
-INIT_OBJ_FILES = \
-		auth/auth_domain.o
-REQUIRED_SUBSYSTEMS = \
-		NDR_NETLOGON LIBNDR
-# End MODULE auth_winbind
-#######################
-
-#######################
-# Start MODULE auth_developer
-[MODULE::auth_developer]
+# Start SUBSYSTEM auth_developer
+[SUBSYSTEM::auth_developer]
 INIT_FUNCTION = auth_developer_init
 SUBSYSTEM = AUTH
 INIT_OBJ_FILES = \
 		auth/auth_developer.o
-# End MODULE auth_developer
+# End SUBSYSTEM auth_developer
 #######################
 
 #######################
@@ -67,3 +55,4 @@
 		auth/ntlm_check.o
 # End SUBSYSTEM AUTH
 #######################
+
Index: scripting/swig/config.mk
===================================================================
--- scripting/swig/config.mk	(revision 6388)
+++ scripting/swig/config.mk	(working copy)
@@ -8,4 +8,5 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 0
 RELEASE_VERSION = 1
-REQUIRED_SUBSYSTEMS = LIBCLI NDR_MISC LIBBASIC CONFIG RPC_NDR_SAMR RPC_NDR_LSA
+REQUIRED_SUBSYSTEMS = LIBCLI NDR_MISC LIBBASIC CONFIG RPC_NDR_SAMR
+
Index: nsswitch/config.mk
===================================================================
--- nsswitch/config.mk	(revision 6388)
+++ nsswitch/config.mk	(working copy)
@@ -5,3 +5,4 @@
 NOPROTO=YES
 # End SUBSYSTEM LIB_WINBIND_CLIENT
 #################################
+
Index: lib/talloc/config.mk
===================================================================
--- lib/talloc/config.mk	(revision 6388)
+++ lib/talloc/config.mk	(working copy)
@@ -10,15 +10,3 @@
 # End SUBSYSTEM LIBTALLOC
 ################################################
 
-################################################
-# Start LIBRARY LIBTALLOC
-[LIBRARY::libtalloc]
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
-RELEASE_VERSION = 1
-REQUIRED_SUBSYSTEMS = \
-		LIBTALLOC
-#
-# End LIBRARY LIBTALLOC
-################################################
-
Index: lib/com/config.mk
===================================================================
--- lib/com/config.mk	(revision 6388)
+++ lib/com/config.mk	(working copy)
@@ -15,7 +15,7 @@
 # End SUBSYSTEM LIBDCOM
 ################################################
 
-[MODULE::com_simple]
+[SUBSYSTEM::com_simple]
 SUBSYSTEM = LIBCOM
 INIT_OBJ_FILES = lib/com/classes/simple.o
 INIT_FUNCTION = com_simple_init
Index: lib/basic.mk
===================================================================
--- lib/basic.mk	(revision 6388)
+++ lib/basic.mk	(working copy)
@@ -32,14 +32,6 @@
 # End SUBSYSTEM LIBCRYPTO
 ##############################
 
-################################################
-# Start SUBSYSTEM LIBCOMPRESSION
-[SUBSYSTEM::LIBCOMPRESSION]
-INIT_OBJ_FILES = \
-		lib/compression/mszip.o
-# End SUBSYSTEM LIBCOMPRESION
-################################################
-
 ##############################
 # Start SUBSYSTEM LIBBASIC
 [SUBSYSTEM::LIBBASIC]
@@ -47,11 +39,13 @@
 ADD_OBJ_FILES = \
 		lib/debug.o \
 		lib/fault.o \
+		lib/getsmbpass.o \
 		lib/pidfile.o \
 		lib/signal.o \
 		lib/system.o \
 		lib/time.o \
 		lib/genrand.o \
+		lib/username.o \
 		lib/dprintf.o \
 		lib/xfile.o \
 		lib/util_str.o \
@@ -72,12 +66,9 @@
 		lib/idtree.o \
 		lib/unix_privs.o \
 		lib/db_wrap.o \
-		lib/gencache.o \
-		lib/gendb.o \
-		lib/credentials.o
+		lib/gencache.o
 REQUIRED_SUBSYSTEMS = \
-		LIBLDB CHARSET LIBREPLACE LIBNETIF LIBCRYPTO EXT_LIB_DL LIBTALLOC \
-		SOCKET_WRAPPER
+		LIBLDB CHARSET LIBREPLACE LIBNETIF LIBCRYPTO EXT_LIB_DL LIBTALLOC
 # End SUBSYSTEM LIBBASIC
 ##############################
 
Index: lib/socket/config.mk
===================================================================
--- lib/socket/config.mk	(revision 6388)
+++ lib/socket/config.mk	(working copy)
@@ -1,32 +1,32 @@
 
 ################################################
-# Start MODULE socket_ipv4
-[MODULE::socket_ipv4]
+# Start SUBSYSTEM socket_ipv4
+[SUBSYSTEM::socket_ipv4]
 SUBSYSTEM = SOCKET
 INIT_OBJ_FILES = \
 		lib/socket/socket_ipv4.o
 NOPROTO=YES
-# End MODULE socket_ipv4
+# End SUBSYSTEM socket_ipv4
 ################################################
 
 ################################################
-# Start MODULE socket_ipv6
-[MODULE::socket_ipv6]
+# Start SUBSYSTEM socket_ipv6
+[SUBSYSTEM::socket_ipv6]
 SUBSYSTEM = SOCKET
 INIT_OBJ_FILES = \
 		lib/socket/socket_ipv6.o
 NOPROTO=YES
-# End MODULE socket_ipv6
+# End SUBSYSTEM socket_ipv6
 ################################################
 
 ################################################
-# Start MODULE socket_unix
-[MODULE::socket_unix]
+# Start SUBSYSTEM socket_unix
+[SUBSYSTEM::socket_unix]
 SUBSYSTEM = SOCKET
 INIT_OBJ_FILES = \
 		lib/socket/socket_unix.o
 NOPROTO=YES
-# End MODULE socket_unix
+# End SUBSYSTEM socket_unix
 ################################################
 
 ################################################
Index: lib/ldb/config.mk
===================================================================
--- lib/ldb/config.mk	(revision 6388)
+++ lib/ldb/config.mk	(working copy)
@@ -1,36 +1,36 @@
 ################################################
-# Start MODULE libldb_timestamps
-[MODULE::libldb_timestamps]
+# Start SUBSYSTEM libldb_timestamps
+[SUBSYSTEM::libldb_timestamps]
 SUBSYSTEM = LIBLDB
 INIT_OBJ_FILES = \
 		lib/ldb/modules/timestamps.o
-# End MODULE libldb_timestamps
+# End SUBSYSTEM libldb_timestamps
 ################################################
 
 ################################################
-# Start MODULE libldb_schema
-[MODULE::libldb_schema]
+# Start SUBSYSTEM libldb_schema
+[SUBSYSTEM::libldb_schema]
 SUBSYSTEM = LIBLDB
 INIT_OBJ_FILES = \
 		lib/ldb/modules/schema.o
-# End MODULE libldb_schema
+# End SUBSYSTEM libldb_schema
 ################################################
 
 ################################################
-# Start MODULE libldb_ldap
-[MODULE::libldb_ldap]
+# Start SUBSYSTEM libldb_ldap
+[SUBSYSTEM::libldb_ldap]
 SUBSYSTEM = LIBLDB
 INIT_OBJ_FILES = \
 		lib/ldb/ldb_ldap/ldb_ldap.o
 REQUIRED_SUBSYSTEMS = \
 		EXT_LIB_LDAP
 NOPROTO = YES
-# End MODULE libldb_tdb
+# End SUBSYSTEM libldb_tdb
 ################################################
 
 ################################################
-# Start MODULE libldb_tdb
-[MODULE::libldb_tdb]
+# Start SUBSYSTEM libldb_tdb
+[SUBSYSTEM::libldb_tdb]
 SUBSYSTEM = LIBLDB
 INIT_OBJ_FILES = \
 		lib/ldb/ldb_tdb/ldb_tdb.o
@@ -43,7 +43,7 @@
 REQUIRED_SUBSYSTEMS = \
 		LIBTDB
 NOPROTO = YES
-# End MODULE libldb_tdb
+# End SUBSYSTEM libldb_tdb
 ################################################
 
 ################################################
@@ -67,20 +67,8 @@
 ################################################
 
 ################################################
-# Start LIBRARY LIBLDB
-[LIBRARY::libldb]
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
-RELEASE_VERSION = 1
-REQUIRED_SUBSYSTEMS = \
-		LIBLDB
-#
-# End LIBRARY LIBLDB
-################################################
-
-################################################
 # Start BINARY ldbadd
-[BINARY::ldbadd]
+[SUBSYSTEM::bin_ldbadd]
 OBJ_FILES= \
 		lib/ldb/tools/ldbadd.o
 REQUIRED_SUBSYSTEMS = \
@@ -90,7 +78,7 @@
 
 ################################################
 # Start BINARY ldbdel
-[BINARY::ldbdel]
+[SUBSYSTEM::bin_ldbdel]
 OBJ_FILES= \
 		lib/ldb/tools/ldbdel.o
 REQUIRED_SUBSYSTEMS = \
@@ -100,7 +88,7 @@
 
 ################################################
 # Start BINARY ldbmodify
-[BINARY::ldbmodify]
+[SUBSYSTEM::bin_ldbmodify]
 OBJ_FILES= \
 		lib/ldb/tools/ldbmodify.o
 REQUIRED_SUBSYSTEMS = \
@@ -110,7 +98,7 @@
 
 ################################################
 # Start BINARY ldbsearch
-[BINARY::ldbsearch]
+[SUBSYSTEM::bin_ldbsearch]
 OBJ_FILES= \
 		lib/ldb/tools/ldbsearch.o
 REQUIRED_SUBSYSTEMS = \
@@ -120,7 +108,7 @@
 
 ################################################
 # Start BINARY ldbedit
-[BINARY::ldbedit]
+[SUBSYSTEM::bin_ldbedit]
 OBJ_FILES= \
 		lib/ldb/tools/ldbedit.o
 REQUIRED_SUBSYSTEMS = \
@@ -130,7 +118,7 @@
 
 ################################################
 # Start BINARY ldbrename
-[BINARY::ldbrename]
+[SUBSYSTEM::bin_ldbrename]
 OBJ_FILES= \
 		lib/ldb/tools/ldbrename.o
 REQUIRED_SUBSYSTEMS = \
@@ -140,7 +128,7 @@
 
 ################################################
 # Start BINARY ldbtest
-[BINARY::ldbtest]
+[SUBSYSTEM::bin_ldbtest]
 OBJ_FILES= \
 		lib/ldb/tools/ldbtest.o
 REQUIRED_SUBSYSTEMS = \
Index: lib/registry/config.mk
===================================================================
--- lib/registry/config.mk	(revision 6388)
+++ lib/registry/config.mk	(working copy)
@@ -1,69 +1,69 @@
 # Registry backends
 
 ################################################
-# Start MODULE registry_nt4
-[MODULE::registry_nt4]
+# Start SUBSYSTEM registry_nt4
+[SUBSYSTEM::registry_nt4]
 INIT_FUNCTION = registry_nt4_init
 SUBSYSTEM = REGISTRY
 INIT_OBJ_FILES = \
 		lib/registry/reg_backend_nt4.o
-# End MODULE registry_nt4
+# End SUBSYSTEM registry_nt4
 ################################################
 
 ################################################
-# Start MODULE registry_w95
-[MODULE::registry_w95]
+# Start SUBSYSTEM registry_w95
+[SUBSYSTEM::registry_w95]
 INIT_FUNCTION = registry_w95_init
 SUBSYSTEM = REGISTRY
 INIT_OBJ_FILES = \
 		lib/registry/reg_backend_w95.o
-# End MODULE registry_w95
+# End SUBSYSTEM registry_w95
 ################################################
 
 ################################################
-# Start MODULE registry_dir
-[MODULE::registry_dir]
+# Start SUBSYSTEM registry_dir
+[SUBSYSTEM::registry_dir]
 INIT_FUNCTION = registry_dir_init
 SUBSYSTEM = REGISTRY
 INIT_OBJ_FILES = \
 		lib/registry/reg_backend_dir.o
-# End MODULE registry_dir
+# End SUBSYSTEM registry_dir
 ################################################
 
 ################################################
-# Start MODULE registry_rpc
-[MODULE::registry_rpc]
+# Start SUBSYSTEM registry_rpc
+[SUBSYSTEM::registry_rpc]
 INIT_FUNCTION = registry_rpc_init
 SUBSYSTEM = REGISTRY
 INIT_OBJ_FILES = \
 		lib/registry/reg_backend_rpc.o
 REQUIRED_SUBSYSTEMS = RPC_NDR_WINREG
-# End MODULE registry_rpc
+# End SUBSYSTEM registry_rpc
 ################################################
 
 
 
 ################################################
-# Start MODULE registry_gconf
-[MODULE::registry_gconf]
+# Start SUBSYSTEM registry_gconf
+[SUBSYSTEM::registry_gconf]
 INIT_FUNCTION = registry_gconf_init
 SUBSYSTEM = REGISTRY
 INIT_OBJ_FILES = \
 		lib/registry/reg_backend_gconf.o
 REQUIRED_SUBSYSTEMS = EXT_LIB_gconf
-# End MODULE registry_gconf
+# End SUBSYSTEM registry_gconf
 ################################################
 
 ################################################
-# Start MODULE registry_ldb
-[MODULE::registry_ldb]
+# Start SUBSYSTEM registry_ldb
+[SUBSYSTEM::registry_ldb]
 INIT_FUNCTION = registry_ldb_init
 SUBSYSTEM = REGISTRY
 INIT_OBJ_FILES = \
 		lib/registry/reg_backend_ldb.o
 REQUIRED_SUBSYSTEMS = \
 		LIBLDB
-# End MODULE registry_ldb
+# End SUBSYSTEM registry_ldb
 ################################################
 
 ################################################
@@ -76,24 +76,13 @@
 		lib/registry/reg_samba.o
 REQUIRED_SUBSYSTEMS = \
 		LIBBASIC
-# End MODULE registry_ldb
+# End SUBSYSTEM registry_ldb
 ################################################
 
-################################################
-# Start LIBRARY libwinregistry
-[LIBRARY::libwinregistry]
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
-RELEASE_VERSION = 1
-REQUIRED_SUBSYSTEMS = \
-		REGISTRY
-#
-# End LIBRARY libwinregistry
-################################################
 
 ################################################
 # Start BINARY regdiff
-[BINARY::regdiff]
+[SUBSYSTEM::bin_regdiff]
 OBJ_FILES= \
 		lib/registry/tools/regdiff.o
 REQUIRED_SUBSYSTEMS = \
@@ -103,7 +92,7 @@
 
 ################################################
 # Start BINARY regpatch
-[BINARY::regpatch]
+[SUBSYSTEM::bin_regpatch]
 OBJ_FILES= \
 		lib/registry/tools/regpatch.o
 REQUIRED_SUBSYSTEMS = \
@@ -113,7 +102,7 @@
 
 ################################################
 # Start BINARY regshell
-[BINARY::regshell]
+[SUBSYSTEM::bin_regshell]
 OBJ_FILES= \
 		lib/registry/tools/regshell.o
 REQUIRED_SUBSYSTEMS = \
@@ -123,7 +112,7 @@
 
 ################################################
 # Start BINARY regtree
-[BINARY::regtree]
+[SUBSYSTEM::bin_regtree]
 OBJ_FILES= \
 		lib/registry/tools/regtree.o
 REQUIRED_SUBSYSTEMS = \
Index: lib/tdb/config.mk
===================================================================
--- lib/tdb/config.mk	(revision 6388)
+++ lib/tdb/config.mk	(working copy)
@@ -13,21 +13,11 @@
 # End SUBSYSTEM LIBLDB
 ################################################
 
-################################################
-# Start LIBRARY LIBTDB
-[LIBRARY::libtdb]
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
-RELEASE_VERSION = 1
-REQUIRED_SUBSYSTEMS = \
-		LIBTDB
-#
-# End LIBRARY LIBLDB
-################################################
 
 ################################################
 # Start BINARY tdbtest
-[BINARY::tdbtest]
+[SUBSYSTEM::bin_tdbtest]
+ENABLE = NO
 OBJ_FILES= \
 		lib/tdb/tools/tdbtest.o
 REQUIRED_SUBSYSTEMS = \
@@ -37,7 +27,7 @@
 
 ################################################
 # Start BINARY tdbtool
-[BINARY::tdbtool]
+[SUBSYSTEM::bin_tdbtool]
 ENABLE = NO
 OBJ_FILES= \
 		lib/tdb/tools/tdbtool.o
@@ -48,7 +38,7 @@
 
 ################################################
 # Start BINARY tdbtorture
-[BINARY::tdbtorture]
+[SUBSYSTEM::bin_tdbtorture]
 OBJ_FILES= \
 		lib/tdb/tools/tdbtorture.o
 REQUIRED_SUBSYSTEMS = \
@@ -58,7 +48,7 @@
 
 ################################################
 # Start BINARY tdbdump
-[BINARY::tdbdump]
+[SUBSYSTEM::bin_tdbdump]
 OBJ_FILES= \
 		lib/tdb/tools/tdbdump.o
 REQUIRED_SUBSYSTEMS = \
@@ -68,7 +58,7 @@
 
 ################################################
 # Start BINARY tdbbackup
-[BINARY::tdbbackup]
+[SUBSYSTEM::bin_tdbbackup]
 ENABLE = NO
 OBJ_FILES= \
 		lib/tdb/tools/tdbbackup.o
Index: ldap_server/config.mk
===================================================================
--- ldap_server/config.mk	(revision 6388)
+++ ldap_server/config.mk	(working copy)
@@ -15,3 +15,4 @@
 		LIBCLI_LDAP SAMDB
 # End SUBSYSTEM SMB
 #######################
+
Index: smb_server/config.mk
===================================================================
--- smb_server/config.mk	(revision 6388)
+++ smb_server/config.mk	(working copy)
@@ -9,7 +9,7 @@
 		smb_server/conn.o \
 		smb_server/negprot.o \
 		smb_server/nttrans.o \
-		smb_server/session.o \
+		smb_server/password.o \
 		smb_server/reply.o \
 		smb_server/request.o \
 		smb_server/search.o \
Index: rpc_server/config.mk
===================================================================
--- rpc_server/config.mk	(revision 6388)
+++ rpc_server/config.mk	(working copy)
@@ -5,14 +5,15 @@
 [SUBSYSTEM::DCERPC_COMMON]
 ADD_OBJ_FILES = \
 		rpc_server/common/server_info.o \
-		rpc_server/common/share_info.o
+		rpc_server/common/share_info.o \
+		rpc_server/common/gendb.o
 #
 # End SUBSYSTEM DCERPC_COMMON
 ################################################
 
 ################################################
-# Start MODULE dcerpc_dcom
-[MODULE::dcerpc_dcom]
+# Start SUBSYSTEM dcerpc_dcom
+[SUBSYSTEM::dcerpc_dcom]
 ENABLE = NO
 INIT_FUNCTION = dcerpc_server_dcom_init
 SUBSYSTEM = DCERPC
@@ -27,70 +28,70 @@
 		NDR_OXIDRESOLVER \
 		NDR_REMACT \
 		LIBCOM
-# End MODULE dcerpc_dcom
+# End SUBSYSTEM dcerpc_dcom
 ################################################
 
 ################################################
-# Start MODULE dcerpc_rpcecho
-[MODULE::dcerpc_rpcecho]
+# Start SUBSYSTEM dcerpc_rpcecho
+[SUBSYSTEM::dcerpc_rpcecho]
 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
+# End SUBSYSTEM dcerpc_rpcecho
 ################################################
 
 ################################################
-# Start MODULE dcerpc_epmapper
-[MODULE::dcerpc_epmapper]
+# Start SUBSYSTEM dcerpc_epmapper
+[SUBSYSTEM::dcerpc_epmapper]
 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
+# End SUBSYSTEM dcerpc_epmapper
 ################################################
 
 ################################################
-# Start MODULE dcerpc_remote
-[MODULE::dcerpc_remote]
+# Start SUBSYSTEM dcerpc_remote
+[SUBSYSTEM::dcerpc_remote]
 INIT_FUNCTION = dcerpc_server_remote_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
 		rpc_server/remote/dcesrv_remote.o
 REQUIRED_SUBSYSTEMS = \
 		LIBSMB NDR_ALL
-# End MODULE dcerpc_remote
+# End SUBSYSTEM dcerpc_remote
 ################################################
 
 ################################################
-# Start MODULE dcerpc_srvsvc
-[MODULE::dcerpc_srvsvc]
+# Start SUBSYSTEM dcerpc_srvsvc
+[SUBSYSTEM::dcerpc_srvsvc]
 INIT_FUNCTION = dcerpc_server_srvsvc_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
 		rpc_server/srvsvc/dcesrv_srvsvc.o
 REQUIRED_SUBSYSTEMS = \
 		DCERPC_COMMON NDR_SRVSVC
-# End MODULE dcerpc_srvsvc
+# End SUBSYSTEM dcerpc_srvsvc
 ################################################
 
 ################################################
-# Start MODULE dcerpc_wkssvc
-[MODULE::dcerpc_wkssvc]
+# Start SUBSYSTEM dcerpc_wkssvc
+[SUBSYSTEM::dcerpc_wkssvc]
 INIT_FUNCTION = dcerpc_server_wkssvc_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
 		rpc_server/wkssvc/dcesrv_wkssvc.o
 REQUIRED_SUBSYSTEMS = \
 		DCERPC_COMMON NDR_WKSSVC
-# End MODULE dcerpc_wkssvc
+# End SUBSYSTEM dcerpc_wkssvc
 ################################################
 
 ################################################
-# Start MODULE dcerpc_samr
-[MODULE::dcerpc_samr]
+# Start SUBSYSTEM dcerpc_samr
+[SUBSYSTEM::dcerpc_samr]
 INIT_FUNCTION = dcerpc_server_samr_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
@@ -101,24 +102,24 @@
 		SAMDB \
 		DCERPC_COMMON \
 		NDR_SAMR
-# End MODULE dcerpc_samr
+# End SUBSYSTEM dcerpc_samr
 ################################################
 
 ################################################
-# Start MODULE dcerpc_winreg
-[MODULE::dcerpc_winreg]
+# Start SUBSYSTEM dcerpc_winreg
+[SUBSYSTEM::dcerpc_winreg]
 INIT_FUNCTION = dcerpc_server_winreg_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
 		rpc_server/winreg/rpc_winreg.o
 REQUIRED_SUBSYSTEMS = \
 		REGISTRY NDR_WINREG
-# End MODULE dcerpc_winreg
+# End SUBSYSTEM dcerpc_winreg
 ################################################
 
 ################################################
-# Start MODULE dcerpc_netlogon
-[MODULE::dcerpc_netlogon]
+# Start SUBSYSTEM dcerpc_netlogon
+[SUBSYSTEM::dcerpc_netlogon]
 INIT_FUNCTION = dcerpc_server_netlogon_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
@@ -127,12 +128,12 @@
 		DCERPC_COMMON \
 		SCHANNELDB \
 		NDR_NETLOGON
-# End MODULE dcerpc_netlogon
+# End SUBSYSTEM dcerpc_netlogon
 ################################################
 
 ################################################
-# Start MODULE dcerpc_lsa
-[MODULE::dcerpc_lsarpc]
+# Start SUBSYSTEM dcerpc_lsa
+[SUBSYSTEM::dcerpc_lsarpc]
 INIT_FUNCTION = dcerpc_server_lsarpc_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
@@ -141,12 +142,12 @@
 		SAMDB \
 		DCERPC_COMMON \
 		NDR_LSA
-# End MODULE dcerpc_lsa
+# End SUBSYSTEM dcerpc_lsa
 ################################################
 
 ################################################
-# Start MODULE dcerpc_spoolss
-[MODULE::dcerpc_spoolss]
+# Start SUBSYSTEM dcerpc_spoolss
+[SUBSYSTEM::dcerpc_spoolss]
 INIT_FUNCTION = dcerpc_server_spoolss_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
@@ -155,12 +156,12 @@
 REQUIRED_SUBSYSTEMS = \
 		DCERPC_COMMON \
 		NDR_SPOOLSS
-# End MODULE dcerpc_lsa
+# End SUBSYSTEM dcerpc_lsa
 ################################################
 
 ################################################
-# Start MODULE dcerpc_drsuapi
-[MODULE::dcerpc_drsuapi]
+# Start SUBSYSTEM dcerpc_drsuapi
+[SUBSYSTEM::dcerpc_drsuapi]
 INIT_FUNCTION = dcerpc_server_drsuapi_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
@@ -171,12 +172,12 @@
 		SAMDB \
 		DCERPC_COMMON \
 		NDR_DRSUAPI
-# End MODULE dcerpc_drsuapi
+# End SUBSYSTEM dcerpc_drsuapi
 ################################################
 
 ################################################
-# Start MODULE dcerpc_dssetup
-[MODULE::dcerpc_dssetup]
+# Start SUBSYSTEM dcerpc_dssetup
+[SUBSYSTEM::dcerpc_dssetup]
 INIT_FUNCTION = dcerpc_server_dssetup_init
 SUBSYSTEM = DCERPC
 INIT_OBJ_FILES = \
@@ -185,7 +186,7 @@
 		SAMDB \
 		DCERPC_COMMON \
 		NDR_DSSETUP
-# End MODULE dcerpc_dssetup
+# End SUBSYSTEM dcerpc_dssetup
 ################################################
 
 ################################################
Index: libnet/config.mk
===================================================================
--- libnet/config.mk	(revision 6388)
+++ libnet/config.mk	(working copy)
@@ -9,8 +9,10 @@
 		libnet/libnet_rpc.o \
 		libnet/libnet_join.o \
 		libnet/libnet_user.o \
-		libnet/userinfo.o \
-		libnet/userman.o
+		libnet/userinfo.o
 REQUIRED_SUBSYSTEMS = RPC_NDR_SAMR RPC_NDR_SRVSVC
+CHOOSEN_BUILD = SHARED
 # End SUBSYSTEM LIBNET
 #################################
+
+
Index: modules.mk
===================================================================
--- modules.mk	(revision 0)
+++ modules.mk	(revision 0)
@@ -0,0 +1,156 @@
+[MODULE::smbmodule_process_model_single]
+INCLUDES = process_model_single
+
+[MODULE::smbmodule_process_model_standard]
+INCLUDES = process_model_standard
+
+[MODULE::smbmodule_process_model_thread]
+INCLUDES = process_model_thread
+
+[MODULE::smbmodule_server_service_auth]
+INCLUDES = server_service_auth
+
+[MODULE::smbmodule_server_service_smb]
+INCLUDES = server_service_smb
+
+[MODULE::smbmodule_server_service_rpc]
+INCLUDES = server_service_rpc
+
+[MODULE::smbmodule_server_service_ldap]
+INCLUDES = server_service_ldap
+
+[MODULE::smbmodule_server_service_nbtd]
+INCLUDES = server_service_nbtd
+
+[MODULE::smbmodule_server_service_winbind]
+INCLUDES = server_service_winbind
+
+[MODULE::smbmodule_auth_sam]
+INCLUDES = auth_sam
+
+[MODULE::smbmodule_auth_anonymous]
+INCLUDES = auth_anonymous
+
+[MODULE::smbmodule_auth_winbind]
+INCLUDES = auth_winbind
+
+[MODULE::smbmodule_auth_developer]
+INCLUDES = auth_developer
+
+[MODULE::smbmodule_com_simple]
+INCLUDES = com_simple
+
+[MODULE::smbmodule_socket_ipv4]
+INCLUDES = socket_ipv4
+
+[MODULE::smbmodule_socket_ipv6]
+INCLUDES = socket_ipv6
+
+[MODULE::smbmodule_socket_unix]
+INCLUDES = socket_unix
+
+[MODULE::smbmodule_libldb_timestamps]
+INCLUDES = libldb_timestamps
+
+[MODULE::smbmodule_libldb_schema]
+INCLUDES = libldb_schema
+
+[MODULE::smbmodule_libldb_ldap]
+INCLUDES = libldb_ldap
+
+[MODULE::smbmodule_libldb_tdb]
+INCLUDES = libldb_tdb
+
+[MODULE::smbmodule_registry_nt4]
+INCLUDES = registry_nt4
+
+[MODULE::smbmodule_registry_w95]
+INCLUDES = registry_w95
+
+[MODULE::smbmodule_registry_dir]
+INCLUDES = registry_dir
+
+[MODULE::smbmodule_registry_rpc]
+INCLUDES = registry_rpc
+
+[MODULE::smbmodule_registry_gconf]
+INCLUDES = registry_gconf
+
+[MODULE::smbmodule_registry_ldb]
+INCLUDES = registry_ldb
+
+[MODULE::smbmodule_dcerpc_dcom]
+INCLUDES = dcerpc_dcom
+
+[MODULE::smbmodule_dcerpc_rpcecho]
+INCLUDES = dcerpc_rpcecho
+
+[MODULE::smbmodule_dcerpc_epmapper]
+INCLUDES = dcerpc_epmapper
+
+[MODULE::smbmodule_dcerpc_remote]
+INCLUDES = dcerpc_remote
+
+[MODULE::smbmodule_dcerpc_srvsvc]
+INCLUDES = dcerpc_srvsvc
+
+[MODULE::smbmodule_dcerpc_wkssvc]
+INCLUDES = dcerpc_wkssvc
+
+[MODULE::smbmodule_dcerpc_samr]
+INCLUDES = dcerpc_samr
+
+[MODULE::smbmodule_dcerpc_winreg]
+INCLUDES = dcerpc_winreg
+
+[MODULE::smbmodule_dcerpc_netlogon]
+INCLUDES = dcerpc_netlogon
+
+[MODULE::smbmodule_dcerpc_lsarpc]
+INCLUDES = dcerpc_lsarpc
+
+[MODULE::smbmodule_dcerpc_spoolss]
+INCLUDES = dcerpc_spoolss
+
+[MODULE::smbmodule_dcerpc_drsuapi]
+INCLUDES = dcerpc_drsuapi
+
+[MODULE::smbmodule_dcerpc_dssetup]
+INCLUDES = dcerpc_dssetup
+
+[MODULE::smbmodule_gensec_krb5]
+INCLUDES = gensec_krb5
+
+[MODULE::smbmodule_gensec_gssapi]
+INCLUDES = gensec_gssapi
+
+[MODULE::smbmodule_gensec_gsskrb5]
+INCLUDES = gensec_gsskrb5
+
+[MODULE::smbmodule_gensec_spnego]
+INCLUDES = gensec_spnego
+
+[MODULE::smbmodule_gensec_ntlmssp]
+INCLUDES = gensec_ntlmssp
+
+[MODULE::smbmodule_ntvfs_posix]
+INCLUDES = ntvfs_posix
+
+[MODULE::smbmodule_ntvfs_unixuid]
+INCLUDES = ntvfs_unixuid
+
+[MODULE::smbmodule_ntvfs_cifs]
+INCLUDES = ntvfs_cifs
+
+[MODULE::smbmodule_ntvfs_simple]
+INCLUDES = ntvfs_simple
+
+[MODULE::smbmodule_ntvfs_print]
+INCLUDES = ntvfs_print
+
+[MODULE::smbmodule_ntvfs_ipc]
+INCLUDES = ntvfs_ipc
+
+[MODULE::smbmodule_ntvfs_nbench]
+INCLUDES = ntvfs_nbench
+
Index: configure.in
===================================================================
--- configure.in	(revision 6388)
+++ configure.in	(working copy)
@@ -20,15 +20,13 @@
 SMB_INCLUDE_M4(lib/events/config.m4)
 SMB_INCLUDE_M4(lib/cmdline/config.m4)
 SMB_INCLUDE_M4(param/config.m4)
-SMB_INCLUDE_M4(auth/kerberos/kerberos.m4)
-SMB_INCLUDE_M4(auth/gensec/gensec.m4)
+SMB_INCLUDE_M4(libcli/auth/gensec.m4)
 SMB_INCLUDE_M4(libcli/config.m4)
 SMB_INCLUDE_M4(smbd/process_model.m4)
 SMB_INCLUDE_M4(lib/registry/config.m4)
 SMB_INCLUDE_M4(scripting/config.m4)
 SMB_INCLUDE_M4(gtk/config.m4)
 SMB_INCLUDE_M4(ntvfs/posix/config.m4)
-SMB_INCLUDE_M4(lib/socket_wrapper/config.m4)
 
 ALLLIBS_LIBS="$LIBS"
 ALLLIBS_CFLAGS="$CFLAGS"
Index: libcli/auth/config.mk
===================================================================
--- libcli/auth/config.mk	(revision 6388)
+++ libcli/auth/config.mk	(working copy)
@@ -1,7 +1,8 @@
 #################################
 # Start SUBSYSTEM GENSEC
 [SUBSYSTEM::LIBCLI_AUTH]
-ADD_OBJ_FILES = libcli/auth/credentials.o \
+ADD_OBJ_FILES = libcli/auth/schannel.o \
+		libcli/auth/credentials.o \
 		libcli/auth/session.o \
 		libcli/auth/smbencrypt.o 
 REQUIRED_SUBSYSTEMS = \
Index: libcli/security/config.mk
===================================================================
--- libcli/security/config.mk	(revision 6388)
+++ libcli/security/config.mk	(working copy)
@@ -1,16 +1,8 @@
 #################################
-# Start SUBSYSTEM LIB_SECURITY_NDR_HELPER
-[SUBSYSTEM::LIB_SECURITY_NDR_HELPER]
-ADD_OBJ_FILES = librpc/ndr/ndr_sec_helper.o
-# End SUBSYSTEM LIB_SECURITY_NDR_HELPER
-#################################
-
-#################################
 # Start SUBSYSTEM LIB_SECURITY_NDR
 [SUBSYSTEM::LIB_SECURITY_NDR]
 ADD_OBJ_FILES = librpc/gen_ndr/ndr_security.o
 NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIB_SECURITY_NDR_HELPER
 # End SUBSYSTEM LIB_SECURITY_NDR
 #################################
 
Index: libcli/config.mk
===================================================================
--- libcli/config.mk	(revision 6388)
+++ libcli/config.mk	(working copy)
@@ -23,8 +23,7 @@
 	libcli/composite/connect.o \
 	libcli/composite/sesssetup.o \
 	libcli/composite/fetchfile.o \
-	libcli/composite/appendacl.o \
-	libcli/composite/fsinfo.o 
+	libcli/composite/appendacl.o
 REQUIRED_SUBSYSTEMS = LIBCLI_COMPOSITE_BASE
 
 [SUBSYSTEM::LIBCLI_NBT]
@@ -37,15 +36,6 @@
 	libcli/nbt/namerelease.o
 REQUIRED_SUBSYSTEMS = LIBNDR_RAW NDR_NBT SOCKET LIBCLI_COMPOSITE_BASE LIBEVENTS
 
-[SUBSYSTEM::LIBCLI_DGRAM]
-ADD_OBJ_FILES = \
-	libcli/dgram/dgramsocket.o \
-	libcli/dgram/mailslot.o \
-	libcli/dgram/netlogon.o \
-	libcli/dgram/ntlogon.o
-NOPROTO=YES
-REQUIRED_SUBSYSTEMS = LIBCLI_NBT
-
 [SUBSYSTEM::LIBCLI_WINS]
 ADD_OBJ_FILES = \
 	libcli/wins/winsrepl.o
@@ -62,5 +52,5 @@
 
 [SUBSYSTEM::LIBCLI]
 REQUIRED_SUBSYSTEMS = LIBCLI_RAW LIBCLI_UTILS LIBCLI_AUTH \
-	LIBCLI_COMPOSITE LIBCLI_NBT LIB_SECURITY LIBCLI_RESOLVE \
-	LIBCLI_DGRAM
+	LIBCLI_COMPOSITE LIBCLI_NBT LIB_SECURITY LIBCLI_RESOLVE
+
Index: build/smb_build/makefile.pm
===================================================================
--- build/smb_build/makefile.pm	(revision 6401)
+++ build/smb_build/makefile.pm	(working copy)
@@ -14,12 +14,10 @@
 	my $ctx = shift;
 	my $output;
 
-	$output = << '__EOD__';
+	$output = "
 SHELL=/bin/sh
-PERL=@PERL@
-
-__EOD__
-
+PERL=\@PERL\@
+";
 	return $output;
 }
 
@@ -28,53 +26,52 @@
 	my $ctx = shift;
 	my $output;
 
-	$output = << '__EOD__';
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-VPATH=@srcdir@
-srcdir=@srcdir@
-builddir=@builddir@
+	$output = "
+prefix=\@prefix\@
+exec_prefix=\@exec_prefix\@
+VPATH=\@srcdir\@
+srcdir=\@srcdir\@
+builddir=\@builddir\@
 
-BASEDIR= @prefix@
-BINDIR = @bindir@
-SBINDIR = @sbindir@
-LIBDIR = @libdir@
-CONFIGDIR = @configdir@
-VARDIR = @localstatedir@
+BASEDIR= \@prefix\@
+BINDIR = \@bindir\@
+SBINDIR = \@sbindir\@
+LIBDIR = \@libdir\@
+CONFIGDIR = \@configdir\@
+VARDIR = \@localstatedir\@
 
+
 # The permissions to give the executables
 INSTALLPERMS = 0755
 
 # set these to where to find various files
 # These can be overridden by command line switches (see smbd(8))
 # or in smb.conf (see smb.conf(5))
-LOGFILEBASE = @logfilebase@
-CONFIGFILE = $(CONFIGDIR)/smb.conf
-LMHOSTSFILE = $(CONFIGDIR)/lmhosts
-NCALRPCDIR = @localstatedir@/ncalrpc
+LOGFILEBASE = \@logfilebase\@
+CONFIGFILE = \$(CONFIGDIR)/smb.conf
+LMHOSTSFILE = \$(CONFIGDIR)/lmhosts
+NCALRPCDIR = \@localstatedir\@/ncalrpc
 
 # This is where smbpasswd et al go
-PRIVATEDIR = @privatedir@
-SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd
+PRIVATEDIR = \@privatedir\@
+SMB_PASSWD_FILE = \$(PRIVATEDIR)/smbpasswd
 
 # the directory where lock files go
-LOCKDIR = @lockdir@
+LOCKDIR = \@lockdir\@
 
 # the directory where pid files go
-PIDDIR = @piddir@
+PIDDIR = \@piddir\@
 
-PASSWD_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" -DPRIVATE_DIR=\"$(PRIVATEDIR)\"
-PATH_FLAGS1 = -DCONFIGFILE=\"$(CONFIGFILE)\"  -DSBINDIR=\"$(SBINDIR)\"
-PATH_FLAGS2 = $(PATH_FLAGS1) -DBINDIR=\"$(BINDIR)\" 
-PATH_FLAGS3 = $(PATH_FLAGS2) -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" 
-PATH_FLAGS4 = $(PATH_FLAGS3) -DLOCKDIR=\"$(LOCKDIR)\" -DPIDDIR=\"$(PIDDIR)\"
-PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" \
-	      -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"@SHLIBEXT@\"
-PATH_FLAGS6 = $(PATH_FLAGS5) -DCONFIGDIR=\"$(CONFIGDIR)\" -DNCALRPCDIR=\"$(NCALRPCDIR)\"
-PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS)
-
-__EOD__
-
+PASSWD_FLAGS = -DSMB_PASSWD_FILE=\\\"\$(SMB_PASSWD_FILE)\\\" -DPRIVATE_DIR=\\\"\$(PRIVATEDIR)\\\"
+PATH_FLAGS1 = -DCONFIGFILE=\\\"\$(CONFIGFILE)\\\"  -DSBINDIR=\\\"\$(SBINDIR)\\\"
+PATH_FLAGS2 = \$(PATH_FLAGS1) -DBINDIR=\\\"\$(BINDIR)\\\" 
+PATH_FLAGS3 = \$(PATH_FLAGS2) -DLMHOSTSFILE=\\\"\$(LMHOSTSFILE)\\\" 
+PATH_FLAGS4 = \$(PATH_FLAGS3) -DLOCKDIR=\\\"\$(LOCKDIR)\\\" -DPIDDIR=\\\"\$(PIDDIR)\\\"
+PATH_FLAGS5 = \$(PATH_FLAGS4) -DLIBDIR=\\\"\$(LIBDIR)\\\" \\
+	      -DLOGFILEBASE=\\\"\$(LOGFILEBASE)\\\" -DSHLIBEXT=\\\"\@SHLIBEXT\@\\\"
+PATH_FLAGS6 = \$(PATH_FLAGS5) -DCONFIGDIR=\\\"\$(CONFIGDIR)\\\" -DNCALRPCDIR=\\\"\$(NCALRPCDIR)\\\"
+PATH_FLAGS = \$(PATH_FLAGS6) \$(PASSWD_FLAGS)
+";
 	return $output;
 }
 
@@ -83,21 +80,22 @@
 	my $ctx = shift;
 	my $output;
 
-	$output = << '__EOD__';
-CC=@CC@
-CC_FLAGS=-Iinclude -I. -I$(srcdir)/include -I$(srcdir) -D_SAMBA_BUILD_ -Ilib @CFLAGS@ @CPPFLAGS@
+	$output = "
+CC=\@CC\@
+CC_FLAGS=-Iinclude -I. -I\$(srcdir)/include -I\$(srcdir) -D_SAMBA_BUILD_ -Ilib \@CFLAGS\@ \@CPPFLAGS\@
 
-LD=@CC@
-LD_FLAGS=@LDFLAGS@ @CFLAGS@
+LD=\@CC\@
+LD_FLAGS=\@LDFLAGS\@ \@CFLAGS\@ -L./bin/
 
 STLD=ar
 STLD_FLAGS=-rc
 
-SHLD=@CC@
-SHLD_FLAGS=@LDSHFLAGS@ @LDFLAGS@
+PTLD=ld
+PTLD_FLAGS=-r -L./bin/
 
-__EOD__
-
+SHLD=\@CC\@
+SHLD_FLAGS=\@LDSHFLAGS\@ \@LDFLAGS\@ -L./bin/
+";
 	return $output;
 }
 
@@ -106,11 +104,9 @@
 	my $ctx = shift;
 	my $output;
 
-	$output = << '__EOD__';
+	$output = "
 default: all
-
-__EOD__
-
+";
 	return $output;
 }
 
@@ -119,12 +115,10 @@
 	my $ctx = shift;
 	my $output;
 
-	$output = << '__EOD__';
+	$output = "
 .SUFFIXES:
 .SUFFIXES: .c .o .h .h.gch .a .so
-
-__EOD__
-
+";
 	return $output;
 }
 
@@ -133,12 +127,12 @@
 	my $ctx = shift;
 	my $output;
 
-	$output = << '__EOD__';
+	$output = "
 idl_full: build/pidl/idl.pm
-	CPP="@CPP@" PERL="$(PERL)" script/build_idl.sh FULL
+	CPP=\"\@CPP\@\" PERL=\"\$(PERL)\" script/build_idl.sh FULL
 
 idl: build/pidl/idl.pm
-	@CPP="@CPP@" PERL="$(PERL)" script/build_idl.sh PARTIAL
+	\@CPP=\"\@CPP\@\" PERL=\"\$(PERL)\" script/build_idl.sh PARTIAL
 
 build/pidl/idl.pm: build/pidl/idl.yp
 	-yapp -s build/pidl/idl.yp
@@ -150,8 +144,7 @@
 
 basics: idl proto_exists
 
-__EOD__
-
+";
 	return $output;
 }
 
@@ -160,17 +153,16 @@
 	my $ctx = shift;
 	my $output;
 
-	$output =  << '__EOD__';
+	$output = "
 bin/.dummy:
-	@: >> $@ || : > $@
+	\@: >> \$\@ || : > \$\@
 
 dynconfig.o: dynconfig.c Makefile
-	@echo Compiling $*.c
-	@$(CC) $(CC_FLAGS) @PICFLAG@ $(PATH_FLAGS) -c $< -o $@
- at BROKEN_CC@	-mv `echo $@ | sed 's%^.*/%%g'` $@
+	\@echo Compiling \$*.c
+	\@\$(CC) \$(CC_FLAGS) \@PICFLAG\@ \$(PATH_FLAGS) -c \$< -o \$\@
+\@BROKEN_CC\@	-mv `echo \$\@ | sed 's%^.*/%%g'` \$\@
 
-__EOD__
-
+";
 	return $output;
 }
 
@@ -200,18 +192,17 @@
 	my $flagsstr = "";
 	my $output;
 
-	$output = << "__EOD__";
+	$output = "
 ###################################
 # Start $comment
 .$src.$dst:
-	\@echo $message \$\*.$src
+	\@echo $message \$*.$src
 	\@\$(CC) \$(CC_FLAGS) $flags -c \$< -o \$\@
 \@BROKEN_CC\@	-mv `echo \$\@ | sed 's%^.*/%%g'` \$\@
 #End $comment
 ###################################
+";
 
-__EOD__
-
 	return $output;
 }
 
@@ -233,6 +224,26 @@
 	return $output;
 }
 
+sub array2oneperline_reversed($)
+{
+	my $array = shift;
+	my $i;
+	my $output = "";
+
+	foreach my $str (@{$array}) {
+		if (!defined($str)) {
+			next;
+		}
+
+		$output = $str . $output;
+		$output = " \\\n\t\t" . $output;
+		
+	}
+
+	return $output;
+}
+
+
 sub array2oneline($)
 {
 	my $array = shift;
@@ -251,75 +262,97 @@
 	return $output;
 }
 
+
 ###########################################################
-# This function creates a object file list
+# This function creates a make rule for linking a binary
 #
-# $output = _prepare_var_obj_list($var, $var_ctx)
+# $output = _prepare_objlist_rule($objlist)
 #
-# $var_ctx -		the subsystem context
+# $objlist_ctx - the objlist context
 #
-# $var_ctx->{NAME} 	-	the <var> name
-# $var_ctx->{OBJ_LIST} 	-	the list of objectfiles which sould be linked to this <var>
+# $objlist_ctx->{NAME} - the objlist name
+# $subsystem_ctx->{BINARY} -	the binary binary name
 #
+# $binary_ctx->{DEPEND_LIST} -	the list of rules on which this binary depends
+# $binary_ctx->{LINK_LIST} -	the list of objectfiles and external libraries
+#				which sould be linked to this binary
+# $binary_ctx->{LINK_FLAGS} -	linker flags used by this binary
+#
 # $output -		the resulting output buffer
-sub _prepare_obj_list($$)
+sub _prepare_objlist_rule($$)
 {
-	my $var = shift;
 	my $ctx = shift;
+	my $objs = shift;
 	my $tmpobjlist;
 	my $output;
 
 	$tmpobjlist = array2oneperline($ctx->{OBJ_LIST});
 
-	$output = << "__EOD__";
+	if (defined (@{$ctx->{OBJ_LIST}}) && defined($ctx->{OUTPUT})) {
+	    $output = "
 ###################################
-# Start $var $ctx->{NAME} OBJ LIST
-$var\_$ctx->{NAME}_OBJS =$tmpobjlist
-# End $var $ctx->{NAME} OBJ LIST
+# Start Objlist $ctx->{TYPE}_$ctx->{NAME}
+#
+OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST =$tmpobjlist
+#
+objs/$ctx->{TYPE}_$ctx->{NAME}.o: bin/.dummy \$(OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST)
+	\@echo Linking \$\@
+	\$(PTLD) \$(PTLD_FLAGS) -o \$\@ \\
+		\$(OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST)
+objlist_$ctx->{TYPE}_$ctx->{NAME}: basics objs/$ctx->{TYPE}_$ctx->{NAME}.o
+# End Objlist $ctx->{TYPE}_$ctx->{NAME}
 ###################################
+";
+	
+	    push(@{$objs}, "objs/$ctx->{TYPE}_$ctx->{NAME}.o") if ($ctx->{ENABLE} eq "YES");
+	} else {
+	    # this is only to resolve the dependancy
+	    $output = "
+###################################
+# Start Objlist $ctx->{TYPE}_$ctx->{NAME}
+#
+OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST =$tmpobjlist
 
-__EOD__
-
+objs/$ctx->{TYPE}_$ctx->{NAME}.o: bin/.dummy \$(OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST)
+	\@echo Touching \$\@
+	touch \$\@ 
+objlist_$ctx->{TYPE}_$ctx->{NAME}: basics objs/$ctx->{TYPE}_$ctx->{NAME}.o
+# End Objlist $ctx->{TYPE}_$ctx->{NAME}
+###################################
+"
+	}
 	return $output;
 }
 
-###########################################################
-# This function creates a object file list for a subsystem
-#
-# $output = _prepare_subsystem_obj_list($subsystem_ctx)
-#
-# $subsystem_ctx -		the subsystem context
-#
-# $subsystem_ctx->{NAME} -	the subsystem name
-# $subsystem_ctx->{OBJ_LIST} -	the list of objectfiles which sould be linked to this subsystem
-#
-# $output -		the resulting output buffer
-sub _prepare_subsystem_obj_list($)
+
+sub _prepare_objbundle_rule($)
 {
 	my $ctx = shift;
+	my $tmpobjlist;
+	my $output;
 
-	return _prepare_var_obj_list("SUBSYSTEM",$ctx);
-}
+	$tmpobjlist = array2oneperline($ctx->{INCLUDE_LIST});
 
-###########################################################
-# This function creates a object file list for a module
+
+	$output = "
+###################################
+# Start Objbundle $ctx->{TYPE}_$ctx->{NAME}
 #
-# $output = _prepare_module_obj_and_lib_list($module_ctx)
+OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST =$tmpobjlist
 #
-# $module_ctx -		the module context
-#
-# $module_ctx->{NAME} -		the module binary name
-# $module_ctx->{OBJ_LIST} -	the list of objectfiles which sould be linked to this module
-#
-# $output -		the resulting output buffer
-sub _prepare_module_obj_list($)
-{
-	my $ctx = shift;
+objs/$ctx->{TYPE}_$ctx->{NAME}.o: bin/.dummy \$(OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST)
+	\@echo Linking \$\@
+	\$(PTLD) \$(PTLD_FLAGS) -o \$\@ \\
+		\$(OBJLIST_$ctx->{TYPE}_$ctx->{NAME}_LIST)
+objlist_$ctx->{TYPE}_$ctx->{NAME}: basics bin/$ctx->{TYPE}_$ctx->{NAME}.o
+# End Objbundle $ctx->{TYPE}_$ctx->{NAME}
+###################################
+";
+	
+	return $output;
+}
 
-	return _prepare_var_obj_list("MODULE",$ctx);
 
-}
-
 ###########################################################
 # This function creates a make rule for linking a library
 #
@@ -356,7 +389,7 @@
 	$tmpshlink = array2oneperline($ctx->{LINK_LIST});
 	$tmpshflag = array2oneperline($ctx->{LINK_FLAGS});
 
-	$output = << "__EOD__";
+	$output = "
 ###################################
 # Start Library $ctx->{NAME}
 #
@@ -369,14 +402,13 @@
 # Shared $ctx->{LIBRARY_NAME}
 $ctx->{OUTPUT}: \$(LIBRARY_$ctx->{NAME}_DEPEND_LIST) bin/.dummy
 	\@echo Linking \$\@
-	\@\$(SHLD) \$(SHLD_FLAGS) -o \$\@ \\
+	\$(SHLD) \$(SHLD_FLAGS) -o \$\@ \\
 		\$(LIBRARY_$ctx->{NAME}_SHARED_LINK_FLAGS) \\
 		\$(LIBRARY_$ctx->{NAME}_SHARED_LINK_LIST)
+";
 
-__EOD__
-
 	if (defined($ctx->{LIBRARY_SONAME})) {
-	    $output .= << "__EOD__";
+		$output .= "
 # Symlink $ctx->{LIBRARY_SONAME}
 bin/$ctx->{LIBRARY_SONAME}: bin/$ctx->{LIBRARY_REALNAME} bin/.dummy
 	\@echo Symlink \$\@
@@ -385,18 +417,16 @@
 bin/$ctx->{LIBRARY_NAME}: bin/$ctx->{LIBRARY_SONAME} bin/.dummy
 	\@echo Symlink \$\@
 	\@ln -sf $ctx->{LIBRARY_SONAME} \$\@
-
-__EOD__
+";
 		$outname = $ctx->{LIBRARY_NAME};
 	}
 
-$output .= << "__EOD__";
+	$output .= "
 library_$ctx->{NAME}: basics bin/$outname
 # End Library $ctx->{NAME}
 ###################################
+";
 
-__EOD__
-
 	return $output;
 }
 
@@ -435,7 +465,7 @@
 
 	$tmprules = "bin/$ctx->{LIBRARY_NAME}";
 
-	$output = << '__EOD__';
+	$output = "
 ###################################
 # Start Library $ctx->{NAME}
 #
@@ -444,17 +474,16 @@
 LIBRARY_$ctx->{NAME}_STATIC_LINK_LIST =$tmpstlink
 #
 # Static $ctx->{LIBRARY_NAME}
-$ctx->{OUTPUT}: $(LIBRARY_$ctx->{NAME}_DEPEND_LIST) bin/.dummy
-	@echo Linking $@
-	@$(STLD) $(STLD_FLAGS) $@ \\
-		$(LIBRARY_$ctx->{NAME}_STATIC_LINK_LIST)
+$ctx->{OUTPUT}: \$(LIBRARY_$ctx->{NAME}_DEPEND_LIST) bin/.dummy
+	\@echo Linking \$\@
+	\$(STLD) \$(STLD_FLAGS) \$\@ \\
+		\$(LIBRARY_$ctx->{NAME}_STATIC_LINK_LIST)
 
 library_$ctx->{NAME}: basics $tmprules
 # End Library $ctx->{NAME}
 ###################################
+";
 
-__EOD__
-
 	return $output;
 }
 
@@ -485,10 +514,10 @@
 	my $output;
 
 	$tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
-	$tmplink = array2oneperline($ctx->{LINK_LIST});
+	$tmplink = array2oneperline_reversed($ctx->{LINK_LIST});
 	$tmpflag = array2oneperline($ctx->{LINK_FLAGS});
 
-	$output = << "__EOD__";
+	$output = "
 ###################################
 # Start Binary $ctx->{BINARY}
 #
@@ -498,16 +527,14 @@
 #
 bin/$ctx->{BINARY}: bin/.dummy \$(BINARY_$ctx->{NAME}_DEPEND_LIST)
 	\@echo Linking \$\@
-	\@\$(LD) \$(LD_FLAGS) -o \$\@ \\
-		\$\(BINARY_$ctx->{NAME}_LINK_FLAGS) \\
-		\$\(BINARY_$ctx->{NAME}_LINK_LIST) \\
-		\$\(BINARY_$ctx->{NAME}_LINK_FLAGS)
+	\$(LD) \$(LD_FLAGS) -o \$\@ \\
+		\$(BINARY_$ctx->{NAME}_LINK_FLAGS) \\
+		\$(BINARY_$ctx->{NAME}_LINK_LIST)
 binary_$ctx->{BINARY}: basics bin/$ctx->{BINARY}
 # End Binary $ctx->{BINARY}
 ###################################
+";
 
-__EOD__
-
 	return $output;
 }
 
@@ -515,7 +542,7 @@
 {
 	my $output = "";
 
-	$output .= << '__EOD__';
+	$output .= "
 # Making this target will just make sure that the prototype files
 # exist, not necessarily that they are up to date.  Since they're
 # removed by 'make clean' this will always be run when you do anything
@@ -523,16 +550,16 @@
 proto_exists: include/proto.h include/build_env.h
 
 delheaders: pch_clean
-	-rm -f $(builddir)/include/proto.h $(builddir)/include/build_env.h:
+	-rm -f \$(builddir)/include/proto.h \$(builddir)/include/build_env.h:
 
 include/proto.h:
-	@cd $(srcdir) && $(SHELL) script/mkproto.sh "$(PERL)" \
-	  -h _PROTO_H_ $(builddir)/include/proto.h \
-	  $(PROTO_PROTO_OBJS)
+	\@cd \$(srcdir) && \$(SHELL) script/mkproto.sh \"\$(PERL)\" \\
+	  -h _PROTO_H_ \$(builddir)/include/proto.h \\
+	  \$(OBJLIST_PROTO_PROTO_LIST)
 
 include/build_env.h:
-	@echo Building include/build_env.h
-	@cd $(srcdir) && $(SHELL) script/build_env.sh $(srcdir) $(builddir) $(CC) > $(builddir)/include/build_env.h
+	\@echo Building include/build_env.h
+	\@cd \$(srcdir) && \$(SHELL) script/build_env.sh \$(srcdir) \$(builddir) \$(CC) > \$(builddir)/include/build_env.h
 
 # 'make headers' or 'make proto' calls a subshell because we need to
 # make sure these commands are executed in sequence even for a
@@ -542,7 +569,7 @@
 proto: idl headers
 
 proto_test:
-	@[ -f $(builddir)/include/proto.h ] || $(MAKE) proto
+	\@[ -f \$(builddir)/include/proto.h ] || \$(MAKE) proto
 
 clean: delheaders
 	-rm -f *.o */*.o */*/*.o */*/*/*.o bin/*
@@ -563,7 +590,7 @@
 	-rm -f include/config.h.in
 	-rm -f lib/version.h
 	-rm -f configure
-__EOD__
+";
 
 	return $output;
 }
@@ -576,15 +603,14 @@
 
 	$tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
 
-	$output = << "__EOD__";
+	$output = "
 ###################################
 # Start Target $ctx->{TARGET}
 $ctx->{TARGET}: basics $tmpdepend
 # End Target $ctx->{TARGET}
 ###################################
+";
 
-__EOD__
-
 	return $output;
 }
 
@@ -601,54 +627,71 @@
 	return $output;
 }
 
+sub _prepare_all_objs_rule($)
+{
+    my $objs = shift;
+    my $output;
+
+    $output .= "
+#################################
+### All objs rule
+#################################
+objs: ";
+
+    foreach my $obj (@{$objs}) {
+	$output .= "$obj ";
+    }
+
+    $output .= "
+#################################
+### End of all objs rule
+#################################
+";
+
+    return $output;
+}
+
 sub _prepare_install_rules($)
 {
 	my $CTX = shift;
 	my $output = "";
 
-	$output .= << '__EOD__';
+	$output .= "
 
 showlayout: 
-	@echo "Samba will be installed into:"
-	@echo "  basedir: $(BASEDIR)"
-	@echo "  bindir:  $(BINDIR)"
-	@echo "  sbindir: $(SBINDIR)"
-	@echo "  libdir:  $(LIBDIR)"
-	@echo "  vardir:  $(VARDIR)"
-	@echo "  privatedir:  $(PRIVATEDIR)"
-	@echo "  piddir:  $(PIDDIR)"
-	@echo "  lockdir:  $(LOCKDIR)"
+	\@echo \"Samba will be installed into:\"
+	\@echo \"  basedir: \$(BASEDIR)\"
+	\@echo \"  bindir:  \$(BINDIR)\"
+	\@echo \"  sbindir: \$(SBINDIR)\"
+	\@echo \"  libdir:  \$(LIBDIR)\"
+	\@echo \"  vardir:  \$(VARDIR)\"
+	\@echo \"  privatedir:  \$(PRIVATEDIR)\"
+	\@echo \"  piddir:  \$(PIDDIR)\"
+	\@echo \"  lockdir:  \$(LOCKDIR)\"
 
-showflags:
-	@echo "Samba will be compiled with flags:"
-	@echo "  CC_FLAGS = $(CC_FLAGS)"
-	@echo "  LD_FLAGS = $(LD_FLAGS)"
-	@echo "  STLD_FLAGS = $(STLD_FLAGS)"
-	@echo "  SHLD_FLAGS = $(SHLD_FLAGS)"
-
 SBIN_PROGS = bin/smbd
 
-BIN_PROGS = bin/smbclient \
-		bin/net \
-		bin/nmblookup \
+BIN_PROGS = bin/smbclient \\
+		bin/net \\
+		bin/nmblookup \\
 		bin/ntlm_auth
 
-TORTURE_PROGS = bin/smbtorture \
-		bin/gentest \
-		bin/locktest \
-		bin/masktest \
+TORTURE_PROGS = bin/smbtorture \\
+		bin/gentest \\
+		bin/locktest \\
+		bin/masktest \\
 		bin/ndrdump
 
-LDB_PROGS = 	bin/ldbadd \
-		bin/ldbdel \
-		bin/ldbmodify \
-		bin/ldbedit \
+LDB_PROGS = 	bin/ldbadd \\
+		bin/ldbdel \\
+		bin/ldbmodify \\
+		bin/ldbedit \\
 		bin/ldbsearch
 
-REG_PROGS = 	bin/regpatch \
-		bin/regshell \
-		bin/regtree \
-		bin/regpatch \
+REG_PROGS = 	bin/regpatch \\
+		bin/regshell \\
+		bin/regtree \\
+		bin/regpatch \\
 		bin/regdiff
 
 install: showlayout installbin installtorture installldb installreg installdat 
@@ -662,37 +705,37 @@
 # is not used
 
 installdirs:
-	@$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR) $(DESTDIR)$(PIDDIR) $(DESTDIR)$(LOCKDIR)
+	\@\$(SHELL) \$(srcdir)/script/installdirs.sh \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(SBINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(DESTDIR)\$(PRIVATEDIR) \$(DESTDIR)\$(PIDDIR) \$(DESTDIR)\$(LOCKDIR)
 
 installbin: all installdirs
-	@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
-	@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/installbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(SBINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(SBIN_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/installbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(BIN_PROGS)
 
 installtorture: all installdirs
-	@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(TORTURE_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/installbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(TORTURE_PROGS)
 
 installldb: all installdirs
-	@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(LDB_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/installbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(LDB_PROGS)
 
 installreg: all installdirs
-	@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(REG_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/installbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(REG_PROGS)
 
 installdat: installdirs
-	@$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir)
+	\@\$(SHELL) \$(srcdir)/script/installdat.sh \$(DESTDIR)\$(LIBDIR) \$(srcdir)
 
 uninstall: uninstallbin uninstalltorture uninstallldb uninstallreg
 
 uninstallbin:
-	@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/uninstallbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(SBINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(DESTDIR)\$(SBIN_PROGS)
 
 uninstalltorture:
-	@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(TORTURE_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/uninstallbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(DESTDIR)\$(TORTURE_PROGS)
 
 uninstallldb:
-	@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(LDB_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/uninstallbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(DESTDIR)\$(LDB_PROGS)
 
 uninstallreg:
-	@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(REG_PROGS)
+	\@\$(SHELL) \$(srcdir)/script/uninstallbin.sh \$(INSTALLPERMS) \$(DESTDIR)\$(BASEDIR) \$(DESTDIR)\$(BINDIR) \$(DESTDIR)\$(LIBDIR) \$(DESTDIR)\$(VARDIR) \$(DESTDIR)\$(REG_PROGS)
 
 # Swig extensions
 
@@ -701,32 +744,32 @@
 scripting/swig/tdb_wrap.c: scripting/swig/tdb.i
 	swig -python scripting/swig/tdb.i
 
-scripting/swig/_tdb.so: scripting/swig/tdb_wrap.o $(LIBRARY_swig_tdb_DEPEND_LIST)
-	$(SHLD) $(SHLD_FLAGS) -o scripting/swig/_tdb.so scripting/swig/tdb_wrap.o \
-		$(LIBRARY_swig_tdb_SHARED_LINK_LIST) $(LIBRARY_swig_tdb_SHARED_LINK_FLAGS)
+scripting/swig/_tdb.so: scripting/swig/tdb_wrap.o \$(LIBRARY_swig_tdb_DEPEND_LIST)
+	\$(SHLD) \$(SHLD_FLAGS) -o scripting/swig/_tdb.so scripting/swig/tdb_wrap.o \\
+		\$(LIBRARY_swig_tdb_SHARED_LINK_LIST) \$(LIBRARY_swig_tdb_SHARED_LINK_FLAGS)
 
 SWIG_INCLUDES = librpc/gen_ndr/samr.i librpc/gen_ndr/lsa.i librpc/gen_ndr/spoolss.i
 
-scripting/swig/dcerpc_wrap.c: scripting/swig/dcerpc.i scripting/swig/samba.i scripting/swig/status_codes.i $(SWIG_INCLUDES)
+scripting/swig/dcerpc_wrap.c: scripting/swig/dcerpc.i scripting/swig/samba.i scripting/swig/status_codes.i \$(SWIG_INCLUDES)
 	swig -python scripting/swig/dcerpc.i
 
-scripting/swig/_dcerpc.so: scripting/swig/dcerpc_wrap.o $(LIBRARY_swig_dcerpc_DEPEND_LIST)
-	$(SHLD) $(SHLD_FLAGS) -o scripting/swig/_dcerpc.so scripting/swig/dcerpc_wrap.o $(LIBRARY_swig_dcerpc_SHARED_LINK_LIST) $(LIBRARY_swig_dcerpc_SHARED_LINK_FLAGS)
+scripting/swig/_dcerpc.so: scripting/swig/dcerpc_wrap.o \$(LIBRARY_swig_dcerpc_DEPEND_LIST)
+	\$(SHLD) \$(SHLD_FLAGS) -o scripting/swig/_dcerpc.so scripting/swig/dcerpc_wrap.o \$(LIBRARY_swig_dcerpc_SHARED_LINK_LIST) \$(LIBRARY_swig_dcerpc_SHARED_LINK_FLAGS)
 
 swig_clean:
-	-rm -f scripting/swig/_tdb.so scripting/swig/tdb.pyc \
-		scripting/swig/tdb.py scripting/swig/tdb_wrap.c \
+	-rm -f scripting/swig/_tdb.so scripting/swig/tdb.pyc \\
+		scripting/swig/tdb.py scripting/swig/tdb_wrap.c \\
 		scripting/swig/tdb_wrap.o
 
 everything: all
 
 etags:
-	etags `find $(srcdir) -name "*.[ch]"`
+	etags `find \$(srcdir) -name \"*.[ch]\"`
 
 ctags:
-	ctags `find $(srcdir) -name "*.[ch]"`
+	ctags `find \$(srcdir) -name \"*.[ch]\"`
 
-__EOD__
+";
 
 	return $output;
 }
@@ -735,9 +778,13 @@
 {
 	my $depend = shift;
 	my $output = "";
+	my @objs;
 
 	foreach my $key (values %{$depend}) {
 		next if not defined $key->{OUTPUT_TYPE};
+		($output .= _prepare_objlist_rule($key, \@objs)) if $key->{OUTPUT_TYPE} eq "OBJLIST";
+		
+		($output .= _prepare_objbundle_rule($key)) if ($key->{OUTPUT_TYPE} eq "OBJBUNDLE");
 		($output .= _prepare_static_library_rule($key)) if $key->{OUTPUT_TYPE} eq "STATIC_LIBRARY";
 		($output .= _prepare_shared_library_rule($key)) if $key->{OUTPUT_TYPE} eq "SHARED_LIBRARY";
 		($output .= _prepare_binary_rule($key)) if $key->{OUTPUT_TYPE} eq "BINARY";
@@ -746,6 +793,8 @@
 	my $idl_ctx;
 	$output .= _prepare_IDL($idl_ctx);
 
+	$output .= _prepare_all_objs_rule(\@objs);
+
 	$output .= _prepare_proto_rules();
 
 	$output .= _prepare_install_rules($depend);
@@ -769,7 +818,6 @@
 	$output  = "########################################\n";
 	$output .= "# Autogenerated by config.smb_build.pl #\n";
 	$output .= "########################################\n";
-	$output .= "\n";
 
 	my $cmd_ctx;
 	$output .= _prepare_command_interpreters($cmd_ctx);
@@ -788,10 +836,10 @@
 
 	$output .= _prepare_dummy_MAKEDIR();
 
-	$output .= _prepare_std_CC_rule("c","o",'@PICFLAG@',"Compiling","Rule for std objectfiles");
-	$output .= _prepare_std_CC_rule("h","h.gch",'@PICFLAG@',"Precompiling","Rule for precompiled headerfiles");
+	$output .= _prepare_std_CC_rule("c","o","\@PICFLAG\@","Compiling","Rule for std objectfiles");
+	$output .= _prepare_std_CC_rule("h","h.gch","\@PICFLAG\@","Precompiling","Rule for precompiled headerfiles");
 
-	$output .= _prepare_obj_lists($CTX);
+#	$output .= _prepare_obj_lists($CTX);
 
 	$output .= _prepare_rule_lists($CTX);
 
Index: build/smb_build/public.m4
===================================================================
--- build/smb_build/public.m4	(revision 6401)
+++ build/smb_build/public.m4	(working copy)
@@ -232,7 +232,30 @@
 "
 ])
 
+dnl SMB_LIB(
+dnl		1:name,
+dnl		2:includes,
+dnl		3:major,
+dnl		4:minor,
+dnl		5:release
+dnl		)
+AC_DEFUN([SMB_LIB],
+[
 
+SMB_INFO_EXT_LIBS="$SMB_INFO_EXT_LIBS
+###################################
+# Start Lib $1
+\$INPUT{$1} = {
+	TYPE => \"LIBRARY\",
+	NAME => \"$1\",
+	INCLUDES => ][STR2ARRAY([$2])][
+};
+# End Lib $1
+###################################
+"
+])
+
+
 dnl SMB_LIBRARY_ENABLE(
 dnl		1:name,
 dnl		2:default_build
Index: build/smb_build/main.pm
===================================================================
--- build/smb_build/main.pm	(revision 6401)
+++ build/smb_build/main.pm	(working copy)
@@ -37,19 +37,14 @@
 		"lib/registry/config.mk",
 		"lib/messaging/config.mk",
 		"lib/events/config.mk",
-		"lib/popt/config.mk",
-		"lib/cmdline/config.mk",
-		"lib/socket_wrapper/config.mk",
 		"smb_server/config.mk",
 		"rpc_server/config.mk",
 		"ldap_server/config.mk",
 		"winbind/config.mk",
 		"nbt_server/config.mk",
-		"auth/gensec/gensec.mk",
-		"auth/kerberos/kerberos.mk",
+		"libcli/auth/gensec.mk",
 		"libcli/auth/config.mk",
 		"libcli/ldap/config.mk",
-		"libcli/config.mk",
 		"utils/net/config.mk",
 		"utils/config.mk",
 		"ntvfs/posix/config.mk",
@@ -71,6 +66,12 @@
 		config_mk::import_file($SMB_BUILD_CTX{INPUT}, $mkfile);
 	}
 
+	config_mk::import_file($SMB_BUILD_CTX{INPUT}, "new_depends.mk");	
+	config_mk::import_file($SMB_BUILD_CTX{INPUT}, "binaries.mk");	
+	config_mk::import_file($SMB_BUILD_CTX{INPUT}, "libraries.mk");	
+	config_mk::import_file($SMB_BUILD_CTX{INPUT}, "modules.mk");	
+
+
 	%{$SMB_BUILD_CTX{DEPEND}} = input::check(\%SMB_BUILD_CTX);
 	
 	%{$SMB_BUILD_CTX{OUTPUT}} = output::create_output($SMB_BUILD_CTX{DEPEND});
Index: build/smb_build/config_mk.pm
===================================================================
--- build/smb_build/config_mk.pm	(revision 6401)
+++ build/smb_build/config_mk.pm	(working copy)
@@ -455,7 +455,12 @@
 		$input->{$name}{TYPE} = $type;
 
 		foreach my $key (values %{$result->{$section}}) {
+		    if (not defined ($input->{$name}{$key->{KEY}})) {
 			$input->{$name}{$key->{KEY}} = [input::str2array($key->{VAL})];
+		    } else {
+			print "$filename: $input->{$name}{NAME} $input->{$name}{TYPE} $key->{KEY}\n";
+			$input->{$name}{$key->{KEY}} = [input::str2array($key->{VAL})];
+		    }
 		}
 	}
 }
Index: build/smb_build/input.pm
===================================================================
--- build/smb_build/input.pm	(revision 6401)
+++ build/smb_build/input.pm	(working copy)
@@ -7,6 +7,16 @@
 ###  Released under the GNU GPL				###
 ###########################################################
 
+
+##
+##  We are marking each subsystem if it is included in library.
+##  We keep the name {INCLUDED_IN} property. 
+##
+##  Actually we need every subsystem to be included in one of terminate 
+##  objects (library, binary or module). This can be checked with
+##  get_lib_includes_scheme.pl.
+##
+
 use strict;
 package input;
 
@@ -53,6 +63,8 @@
 		printf("Subsystem: %s disabled!\n",$subsys->{NAME});
 		return;
 	}
+
+
 	
 	$subsys->{OUTPUT_TYPE} = $subsystem_output_type;
 }
@@ -62,21 +74,10 @@
 	my $CTX = shift;
 	my $mod = shift;
 
-	die("Module $mod->{NAME} does not have a SUBSYSTEM set") if not defined($mod->{SUBSYSTEM});
-
 	($mod->{DEFAULT_BUILD} = "STATIC") if not defined($mod->{DEFAULT_BUILD});
 	
 	my $use_default = 0;
 
-	$mod->{SUBSYSTEM} = join(' ', @{$mod->{SUBSYSTEM}});
-
-	if (!(defined($CTX->{INPUT}{$mod->{SUBSYSTEM}}))) {
-		$mod->{BUILD} = "NOT";
-		$mod->{ENABLE} = "NO";
-		printf("Module: %s...PARENT SUBSYSTEM ($mod->{SUBSYSTEM}) DISABLED\n",$mod->{NAME});
-		return;
-	}
-
 	if ($mod->{ENABLE} ne "YES")
 	{
 		$mod->{CHOSEN_BUILD} = "NOT";
@@ -89,18 +90,33 @@
 	if ($mod->{CHOSEN_BUILD} eq "SHARED") {
 		$mod->{ENABLE} = "YES";
 		$mod->{OUTPUT_TYPE} = "SHARED_LIBRARY";
-		push (@{$mod->{REQUIRED_SUBSYSTEMS}}, $mod->{SUBSYSTEM});
 		printf("Module: %s...shared\n",$mod->{NAME});
 	} elsif ($mod->{CHOSEN_BUILD} eq "STATIC") {
 		$mod->{ENABLE} = "YES";
-		push (@{$CTX->{INPUT}{$mod->{SUBSYSTEM}}{REQUIRED_SUBSYSTEMS}}, $mod->{NAME});
 		printf("Module: %s...static\n",$mod->{NAME});
-		$mod->{OUTPUT_TYPE} = $subsystem_output_type;
+		$mod->{OUTPUT_TYPE} = "OBJBUNDLE";
 	} else {
 		$mod->{ENABLE} = "NO";
 		printf("Module: %s...not\n",$mod->{NAME});
 		return;
 	}
+
+	foreach my $ssname (@{$mod->{INCLUDES}}) {
+	    my $subsys = $CTX->{INPUT}{$ssname};
+	    
+	    if (defined ($subsys->{SUBSYSTEM})) {
+		my $SUBS = @{$subsys->{SUBSYSTEM}}[0];
+		if (not defined ($CTX->{INPUT}{$SUBS})) {
+		    $subsys->{BUILD} = "NOT";
+		    $subsys->{ENABLE} = "NO";
+		    print "WARNING: $subsys->{NAME} module subsystem should be depended by $SUBS, but it doesn't exist\n";
+		}
+	    
+		push (@{$CTX->{INPUT}{$SUBS}{REQUIRED_SUBSYSTEMS}}, $subsys->{NAME});
+	    }
+	}
+
+
 }
 
 sub check_library($$)
@@ -112,8 +128,13 @@
 		printf("Library: %s...disabled\n",$lib->{NAME});
 		return;
 	}
+	
+#	if ($lib->{BUILD_TYPE} eq "STATIC") {
+	    $lib->{OUTPUT_TYPE} = "STATIC_LIBRARY";
+#	} else {a
+#	    $lib->{OUTPUT_TYPE} = "SHARED_LIBRARY";
+#	}
 
-	$lib->{OUTPUT_TYPE} = "SHARED_LIBRARY";
 	$lib->{MAJOR_VERSION} = join('', @{$lib->{MAJOR_VERSION}});
 	$lib->{MINOR_VERSION} = join('', @{$lib->{MINOR_VERSION}});
 	$lib->{RELEASE_VERSION} = join('', @{$lib->{RELEASE_VERSION}});
@@ -149,7 +170,6 @@
 }
 
 
-
 ###########################################################
 # This function checks the input from the configure script 
 #
@@ -158,48 +178,111 @@
 # $SMB_BUILD_CTX -	the global SMB_BUILD context
 sub check($)
 {
-	my $CTX = shift;
+    my $CTX = shift;
 
-	($subsystem_output_type = $ENV{SUBSYSTEM_OUTPUT_TYPE}) if (defined($ENV{"SUBSYSTEM_OUTPUT_TYPE"}));
+    ($subsystem_output_type = $ENV{SUBSYSTEM_OUTPUT_TYPE}) if (defined($ENV{"SUBSYSTEM_OUTPUT_TYPE"}));
 
-	foreach my $part (values %{$CTX->{INPUT}}) {
-		($part->{ENABLE} = "YES") if not defined($part->{ENABLE});
+    foreach my $part (values %{$CTX->{INPUT}}) {
+	($part->{ENABLE} = "YES") if not defined($part->{ENABLE});
+    }
+
+    foreach my $part (values %{$CTX->{INPUT}}) {
+	check_subsystem($CTX, $part) if ($part->{TYPE} eq "SUBSYSTEM");
+	check_module($CTX, $part) if ($part->{TYPE} eq "MODULE");
+	check_library($CTX, $part) if ($part->{TYPE} eq "LIBRARY");
+	check_binary($CTX, $part) if ($part->{TYPE} eq "BINARY");
+
+	#FIXME: REQUIRED_LIBRARIES needs to go
+	if (defined($part->{REQUIRED_LIBRARIES})) {
+	    push(@{$part->{REQUIRED_SUBSYSTEMS}}, @{$part->{REQUIRED_LIBRARIES}});
+	    delete ($part->{REQUIRED_LIBRARIES});
 	}
+    }
 
-	foreach my $part (values %{$CTX->{INPUT}}) {
-		check_subsystem($CTX, $part) if ($part->{TYPE} eq "SUBSYSTEM");
-		check_module($CTX, $part) if ($part->{TYPE} eq "MODULE");
-		check_library($CTX, $part) if ($part->{TYPE} eq "LIBRARY");
-		check_binary($CTX, $part) if ($part->{TYPE} eq "BINARY");
+    my %depend = %{$CTX->{INPUT}};
 
-		#FIXME: REQUIRED_LIBRARIES needs to go
-		if (defined($part->{REQUIRED_LIBRARIES})) {
-			push(@{$part->{REQUIRED_SUBSYSTEMS}}, @{$part->{REQUIRED_LIBRARIES}});
-			delete ($part->{REQUIRED_LIBRARIES});
+##
+##  We are marking each subsystem if it is included in library, module or binary.
+##  We keep the name {INCLUDED_IN} property. 
+##
+
+    foreach my $part (values %depend) {
+	
+	# Generate list of dependencies
+	$part->{DEPENDENCIES} = [];
+
+	if ($part->{TYPE} eq "SUBSYSTEM") {
+	    foreach my $key (@{$part->{REQUIRED_SUBSYSTEMS}}) {
+		die("$part->{NAME} has undefined dependency $key\n") if not defined($depend{$key});
+		push (@{$part->{DEPENDENCIES}}, \$depend{$key});
+	    }
+
+ 	    delete ($part->{REQUIRED_SUBSYSTEMS});
+	} elsif (($part->{TYPE} eq "LIBRARY") or ($part->{TYPE} eq "MODULE") or ($part->{TYPE} eq "BINARY")) {
+	    foreach my $key (@{$part->{INCLUDES}}) {
+		die("$part->{NAME} has undefined dependency $key\n") if not defined($depend{$key});
+		push (@{$part->{DEPENDENCIES}}, \$depend{$key});
+		if (defined ($depend{$key}{INCLUDED_IN})) {
+		    print "WARNING: $key is already included in $depend{$key}{INCLUDED_IN}, however $part->{NAME} wants to include it\n";
 		}
+		$depend{$key}{INCLUDED_IN} = $part->{NAME} if ($part->{ENABLE} eq "YES");
+	    } 
 	}
+    }
+    
 
-	my %depend = %{$CTX->{INPUT}};
+##  Calculate all unique dependencies for subsystems
 
-	foreach my $part (values %depend) {
+    foreach my $part (values %depend) {
+	$part->{UNIQUE_DEPENDENCIES} = {};
+	calc_unique_deps($part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES}) if ($part->{TYPE} eq "SUBSYSTEM");
+
+    }
+
+##  Only after that calculate LIBRARY, MODULE and BINARY UNIQUE_DEPENDENCIES
+    
+    foreach my $part (values %depend) {
+
+	# General terminate target resolvation
+	if (($part->{TYPE} eq "BINARY") or ($part->{TYPE} eq "LIBRARY") or
+	    ($part->{TYPE} eq "MODULE")) {
+	    foreach my $key (@{$part->{INCLUDES}}) {
+		# We depend on the component we include
+		# Assertion, library cannot include BINARY, LIBRARY or MODULE
+		die "terminate target $part->{TYPE} $part->{NAME} cannot depend on terminate target $depend{$key}{TYPE} $depend{$key}{NAME}" 		
+		    if (($depend{$key}{TYPE} eq "BINARY") or ($depend{$key}{TYPE} eq "LIBRARY") or
+			($depend{$key}{TYPE} eq "MODULE"));
+		    
 		
-		# Generate list of dependencies
-		$part->{DEPENDENCIES} = [];
+		($part->{UNIQUE_DEPENDENCIES}{$key} = $depend{$key}) if (not defined ($part->{UNIQUE_DEPENDENCIES}{$key}));
+		($part->{UNIQUE_INCLUDES}{$key} = $depend{$key}) if (not defined ($part->{UNIQUE_INCLUDES}{$key}));
 
-		foreach my $key (@{$part->{REQUIRED_SUBSYSTEMS}}) {
-			die("$part->{NAME} has undefined dependency $key\n") if not defined($depend{$key});
-			push (@{$part->{DEPENDENCIES}}, \$depend{$key});
+		# And on libraries this component depends
+		foreach my $subdep (keys %{$depend{$key}{UNIQUE_DEPENDENCIES}}) {
+		    next if ($depend{$subdep}{INCLUDED_IN} eq $part->{NAME});
+		    die "$depend{$subdep}{TYPE} $depend{$subdep}{NAME} is not included in any terminate target!\n" 
+			if (not defined ($depend{$subdep}{INCLUDED_IN}) and ($depend{$subdep}{TYPE} eq "SUBSYSTEM"));
+
+		    die "$depend{$subdep}{TYPE} $depend{$subdep}{NAME} is included in non-linkable terminate target ($depend{$depend{$subdep}{INCLUDED_IN}}{TYPE} $depend{$depend{$subdep}{INCLUDED_IN}}{NAME}), while going to be linked with other terminate target $part->{NAME} by means of $depend{$key}{NAME}!\n" 
+			if ($depend{$depend{$subdep}{INCLUDED_IN}}{TYPE} eq "BINARY");
+
+ 		    if (defined ($depend{$subdep}{INCLUDED_IN})) {
+ 			if (not defined ($part->{UNIQUE_DEPENDENCIES}{$depend{$subdep}{INCLUDED_IN}})) {
+ 			    $part->{UNIQUE_DEPENDENCIES}{$depend{$subdep}{INCLUDED_IN}} = $depend{$depend{$subdep}{INCLUDED_IN}};
+ 			}
+ 		    } else {
+ 			$part->{UNIQUE_DEPENDENCIES}{$subdep} = $depend{$subdep};
+ 		    }
 		}
+	    }
 
-		delete ($part->{REQUIRED_SUBSYSTEMS});
 	}
+    }
 
-	foreach my $part (values %depend) {
-		$part->{UNIQUE_DEPENDENCIES} = {};
-		calc_unique_deps($part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES});
-	}
+	
 
-	return %depend;
+
+    return %depend;
 }
 
 1;
Index: build/smb_build/output.pm
===================================================================
--- build/smb_build/output.pm	(revision 6401)
+++ build/smb_build/output.pm	(working copy)
@@ -1,3 +1,4 @@
+
 ###########################################################
 ### SMB Build System					###
 ### - the output generating functions			###
@@ -14,16 +15,14 @@
 {
 	my $subsys = shift;
 
-	$subsys->{OUTPUT} = "\$($subsys->{TYPE}_$subsys->{NAME}_OBJS)";
+	$subsys->{OUTPUT} = "objs/$subsys->{TYPE}_$subsys->{NAME}.o";
 }
 
 sub generate_shared_library($)
 {
 	my $lib = shift;
 
-	@{$lib->{DEPEND_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
-	@{$lib->{LINK_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
-	$lib->{LIBRARY_NAME} = $lib->{NAME}.".so";
+	$lib->{LIBRARY_NAME} = "lib".$lib->{NAME}.".so";
 	$lib->{OUTPUT} = "bin/$lib->{LIBRARY_NAME}";
 	if (defined($lib->{MAJOR_VERSION})) {
 		$lib->{LIBRARY_SONAME} = $lib->{LIBRARY_NAME}.".$lib->{MAJOR_VERSION}";
@@ -37,10 +36,7 @@
 {
 	my $lib = shift;
 
-	@{$lib->{DEPEND_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
-
-	$lib->{LIBRARY_NAME} = $lib->{NAME}.".a";
-	@{$lib->{LINK_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
+	$lib->{LIBRARY_NAME} = "lib".$lib->{NAME}.".a";
 	@{$lib->{LINK_FLAGS}} = ();
 
 	$lib->{OUTPUT} = "bin/$lib->{LIBRARY_NAME}";
@@ -50,8 +46,6 @@
 {
 	my $bin = shift;
 
-	@{$bin->{DEPEND_LIST}} = ("\$($bin->{TYPE}_$bin->{NAME}\_OBJS)");
-	@{$bin->{LINK_LIST}} = ("\$($bin->{TYPE}_$bin->{NAME}\_OBJS)");
 	@{$bin->{LINK_FLAGS}} = ();
 
 	$bin->{OUTPUT} = "bin/$bin->{NAME}";
@@ -71,8 +65,13 @@
 	foreach $part (values %{$depend}) {
 		next if not defined($part->{OUTPUT_TYPE});
 
+		if ($part->{TYPE} eq "MODULE") {
+		    print "$part->{TYPE} $part->{OUTPUT_TYPE}";
+		}
+
 		generate_binary($part) if $part->{OUTPUT_TYPE} eq "BINARY";
-		generate_objlist($part) if $part->{OUTPUT_TYPE} eq "OBJLIST";
+		generate_objlist($part) if (($part->{OUTPUT_TYPE} eq "OBJLIST") 
+					    or ($part->{OUTPUT_TYPE} eq "OBJBUNDLE"));
 		generate_shared_library($part) if $part->{OUTPUT_TYPE} eq "SHARED_LIBRARY";
 		generate_static_library($part) if $part->{OUTPUT_TYPE} eq "STATIC_LIBRARY";
 
@@ -86,16 +85,25 @@
 
 	foreach $part (values %{$depend}) {
 		next if not defined($part->{OUTPUT_TYPE});
-
 		# Always import the CFLAGS and CPPFLAGS of the unique dependencies
 		foreach my $elem (values %{$part->{UNIQUE_DEPENDENCIES}}) {
 			next if $elem == $part;
-
-			push(@{$part->{CPPFLAGS}}, @{$elem->{CPPFLAGS}}) if defined(@{$elem->{CPPFLAGS}});
-			push(@{$part->{CFLAGS}}, @{$elem->{CFLAGS}}) if defined(@{$elem->{CFLAGS}});
-			push(@{$part->{DEPEND_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT});
-			push(@{$part->{LINK_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT});
-			push(@{$part->{LINK_FLAGS}}, @{$elem->{LIBS}}) if defined($elem->{LIBS});
+			
+			if ($elem->{TYPE} eq "EXT_LIB") {
+			    push(@{$part->{CPPFLAGS}}, @{$elem->{CPPFLAGS}}) if defined(@{$elem->{CPPFLAGS}});
+			    push(@{$part->{CFLAGS}}, @{$elem->{CFLAGS}}) if defined(@{$elem->{CFLAGS}});
+			}
+			
+			if (($elem->{OUTPUT_TYPE} eq "SHARED_LIBRARY") or ($elem->{OUTPUT_TYPE} eq "STATIC_LIBRARY")) {
+			    if (not ($part->{OUTPUT_TYPE} eq "STATIC_LIBRARY")) {
+				push(@{$part->{LINK_LIST}}, "-l$elem->{NAME}") if defined($elem->{OUTPUT});
+			    }
+			    push(@{$part->{DEPEND_LIST}}, "bin/$elem->{LIBRARY_NAME}") if defined($elem->{OUTPUT});
+			} else {
+			    push(@{$part->{LINK_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT});
+			    push(@{$part->{DEPEND_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT});
+			}
+			push(@{$part->{LINK_FLAGS}},@{$elem->{LIBS}}) if defined($elem->{LIBS});
 			push(@{$part->{LINK_FLAGS}},@{$elem->{LDFLAGS}}) if defined($elem->{LDFLAGS});
 
 			push(@{$part->{SUBSYSTEM_INIT_FUNCTIONS}}, @{$elem->{INIT_FUNCTION}}) if 
@@ -104,6 +112,23 @@
 				$elem->{INIT_FUNCTION} ne "" and
 				$part->{OUTPUT_TYPE} ne "SHARED_LIBRARY";
 		}
+
+		foreach my $elem (values %{$part->{UNIQUE_INCLUDES}}) {
+		    push(@{$part->{INCLUDE_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT});
+		}
+# 		if ($part->{TYPE} eq "LIBRARY") {
+# 		    if (not defined (@{$part->{INCLUDES}})) {
+# 			die "Library $part->{NAME} with not INCLUDES defined!";
+# 		    }
+			
+# 		    foreach my $elem (@{$part->{INCLUDES}}) {
+# 			push(@{$part->{DEPEND_LIST}}, $depend->{$elem}{OUTPUT}) if defined($depend->{$elem}{OUTPUT});
+# 			push(@{$part->{LINK_FLAGS}},$depend->{$elem}{OUTPUT}) if defined($depend->{$elem}{OUTPUT});
+
+# 			push(@{$part->{LINK_FLAGS}}, @{$depend->{$elem}{LIBS}}) if defined($depend->{$elem}{LIBS});
+# 			push(@{$part->{LINK_FLAGS}},@{$depend->{$elem}{LDFLAGS}}) if defined($depend->{$elem}{LDFLAGS});
+# 		    }
+# 		}
 	}
 
 	return %{$depend};
Index: build/m4/rewrite.m4
===================================================================
--- build/m4/rewrite.m4	(revision 6401)
+++ build/m4/rewrite.m4	(working copy)
@@ -214,6 +214,7 @@
 LDSHFLAGS="-shared"
 SONAMEFLAG="#"
 SHLD="\${CC}"
+PARTIAL
 PICFLAG=""
 PICSUFFIX="po"
 POBAD_CC="#"
@@ -589,6 +590,22 @@
     AC_DEFINE(HAVE_BROKEN_GETGROUPS,1,[Whether getgroups is broken])
 fi
 
+AC_CACHE_CHECK([whether getpass should be replaced],samba_cv_REPLACE_GETPASS,[
+SAVE_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt  -I${srcdir-.}/smbwrapper"
+AC_TRY_COMPILE([
+#define REPLACE_GETPASS 1
+#define NO_CONFIG_H 1
+#define main dont_declare_main
+#include "${srcdir-.}/lib/getsmbpass.c"
+#undef main
+],[],samba_cv_REPLACE_GETPASS=yes,samba_cv_REPLACE_GETPASS=no)
+CPPFLAGS="$SAVE_CPPFLAGS"
+])
+if test x"$samba_cv_REPLACE_GETPASS" = x"yes"; then
+	AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced])
+fi
+
 AC_CACHE_CHECK([for broken inet_ntoa],samba_cv_REPLACE_INET_NTOA,[
 AC_TRY_RUN([
 #include <stdio.h>
Index: utils/net/config.mk
===================================================================
--- utils/net/config.mk	(revision 6388)
+++ utils/net/config.mk	(working copy)
@@ -2,7 +2,7 @@
 
 #################################
 # Start BINARY net
-[BINARY::net]
+[SUBSYSTEM::bin_net]
 OBJ_FILES = \
 		utils/net/net.o \
 		utils/net/net_password.o \
Index: utils/config.mk
===================================================================
--- utils/config.mk	(revision 6388)
+++ utils/config.mk	(working copy)
@@ -2,7 +2,7 @@
 
 #################################
 # Start BINARY ndrdump
-[BINARY::ndrdump]
+[SUBSYSTEM::bin_ndrdump]
 OBJ_FILES = \
 		utils/ndrdump.o
 REQUIRED_SUBSYSTEMS = \
@@ -17,7 +17,7 @@
 
 #################################
 # Start BINARY ntlm_auth
-[BINARY::ntlm_auth]
+[SUBSYSTEM::bin_ntlm_auth]
 OBJ_FILES = \
 		utils/ntlm_auth.o
 REQUIRED_SUBSYSTEMS = \
@@ -31,7 +31,7 @@
 
 #################################
 # Start BINARY getntacl
-[BINARY::getntacl]
+[SUBSYSTEM::bin_getntacl]
 OBJ_FILES = \
 		utils/getntacl.o
 REQUIRED_SUBSYSTEMS = \
@@ -44,7 +44,7 @@
 
 #################################
 # Start BINARY setntacl
-[BINARY::setntacl]
+[SUBSYSTEM::bin_setntacl]
 OBJ_FILES = \
 		utils/setntacl.o
 REQUIRED_SUBSYSTEMS = \
@@ -57,7 +57,7 @@
 
 #################################
 # Start BINARY setnttoken
-[BINARY::setnttoken]
+[SUBSYSTEM::bin_setnttoken]
 OBJ_FILES = \
 		utils/setnttoken.o
 REQUIRED_SUBSYSTEMS = \
@@ -72,14 +72,13 @@
 
 #################################
 # Start BINARY nmblookup
-[BINARY::nmblookup]
+[SUBSYSTEM::bin_nmblookup]
 OBJ_FILES = \
 		utils/nmblookup.o
 REQUIRED_SUBSYSTEMS = \
 		CONFIG \
 		LIBCMDLINE \
 		LIBBASIC \
-		LIBCLI_NBT \
-		LIB_SECURITY_NDR
+		LIBCLI_NBT
 # End BINARY nmblookup
 #################################
Index: ntvfs/unixuid/config.mk
===================================================================
--- ntvfs/unixuid/config.mk	(revision 6388)
+++ ntvfs/unixuid/config.mk	(working copy)
@@ -1,11 +1,11 @@
 ################################################
-# Start MODULE ntvfs_unixuid
-[MODULE::ntvfs_unixuid]
+# Start SUBSYSTEM ntvfs_unixuid
+[SUBSYSTEM::ntvfs_unixuid]
 INIT_FUNCTION = ntvfs_unixuid_init
 SUBSYSTEM = NTVFS
 INIT_OBJ_FILES = \
 		ntvfs/unixuid/vfs_unixuid.o
 REQUIRED_SUBSYSTEMS = \
 		ntvfs_common
-# End MODULE ntvfs_unixuid
+# End SUBSYSTEM ntvfs_unixuid
 ################################################
Index: ntvfs/posix/config.mk
===================================================================
--- ntvfs/posix/config.mk	(revision 6388)
+++ ntvfs/posix/config.mk	(working copy)
@@ -1,6 +1,6 @@
 ################################################
-# Start MODULE ntvfs_posix
-[MODULE::ntvfs_posix]
+# Start SUBSYSTEM ntvfs_posix
+[SUBSYSTEM::ntvfs_posix]
 SUBSYSTEM = NTVFS
 INIT_FUNCTION = ntvfs_posix_init 
 INIT_OBJ_FILES = \
@@ -32,5 +32,5 @@
 		ntvfs/posix/xattr_system.o \
 		ntvfs/posix/xattr_tdb.o
 REQUIRED_SUBSYSTEMS = NDR_XATTR ntvfs_common
-# End MODULE ntvfs_posix
+# End SUBSYSTEM ntvfs_posix
 ################################################
Index: ntvfs/config.mk
===================================================================
--- ntvfs/config.mk	(revision 6388)
+++ ntvfs/config.mk	(working copy)
@@ -1,61 +1,61 @@
 # NTVFS Server subsystem
 
 ################################################
-# Start MODULE ntvfs_cifs
-[MODULE::ntvfs_cifs]
+# Start SUBSYSTEM ntvfs_cifs
+[SUBSYSTEM::ntvfs_cifs]
 INIT_FUNCTION = ntvfs_cifs_init 
 SUBSYSTEM = NTVFS
 INIT_OBJ_FILES = \
 		ntvfs/cifs/vfs_cifs.o
 REQUIRED_SUBSYSTEMS = \
 		LIBCLI
-# End MODULE ntvfs_cifs
+# End SUBSYSTEM ntvfs_cifs
 ################################################
 
 ################################################
-# Start MODULE ntvfs_simple
-[MODULE::ntvfs_simple]
+# Start SUBSYSTEM ntvfs_simple
+[SUBSYSTEM::ntvfs_simple]
 INIT_FUNCTION = ntvfs_simple_init 
 SUBSYSTEM = NTVFS
 INIT_OBJ_FILES = \
 		ntvfs/simple/vfs_simple.o
 ADD_OBJ_FILES = \
 		ntvfs/simple/svfs_util.o
-# End MODULE ntvfs_cifs
+# End SUBSYSTEM ntvfs_cifs
 ################################################
 
 ################################################
-# Start MODULE ntvfs_print
-[MODULE::ntvfs_print]
+# Start SUBSYSTEM ntvfs_print
+[SUBSYSTEM::ntvfs_print]
 INIT_FUNCTION = ntvfs_print_init 
 SUBSYSTEM = NTVFS
 INIT_OBJ_FILES = \
 		ntvfs/print/vfs_print.o
-# End MODULE ntvfs_print
+# End SUBSYSTEM ntvfs_print
 ################################################
 
 ################################################
-# Start MODULE ntvfs_ipc
-[MODULE::ntvfs_ipc]
+# Start SUBSYSTEM ntvfs_ipc
+[SUBSYSTEM::ntvfs_ipc]
 SUBSYSTEM = NTVFS
 INIT_FUNCTION = ntvfs_ipc_init 
 INIT_OBJ_FILES = \
 		ntvfs/ipc/vfs_ipc.o \
 		ntvfs/ipc/ipc_rap.o \
 		ntvfs/ipc/rap_server.o
-# End MODULE ntvfs_ipc
+# End SUBSYSTEM ntvfs_ipc
 ################################################
 
 
 
 ################################################
-# Start MODULE ntvfs_nbench
-[MODULE::ntvfs_nbench]
+# Start SUBSYSTEM ntvfs_nbench
+[SUBSYSTEM::ntvfs_nbench]
 SUBSYSTEM = NTVFS
 INIT_FUNCTION = ntvfs_nbench_init 
 INIT_OBJ_FILES = \
 		ntvfs/nbench/vfs_nbench.o
-# End MODULE ntvfs_nbench
+# End SUBSYSTEM ntvfs_nbench
 ################################################
 
 ################################################
@@ -81,3 +81,4 @@
 #
 # End SUBSYSTEM NTVFS
 ################################################
+
Index: new_depends.mk
===================================================================
--- new_depends.mk	(revision 0)
+++ new_depends.mk	(revision 0)
@@ -0,0 +1,516 @@
+[SUBSYSTEM::AUTH]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_AUTH LIBCLI_UTILS LIBCRYPTO LIB_SECURITY LIBTALLOC 
+
+[SUBSYSTEM::bin_gentest]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_RAW LIBCLI_UTILS LIBNETIF LIBSMB LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL 
+
+[SUBSYSTEM::bin_gepdump]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC GTKSMB LIBBASIC LIBNDR_RAW LIBNETIF LIBRPC_RAW LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MGMT NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL RPC_NDR_EPMAPPER RPC_NDR_MGMT 
+
+[SUBSYSTEM::bin_getntacl]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::bin_gregedit]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC GTKSMB LIBBASIC LIBNETIF LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_WINREG REGISTRY 
+
+[SUBSYSTEM::bin_gwcrontab]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC GTKSMB LIBBASIC LIBNETIF LIBRPC_RAW LIBTALLOC NDR_ATSVC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL RPC_NDR_ATSVC 
+
+[SUBSYSTEM::bin_gwsam]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC GTKSMB LIBBASIC LIBNETIF LIBRPC_RAW LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL RPC_NDR_SAMR 
+
+[SUBSYSTEM::bin_ldbadd]
+REQUIRED_SUBSYSTEMS = LIBLDB 
+
+[SUBSYSTEM::bin_ldbdel]
+REQUIRED_SUBSYSTEMS = LIBLDB 
+
+[SUBSYSTEM::bin_ldbedit]
+REQUIRED_SUBSYSTEMS = LIBLDB LIBTALLOC 
+
+[SUBSYSTEM::bin_ldbmodify]
+REQUIRED_SUBSYSTEMS = LIBLDB 
+
+[SUBSYSTEM::bin_ldbrename]
+REQUIRED_SUBSYSTEMS = LIBLDB 
+
+[SUBSYSTEM::bin_ldbsearch]
+REQUIRED_SUBSYSTEMS = LIBLDB 
+
+[SUBSYSTEM::bin_ldbtest]
+REQUIRED_SUBSYSTEMS = LIBLDB LIBTALLOC 
+
+[SUBSYSTEM::bin_locktest]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_RAW LIBCLI_UTILS LIBNETIF LIBSMB LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL 
+
+[SUBSYSTEM::bin_masktest]
+REQUIRED_SUBSYSTEMS = CHARSET CONFIG GENSEC LIBBASIC LIBNETIF LIBSMB NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL 
+
+[SUBSYSTEM::bin_ndrdump]
+REQUIRED_SUBSYSTEMS = GENSEC LIBBASIC LIBCLI_UTILS LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_ATSVC NDR_AUDIOSRV NDR_BROWSER NDR_DBGIDL NDR_DCERPC NDR_DFS NDR_DRSBLOBS NDR_DRSUAPI NDR_DSBACKUP NDR_DSSETUP NDR_ECHO NDR_EFS NDR_EPMAPPER NDR_EVENTLOG NDR_EXCHANGE NDR_KEYSVC NDR_KRB5PAC NDR_LSA NDR_MGMT NDR_MISC NDR_MSGSVC NDR_NBT NDR_NETLOGON NDR_NTSVCS NDR_ORPC NDR_OXIDRESOLVER NDR_POLICYAGENT NDR_PROTECTED_STORAGE NDR_REMACT NDR_ROT NDR_SAMR NDR_SCERPC NDR_SCHANNEL NDR_SPOOLSS NDR_SRVSVC NDR_SVCCTL NDR_TRKWKS NDR_W32TIME NDR_WINREG NDR_WINS NDR_WINSREPL NDR_WKSSVC NDR_WZCSVC NDR_XATTR 
+
+[SUBSYSTEM::bin_net]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_UTILS LIBCMDLINE LIBNET LIBNETIF LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_SRVSVC NDR_SVCCTL 
+
+[SUBSYSTEM::bin_nmblookup]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_NBT LIBCLI_UTILS LIBNETIF LIBTALLOC SOCKET 
+
+[SUBSYSTEM::bin_ntlm_auth]
+REQUIRED_SUBSYSTEMS = AUTH CONFIG GENSEC LIBBASIC LIBCLI_AUTH LIBCLI_UTILS LIB_SECURITY LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL 
+
+[SUBSYSTEM::bin_regdiff]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_UTILS LIBCMDLINE LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_WINREG REGISTRY 
+
+[SUBSYSTEM::bin_regpatch]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_UTILS LIBCMDLINE LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_WINREG REGISTRY 
+
+[SUBSYSTEM::bin_regshell]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_UTILS LIBCMDLINE LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_WINREG REGISTRY 
+
+[SUBSYSTEM::bin_regtree]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_UTILS LIBCMDLINE LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_WINREG REGISTRY 
+
+[SUBSYSTEM::bin_setntacl]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::bin_setnttoken]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::bin_smbclient]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_LSA LIBCLI_NBT LIBCLI_RAW LIBCLI_UTILS LIBCMDLINE LIBNDR_RAW LIBNETIF LIBRPC_RAW LIB_SECURITY LIB_SECURITY_NDR LIBSMB LIBTALLOC NDR_DCERPC NDR_EPMAPPER NDR_KRB5PAC NDR_LSA NDR_MISC NDR_NBT NDR_NETLOGON NDR_SAMR NDR_SCHANNEL NDR_SRVSVC NDR_SVCCTL RPC_NDR_SRVSVC 
+
+[SUBSYSTEM::bin_smbd]
+REQUIRED_SUBSYSTEMS = AUTH CONFIG DCERPC GENSEC LDAP LIBBASIC LIBCLI_UTILS LIBEVENTS LIBNETIF LIBTALLOC NBTD NDR_ATSVC NDR_AUDIOSRV NDR_BROWSER NDR_DBGIDL NDR_DCERPC NDR_DFS NDR_DRSBLOBS NDR_DRSUAPI NDR_DSBACKUP NDR_DSSETUP NDR_ECHO NDR_EFS NDR_EPMAPPER NDR_EVENTLOG NDR_EXCHANGE NDR_KEYSVC NDR_KRB5PAC NDR_LSA NDR_MGMT NDR_MISC NDR_MSGSVC NDR_NBT NDR_NETLOGON NDR_NTSVCS NDR_ORPC NDR_OXIDRESOLVER NDR_POLICYAGENT NDR_PROTECTED_STORAGE NDR_REMACT NDR_ROT NDR_SAMR NDR_SCERPC NDR_SCHANNEL NDR_SPOOLSS NDR_SRVSVC NDR_SVCCTL NDR_TRKWKS NDR_W32TIME NDR_WINREG NDR_WINS NDR_WINSREPL NDR_WKSSVC NDR_WZCSVC NDR_XATTR SERVER_SERVICE SMB 
+
+[SUBSYSTEM::bin_smbtorture]
+REQUIRED_SUBSYSTEMS = CHARSET CONFIG GENSEC LIBBASIC LIBCLI_NBT LIBCLI_RAW LIBCLI_UTILS LIBCMDLINE LIBNETIF LIBREPLACE LIBRPC_RAW LIBSMB LIBTALLOC NDR_ATSVC NDR_AUDIOSRV NDR_BROWSER NDR_DBGIDL NDR_DCERPC NDR_DFS NDR_DRSBLOBS NDR_DRSUAPI NDR_DSBACKUP NDR_DSSETUP NDR_ECHO NDR_EFS NDR_EPMAPPER NDR_EVENTLOG NDR_EXCHANGE NDR_KEYSVC NDR_KRB5PAC NDR_LSA NDR_MGMT NDR_MISC NDR_MSGSVC NDR_NBT NDR_NETLOGON NDR_NTSVCS NDR_ORPC NDR_OXIDRESOLVER NDR_POLICYAGENT NDR_PROTECTED_STORAGE NDR_REMACT NDR_ROT NDR_SAMR NDR_SCERPC NDR_SCHANNEL NDR_SPOOLSS NDR_SRVSVC NDR_SVCCTL NDR_TRKWKS NDR_W32TIME NDR_WINREG NDR_WINS NDR_WINSREPL NDR_WKSSVC NDR_WZCSVC NDR_XATTR TORTURE_AUTH TORTURE_BASIC TORTURE_COM TORTURE_LDAP TORTURE_LOCAL TORTURE_NBENCH TORTURE_NBT TORTURE_RAP TORTURE_RAW TORTURE_RPC 
+
+[SUBSYSTEM::bin_tdbdump]
+REQUIRED_SUBSYSTEMS = LIBTDB 
+
+[SUBSYSTEM::bin_tdbtorture]
+REQUIRED_SUBSYSTEMS = LIBTDB 
+
+[SUBSYSTEM::CHARSET]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBTALLOC 
+
+[SUBSYSTEM::CONFIG]
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC LIBTALLOC LIBTDB 
+
+[SUBSYSTEM::DCERPC_COMMON]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBLDB LIBTALLOC 
+
+[SUBSYSTEM::DCERPC]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIBNETIF LIBRPC_RAW LIB_SECURITY LIBTALLOC NDR_DCERPC SERVER_SERVICE SOCKET 
+
+[SUBSYSTEM::DCOM_PROXY_DCOM]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DCOM 
+
+[SUBSYSTEM::GENSEC]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_UTILS LIBRPC_RAW LIBTALLOC 
+
+[SUBSYSTEM::GTKSMB]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_UTILS LIBEVENTS LIBRPC_RAW LIBTALLOC RPC_NDR_SAMR 
+
+[SUBSYSTEM::LDAP]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_LDAP LIBCLI_UTILS LIBEVENTS LIBLDB LIBNDR_RAW LIBNETIF LIB_SECURITY LIB_SECURITY_NDR LIBTALLOC NDR_MISC SAMDB SERVER_SERVICE SOCKET 
+
+[SUBSYSTEM::LIBBASIC]
+REQUIRED_SUBSYSTEMS = CHARSET CONFIG LIBCRYPTO LIBLDB LIBREPLACE LIBTALLOC LIBTDB 
+
+[SUBSYSTEM::LIBCLI_AUTH]
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC LIBCLI_UTILS LIBCRYPTO LIBTALLOC 
+
+[SUBSYSTEM::LIBCLI_COMPOSITE_BASE]
+REQUIRED_SUBSYSTEMS = LIBEVENTS 
+
+[SUBSYSTEM::LIBCLI_COMPOSITE]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_AUTH LIBCLI_COMPOSITE_BASE LIBCLI_NBT LIBCLI_RAW LIBCLI_RESOLVE LIBCLI_UTILS LIB_SECURITY LIBTALLOC 
+
+[SUBSYSTEM::LIBCLI_LDAP]
+REQUIRED_SUBSYSTEMS = GENSEC LIBBASIC LIBCLI_UTILS LIBTALLOC 
+
+[SUBSYSTEM::LIBCLI_LSA]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBCLI_RAW LIBRPC_RAW LIB_SECURITY LIBTALLOC RPC_NDR_LSA 
+
+[SUBSYSTEM::LIBCLI_NBT]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_COMPOSITE_BASE LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIBTALLOC NDR_NBT SOCKET 
+
+[SUBSYSTEM::LIBCLI_RAW]
+REQUIRED_SUBSYSTEMS = CHARSET CONFIG LIBBASIC LIBCLI_COMPOSITE LIBCLI_COMPOSITE_BASE LIBCLI_NBT LIBCLI_RESOLVE LIBCLI_UTILS LIBCRYPTO LIBEVENTS LIBNDR_RAW LIBREPLACE LIB_SECURITY_NDR LIBTALLOC NDR_MISC SOCKET 
+
+[SUBSYSTEM::LIBCLI_RESOLVE]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_COMPOSITE_BASE LIBCLI_NBT LIBEVENTS LIBNETIF LIBTALLOC 
+
+[SUBSYSTEM::LIBCLI_UTILS]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBTALLOC 
+
+[SUBSYSTEM::LIBCLI_WINS]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIBTALLOC NDR_WINSREPL SOCKET 
+
+[SUBSYSTEM::LIBCMDLINE]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBTALLOC EXT_LIB_POPT EXT_LIB_READLINE EXT_LIB_ALLLIBS
+
+[SUBSYSTEM::LIBCOM]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBCLI_UTILS LIBNDR_RAW LIBTALLOC 
+
+[SUBSYSTEM::LIBCRYPTO]
+REQUIRED_SUBSYSTEMS = LIBBASIC 
+
+[SUBSYSTEM::LIBEVENTS]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBTALLOC 
+
+[SUBSYSTEM::LIBLDB]
+REQUIRED_SUBSYSTEMS = LIBTALLOC 
+
+[SUBSYSTEM::LIBNDR_RAW]
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC LIBCLI_UTILS LIBTALLOC 
+
+[SUBSYSTEM::LIBNETIF]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBTALLOC 
+
+[SUBSYSTEM::LIBNET]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_AUTH LIBCLI_RESOLVE LIBCLI_UTILS LIBCRYPTO LIBLDB LIBRPC_RAW LIBTALLOC RPC_NDR_SAMR RPC_NDR_SRVSVC SAMDB 
+
+[SUBSYSTEM::LIBREPLACE]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::LIBRPC_RAW]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_AUTH LIBCLI_RAW LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIBSMB LIBTALLOC NDR_DCERPC NDR_MISC NDR_SCHANNEL RPC_NDR_EPMAPPER RPC_NDR_NETLOGON SCHANNELDB SOCKET 
+
+[SUBSYSTEM::LIB_SECURITY_NDR]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIB_SECURITY LIBTALLOC 
+
+[SUBSYSTEM::LIB_SECURITY]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIB_SECURITY_NDR LIBTALLOC SAMDB 
+
+[SUBSYSTEM::LIBSMB]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_AUTH LIBCLI_COMPOSITE LIBCLI_RAW LIBCLI_UTILS LIBTALLOC 
+
+[SUBSYSTEM::LIBTALLOC]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::LIBTDB]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::LIB_WINBIND_CLIENT]
+REQUIRED_SUBSYSTEMS = 
+
+[SUBSYSTEM::MESSAGING]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBCLI_UTILS LIBEVENTS LIBTALLOC SOCKET 
+
+[SUBSYSTEM::NBTD]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_NBT LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIBNETIF LIBTALLOC NBTD_WINS NDR_NBT SERVER_SERVICE SOCKET 
+
+[SUBSYSTEM::NBTD_WINS]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_NBT LIBCLI_UTILS LIBEVENTS LIBLDB LIBTALLOC NBTD 
+
+[SUBSYSTEM::NDR_ATSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC 
+
+[SUBSYSTEM::NDR_AUDIOSRV]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_BROWSER]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_DBGIDL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_DCERPC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_DCOM]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC NDR_ORPC 
+
+[SUBSYSTEM::NDR_DFS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_DRSBLOBS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_DRSUAPI]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_DSBACKUP]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_DSSETUP]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_ECHO]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC 
+
+[SUBSYSTEM::NDR_EFS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_EPMAPPER]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_EVENTLOG]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIBRPC_RAW LIB_SECURITY LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_EXCHANGE]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_KEYSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_KRB5PAC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIB_SECURITY LIBTALLOC NDR_NETLOGON 
+
+[SUBSYSTEM::NDR_LSA]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIBRPC_RAW LIB_SECURITY LIB_SECURITY_NDR LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_MGMT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_DCERPC 
+
+[SUBSYSTEM::NDR_MISC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW 
+
+[SUBSYSTEM::NDR_MSGSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_NBT]
+REQUIRED_SUBSYSTEMS = LIBCLI_NBT LIBNDR_RAW LIBTALLOC 
+
+[SUBSYSTEM::NDR_NETLOGON]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIBRPC_RAW LIB_SECURITY LIB_SECURITY_NDR LIBTALLOC NDR_LSA NDR_MISC NDR_SAMR 
+
+[SUBSYSTEM::NDR_NTSVCS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_ORPC_MANUAL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBTALLOC NDR_ORPC 
+
+[SUBSYSTEM::NDR_ORPC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBTALLOC NDR_MISC NDR_ORPC_MANUAL 
+
+[SUBSYSTEM::NDR_OXIDRESOLVER]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC NDR_ORPC NDR_ORPC_MANUAL 
+
+[SUBSYSTEM::NDR_POLICYAGENT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_PROTECTED_STORAGE]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_REMACT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC NDR_ORPC NDR_ORPC_MANUAL 
+
+[SUBSYSTEM::NDR_ROT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_ORPC 
+
+[SUBSYSTEM::NDR_SAMR]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIBRPC_RAW LIB_SECURITY LIB_SECURITY_NDR LIBTALLOC NDR_LSA NDR_MISC 
+
+[SUBSYSTEM::NDR_SCERPC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_SCHANNEL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW 
+
+[SUBSYSTEM::NDR_SPOOLSS_BUF]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIBTALLOC NDR_MISC NDR_SPOOLSS 
+
+[SUBSYSTEM::NDR_SPOOLSS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIB_SECURITY_NDR LIBTALLOC NDR_MISC NDR_SPOOLSS_BUF 
+
+[SUBSYSTEM::NDR_SRVSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIB_SECURITY_NDR LIBTALLOC NDR_SVCCTL 
+
+[SUBSYSTEM::NDR_SVCCTL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_TRKWKS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_W32TIME]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_WINREG]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBNDR_RAW LIBRPC_RAW LIB_SECURITY_NDR LIBTALLOC NDR_MISC 
+
+[SUBSYSTEM::NDR_WINS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_WINSREPL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC 
+
+[SUBSYSTEM::NDR_WKSSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW LIBTALLOC NDR_SRVSVC 
+
+[SUBSYSTEM::NDR_WZCSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW 
+
+[SUBSYSTEM::NDR_XATTR]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIB_SECURITY_NDR LIBTALLOC 
+
+[SUBSYSTEM::ntvfs_common]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIB_SECURITY LIBTALLOC LIBTDB MESSAGING SAMDB 
+
+[SUBSYSTEM::NTVFS]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBTALLOC 
+
+[SUBSYSTEM::PROCESS_MODEL]
+REQUIRED_SUBSYSTEMS = LIBBASIC 
+
+[SUBSYSTEM::process_model_thread]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBEVENTS LIBTALLOC PROCESS_MODEL SOCKET 
+
+[SUBSYSTEM::REGISTRY]
+REQUIRED_SUBSYSTEMS = CHARSET CONFIG LIBBASIC LIBTALLOC 
+
+[SUBSYSTEM::RPC_NDR_ATSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_ATSVC 
+
+[SUBSYSTEM::RPC_NDR_AUDIOSRV]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_AUDIOSRV 
+
+[SUBSYSTEM::RPC_NDR_BROWSER]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_BROWSER 
+
+[SUBSYSTEM::RPC_NDR_DBGIDL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DBGIDL 
+
+[SUBSYSTEM::RPC_NDR_DFS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DFS 
+
+[SUBSYSTEM::RPC_NDR_DRSBLOBS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DRSBLOBS 
+
+[SUBSYSTEM::RPC_NDR_DRSUAPI]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DRSUAPI 
+
+[SUBSYSTEM::RPC_NDR_DSBACKUP]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DSBACKUP 
+
+[SUBSYSTEM::RPC_NDR_DSSETUP]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_DSSETUP 
+
+[SUBSYSTEM::RPC_NDR_ECHO]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_ECHO 
+
+[SUBSYSTEM::RPC_NDR_EFS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_EFS 
+
+[SUBSYSTEM::RPC_NDR_EPMAPPER]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_EPMAPPER 
+
+[SUBSYSTEM::RPC_NDR_EVENTLOG]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_EVENTLOG 
+
+[SUBSYSTEM::RPC_NDR_EXCHANGE]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_EXCHANGE 
+
+[SUBSYSTEM::RPC_NDR_KEYSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_KEYSVC 
+
+[SUBSYSTEM::RPC_NDR_LSA]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_LSA 
+
+[SUBSYSTEM::RPC_NDR_MGMT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_MGMT 
+
+[SUBSYSTEM::RPC_NDR_MSGSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_MSGSVC 
+
+[SUBSYSTEM::RPC_NDR_NETLOGON]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_NETLOGON 
+
+[SUBSYSTEM::RPC_NDR_NTSVCS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_NTSVCS 
+
+[SUBSYSTEM::RPC_NDR_OXIDRESOLVER]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_OXIDRESOLVER 
+
+[SUBSYSTEM::RPC_NDR_POLICYAGENT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_POLICYAGENT 
+
+[SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_PROTECTED_STORAGE 
+
+[SUBSYSTEM::RPC_NDR_REMACT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_REMACT 
+
+[SUBSYSTEM::RPC_NDR_ROT]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_ROT 
+
+[SUBSYSTEM::RPC_NDR_SAMR]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_SAMR 
+
+[SUBSYSTEM::RPC_NDR_SCERPC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_SCERPC 
+
+[SUBSYSTEM::RPC_NDR_SPOOLSS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_SPOOLSS NDR_SPOOLSS_BUF 
+
+[SUBSYSTEM::RPC_NDR_SRVSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_SRVSVC 
+
+[SUBSYSTEM::RPC_NDR_SVCCTL]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_SVCCTL 
+
+[SUBSYSTEM::RPC_NDR_TRKWKS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_TRKWKS 
+
+[SUBSYSTEM::RPC_NDR_W32TIME]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_W32TIME 
+
+[SUBSYSTEM::RPC_NDR_WINREG]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_WINREG 
+
+[SUBSYSTEM::RPC_NDR_WINS]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_WINS 
+
+[SUBSYSTEM::RPC_NDR_WKSSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_WKSSVC 
+
+[SUBSYSTEM::RPC_NDR_WZCSVC]
+REQUIRED_SUBSYSTEMS = LIBNDR_RAW LIBRPC_RAW NDR_WZCSVC 
+
+[SUBSYSTEM::SAMDB]
+REQUIRED_SUBSYSTEMS = CONFIG DCERPC_COMMON LIBBASIC LIBCLI_AUTH LIBLDB LIBNDR_RAW LIB_SECURITY LIBTALLOC 
+
+[SUBSYSTEM::SCHANNELDB]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBLDB LIBTALLOC 
+
+[SUBSYSTEM::SERVER_SERVICE]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_UTILS LIBEVENTS LIBTALLOC MESSAGING PROCESS_MODEL SOCKET 
+
+[SUBSYSTEM::SMB]
+REQUIRED_SUBSYSTEMS = AUTH CHARSET CONFIG GENSEC LIBBASIC LIBCLI_NBT LIBCLI_RAW LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIBNETIF LIBREPLACE LIB_SECURITY_NDR LIBTALLOC NDR_MISC NTVFS SERVER_SERVICE SOCKET 
+
+[SUBSYSTEM::SOCKET]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_UTILS LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_AUTH]
+REQUIRED_SUBSYSTEMS = LIBBASIC LIBCLI_UTILS 
+
+[SUBSYSTEM::TORTURE_BASIC]
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC LIBCLI_COMPOSITE LIBCLI_RAW LIBCLI_UTILS LIBSMB LIBTALLOC LIBTDB 
+
+[SUBSYSTEM::TORTURE_COM]
+REQUIRED_SUBSYSTEMS = CONFIG LIBCLI_UTILS LIBCOM LIBNDR_RAW LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_LDAP]
+REQUIRED_SUBSYSTEMS = CONFIG GENSEC LIBBASIC LIBCLI_LDAP LIBCLI_UTILS LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_LOCAL]
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC LIBCLI_UTILS LIBEVENTS LIBRPC_RAW LIBTALLOC MESSAGING SOCKET 
+
+[SUBSYSTEM::TORTURE_NBENCH]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_RAW LIBCLI_UTILS LIBSMB LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_NBT]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_NBT LIBCLI_RESOLVE LIBCLI_UTILS LIBCLI_WINS LIBEVENTS LIBNETIF LIBTALLOC SOCKET 
+
+[SUBSYSTEM::TORTURE_RAP]
+REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC LIBCLI_RAW LIBNDR_RAW LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_RAW]
+REQUIRED_SUBSYSTEMS = CONFIG LIBBASIC LIBCLI_COMPOSITE LIBCLI_LSA LIBCLI_RAW LIBCLI_UTILS LIBEVENTS LIBNDR_RAW LIB_SECURITY LIB_SECURITY_NDR LIBSMB LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_RPC]
+REQUIRED_SUBSYSTEMS = CHARSET CONFIG GENSEC LIBBASIC LIBCLI_AUTH LIBCLI_COMPOSITE LIBCLI_NBT LIBCLI_RAW LIBCLI_UTILS LIBCRYPTO LIBEVENTS LIBNDR_RAW LIBRPC_RAW LIB_SECURITY LIB_SECURITY_NDR LIBTALLOC NDR_MISC NDR_NETLOGON NDR_SRVSVC RPC_NDR_ATSVC RPC_NDR_DFS RPC_NDR_DRSUAPI RPC_NDR_DSSETUP RPC_NDR_ECHO RPC_NDR_EPMAPPER RPC_NDR_EVENTLOG RPC_NDR_LSA RPC_NDR_MGMT RPC_NDR_NETLOGON RPC_NDR_OXIDRESOLVER RPC_NDR_REMACT RPC_NDR_SAMR RPC_NDR_SPOOLSS RPC_NDR_SRVSVC RPC_NDR_SVCCTL RPC_NDR_WINREG RPC_NDR_WKSSVC 
+
Index: binaries.mk
===================================================================
--- binaries.mk	(revision 0)
+++ binaries.mk	(revision 0)
@@ -0,0 +1,100 @@
+[BINARY::gregedit]
+INCLUDES = bin_gregedit
+
+[BINARY::gepdump]
+INCLUDES = bin_gepdump
+
+[BINARY::gwcrontab]
+INCLUDES = bin_gwcrontab
+
+[BINARY::gwsam]
+INCLUDES = bin_gwsam
+
+[BINARY::smbd]
+INCLUDES = bin_smbd
+
+[BINARY::ldbadd]
+INCLUDES = bin_ldbadd
+
+[BINARY::ldbdel]
+INCLUDES = bin_ldbdel
+
+[BINARY::ldbmodify]
+INCLUDES = bin_ldbmodify
+
+[BINARY::ldbsearch]
+INCLUDES = bin_ldbsearch
+
+[BINARY::ldbedit]
+INCLUDES = bin_ldbedit
+
+[BINARY::ldbrename]
+INCLUDES = bin_ldbrename
+
+[BINARY::ldbtest]
+INCLUDES = bin_ldbtest
+
+[BINARY::regdiff]
+INCLUDES = bin_regdiff
+
+[BINARY::regpatch]
+INCLUDES = bin_regpatch
+
+[BINARY::regshell]
+INCLUDES = bin_regshell
+
+[BINARY::regtree]
+INCLUDES = bin_regtree
+
+[BINARY::tdbtest]
+INCLUDES = bin_tdbtest
+
+[BINARY::tdbtool]
+INCLUDES = bin_tdbtool
+
+[BINARY::tdbtorture]
+INCLUDES = bin_tdbtorture
+
+[BINARY::tdbdump]
+INCLUDES = bin_tdbdump
+
+[BINARY::tdbbackup]
+INCLUDES = bin_tdbbackup
+
+[BINARY::net]
+INCLUDES = bin_net
+
+[BINARY::ndrdump]
+INCLUDES = bin_ndrdump
+
+[BINARY::ntlm_auth]
+INCLUDES = bin_ntlm_auth
+
+[BINARY::getntacl]
+INCLUDES = bin_getntacl
+
+[BINARY::setntacl]
+INCLUDES = bin_setntacl
+
+[BINARY::setnttoken]
+INCLUDES = bin_setnttoken
+
+[BINARY::nmblookup]
+INCLUDES = bin_nmblookup
+
+[BINARY::smbtorture]
+INCLUDES = bin_smbtorture
+
+[BINARY::gentest]
+INCLUDES = bin_gentest
+
+[BINARY::masktest]
+INCLUDES = bin_masktest
+
+[BINARY::locktest]
+INCLUDES = bin_locktest
+
+[BINARY::smbclient]
+INCLUDES = bin_smbclient
+
+
Index: torture/config.mk
===================================================================
--- torture/config.mk	(revision 6388)
+++ torture/config.mk	(working copy)
@@ -85,7 +85,6 @@
 		torture/rpc/eventlog.o \
 		torture/rpc/epmapper.o \
 		torture/rpc/winreg.o \
-		torture/rpc/initshutdown.o \
 		torture/rpc/oxidresolve.o \
 		torture/rpc/remact.o \
 		torture/rpc/mgmt.o \
@@ -103,8 +102,8 @@
 		torture/rpc/dssetup.o \
 		torture/rpc/alter_context.o
 REQUIRED_SUBSYSTEMS = \
-		NDR_ALL RPC_NDR_SAMR RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN \
-		RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
+		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 RPC_NDR_ROT RPC_NDR_DSSETUP \
@@ -176,8 +175,7 @@
 		torture/nbt/register.o \
 		torture/nbt/wins.o \
 		torture/nbt/winsbench.o \
-		torture/nbt/winsreplication.o \
-		torture/nbt/dgram.o
+		torture/nbt/winsreplication.o
 REQUIRED_SUBSYSTEMS = \
 		LIBSMB LIBCLI_WINS
 # End SUBSYSTEM TORTURE_NBT
@@ -195,7 +193,7 @@
 
 #################################
 # Start BINARY smbtorture
-[BINARY::smbtorture]
+[SUBSYSTEM::bin_smbtorture]
 OBJ_FILES = \
 		torture/torture.o \
 		torture/torture_util.o
@@ -219,7 +217,7 @@
 
 #################################
 # Start BINARY gentest
-[BINARY::gentest]
+[SUBSYSTEM::bin_gentest]
 OBJ_FILES = \
 		torture/gentest.o \
 		torture/torture_util.o
@@ -234,7 +232,7 @@
 
 #################################
 # Start BINARY masktest
-[BINARY::masktest]
+[SUBSYSTEM::bin_masktest]
 OBJ_FILES = \
 		torture/masktest.o
 REQUIRED_SUBSYSTEMS = \
@@ -248,7 +246,7 @@
 
 #################################
 # Start BINARY locktest
-[BINARY::locktest]
+[SUBSYSTEM::bin_locktest]
 OBJ_FILES = \
 		torture/locktest.o \
 		torture/torture_util.o
Index: nbt_server/config.mk
===================================================================
--- nbt_server/config.mk	(revision 6388)
+++ nbt_server/config.mk	(working copy)
@@ -14,19 +14,6 @@
 #######################
 
 #######################
-# Start SUBSYSTEM NBTD_DGRAM
-[SUBSYSTEM::NBTD_DGRAM]
-ADD_OBJ_FILES = \
-		nbt_server/dgram/request.o \
-		nbt_server/dgram/netlogon.o \
-		nbt_server/dgram/ntlogon.o \
-		nbt_server/dgram/browse.o
-REQUIRED_SUBSYSTEMS = \
-		LIBCLI_DGRAM
-# End SUBSYSTEM NBTD_DGRAM
-#######################
-
-#######################
 # Start SUBSYSTEM NBTD
 [SUBSYSTEM::NBTD]
 INIT_OBJ_FILES = \
@@ -39,6 +26,7 @@
 		nbt_server/defense.o \
 		nbt_server/packet.o
 REQUIRED_SUBSYSTEMS = \
-		LIBCLI_NBT NBTD_WINS NBTD_DGRAM
+		LIBCLI_NBT NBTD_WINS
 # End SUBSYSTEM NBTD
 #######################
+
Index: librpc/config.mk
===================================================================
--- librpc/config.mk	(revision 6388)
+++ librpc/config.mk	(working copy)
@@ -5,10 +5,8 @@
 		librpc/ndr/ndr.o
 ADD_OBJ_FILES = \
 		librpc/ndr/ndr_basic.o \
-		librpc/ndr/ndr_compression.o \
-		librpc/ndr/ndr_obfuscate.o \
 		librpc/ndr/ndr_misc.o
-REQUIRED_SUBSYSTEMS = LIBCLI_UTILS LIBCOMPRESSION
+REQUIRED_SUBSYSTEMS = LIBCLI_UTILS
 # End SUBSYSTEM LIBNDR_RAW
 ################################################
 
@@ -22,9 +20,9 @@
 		librpc/rpc/dcerpc.o
 ADD_OBJ_FILES = \
 		librpc/rpc/dcerpc_auth.o \
-		librpc/rpc/dcerpc_schannel.o \
 		librpc/rpc/dcerpc_util.o \
 		librpc/rpc/dcerpc_error.o \
+		librpc/rpc/dcerpc_schannel.o \
 		librpc/rpc/dcerpc_smb.o \
 		librpc/rpc/dcerpc_sock.o
 REQUIRED_SUBSYSTEMS = SOCKET
@@ -191,12 +189,6 @@
 INIT_FUNCTION = dcerpc_winreg_init
 INIT_OBJ_FILES = librpc/gen_ndr/ndr_winreg.o
 NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_INITSHUTDOWN
-
-[SUBSYSTEM::NDR_INITSHUTDOWN]
-INIT_FUNCTION = dcerpc_initshutdown_init
-INIT_OBJ_FILES = librpc/gen_ndr/ndr_initshutdown.o
-NOPROTO = YES
 REQUIRED_SUBSYSTEMS = LIBNDR
 
 [SUBSYSTEM::NDR_MGMT]
@@ -325,8 +317,8 @@
 	NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE 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 \
-	NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL LIB_SECURITY_NDR \
-	NDR_INITSHUTDOWN
+	NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL LIB_SECURITY_NDR
+CHOSEN_BUILD = SHARED
 
 [SUBSYSTEM::RPC_NDR_ROT]
 ADD_OBJ_FILES = librpc/gen_ndr/ndr_rot_c.o
@@ -448,11 +440,6 @@
 REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINREG
 NOPROTO = YES
 
-[SUBSYSTEM::RPC_NDR_INITSHUTDOWN]
-ADD_OBJ_FILES = librpc/gen_ndr/ndr_initshutdown_c.o
-REQUIRED_SUBSYSTEMS = LIBRPC NDR_INITSHUTDOWN
-NOPROTO = YES
-
 [SUBSYSTEM::RPC_NDR_MGMT]
 ADD_OBJ_FILES = librpc/gen_ndr/ndr_mgmt_c.o
 REQUIRED_SUBSYSTEMS = LIBRPC NDR_MGMT
@@ -522,5 +509,7 @@
 # Start SUBSYSTEM LIBRPC
 [SUBSYSTEM::LIBRPC]
 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
+CHOSEN_BUILD = SHARED
 # End SUBSYSTEM LIBRPC
 ################################################
+
Index: client/config.mk
===================================================================
--- client/config.mk	(revision 6388)
+++ client/config.mk	(working copy)
@@ -2,7 +2,7 @@
 
 #################################
 # Start BINARY smbclient
-[BINARY::smbclient]
+[SUBSYSTEM::bin_smbclient]
 OBJ_FILES = \
 		client/client.o
 REQUIRED_SUBSYSTEMS = \


More information about the samba-technical mailing list