diff options
author | Andreas Schneider <asn@samba.org> | 2016-11-22 13:47:32 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2016-12-04 16:35:22 +0100 |
commit | f858121d8f94bd0da6fb93c4e6ab5f4a0e3c9c51 (patch) | |
tree | a4112c63fd126a0ea0e0152cc71ad7a7c23dc50a /source3/wscript_build | |
parent | 4c4fb6926d1f0ea2d5a82d579b9787d249f9f08f (diff) | |
download | samba-f858121d8f94bd0da6fb93c4e6ab5f4a0e3c9c51.tar.gz |
s3:waf: Make PARAM and SMBREGISTRY a subsystem of smbconf only
This is the only way to resolve cirular dependencies with these
libraries. I've tried several ways but this is the only way to do it
correctly. In future we should try to seperate them by passing down
information or making a more lightweight loadparm mechanism.
+---------+ +-------------+
| | | |
| param <---------+ +--------+ smbregistry |
| | | | | |
+----+----+ | | +------^------+
| +---+----v--+ |
| | | |
+----------> smbconf +------------+
| |
+-----------+
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3/wscript_build')
-rwxr-xr-x | source3/wscript_build | 95 |
1 files changed, 48 insertions, 47 deletions
diff --git a/source3/wscript_build b/source3/wscript_build index 6fa3ce6944a..2ecf8a73e06 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -57,7 +57,7 @@ bld.SAMBA3_LIBRARY('netapi', bld.SAMBA3_LIBRARY('gse', source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c', - deps='krb5samba gensec param KRBCLIENT secrets3', + deps='krb5samba gensec smbconf KRBCLIENT secrets3', private_library=True) bld.SAMBA3_LIBRARY('msrpc3', @@ -213,26 +213,6 @@ bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX', source='lib/server_mutex.c', deps='talloc') -bld.SAMBA3_SUBSYSTEM('param', - source=''' - param/loadparm.c - lib/sharesec.c - lib/ldap_debug_handler.c - lib/util_names.c - ''', - deps=''' - samba-util - PARAM_UTIL - ldap - lber - LOADPARM_CTX - samba3core - smbconf - param_local.h - param_global.h - cups - ''') - # this includes only the low level parse code, not stuff # that requires knowledge of security contexts bld.SAMBA3_SUBSYSTEM('REG_PARSE_PRS', @@ -246,7 +226,8 @@ bld.SAMBA3_SUBSYSTEM('REG_API_REGF', source='registry/reg_api_regf.c', deps='samba-util') -bld.SAMBA3_LIBRARY('smbregistry', +# Do not link against this use 'smbconf' +bld.SAMBA3_SUBSYSTEM('SMBREGISTRY', source=''' registry/reg_api.c registry/reg_dispatcher.c @@ -272,10 +253,9 @@ bld.SAMBA3_LIBRARY('smbregistry', errors3 dbwrap samba3-util - ''', - allow_undefined_symbols=True, - private_library=True) + ''') +# Do not link against this use 'smbconf' bld.SAMBA3_SUBSYSTEM('REG_SMBCONF', source=''' registry/reg_backend_smbconf.c @@ -283,7 +263,7 @@ bld.SAMBA3_SUBSYSTEM('REG_SMBCONF', registry/reg_util_token.c registry/reg_api_util.c ''', - deps='smbregistry') + deps='SMBREGISTRY') bld.SAMBA3_SUBSYSTEM('REG_FULL', source=''' @@ -298,7 +278,7 @@ bld.SAMBA3_SUBSYSTEM('REG_FULL', registry/reg_init_full.c registry/reg_perfcount.c''', deps=''' - REG_SMBCONF + smbconf tdb-wrap3 ''') @@ -451,7 +431,7 @@ bld.SAMBA3_SUBSYSTEM('samba3core', SAMBA_VERSION PTHREADPOOL interfaces - param + smbconf dbwrap samba3-util errors3 @@ -529,7 +509,7 @@ bld.SAMBA3_LIBRARY('secrets3', ''', deps=''' NDR_SECRETS - param + smbconf samba3util dbwrap ''', @@ -537,7 +517,7 @@ bld.SAMBA3_LIBRARY('secrets3', bld.SAMBA3_LIBRARY('smbldap', source='lib/smbldap.c', - deps='ldap lber samba-util param', + deps='ldap lber samba-util smbconf', enabled=bld.CONFIG_SET("HAVE_LDAP"), private_library=False, abi_directory='lib/ABI', @@ -568,7 +548,7 @@ bld.SAMBA3_LIBRARY('ads', ldap lber KRBCLIENT - param + smbconf LIBNMB libsmb DCUTIL @@ -584,6 +564,27 @@ bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER', source='libads/ldap_printer.c', deps='samba-util krb5samba') +# Only smbconf should link against this subsystem, else we will create +# a circular dependency. +bld.SAMBA3_SUBSYSTEM('SMBCONF_PARAM', + source=''' + param/loadparm.c + lib/sharesec.c + lib/ldap_debug_handler.c + lib/util_names.c + ''', + deps=''' + samba-util + PARAM_UTIL + ldap + lber + LOADPARM_CTX + samba3core + param_local.h + param_global.h + cups + ''') + bld.SAMBA3_LIBRARY('smbconf', source=''' lib/smbconf/smbconf_init.c @@ -598,9 +599,8 @@ bld.SAMBA3_LIBRARY('smbconf', charset cli_smb_common errors3 - param + SMBCONF_PARAM samba-util - smbregistry talloc util_reg ''', @@ -826,7 +826,7 @@ bld.SAMBA3_LIBRARY('printing_migrate', cli_spoolss RPC_NDR_WINREG LIBCLI_WINREG - param + smbconf ''', private_library=True) @@ -1037,7 +1037,7 @@ bld.SAMBA3_LIBRARY('libcli_netlogon3', RPC_NDR_NETLOGON INIT_NETLOGON cliauth - param + smbconf NETLOGON_CREDS_CLI''', private_library=True) @@ -1048,7 +1048,7 @@ bld.SAMBA3_LIBRARY('cli_spoolss', ''', deps=''' RPC_NDR_SPOOLSS - param + smbconf secrets3''', private_library=True) @@ -1116,7 +1116,7 @@ bld.SAMBA3_BINARY('client/smbclient', deps=''' talloc popt_samba3 - param + smbconf ndr-standard SMBREADLINE libsmb @@ -1131,7 +1131,7 @@ bld.SAMBA3_BINARY('smbspool', deps=''' talloc popt_samba3 - param + smbconf libsmb samba3core ''') @@ -1149,7 +1149,7 @@ bld.SAMBA3_BINARY('locktest2', source='torture/locktest2.c', deps=''' talloc - param + smbconf libsmb LOCKING ''', @@ -1166,7 +1166,7 @@ bld.SAMBA3_BINARY('smbstatus', source=smbstatus_source, deps=''' talloc - param + smbconf popt_samba3 smbd_base LOCKING @@ -1209,7 +1209,7 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3, ''', deps=''' talloc - param + smbconf libsmb msrpc3 TLDAP @@ -1228,7 +1228,7 @@ bld.SAMBA3_BINARY('smbconftort', source='lib/smbconf/testsuite.c', deps=''' talloc - param + smbconf popt_samba3 ''', install=False) @@ -1242,7 +1242,7 @@ bld.SAMBA3_BINARY('msgtest', source='torture/msgtest.c', deps=''' talloc - param + smbconf ''', install=False) @@ -1250,7 +1250,7 @@ bld.SAMBA3_BINARY('msg_sink', source='torture/msg_sink.c', deps=''' talloc - param + smbconf ''', install=False) @@ -1258,7 +1258,7 @@ bld.SAMBA3_BINARY('msg_source', source='torture/msg_source.c', deps=''' talloc - param + smbconf ''', install=False) @@ -1282,6 +1282,7 @@ bld.SAMBA3_BINARY('vfstest', deps=''' vfs popt_samba3 + smbconf SMBREADLINE ''', install=False) @@ -1290,7 +1291,7 @@ bld.SAMBA3_BINARY('versiontest', source='lib/version_test.c', deps=''' SAMBA_VERSION - param + smbconf ''', install=False) @@ -1310,7 +1311,7 @@ bld.SAMBA3_BINARY('vlp', source='printing/tests/vlp.c', deps=''' talloc - param + smbconf ''', install=False) |