3 VFS_DEFAULT_SRC = '''vfs_default.c'''
4 VFS_AUDIT_SRC = '''vfs_audit.c'''
5 VFS_EXTD_AUDIT_SRC = '''vfs_extd_audit.c'''
6 VFS_FULL_AUDIT_SRC = '''vfs_full_audit.c'''
7 VFS_FAKE_PERMS_SRC = '''vfs_fake_perms.c'''
8 VFS_FAKE_ACLS_SRC = '''vfs_fake_acls.c'''
9 VFS_RECYCLE_SRC = '''vfs_recycle.c'''
10 VFS_NETATALK_SRC = '''vfs_netatalk.c'''
11 VFS_DEFAULT_QUOTA_SRC = '''vfs_default_quota.c'''
12 VFS_READONLY_SRC = '''vfs_readonly.c getdate.c'''
13 VFS_CAP_SRC = '''vfs_cap.c'''
14 VFS_EXPAND_MSDFS_SRC = '''vfs_expand_msdfs.c'''
15 VFS_SHADOW_COPY_SRC = '''vfs_shadow_copy.c'''
16 VFS_SHADOW_COPY2_SRC = '''vfs_shadow_copy2.c'''
17 VFS_AFSACL_SRC = '''vfs_afsacl.c'''
18 VFS_XATTR_TDB_SRC = '''vfs_xattr_tdb.c'''
19 VFS_POSIXACL_SRC = '''vfs_posixacl.c'''
20 VFS_AIXACL_SRC = '''vfs_aixacl.c'''
21 VFS_AIXACL2_SRC = '''vfs_aixacl2.c'''
22 VFS_SOLARISACL_SRC = '''vfs_solarisacl.c'''
23 VFS_ZFSACL_SRC = '''vfs_zfsacl.c'''
24 VFS_NFS4ACL_XATTR_SRC = 'vfs_nfs4acl_xattr.c'
25 VFS_HPUXACL_SRC = '''vfs_hpuxacl.c'''
26 VFS_TRU64ACL_SRC = '''vfs_tru64acl.c'''
27 VFS_CATIA_SRC = 'vfs_catia.c'
28 VFS_STREAMS_XATTR_SRC = 'vfs_streams_xattr.c'
29 VFS_STREAMS_DEPOT_SRC = 'vfs_streams_depot.c'
30 VFS_CACHEPRIME_SRC = 'vfs_cacheprime.c'
31 VFS_PREALLOC_SRC = 'vfs_prealloc.c'
32 VFS_COMMIT_SRC = 'vfs_commit.c'
33 VFS_GPFS_SRC = 'vfs_gpfs.c gpfs.c'
34 VFS_NOTIFY_FAM_SRC = 'vfs_notify_fam.c'
35 VFS_READAHEAD_SRC = 'vfs_readahead.c'
36 VFS_TSMSM_SRC = 'vfs_tsmsm.c'
37 VFS_FILEID_SRC = 'vfs_fileid.c'
38 VFS_AIO_FORK_SRC = 'vfs_aio_fork.c'
39 VFS_AIO_PTHREAD_SRC = 'vfs_aio_pthread.c'
40 VFS_AIO_POSIX_SRC = 'vfs_aio_posix.c'
41 VFS_AIO_LINUX_SRC = 'vfs_aio_linux.c'
42 VFS_PREOPEN_SRC = 'vfs_preopen.c'
43 VFS_SYNCOPS_SRC = 'vfs_syncops.c'
44 VFS_ACL_XATTR_SRC = 'vfs_acl_xattr.c'
45 VFS_ACL_TDB_SRC = 'vfs_acl_tdb.c'
46 VFS_SMB_TRAFFIC_ANALYZER_SRC = 'vfs_smb_traffic_analyzer.c'
47 VFS_DIRSORT_SRC = 'vfs_dirsort.c'
48 VFS_SCANNEDONLY_SRC = 'vfs_scannedonly.c'
49 VFS_CROSSRENAME_SRC = 'vfs_crossrename.c'
50 VFS_LINUX_XFS_SGID_SRC = 'vfs_linux_xfs_sgid.c'
51 VFS_TIME_AUDIT_SRC = 'vfs_time_audit.c'
52 VFS_MEDIA_HARMONY_SRC = 'vfs_media_harmony.c'
53 VFS_BTRFS_SRC = 'vfs_btrfs.c'
54 VFS_CEPH_SRC = 'vfs_ceph.c'
55 VFS_GLUSTERFS_SRC = 'vfs_glusterfs.c'
58 bld.SAMBA3_SUBSYSTEM('NFS4_ACLS',
60 deps='samba-util tdb')
62 bld.SAMBA3_LIBRARY('non_posix_acls',
63 source='non_posix_acls.c',
64 deps='samba-util vfs',
67 bld.SAMBA3_SUBSYSTEM('VFS_AIXACL_UTIL',
68 source='vfs_aixacl_util.c',
69 enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl') or bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2')))
71 bld.SAMBA3_SUBSYSTEM('vfs',
76 bld.SAMBA3_MODULE('vfs_default',
78 source=VFS_DEFAULT_SRC,
79 deps='samba-util NDR_DFSBLOBS',
81 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default'),
82 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default'))
84 bld.SAMBA3_MODULE('vfs_audit',
89 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_audit'),
90 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_audit'))
92 bld.SAMBA3_MODULE('vfs_extd_audit',
94 source=VFS_EXTD_AUDIT_SRC,
97 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_extd_audit'),
98 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_extd_audit'))
100 bld.SAMBA3_MODULE('vfs_full_audit',
102 source=VFS_FULL_AUDIT_SRC,
105 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_full_audit'),
106 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_full_audit'))
108 bld.SAMBA3_MODULE('vfs_fake_perms',
110 source=VFS_FAKE_PERMS_SRC,
113 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_perms'),
114 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_perms'))
116 bld.SAMBA3_MODULE('vfs_fake_acls',
118 source=VFS_FAKE_ACLS_SRC,
121 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'),
122 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'))
124 bld.SAMBA3_MODULE('vfs_recycle',
126 source=VFS_RECYCLE_SRC,
129 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_recycle'),
130 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_recycle'))
132 bld.SAMBA3_MODULE('vfs_netatalk',
134 source=VFS_NETATALK_SRC,
137 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_netatalk'),
138 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_netatalk'))
140 bld.SAMBA3_MODULE('vfs_default_quota',
142 source=VFS_DEFAULT_QUOTA_SRC,
145 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default_quota'),
146 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default_quota'))
148 bld.SAMBA3_MODULE('vfs_readonly',
150 source=VFS_READONLY_SRC,
153 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_readonly'),
154 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_readonly'))
156 bld.SAMBA3_MODULE('vfs_cap',
161 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_cap'),
162 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_cap'))
164 bld.SAMBA3_MODULE('vfs_expand_msdfs',
166 source=VFS_EXPAND_MSDFS_SRC,
169 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_expand_msdfs'),
170 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_expand_msdfs'))
172 bld.SAMBA3_MODULE('vfs_shadow_copy',
174 source=VFS_SHADOW_COPY_SRC,
177 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy'),
178 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy'))
180 bld.SAMBA3_MODULE('vfs_shadow_copy2',
182 source=VFS_SHADOW_COPY2_SRC,
183 deps='samba-util tdb',
185 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy2'),
186 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy2'))
188 bld.SAMBA3_MODULE('vfs_afsacl',
190 source=VFS_AFSACL_SRC,
193 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_afsacl'),
194 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_afsacl'))
196 bld.SAMBA3_MODULE('vfs_xattr_tdb',
198 source=VFS_XATTR_TDB_SRC,
199 deps='dbwrap xattr_tdb',
201 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_xattr_tdb'),
202 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_xattr_tdb'))
204 bld.SAMBA3_MODULE('vfs_posix_eadb',
206 source='vfs_posix_eadb.c',
207 deps='tdb-wrap posix_eadb',
209 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posix_eadb') and bld.AD_DC_BUILD_IS_ENABLED(),
210 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posix_eadb') and bld.AD_DC_BUILD_IS_ENABLED())
212 bld.SAMBA3_MODULE('vfs_posixacl',
214 source=VFS_POSIXACL_SRC,
217 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posixacl'),
218 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posixacl'))
220 bld.SAMBA3_MODULE('vfs_aixacl',
222 source=VFS_AIXACL_SRC,
223 deps='VFS_AIXACL_UTIL',
225 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aixacl'),
226 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl'))
228 bld.SAMBA3_MODULE('vfs_aixacl2',
230 source=VFS_AIXACL2_SRC,
231 deps='NFS4_ACLS VFS_AIXACL_UTIL',
233 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aixacl2'),
234 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2'))
236 bld.SAMBA3_MODULE('vfs_solarisacl',
238 source=VFS_SOLARISACL_SRC,
241 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_solarisacl'),
242 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_solarisacl'))
244 bld.SAMBA3_MODULE('vfs_zfsacl',
246 source=VFS_ZFSACL_SRC,
247 deps='NFS4_ACLS sunacl',
249 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
250 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
252 bld.SAMBA3_MODULE('vfs_nfs4acl_xattr',
254 source=VFS_NFS4ACL_XATTR_SRC,
255 deps='NFS4_ACLS sunacl NDR_NFS4ACL',
257 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_nfs4acl_xattr'),
258 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_nfs4acl_xattr'))
260 bld.SAMBA3_MODULE('vfs_hpuxacl',
262 source=VFS_HPUXACL_SRC,
264 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_hpuxacl'),
265 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_hpuxacl'))
267 bld.SAMBA3_MODULE('vfs_tru64acl',
269 source=VFS_TRU64ACL_SRC,
271 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_true64acl'),
272 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_true64acl'))
274 bld.SAMBA3_MODULE('vfs_catia',
276 source=VFS_CATIA_SRC,
279 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_catia'),
280 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_catia'))
282 bld.SAMBA3_MODULE('vfs_streams_xattr',
284 source=VFS_STREAMS_XATTR_SRC,
287 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_streams_xattr'),
288 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_streams_xattr'))
290 bld.SAMBA3_MODULE('vfs_streams_depot',
292 source=VFS_STREAMS_DEPOT_SRC,
295 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_streams_depot'),
296 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_streams_depot'))
298 bld.SAMBA3_MODULE('vfs_cacheprime',
300 source=VFS_CACHEPRIME_SRC,
303 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_cacheprime'),
304 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_cacheprime'))
306 bld.SAMBA3_MODULE('vfs_prealloc',
308 source=VFS_PREALLOC_SRC,
311 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_prealloc'),
312 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_prealloc'))
314 bld.SAMBA3_MODULE('vfs_commit',
316 source=VFS_COMMIT_SRC,
319 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_commit'),
320 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_commit'))
322 bld.SAMBA3_MODULE('vfs_gpfs',
325 deps='NFS4_ACLS non_posix_acls',
327 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_gpfs'),
328 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'))
330 vfs_notify_fam_deps='samba-util '
331 if bld.CONFIG_SET('SAMBA_FAM_LIBS'):
332 vfs_notify_fam_deps += bld.CONFIG_GET('SAMBA_FAM_LIBS')
333 bld.SAMBA3_MODULE('vfs_notify_fam',
335 source=VFS_NOTIFY_FAM_SRC,
336 deps=vfs_notify_fam_deps,
338 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_notify_fam'),
339 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_notify_fam'))
341 bld.SAMBA3_MODULE('vfs_readahead',
343 source=VFS_READAHEAD_SRC,
346 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_readahead'),
347 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_readahead'))
349 bld.SAMBA3_MODULE('vfs_tsmsm',
351 source=VFS_TSMSM_SRC,
354 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_tsmsm'),
355 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_tsmsm'))
357 bld.SAMBA3_MODULE('vfs_fileid',
359 source=VFS_FILEID_SRC,
362 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fileid'),
363 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fileid'))
365 bld.SAMBA3_MODULE('vfs_aio_fork',
367 source=VFS_AIO_FORK_SRC,
368 deps='samba-util tevent',
370 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_fork'),
371 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_fork'),
372 allow_undefined_symbols=True)
374 bld.SAMBA3_MODULE('vfs_aio_pthread',
376 source=VFS_AIO_PTHREAD_SRC,
377 deps='samba-util tevent',
379 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_pthread'),
380 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_pthread'),
381 allow_undefined_symbols=True)
383 bld.SAMBA3_MODULE('vfs_aio_posix',
385 source=VFS_AIO_POSIX_SRC,
386 deps='samba-util tevent',
388 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_posix'),
389 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_posix'),
390 allow_undefined_symbols=True)
392 bld.SAMBA3_MODULE('vfs_aio_linux',
394 source=VFS_AIO_LINUX_SRC,
395 deps='samba-util aio',
397 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_linux'),
398 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_linux'),
399 allow_undefined_symbols=True)
401 bld.SAMBA3_MODULE('vfs_preopen',
403 source=VFS_PREOPEN_SRC,
406 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_preopen'),
407 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_preopen'))
409 bld.SAMBA3_MODULE('vfs_syncops',
411 source=VFS_SYNCOPS_SRC,
414 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_syncops'),
415 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_syncops'))
417 bld.SAMBA3_MODULE('vfs_acl_xattr',
419 source=VFS_ACL_XATTR_SRC,
422 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_xattr'),
423 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_xattr'))
425 bld.SAMBA3_MODULE('vfs_acl_tdb',
427 source=VFS_ACL_TDB_SRC,
428 deps='NDR_XATTR tdb',
430 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_tdb'),
431 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_tdb'))
433 bld.SAMBA3_MODULE('vfs_smb_traffic_analyzer',
435 source=VFS_SMB_TRAFFIC_ANALYZER_SRC,
438 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_smb_traffic_analyzer'),
439 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_smb_traffic_analyzer'))
441 bld.SAMBA3_MODULE('vfs_dirsort',
443 source=VFS_DIRSORT_SRC,
446 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dirsort'),
447 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dirsort'))
449 bld.SAMBA3_MODULE('vfs_scannedonly',
451 source=VFS_SCANNEDONLY_SRC,
454 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_scannedonly'),
455 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_scannedonly'))
457 bld.SAMBA3_MODULE('vfs_crossrename',
459 source=VFS_CROSSRENAME_SRC,
462 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_crossrename'),
463 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_crossrename'))
465 bld.SAMBA3_MODULE('vfs_linux_xfs_sgid',
467 source=VFS_LINUX_XFS_SGID_SRC,
470 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_linux_xfs_sgid'),
471 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_linux_xfs_sgid'))
473 bld.SAMBA3_MODULE('vfs_time_audit',
475 source=VFS_TIME_AUDIT_SRC,
478 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_time_audit'),
479 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_time_audit'))
481 bld.SAMBA3_MODULE('vfs_media_harmony',
483 source=VFS_MEDIA_HARMONY_SRC,
486 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_media_harmony'),
487 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_media_harmony'))
489 bld.SAMBA3_MODULE('vfs_dfs_samba4',
491 source='vfs_dfs_samba4.c',
492 deps='samba-util dfs_server_ad samdb tevent',
494 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dfs_samba4') and bld.AD_DC_BUILD_IS_ENABLED(),
495 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dfs_samba4') and bld.AD_DC_BUILD_IS_ENABLED())
497 bld.SAMBA3_MODULE('vfs_btrfs',
499 source=VFS_BTRFS_SRC,
502 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_btrfs'),
503 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_btrfs'))
505 PERFCOUNT_TEST_SRC = 'perfcount_test.c'
507 bld.SAMBA3_SUBSYSTEM('perfcount',
511 bld.SAMBA3_MODULE('perfcount_test',
512 subsystem='perfcount',
513 source=PERFCOUNT_TEST_SRC,
515 internal_module=bld.SAMBA3_IS_STATIC_MODULE('perfcount_test'),
516 enabled=bld.SAMBA3_IS_ENABLED_MODULE('perfcount_test'))
518 bld.SAMBA3_MODULE('vfs_ceph',
521 deps='samba-util cephfs',
523 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph'),
524 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph'),
525 cflags=bld.CONFIG_GET('CCFLAGS_CEPHFS'))
527 bld.SAMBA3_MODULE('vfs_glusterfs',
529 source=VFS_GLUSTERFS_SRC,
530 deps='samba-util gfapi',
532 internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs'),
533 enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs'),
534 allow_undefined_symbols=False)