s3:modules: Use hash_inode() in vfs_streams_xattr
[samba.git] / source3 / modules / wscript_build
1 #!/usr/bin/env python
2
3 bld.SAMBA3_SUBSYSTEM('NFS4_ACLS',
4                     source='nfs4_acls.c',
5                     deps='samba-util tdb')
6
7 bld.SAMBA3_SUBSYSTEM('vfs_acl_common',
8                      source='vfs_acl_common.c')
9
10 bld.SAMBA3_SUBSYSTEM('POSIXACL_XATTR',
11                  source='posixacl_xattr.c',
12                  enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph') or bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs')),
13                  deps='acl attr')
14
15 bld.SAMBA3_SUBSYSTEM('non_posix_acls',
16                    source='non_posix_acls.c',
17                    deps='samba-util vfs')
18
19 bld.SAMBA3_SUBSYSTEM('VFS_VIRUSFILTER_UTILS',
20                    source='vfs_virusfilter_utils.c',
21                    deps='strv',
22                    enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_virusfilter')))
23
24 bld.SAMBA3_SUBSYSTEM('VFS_AIXACL_UTIL',
25                     source='vfs_aixacl_util.c',
26                     enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl') or bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2')))
27
28 bld.SAMBA3_SUBSYSTEM('vfs',
29                     source='',
30                     deps='smbd_base')
31
32 bld.SAMBA3_SUBSYSTEM('OFFLOAD_TOKEN',
33                     source='offload_token.c',
34                     deps='samba-util')
35
36 bld.SAMBA3_SUBSYSTEM('STRING_REPLACE',
37                     source='string_replace.c')
38
39 bld.SAMBA3_SUBSYSTEM('HASH_INODE',
40                     source='hash_inode.c',
41                     deps='gnutls')
42
43 #
44 # This is always be static, see
45 # source3/wscript: required_static_modules
46 #
47 bld.SAMBA3_MODULE('vfs_default',
48                  subsystem='vfs',
49                  source='vfs_default.c',
50                  deps='samba-util NDR_DFSBLOBS OFFLOAD_TOKEN',
51                  init_function='',
52                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default'),
53                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default'))
54
55 #
56 # This is always be static, see
57 # source3/wscript: required_static_modules
58 #
59 bld.SAMBA3_MODULE('vfs_not_implemented',
60                  subsystem='vfs',
61                  source='vfs_not_implemented.c',
62                  deps='samba-util',
63                  init_function='',
64                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_not_implemented'),
65                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_not_implemented'))
66
67 bld.SAMBA3_MODULE('vfs_audit',
68                  subsystem='vfs',
69                  source='vfs_audit.c',
70                  deps='samba-util',
71                  init_function='',
72                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_audit'),
73                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_audit'))
74
75 bld.SAMBA3_MODULE('vfs_extd_audit',
76                  subsystem='vfs',
77                  source='vfs_extd_audit.c',
78                  deps='samba-util',
79                  init_function='',
80                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_extd_audit'),
81                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_extd_audit'))
82
83 bld.SAMBA3_MODULE('vfs_full_audit',
84                  subsystem='vfs',
85                  source='vfs_full_audit.c',
86                  deps='samba-util',
87                  init_function='',
88                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_full_audit'),
89                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_full_audit'))
90
91 bld.SAMBA3_MODULE('vfs_fake_perms',
92                  subsystem='vfs',
93                  source='vfs_fake_perms.c',
94                  deps='samba-util',
95                  init_function='',
96                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_perms'),
97                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_perms'))
98
99 bld.SAMBA3_MODULE('vfs_fake_acls',
100                  subsystem='vfs',
101                  source='vfs_fake_acls.c',
102                  deps='samba-util',
103                  init_function='',
104                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'),
105                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'))
106
107 bld.SAMBA3_MODULE('vfs_recycle',
108                  subsystem='vfs',
109                  source='vfs_recycle.c',
110                  deps='samba-util',
111                  init_function='',
112                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_recycle'),
113                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_recycle'))
114
115 bld.SAMBA3_MODULE('vfs_netatalk',
116                  subsystem='vfs',
117                  source='vfs_netatalk.c',
118                  deps='samba-util',
119                  init_function='',
120                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_netatalk'),
121                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_netatalk'))
122
123 bld.SAMBA3_MODULE('vfs_fruit',
124                  subsystem='vfs',
125                  source='vfs_fruit.c',
126                  deps='samba-util OFFLOAD_TOKEN STRING_REPLACE HASH_INODE',
127                  init_function='',
128                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fruit'),
129                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fruit'))
130
131 bld.SAMBA3_MODULE('vfs_default_quota',
132                  subsystem='vfs',
133                  source='vfs_default_quota.c',
134                  deps='samba-util',
135                  init_function='',
136                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default_quota'),
137                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default_quota'))
138
139 module_cflags=''
140 if bld.CONFIG_SET('HAVE_WNO_STRICT_OVERFLOW'):
141     module_cflags='-Wno-strict-overflow'
142
143 bld.SAMBA3_MODULE('vfs_readonly',
144                  subsystem='vfs',
145                  source='vfs_readonly.c getdate.c',
146                  deps='samba-util',
147                  cflags_end=module_cflags,
148                  init_function='',
149                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_readonly'),
150                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_readonly'))
151
152 bld.SAMBA3_MODULE('vfs_cap',
153                  subsystem='vfs',
154                  source='vfs_cap.c',
155                  deps='samba-util',
156                  init_function='',
157                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_cap'),
158                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_cap'))
159
160 bld.SAMBA3_MODULE('vfs_expand_msdfs',
161                  subsystem='vfs',
162                  source='vfs_expand_msdfs.c',
163                  deps='samba-util',
164                  init_function='',
165                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_expand_msdfs'),
166                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_expand_msdfs'))
167
168 bld.SAMBA3_MODULE('vfs_shadow_copy',
169                  subsystem='vfs',
170                  source='vfs_shadow_copy.c',
171                  deps='samba-util',
172                  init_function='',
173                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy'),
174                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy'))
175
176 bld.SAMBA3_MODULE('vfs_shadow_copy2',
177                  subsystem='vfs',
178                  source='vfs_shadow_copy2.c',
179                  allow_warnings=True,
180                  deps='samba-util tdb',
181                  init_function='',
182                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy2'),
183                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy2'))
184
185 bld.SAMBA3_MODULE('vfs_afsacl',
186                  subsystem='vfs',
187                  source='vfs_afsacl.c',
188                  deps='samba-util',
189                  init_function='',
190                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_afsacl'),
191                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_afsacl'))
192
193 bld.SAMBA3_MODULE('vfs_xattr_tdb',
194                  subsystem='vfs',
195                  source='vfs_xattr_tdb.c',
196                  deps='dbwrap xattr_tdb',
197                  init_function='',
198                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_xattr_tdb'),
199                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_xattr_tdb'))
200
201 bld.SAMBA3_MODULE('vfs_posix_eadb',
202                  subsystem='vfs',
203                  source='vfs_posix_eadb.c',
204                  deps='tdb-wrap posix_eadb',
205                  init_function='',
206                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posix_eadb') and bld.AD_DC_BUILD_IS_ENABLED(),
207                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posix_eadb') and bld.AD_DC_BUILD_IS_ENABLED())
208
209 bld.SAMBA3_MODULE('vfs_posixacl',
210                  subsystem='vfs',
211                  source='vfs_posixacl.c',
212                  deps='acl attr',
213                  init_function='',
214                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posixacl'),
215                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posixacl'))
216
217 bld.SAMBA3_MODULE('vfs_aixacl',
218                  subsystem='vfs',
219                  source='vfs_aixacl.c',
220                  deps='VFS_AIXACL_UTIL',
221                  init_function='',
222                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aixacl'),
223                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl'))
224
225 bld.SAMBA3_MODULE('vfs_aixacl2',
226                  subsystem='vfs',
227                  source='vfs_aixacl2.c',
228                  deps='NFS4_ACLS VFS_AIXACL_UTIL',
229                  init_function='',
230                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aixacl2'),
231                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2'))
232
233 bld.SAMBA3_MODULE('vfs_solarisacl',
234                  subsystem='vfs',
235                  source='vfs_solarisacl.c',
236                  init_function='',
237                  deps='sec',
238                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_solarisacl'),
239                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_solarisacl'))
240
241 bld.SAMBA3_MODULE('vfs_zfsacl',
242                  subsystem='vfs',
243                  source='vfs_zfsacl.c',
244                  deps='NFS4_ACLS sunacl',
245                  init_function='',
246                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
247                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
248
249 bld.SAMBA_GENERATOR('nfs41acl-h',
250                     source='nfs41acl.x',
251                     target='nfs41acl.h',
252                     rule='rpcgen -h ${SRC} > ${TGT}')
253
254
255 if bld.CONFIG_SET("HAVE_RPC_XDR_H"):
256     xdr_buf_hack = 'sed -e "s@^\([ \t]*register int32_t \*buf\);@\\1 = buf;@"'
257
258     # By default rpcgen assumes that the input file, generated header and
259     # source file are located in the same directory, which is extracted from
260     # the provided path to the input file.
261     # However if the build directory is not under the source tree, ${SRC} will
262     # be a long relative path through a common parent directory, resulting
263     # in an invalid path used in #include for the header.
264     # In order to fix that, the input file is first copied to the output build
265     # directory and then rpcgen is called with the proper path.
266     bld.SAMBA_GENERATOR('nfs41acl-xdr-c',
267                         source='nfs41acl.x',
268                         target='nfs41acl_xdr.c',
269                         rule='cp -f ${SRC} ${TGT[0].parent} && rpcgen -c ' \
270                              '${TGT[0].path_from(tsk.get_cwd())[:-len(tsk.outputs[0].name)] + tsk.inputs[0].name} | ' + \
271                              xdr_buf_hack + ' > ${TGT}')
272
273     bld.SAMBA_SUBSYSTEM('VFS_NFS4_XDR',
274                         source='nfs41acl_xdr.c',
275                         deps='NFS4_ACLS NDR_NFS4ACL tirpc')
276 else:
277     bld.SET_TARGET_TYPE('VFS_NFS4_XDR', 'EMPTY')
278
279 bld.SAMBA3_MODULE('vfs_nfs4acl_xattr',
280                   subsystem='vfs',
281                   source = '''
282                            vfs_nfs4acl_xattr.c
283                            nfs4acl_xattr_ndr.c
284                            nfs4acl_xattr_xdr.c
285                            nfs4acl_xattr_nfs.c
286                            nfs4acl_xattr_util.c
287                            ''',
288                   deps='NFS4_ACLS sunacl NDR_NFS4ACL VFS_NFS4_XDR',
289                   init_function='',
290                   internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_nfs4acl_xattr'),
291                   enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_nfs4acl_xattr'))
292
293 bld.SAMBA3_MODULE('vfs_hpuxacl',
294                  subsystem='vfs',
295                  source='vfs_hpuxacl.c',
296                  init_function='',
297                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_hpuxacl'),
298                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_hpuxacl'))
299
300 bld.SAMBA3_MODULE('vfs_tru64acl',
301                  subsystem='vfs',
302                  source='vfs_tru64acl.c',
303                  init_function='',
304                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_true64acl'),
305                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_true64acl'))
306
307 bld.SAMBA3_MODULE('vfs_catia',
308                  subsystem='vfs',
309                  source='vfs_catia.c',
310                  deps='samba-util STRING_REPLACE',
311                  init_function='',
312                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_catia'),
313                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_catia'))
314
315 bld.SAMBA3_MODULE('vfs_streams_xattr',
316                  subsystem='vfs',
317                  source='vfs_streams_xattr.c',
318                  deps='samba-util HASH_INODE',
319                  init_function='',
320                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_streams_xattr'),
321                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_streams_xattr'))
322
323 bld.SAMBA3_MODULE('vfs_streams_depot',
324                  subsystem='vfs',
325                  source='vfs_streams_depot.c',
326                  deps='samba-util',
327                  init_function='',
328                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_streams_depot'),
329                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_streams_depot'))
330
331 bld.SAMBA3_MODULE('vfs_cacheprime',
332                  subsystem='vfs',
333                  source='vfs_cacheprime.c',
334                  deps='samba-util',
335                  init_function='',
336                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_cacheprime'),
337                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_cacheprime'))
338
339 bld.SAMBA3_MODULE('vfs_prealloc',
340                  subsystem='vfs',
341                  source='vfs_prealloc.c',
342                  deps='samba-util',
343                  init_function='',
344                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_prealloc'),
345                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_prealloc'))
346
347 bld.SAMBA3_MODULE('vfs_commit',
348                  subsystem='vfs',
349                  source='vfs_commit.c',
350                  deps='samba-util',
351                  init_function='',
352                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_commit'),
353                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_commit'))
354
355 bld.SAMBA3_MODULE('vfs_gpfs',
356                  subsystem='vfs',
357                  source='vfs_gpfs.c',
358                  deps='NFS4_ACLS non_posix_acls gpfswrap',
359                  init_function='',
360                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_gpfs'),
361                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'),
362                  includes=bld.CONFIG_GET('CPPPATH_GPFS'))
363
364 bld.SAMBA3_MODULE('vfs_readahead',
365                  subsystem='vfs',
366                  source='vfs_readahead.c',
367                  deps='samba-util',
368                  init_function='',
369                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_readahead'),
370                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_readahead'))
371
372 bld.SAMBA3_MODULE('vfs_tsmsm',
373                  subsystem='vfs',
374                  source='vfs_tsmsm.c',
375                  deps='samba-util',
376                  init_function='',
377                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_tsmsm'),
378                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_tsmsm'))
379
380 bld.SAMBA3_MODULE('vfs_fileid',
381                  subsystem='vfs',
382                  source='vfs_fileid.c',
383                  deps='samba-util',
384                  init_function='',
385                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fileid'),
386                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fileid'))
387
388 bld.SAMBA3_MODULE('vfs_aio_fork',
389                  subsystem='vfs',
390                  source='vfs_aio_fork.c',
391                  deps='samba-util tevent',
392                  init_function='',
393                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_fork'),
394                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_fork'))
395
396 bld.SAMBA3_MODULE('vfs_aio_pthread',
397                  subsystem='vfs',
398                  source='vfs_aio_pthread.c',
399                  deps='samba-util tevent',
400                  init_function='',
401                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_pthread'),
402                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_pthread'))
403
404 bld.SAMBA3_MODULE('vfs_preopen',
405                  subsystem='vfs',
406                  source='vfs_preopen.c',
407                  deps='samba-util',
408                  init_function='',
409                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_preopen'),
410                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_preopen'))
411
412 bld.SAMBA3_MODULE('vfs_syncops',
413                  subsystem='vfs',
414                  source='vfs_syncops.c',
415                  deps='samba-util',
416                  init_function='',
417                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_syncops'),
418                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_syncops'))
419
420 bld.SAMBA3_MODULE('vfs_acl_xattr',
421                  subsystem='vfs',
422                  source='vfs_acl_xattr.c',
423                  deps='samba-util vfs_acl_common',
424                  init_function='',
425                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_xattr'),
426                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_xattr'))
427
428 bld.SAMBA3_MODULE('vfs_acl_tdb',
429                  subsystem='vfs',
430                  source='vfs_acl_tdb.c',
431                  deps='samba-util vfs_acl_common',
432                  init_function='',
433                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_tdb'),
434                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_tdb'))
435
436 bld.SAMBA3_MODULE('vfs_dirsort',
437                  subsystem='vfs',
438                  source='vfs_dirsort.c',
439                  deps='samba-util',
440                  init_function='',
441                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dirsort'),
442                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dirsort'))
443
444 bld.SAMBA3_MODULE('vfs_crossrename',
445                  subsystem='vfs',
446                  source='vfs_crossrename.c',
447                  deps='samba-util',
448                  init_function='',
449                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_crossrename'),
450                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_crossrename'))
451
452 bld.SAMBA3_MODULE('vfs_linux_xfs_sgid',
453                  subsystem='vfs',
454                  source='vfs_linux_xfs_sgid.c',
455                  deps='samba-util',
456                  init_function='',
457                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_linux_xfs_sgid'),
458                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_linux_xfs_sgid'))
459
460 bld.SAMBA3_MODULE('vfs_time_audit',
461                  subsystem='vfs',
462                  source='vfs_time_audit.c',
463                  deps='samba-util',
464                  init_function='',
465                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_time_audit'),
466                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_time_audit'))
467
468 bld.SAMBA3_MODULE('vfs_media_harmony',
469                  subsystem='vfs',
470                  source='vfs_media_harmony.c',
471                  deps='samba-util',
472                  init_function='',
473                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_media_harmony'),
474                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_media_harmony'))
475
476 bld.SAMBA3_MODULE('vfs_unityed_media',
477                  subsystem='vfs',
478                  source='vfs_unityed_media.c',
479                  deps='samba-util',
480                  init_function='',
481                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_unityed_media'),
482                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_unityed_media'))
483
484 bld.SAMBA3_MODULE('vfs_dfs_samba4',
485                  subsystem='vfs',
486                  source='vfs_dfs_samba4.c',
487                  deps='samba-util dfs_server_ad samdb tevent',
488                  init_function='',
489                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dfs_samba4') and bld.AD_DC_BUILD_IS_ENABLED(),
490                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dfs_samba4') and bld.AD_DC_BUILD_IS_ENABLED())
491
492 bld.SAMBA3_MODULE('vfs_btrfs',
493                  subsystem='vfs',
494                  source='vfs_btrfs.c',
495                  deps='samba-util OFFLOAD_TOKEN',
496                  init_function='',
497                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_btrfs'),
498                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_btrfs'))
499
500 bld.SAMBA3_MODULE('vfs_shell_snap',
501                  subsystem='vfs',
502                  source='vfs_shell_snap.c',
503                  deps='samba-util',
504                  init_function='',
505                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_shell_snap'),
506                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_shell_snap'))
507
508 bld.SAMBA3_SUBSYSTEM('perfcount',
509                     source='',
510                      deps='smbd_base')
511
512 bld.SAMBA3_MODULE('perfcount_test',
513                  subsystem='perfcount',
514                  source='perfcount_test.c',
515                  init_function='',
516                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('perfcount_test'),
517                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('perfcount_test'))
518
519 bld.SAMBA3_MODULE('vfs_ceph',
520                  subsystem='vfs',
521                  source='vfs_ceph.c',
522                  deps='POSIXACL_XATTR samba-util cephfs',
523                  init_function='',
524                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph'),
525                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph'),
526                  cflags=bld.CONFIG_GET('CFLAGS_CEPHFS'),
527                  includes=bld.CONFIG_GET('CPPPATH_CEPHFS'))
528
529 bld.SAMBA3_MODULE('vfs_ceph_snapshots',
530                  subsystem='vfs',
531                  source='vfs_ceph_snapshots.c',
532                  deps='samba-util',
533                  init_function='',
534                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph_snapshots'),
535                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph_snapshots'))
536
537 bld.SAMBA3_MODULE('vfs_glusterfs',
538                   subsystem='vfs',
539                   source='vfs_glusterfs.c',
540                   deps='POSIXACL_XATTR samba-util gfapi',
541                   init_function='',
542                   internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs'),
543                   enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs'))
544
545 bld.SAMBA3_MODULE('vfs_glusterfs_fuse',
546                   subsystem='vfs',
547                   source='vfs_glusterfs_fuse.c',
548                   deps='',
549                   init_function='',
550                   internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs_fuse'),
551                   enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs_fuse'))
552
553 bld.SAMBA3_MODULE('vfs_worm',
554                   subsystem='vfs',
555                   source='vfs_worm.c',
556                   deps='samba-util',
557                   init_function='',
558                   internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_worm'),
559                   enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_worm'))
560
561 bld.SAMBA3_MODULE('vfs_snapper',
562                  subsystem='vfs',
563                  source='vfs_snapper.c',
564                  deps='samba-util dbus-1',
565                  init_function='',
566                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_snapper'),
567                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_snapper'))
568
569 bld.SAMBA3_MODULE('vfs_virusfilter',
570                  subsystem='vfs',
571                  source='''
572                  vfs_virusfilter.c
573                  vfs_virusfilter_sophos.c
574                  vfs_virusfilter_fsav.c
575                  vfs_virusfilter_clamav.c
576                  ''',
577                  deps='samba-util VFS_VIRUSFILTER_UTILS',
578                  init_function='',
579                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_virusfilter'),
580                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_virusfilter'))
581
582 bld.SAMBA3_MODULE('vfs_vxfs',
583                  subsystem='vfs',
584                  source='lib_vxfs.c vfs_vxfs.c',
585                  init_function='',
586                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_vxfs'),
587                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_vxfs'))
588
589 bld.SAMBA3_MODULE('vfs_offline',
590                  subsystem='vfs',
591                  source='vfs_offline.c',
592                  init_function='',
593                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_offline'),
594                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_offline'))
595
596 bld.SAMBA3_MODULE('vfs_fake_dfq',
597                  subsystem='vfs',
598                  source='vfs_fake_dfq.c',
599                  init_function='',
600                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_dfq'),
601                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_dfq'))
602
603 bld.SAMBA3_MODULE('vfs_error_inject',
604                  subsystem='vfs',
605                  source='vfs_error_inject.c',
606                  init_function='',
607                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_error_inject'),
608                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_error_inject'))
609
610 bld.SAMBA3_MODULE('vfs_delay_inject',
611                  subsystem='vfs',
612                  source='vfs_delay_inject.c',
613                  init_function='',
614                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_delay_inject'),
615                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'))