#!/usr/bin/env python
-bld.SAMBA_LIBRARY('LIBSAMBA-UTIL',
- source='xfile.c debug.c fault.c signal.c system.c time.c genrand.c dprintf.c util_str.c rfc1738.c substitute.c util_strlist.c util_file.c data_blob.c util.c blocking.c util_net.c fsusage.c ms_fnmatch.c mutex.c idtree.c become_daemon.c rbtree.c talloc_stack.c smb_threads.c params.c parmlist.c util_id.c select.c',
- public_deps='talloc LIBCRYPTO CHARSET execinfo UID_WRAPPER',
- public_headers='attr.h byteorder.h data_blob.h debug.h memory.h mutex.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h util.h',
- header_path= [ ('dlinklist.h util.h', '.'), ('*', 'util') ],
- local_include=False,
- vnum='0.0.1',
- pc_files='samba-util.pc'
- )
+common_util_sources = '''talloc_stack.c smb_threads.c xfile.c data_blob.c
+ util_file.c time.c rbtree.c rfc1738.c select.c
+ genrand.c fsusage.c blocking.c become_daemon.c
+ signal.c system.c params.c util.c util_id.c util_net.c
+ util_strlist.c idtree.c debug.c fault.c base64.c
+ util_str_common.c'''
+
+common_util_headers = 'debug.h'
+common_util_public_deps = 'talloc pthread LIBCRYPTO'
+s4_util_sources = '''dprintf.c ms_fnmatch.c parmlist.c substitute.c util_str.c'''
+s4_util_deps = 'DYNCONFIG'
+s4_util_public_deps = 'talloc CHARSET execinfo uid_wrapper'
+s4_util_public_headers = 'attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h util.h'
+s4_util_header_path = [ ('dlinklist.h util.h', '.'), ('*', 'util') ]
+
+if bld.env.enable_s3build or bld.env._SAMBA_BUILD_ == 3:
+ # as we move files into common between samba-util and samba-util3, move them here.
+ # Both samba-util and samba-util3 depend on this private library
+ bld.SAMBA_LIBRARY('samba-util-common',
+ source=common_util_sources,
+ public_deps=common_util_public_deps,
+ # until we get all the dependencies in this library in common
+ # we need to allow this library to be built with unresolved symbols
+ allow_undefined_symbols=True,
+ local_include=False,
+ public_headers=common_util_headers,
+ header_path= [('*', 'util') ],
+ private_library=True
+ )
+
+ if bld.env._SAMBA_BUILD_ == 4:
+ bld.SAMBA_LIBRARY('samba-util',
+ source=s4_util_sources,
+ deps=s4_util_deps + ' samba-util-common',
+ public_deps=s4_util_public_deps,
+ public_headers=s4_util_public_headers,
+ header_path= s4_util_header_path,
+ local_include=False,
+ vnum='0.0.1',
+ pc_files='samba-util.pc'
+ )
+else:
+ if bld.env._SAMBA_BUILD_ == 4:
+ bld.SAMBA_LIBRARY('samba-util',
+ source=s4_util_sources + " " + common_util_sources,
+ deps=s4_util_deps,
+ public_deps=s4_util_public_deps + ' ' + common_util_public_deps,
+ public_headers=s4_util_public_headers + ' ' + common_util_headers,
+ header_path= s4_util_header_path,
+ local_include=False,
+ vnum='0.0.1',
+ pc_files='samba-util.pc'
+ )
-bld.SAMBA_SUBSYSTEM('ASN1_UTIL',
- source='asn1.c',
- deps='talloc',
- local_include=False)
+ # dummy subsystem for avoid wider deps changes.
+ bld.SAMBA_SUBSYSTEM('samba-util-common',
+ source=[],
+ deps='samba-util',
+ local_include=False,)
+
+bld.SAMBA_LIBRARY('asn1util',
+ source='asn1.c',
+ deps='talloc samba-util-common',
+ private_library=True,
+ local_include=False)
bld.SAMBA_SUBSYSTEM('UNIX_PRIVS',
source='unix_privs.c',
autoproto='unix_privs.h',
- deps='UID_WRAPPER',
+ deps='replace talloc',
local_include=False,
)
-bld.SAMBA_SUBSYSTEM('WRAP_XATTR',
+bld.SAMBA_LIBRARY('wrap_xattr',
source='wrap_xattr.c',
- public_deps='XATTR',
+ public_deps='attr',
deps='talloc',
- local_include=False
+ local_include=False,
+ private_library=True
)
-bld.SAMBA_SUBSYSTEM('UTIL_TDB',
+bld.SAMBA_LIBRARY('UTIL_TDB',
source='util_tdb.c',
local_include=False,
- public_deps='tdb talloc'
+ public_deps='tdb talloc',
+ private_library=True
)
bld.SAMBA_SUBSYSTEM('UTIL_TEVENT',
- source='tevent_unix.c tevent_ntstatus.c',
+ source='tevent_unix.c tevent_ntstatus.c tevent_werror.c',
local_include=False,
public_deps='tevent',
- public_headers='tevent_ntstatus.h tevent_unix.h',
+ public_headers='tevent_ntstatus.h tevent_unix.h tevent_werror.h',
+ header_path=[ ('*', 'util') ],
)
-bld.SAMBA_SUBSYSTEM('UTIL_LDB',
+if bld.env._SAMBA_BUILD_ == 4:
+ bld.SAMBA_SUBSYSTEM('UTIL_LDB',
source='util_ldb.c',
local_include=False,
public_deps='ldb',
public_deps='tevent'
)
+bld.SAMBA_SUBSYSTEM('UTIL_PW',
+ source='util_pw.c',
+ local_include=False,
+ public_deps='talloc'
+ )