summaryrefslogtreecommitdiff
path: root/lib/util/wscript_build
blob: a094fa3b544a8ceb58b3f6f5beec4e1fe01a9d2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/usr/bin/env python

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 util_paths.c idtree.c debug.c fault.c base64.c
                    util_str.c util_str_common.c substitute.c ms_fnmatch.c
                    server_id.c'''

common_util_headers = 'debug.h'
common_util_public_deps = 'talloc pthread LIBCRYPTO CHARSET'
s4_util_sources = '''dprintf.c parmlist.c'''
s4_util_deps = 'DYNCONFIG'
s4_util_public_deps = 'talloc 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 string_wrappers.h'
s4_util_header_path = [ ('dlinklist.h util.h', '.'), ('*', 'util') ]

if 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
                    )

else:
    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'
                      )

    # 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='replace talloc',
	local_include=False,
	)


bld.SAMBA_LIBRARY('wrap_xattr',
	source='wrap_xattr.c',
	public_deps='attr',
	deps='talloc',
	local_include=False,
	private_library=True
	)


bld.SAMBA_LIBRARY('UTIL_TDB',
	source='util_tdb.c',
	local_include=False,
	public_deps='tdb_compat talloc',
                  private_library=True
	)

bld.SAMBA_SUBSYSTEM('UTIL_TEVENT',
	source='tevent_unix.c tevent_ntstatus.c tevent_werror.c',
	local_include=False,
	public_deps='tevent',
	public_headers='tevent_ntstatus.h tevent_unix.h tevent_werror.h',
	header_path=[ ('*', 'util') ],
	)


if bld.env._SAMBA_BUILD_ == 4:
	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_PW',
	source='util_pw.c',
	local_include=False,
	public_deps='talloc'
	)


bld.SAMBA_LIBRARY('tdb-wrap',
                  source='tdb_wrap.c',
                  deps='tdb_compat talloc samba-util',
                  private_library=True,
                  local_include=False
                  )