From 1fd4556917df5d7e2aff4997ff7e5b57f2569b40 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Fri, 15 Aug 2014 16:00:32 +1000 Subject: [PATCH] lib/util: Factor out subsystem samba-util-core from samba-util samba-util depends on Samba-specific code. Exclude this code from samba-util-core. When told to, via SAMBA_UTIL_CORE_ONLY, only build samba-util-core and dependencies. When SAMBA_UTIL_CORE_ONLY is not defined then the behaviour should be unchanged. Standalone builds of CTDB will be done against samba-util-core to avoid pulling in Samba-specific code. An alternative would be to remove the Samba-dependent code from samba-util. However, some of it is used by OpenChange. Signed-off-by: Martin Schwenke Reviewed-by: Jeremy Allison --- lib/util/wscript_build | 145 ++++++++++++++++++++++------------------- 1 file changed, 78 insertions(+), 67 deletions(-) diff --git a/lib/util/wscript_build b/lib/util/wscript_build index 0a29fbcf333..d3865d8c033 100755 --- a/lib/util/wscript_build +++ b/lib/util/wscript_build @@ -31,16 +31,27 @@ bld.SAMBA_LIBRARY('socket-blocking', local_include=False, private_library=True) -bld.SAMBA_LIBRARY('samba-util', - source='''talloc_stack.c smb_threads.c xfile.c data_blob.c - util_file.c time.c rbtree.c rfc1738.c select.c getpass.c - genrand.c fsusage.c become_daemon.c signal.c system.c - params.c util.c util_id.c util_net.c util_strlist.c - util_paths.c idtree.c idtree_random.c fault.c base64.c - util_str.c util_str_common.c substitute.c ms_fnmatch.c +bld.SAMBA_SUBSYSTEM('samba-util-core', + source='''xfile.c data_blob.c util_file.c time.c + signal.c util.c idtree.c fault.c + substitute.c''', + deps='''time-basic samba-debug socket-blocking talloc + tevent execinfo pthread''', + local_include=False) + +if not bld.env.SAMBA_UTIL_CORE_ONLY: + + bld.SAMBA_LIBRARY('samba-util', + source='''talloc_stack.c smb_threads.c + rbtree.c rfc1738.c become_daemon.c system.c select.c getpass.c + genrand.c fsusage.c + params.c util_id.c util_net.c + util_strlist.c util_paths.c idtree_random.c base64.c + util_str.c util_str_common.c ms_fnmatch.c server_id.c dprintf.c parmlist.c bitmap.c pidfile.c tevent_debug.c util_process.c memcache.c''', - deps='DYNCONFIG time-basic close-low-fd samba-debug tini tiniparser socket-blocking', + deps='samba-util-core DYNCONFIG close-low-fd tini tiniparser', + public_deps='talloc tevent execinfo pthread LIBCRYPTO charset util_setid systemd-daemon', public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h idtree.h idtree_random.h blocking.h signal.h substitute.h fault.h', header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ], @@ -49,75 +60,75 @@ bld.SAMBA_LIBRARY('samba-util', pc_files='samba-util.pc' ) -bld.SAMBA_LIBRARY('samba-modules', - source='modules.c', - deps='errors samba-util', - local_include=False, - private_library=True) + bld.SAMBA_LIBRARY('samba-modules', + source='modules.c', + deps='errors samba-util', + local_include=False, + private_library=True) -bld.SAMBA_LIBRARY('asn1util', - source='asn1.c', - deps='talloc samba-util', - private_library=True, - local_include=False) + bld.SAMBA_LIBRARY('asn1util', + source='asn1.c', + deps='talloc samba-util', + private_library=True, + local_include=False) -bld.SAMBA_SUBSYSTEM('UNIX_PRIVS', - source='unix_privs.c', - autoproto='unix_privs.h', - deps='replace talloc', - local_include=False, - ) + bld.SAMBA_SUBSYSTEM('UNIX_PRIVS', + source='unix_privs.c', + autoproto='unix_privs.h', + deps='replace talloc', + local_include=False, + ) -bld.SAMBA_LIBRARY('util_tdb', - source='util_tdb.c', - local_include=False, - public_deps='tdb talloc', - private_library=True - ) + bld.SAMBA_LIBRARY('util_tdb', + source='util_tdb.c', + local_include=False, + public_deps='tdb talloc', + private_library=True + ) -if not bld.env.disable_ntdb: - bld.SAMBA_LIBRARY('util_ntdb', - source='util_ntdb.c', - local_include=False, - public_deps='ntdb talloc samba-util samba-hostconfig', - private_library=True - ) + if not bld.env.disable_ntdb: + bld.SAMBA_LIBRARY('util_ntdb', + source='util_ntdb.c', + local_include=False, + public_deps='ntdb talloc samba-util samba-hostconfig', + private_library=True + ) -bld.SAMBA_LIBRARY('tevent-util', - source='tevent_unix.c tevent_ntstatus.c tevent_werror.c', - local_include=False, - public_deps='tevent errors', - public_headers='tevent_ntstatus.h tevent_unix.h tevent_werror.h', - header_path=[ ('*', 'util') ], - pc_files=[], - vnum='0.0.1' - ) + bld.SAMBA_LIBRARY('tevent-util', + source='tevent_unix.c tevent_ntstatus.c tevent_werror.c', + local_include=False, + public_deps='tevent errors', + public_headers='tevent_ntstatus.h tevent_unix.h tevent_werror.h', + header_path=[ ('*', 'util') ], + pc_files=[], + vnum='0.0.1' + ) -bld.SAMBA_LIBRARY('util_setid', - source='setid.c', - local_include=False, - private_library=True - ) + bld.SAMBA_LIBRARY('util_setid', + source='setid.c', + local_include=False, + private_library=True + ) -bld.SAMBA_SUBSYSTEM('util_ldb', - source='util_ldb.c', - local_include=False, - public_deps='ldb', - public_headers='util_ldb.h' - ) + bld.SAMBA_SUBSYSTEM('util_ldb', + source='util_ldb.c', + local_include=False, + public_deps='ldb', + public_headers='util_ldb.h' + ) -bld.SAMBA_SUBSYSTEM('UTIL_RUNCMD', - source='util_runcmd.c', - local_include=False, - public_deps='tevent' - ) + bld.SAMBA_SUBSYSTEM('UTIL_RUNCMD', + source='util_runcmd.c', + local_include=False, + public_deps='tevent' + ) -bld.SAMBA_SUBSYSTEM('UTIL_PW', - source='util_pw.c', - local_include=False, - public_deps='talloc' - ) + bld.SAMBA_SUBSYSTEM('UTIL_PW', + source='util_pw.c', + local_include=False, + public_deps='talloc' + )