summaryrefslogtreecommitdiff
path: root/source3/wscript_build
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2010-04-22 23:33:38 +0200
committerKai Blin <kai@samba.org>2010-05-20 22:16:14 +0200
commit9496bdc04f942be117816746e9838c0e57fa759b (patch)
treee698806a93a287088ef0495e5764eb364dda1046 /source3/wscript_build
parentc8c54af69ea032a00f27750928df6cd129011eec (diff)
downloadsamba-9496bdc04f942be117816746e9838c0e57fa759b.tar.gz
samba-9496bdc04f942be117816746e9838c0e57fa759b.tar.bz2
samba-9496bdc04f942be117816746e9838c0e57fa759b.zip
s3-waf: Introduce more subsystems to reduce build time
Diffstat (limited to 'source3/wscript_build')
-rw-r--r--source3/wscript_build76
1 files changed, 54 insertions, 22 deletions
diff --git a/source3/wscript_build b/source3/wscript_build
index 05830ee751..33431aa056 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -178,7 +178,7 @@ LIB_SRC = '''${LIBSAMBAUTIL_SRC} ${UTIL_SRC} ${CRYPTO_SRC}
../libcli/security/dom_sid.c ../libcli/security/security_descriptor.c'''
LIB_DUMMY_SRC = '''lib/dummysmbd.c lib/dummyroot.c'''
-LIB_NONSMBD_SRC = '''${LIB_SRC} ${LIB_DUMMY_SRC}'''
+LIB_NONSMBD_SRC = '''${LIB_DUMMY_SRC}'''
READLINE_SRC = '''lib/readline.c'''
@@ -188,7 +188,7 @@ POPT_LIB_SRC = '''lib/popt_common.c'''
PARAM_WITHOUT_REG_SRC = '''param/loadparm.c param/util.c lib/sharesec.c lib/ldap_debug_handler.c'''
PARAM_REG_ADD_SRC = '''${REG_SMBCONF_SRC} ${LIBSMBCONF_SRC} ${PRIVILEGES_BASIC_SRC}'''
-PARAM_SRC = '''${PARAM_WITHOUT_REG_SRC} ${PARAM_REG_ADD_SRC}'''
+PARAM_SRC = '''${PARAM_REG_ADD_SRC}'''
KRBCLIENT_SRC = '''libads/kerberos.c libads/ads_status.c'''
@@ -248,8 +248,7 @@ LIBSMB_SRC0 = '''
${LIBNDR_NTLMSSP_SRC}
../libcli/auth/ntlmssp_ndr.c'''
-LIBSAMBA_SRC = '''${LIBSMB_SRC0}
- ${LIBSMB_ERR_SRC}'''
+LIBSAMBA_SRC = '${LIBSMB_SRC0}'
LIBCLI_LDAP_MESSAGE_SRC = '''../libcli/ldap/ldap_message.c'''
LIBCLI_LDAP_NDR_SRC = '''../libcli/ldap/ldap_ndr.c'''
@@ -281,7 +280,6 @@ LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
libsmb/clistr.c libsmb/cliquota.c libsmb/clifsinfo.c libsmb/clidfs.c
libsmb/clioplock.c libsmb/clirap2.c
libsmb/smb_seal.c libsmb/async_smb.c
- ${LIBSAMBA_SRC}
${LIBNMB_SRC}
${LIBNBT_SRC}
${CLDAP_SRC}
@@ -657,8 +655,8 @@ WINBINDD_SRC1 = '''winbindd/winbindd.c
../nsswitch/libwbclient/wb_reqtrans.c'''
WINBINDD_SRC = '''${WINBINDD_SRC1}
- ${PARAM_SRC} ${LIB_NONSMBD_SRC}
- ${LIBSMB_SRC} ${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
+ ${PARAM_SRC}
+ ${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
${PROFILE_SRC} ${SLCACHE_SRC} ${SMBLDAP_SRC}
${LIBADS_SRC} ${KRBCLIENT_SRC} ${POPT_LIB_SRC}
${DCUTIL_SRC} ${IDMAP_SRC} ${NSS_INFO_SRC}
@@ -749,10 +747,10 @@ SMBD_SRC_SRV = '''smbd/files.c smbd/chgpasswd.c smbd/connection.c
../libcli/smb/smb2_create_blob.c
${MANGLE_SRC} ${VFS_DEFAULT_SRC}'''
-SMBD_SRC_BASE = '''${PARAM_WITHOUT_REG_SRC} ${SMBD_SRC_SRV}
- ${LIBSMB_SRC} ${RPC_SERVER_SRC} ${RPC_PARSE_SRC}
+SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
+ ${RPC_SERVER_SRC} ${RPC_PARSE_SRC}
${LOCKING_SRC} ${PRINTING_SRC}
- ${PROFILE_SRC} ${LIB_SRC} ${PRINTBACKEND_SRC}
+ ${PROFILE_SRC} ${PRINTBACKEND_SRC}
${OPLOCK_SRC} ${NOTIFY_SRC} ${FNAME_UTIL_SRC}
${LIBMSRPC_SRC}
${LIBMSRPC_GEN_SRC} ${AVAHI_SRC} ${LIBADS_SRC}
@@ -792,16 +790,13 @@ NMBD_SRC1 = '''nmbd/asyncdns.c nmbd/nmbd.c nmbd/nmbd_become_dmb.c
nmbd/nmbd_subnetdb.c nmbd/nmbd_winsproxy.c nmbd/nmbd_winsserver.c
nmbd/nmbd_workgroupdb.c nmbd/nmbd_synclists.c'''
-NMBD_SRC = '''${NMBD_SRC1} ${PARAM_SRC} ${LIBSMB_SRC} ${KRBCLIENT_SRC}
- ${PROFILE_SRC} ${LIB_NONSMBD_SRC} ${POPT_LIB_SRC}
+NMBD_SRC = '''${NMBD_SRC1} ${KRBCLIENT_SRC}
+ ${PROFILE_SRC} ${POPT_LIB_SRC}
${LIBNDR_GEN_SRC0}'''
-WBINFO_SRC = '''../nsswitch/wbinfo.c ${LIBSAMBA_SRC} ${PARAM_SRC} ${LIB_NONSMBD_SRC}
- ${POPT_LIB_SRC} ${AFS_SETTOKEN_SRC}'''
+WBINFO_SRC = '../nsswitch/wbinfo.c ${POPT_LIB_SRC} ${AFS_SETTOKEN_SRC}'
-TESTPARM_SRC = '''utils/testparm.c
- ${PARAM_SRC} ${LIB_NONSMBD_SRC} ${POPT_LIB_SRC}
- ${LIBSMB_ERR_SRC}'''
+TESTPARM_SRC = 'utils/testparm.c ${POPT_LIB_SRC}'
LIBS='ICONV'
@@ -869,26 +864,61 @@ bld.SAMBA_SUBSYSTEM('LDB',
includes='../lib/tdb/include lib',
vars=locals())
+bld.SAMBA_SUBSYSTEM('PARAM_WITHOUT_REG',
+ source=PARAM_WITHOUT_REG_SRC,
+ deps='tdb')
+
+bld.SAMBA_SUBSYSTEM('PARAM',
+ source=PARAM_SRC,
+ deps='PARAM_WITHOUT_REG',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBS',
+ source=LIB_SRC,
+ deps='tdb',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIB_NONSMBD',
+ source=LIB_NONSMBD_SRC,
+ deps='LIBS',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSMB_ERR',
+ source=LIBSMB_ERR_SRC,
+ deps='tdb',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSAMBA',
+ source=LIBSAMBA_SRC,
+ deps='LIBSMB_ERR',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSMB',
+ source=LIBSMB_SRC,
+ deps='LIBSAMBA',
+ vars=locals())
+
########################## BINARIES #################################
bld.SAMBA_BINARY('smbd/smbd',
source=SMBD_SRC,
deps='''tdb DYNCONFIG tevent popt dl krb5 ldap gssapi gssapi_krb5
- NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv z PASSDB LDB''',
+ NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv z PASSDB LDB
+ PARAM_WITHOUT_REG LIBS LIBSMB''',
includes='lib',
vars=locals())
bld.SAMBA_BINARY('nmbd/nmbd',
source=NMBD_SRC,
deps='''talloc tdb tevent z cap resolv LIBWBCLIENT popt dl
- NSS_WRAPPER DYNCONFIG PASSDB LDB''',
+ NSS_WRAPPER DYNCONFIG PASSDB LDB PARAM LIB_NONSMBD LIBSMB''',
includes='lib ../lib/tdb/include',
vars=locals())
bld.SAMBA_BINARY('winbindd/winbindd',
source=WINBINDD_SRC,
deps='''talloc tdb tevent cap dl popt DYNCONFIG z NSS_WRAPPER
- LIBWBCLIENT PASSDB resolv LDB''',
+ LIBWBCLIENT PASSDB resolv LDB PARAM LIB_NONSMBD''',
includes='lib',
enabled=(bld.env.WITH_WINBIND == 1),
vars=locals())
@@ -896,14 +926,16 @@ bld.SAMBA_BINARY('winbindd/winbindd',
bld.SAMBA_BINARY('wbinfo',
source=WBINFO_SRC,
deps='''talloc LIBWBCLIENT popt DYNCONFIG tevent tdb cap
- NSS_WRAPPER ASN1_UTIL LIBTSOCKET PASSDB''',
+ NSS_WRAPPER ASN1_UTIL LIBTSOCKET PASSDB PARAM LIB_NONSMBD
+ LIBSAMBA''',
includes='lib ../lib/tdb/include',
vars=locals())
bld.SAMBA_BINARY('testparm',
source=TESTPARM_SRC,
deps='''talloc tdb tevent popt DYNCONFIG cap NSS_WRAPPER
- LIBWBCLIENT ASN1_UTIL LIBTSOCKET PASSDB''',
+ LIBWBCLIENT ASN1_UTIL LIBTSOCKET PASSDB PARAM LIB_NONSMBD
+ LIBSMB_ERR''',
vars=locals())
########################## INCLLUDES #################################