[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