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_HPUXACL_SRC
= '''vfs_hpuxacl.c'''
25 VFS_TRU64ACL_SRC
= '''vfs_tru64acl.c'''
26 VFS_CATIA_SRC
= 'vfs_catia.c'
27 VFS_STREAMS_XATTR_SRC
= 'vfs_streams_xattr.c'
28 VFS_STREAMS_DEPOT_SRC
= 'vfs_streams_depot.c'
29 VFS_CACHEPRIME_SRC
= 'vfs_cacheprime.c'
30 VFS_PREALLOC_SRC
= 'vfs_prealloc.c'
31 VFS_COMMIT_SRC
= 'vfs_commit.c'
32 VFS_GPFS_SRC
= 'vfs_gpfs.c gpfs.c'
33 VFS_NOTIFY_FAM_SRC
= 'vfs_notify_fam.c'
34 VFS_READAHEAD_SRC
= 'vfs_readahead.c'
35 VFS_TSMSM_SRC
= 'vfs_tsmsm.c'
36 VFS_FILEID_SRC
= 'vfs_fileid.c'
37 VFS_AIO_FORK_SRC
= 'vfs_aio_fork.c'
38 VFS_AIO_PTHREAD_SRC
= 'vfs_aio_pthread.c'
39 VFS_AIO_POSIX_SRC
= 'vfs_aio_posix.c'
40 VFS_AIO_LINUX_SRC
= 'vfs_aio_linux.c'
41 VFS_PREOPEN_SRC
= 'vfs_preopen.c'
42 VFS_SYNCOPS_SRC
= 'vfs_syncops.c'
43 VFS_ACL_XATTR_SRC
= 'vfs_acl_xattr.c'
44 VFS_ACL_TDB_SRC
= 'vfs_acl_tdb.c'
45 VFS_SMB_TRAFFIC_ANALYZER_SRC
= 'vfs_smb_traffic_analyzer.c'
46 VFS_DIRSORT_SRC
= 'vfs_dirsort.c'
47 VFS_SCANNEDONLY_SRC
= 'vfs_scannedonly.c'
48 VFS_CROSSRENAME_SRC
= 'vfs_crossrename.c'
49 VFS_LINUX_XFS_SGID_SRC
= 'vfs_linux_xfs_sgid.c'
50 VFS_TIME_AUDIT_SRC
= 'vfs_time_audit.c'
51 VFS_MEDIA_HARMONY_SRC
= 'vfs_media_harmony.c'
52 VFS_BTRFS_SRC
= 'vfs_btrfs.c'
55 bld
.SAMBA3_SUBSYSTEM('NFS4_ACLS',
57 deps
='samba-util tdb')
59 bld
.SAMBA3_LIBRARY('non_posix_acls',
60 source
='non_posix_acls.c',
61 deps
='samba-util vfs',
64 bld
.SAMBA3_SUBSYSTEM('VFS_AIXACL_UTIL',
65 source
='vfs_aixacl_util.c',
66 enabled
=(bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl') or bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2')))
68 bld
.SAMBA3_SUBSYSTEM('vfs',
73 bld
.SAMBA3_MODULE('vfs_default',
75 source
=VFS_DEFAULT_SRC
,
76 deps
='samba-util NDR_DFSBLOBS',
78 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_default'),
79 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_default'))
81 bld
.SAMBA3_MODULE('vfs_audit',
86 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_audit'),
87 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_audit'))
89 bld
.SAMBA3_MODULE('vfs_extd_audit',
91 source
=VFS_EXTD_AUDIT_SRC
,
94 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_extd_audit'),
95 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_extd_audit'))
97 bld
.SAMBA3_MODULE('vfs_full_audit',
99 source
=VFS_FULL_AUDIT_SRC
,
102 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_full_audit'),
103 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_full_audit'))
105 bld
.SAMBA3_MODULE('vfs_fake_perms',
107 source
=VFS_FAKE_PERMS_SRC
,
110 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_fake_perms'),
111 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_fake_perms'))
113 bld
.SAMBA3_MODULE('vfs_fake_acls',
115 source
=VFS_FAKE_ACLS_SRC
,
118 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'),
119 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'))
121 bld
.SAMBA3_MODULE('vfs_recycle',
123 source
=VFS_RECYCLE_SRC
,
126 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_recycle'),
127 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_recycle'))
129 bld
.SAMBA3_MODULE('vfs_netatalk',
131 source
=VFS_NETATALK_SRC
,
134 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_netatalk'),
135 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_netatalk'))
137 bld
.SAMBA3_MODULE('vfs_default_quota',
139 source
=VFS_DEFAULT_QUOTA_SRC
,
142 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_default_quota'),
143 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_default_quota'))
145 bld
.SAMBA3_MODULE('vfs_readonly',
147 source
=VFS_READONLY_SRC
,
150 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_readonly'),
151 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_readonly'))
153 bld
.SAMBA3_MODULE('vfs_cap',
158 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_cap'),
159 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_cap'))
161 bld
.SAMBA3_MODULE('vfs_expand_msdfs',
163 source
=VFS_EXPAND_MSDFS_SRC
,
166 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_expand_msdfs'),
167 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_expand_msdfs'))
169 bld
.SAMBA3_MODULE('vfs_shadow_copy',
171 source
=VFS_SHADOW_COPY_SRC
,
174 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy'),
175 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy'))
177 bld
.SAMBA3_MODULE('vfs_shadow_copy2',
179 source
=VFS_SHADOW_COPY2_SRC
,
180 deps
='samba-util tdb',
182 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy2'),
183 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy2'))
185 bld
.SAMBA3_MODULE('vfs_afsacl',
187 source
=VFS_AFSACL_SRC
,
190 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_afsacl'),
191 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_afsacl'))
193 bld
.SAMBA3_MODULE('vfs_xattr_tdb',
195 source
=VFS_XATTR_TDB_SRC
,
196 deps
='dbwrap xattr_tdb',
198 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_xattr_tdb'),
199 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_xattr_tdb'))
201 bld
.SAMBA3_MODULE('vfs_posix_eadb',
203 source
='vfs_posix_eadb.c',
204 deps
='tdb-wrap posix_eadb',
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())
209 bld
.SAMBA3_MODULE('vfs_posixacl',
211 source
=VFS_POSIXACL_SRC
,
214 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_posixacl'),
215 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_posixacl'))
217 bld
.SAMBA3_MODULE('vfs_aixacl',
219 source
=VFS_AIXACL_SRC
,
220 deps
='VFS_AIXACL_UTIL',
222 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aixacl'),
223 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl'))
225 bld
.SAMBA3_MODULE('vfs_aixacl2',
227 source
=VFS_AIXACL2_SRC
,
228 deps
='NFS4_ACLS VFS_AIXACL_UTIL',
230 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aixacl2'),
231 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2'))
233 bld
.SAMBA3_MODULE('vfs_solarisacl',
235 source
=VFS_SOLARISACL_SRC
,
238 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_solarisacl'),
239 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_solarisacl'))
241 bld
.SAMBA3_MODULE('vfs_zfsacl',
243 source
=VFS_ZFSACL_SRC
,
244 deps
='NFS4_ACLS sunacl',
246 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
247 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
249 bld
.SAMBA3_MODULE('vfs_hpuxacl',
251 source
=VFS_HPUXACL_SRC
,
253 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_hpuxacl'),
254 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_hpuxacl'))
256 bld
.SAMBA3_MODULE('vfs_tru64acl',
258 source
=VFS_TRU64ACL_SRC
,
260 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_true64acl'),
261 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_true64acl'))
263 bld
.SAMBA3_MODULE('vfs_catia',
265 source
=VFS_CATIA_SRC
,
268 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_catia'),
269 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_catia'))
271 bld
.SAMBA3_MODULE('vfs_streams_xattr',
273 source
=VFS_STREAMS_XATTR_SRC
,
276 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_streams_xattr'),
277 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_streams_xattr'))
279 bld
.SAMBA3_MODULE('vfs_streams_depot',
281 source
=VFS_STREAMS_DEPOT_SRC
,
284 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_streams_depot'),
285 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_streams_depot'))
287 bld
.SAMBA3_MODULE('vfs_cacheprime',
289 source
=VFS_CACHEPRIME_SRC
,
292 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_cacheprime'),
293 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_cacheprime'))
295 bld
.SAMBA3_MODULE('vfs_prealloc',
297 source
=VFS_PREALLOC_SRC
,
300 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_prealloc'),
301 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_prealloc'))
303 bld
.SAMBA3_MODULE('vfs_commit',
305 source
=VFS_COMMIT_SRC
,
308 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_commit'),
309 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_commit'))
311 bld
.SAMBA3_MODULE('vfs_gpfs',
314 deps
='NFS4_ACLS non_posix_acls',
316 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_gpfs'),
317 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'))
319 vfs_notify_fam_deps
='samba-util '
320 if bld
.CONFIG_SET('SAMBA_FAM_LIBS'):
321 vfs_notify_fam_deps
+= bld
.CONFIG_GET('SAMBA_FAM_LIBS')
322 bld
.SAMBA3_MODULE('vfs_notify_fam',
324 source
=VFS_NOTIFY_FAM_SRC
,
325 deps
=vfs_notify_fam_deps
,
327 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_notify_fam'),
328 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_notify_fam'))
330 bld
.SAMBA3_MODULE('vfs_readahead',
332 source
=VFS_READAHEAD_SRC
,
335 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_readahead'),
336 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_readahead'))
338 bld
.SAMBA3_MODULE('vfs_tsmsm',
340 source
=VFS_TSMSM_SRC
,
343 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_tsmsm'),
344 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_tsmsm'))
346 bld
.SAMBA3_MODULE('vfs_fileid',
348 source
=VFS_FILEID_SRC
,
351 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_fileid'),
352 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_fileid'))
354 bld
.SAMBA3_MODULE('vfs_aio_fork',
356 source
=VFS_AIO_FORK_SRC
,
357 deps
='samba-util tevent',
359 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_fork'),
360 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_fork'),
361 allow_undefined_symbols
=True)
363 bld
.SAMBA3_MODULE('vfs_aio_pthread',
365 source
=VFS_AIO_PTHREAD_SRC
,
366 deps
='samba-util tevent',
368 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_pthread'),
369 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_pthread'),
370 allow_undefined_symbols
=True)
372 bld
.SAMBA3_MODULE('vfs_aio_posix',
374 source
=VFS_AIO_POSIX_SRC
,
375 deps
='samba-util tevent',
377 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_posix'),
378 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_posix'),
379 allow_undefined_symbols
=True)
381 bld
.SAMBA3_MODULE('vfs_aio_linux',
383 source
=VFS_AIO_LINUX_SRC
,
384 deps
='samba-util aio',
386 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_linux'),
387 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_linux'),
388 allow_undefined_symbols
=True)
390 bld
.SAMBA3_MODULE('vfs_preopen',
392 source
=VFS_PREOPEN_SRC
,
395 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_preopen'),
396 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_preopen'))
398 bld
.SAMBA3_MODULE('vfs_syncops',
400 source
=VFS_SYNCOPS_SRC
,
403 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_syncops'),
404 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_syncops'))
406 bld
.SAMBA3_MODULE('vfs_acl_xattr',
408 source
=VFS_ACL_XATTR_SRC
,
411 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_acl_xattr'),
412 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_acl_xattr'))
414 bld
.SAMBA3_MODULE('vfs_acl_tdb',
416 source
=VFS_ACL_TDB_SRC
,
417 deps
='NDR_XATTR tdb',
419 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_acl_tdb'),
420 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_acl_tdb'))
422 bld
.SAMBA3_MODULE('vfs_smb_traffic_analyzer',
424 source
=VFS_SMB_TRAFFIC_ANALYZER_SRC
,
427 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_smb_traffic_analyzer'),
428 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_smb_traffic_analyzer'))
430 bld
.SAMBA3_MODULE('vfs_dirsort',
432 source
=VFS_DIRSORT_SRC
,
435 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_dirsort'),
436 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_dirsort'))
438 bld
.SAMBA3_MODULE('vfs_scannedonly',
440 source
=VFS_SCANNEDONLY_SRC
,
443 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_scannedonly'),
444 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_scannedonly'))
446 bld
.SAMBA3_MODULE('vfs_crossrename',
448 source
=VFS_CROSSRENAME_SRC
,
451 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_crossrename'),
452 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_crossrename'))
454 bld
.SAMBA3_MODULE('vfs_linux_xfs_sgid',
456 source
=VFS_LINUX_XFS_SGID_SRC
,
459 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_linux_xfs_sgid'),
460 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_linux_xfs_sgid'))
462 bld
.SAMBA3_MODULE('vfs_time_audit',
464 source
=VFS_TIME_AUDIT_SRC
,
467 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_time_audit'),
468 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_time_audit'))
470 bld
.SAMBA3_MODULE('vfs_media_harmony',
472 source
=VFS_MEDIA_HARMONY_SRC
,
475 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_media_harmony'),
476 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_media_harmony'))
478 bld
.SAMBA3_MODULE('vfs_dfs_samba4',
480 source
='vfs_dfs_samba4.c',
481 deps
='samba-util dfs_server_ad samdb tevent',
483 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_dfs_samba4') and bld
.AD_DC_BUILD_IS_ENABLED(),
484 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_dfs_samba4') and bld
.AD_DC_BUILD_IS_ENABLED())
486 bld
.SAMBA3_MODULE('vfs_btrfs',
488 source
=VFS_BTRFS_SRC
,
491 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_btrfs'),
492 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_btrfs'))
494 PERFCOUNT_TEST_SRC
= 'perfcount_test.c'
496 bld
.SAMBA3_SUBSYSTEM('perfcount',
500 bld
.SAMBA3_MODULE('perfcount_test',
501 subsystem
='perfcount',
502 source
=PERFCOUNT_TEST_SRC
,
504 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('perfcount_test'),
505 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('perfcount_test'))