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_IRIXACL_SRC
= '''vfs_irixacl.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'
55 bld
.SAMBA3_SUBSYSTEM('NFS4_ACLS',
57 deps
='samba-util tdb')
59 bld
.SAMBA3_SUBSYSTEM('VFS_AIXACL_UTIL',
60 source
='vfs_aixacl_util.c',
61 enabled
=(bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl') or bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2')))
63 bld
.SAMBA3_SUBSYSTEM('vfs',
68 bld
.SAMBA3_MODULE('vfs_default',
70 source
=VFS_DEFAULT_SRC
,
71 deps
='samba-util NDR_DFSBLOBS',
73 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_default'),
74 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_default'))
76 bld
.SAMBA3_MODULE('vfs_audit',
81 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_audit'),
82 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_audit'))
84 bld
.SAMBA3_MODULE('vfs_extd_audit',
86 source
=VFS_EXTD_AUDIT_SRC
,
89 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_extd_audit'),
90 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_extd_audit'))
92 bld
.SAMBA3_MODULE('vfs_full_audit',
94 source
=VFS_FULL_AUDIT_SRC
,
97 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_full_audit'),
98 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_full_audit'))
100 bld
.SAMBA3_MODULE('vfs_fake_perms',
102 source
=VFS_FAKE_PERMS_SRC
,
105 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_fake_perms'),
106 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_fake_perms'))
108 bld
.SAMBA3_MODULE('vfs_fake_acls',
110 source
=VFS_FAKE_ACLS_SRC
,
113 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'),
114 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'))
116 bld
.SAMBA3_MODULE('vfs_recycle',
118 source
=VFS_RECYCLE_SRC
,
121 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_recycle'),
122 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_recycle'))
124 bld
.SAMBA3_MODULE('vfs_netatalk',
126 source
=VFS_NETATALK_SRC
,
129 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_netatalk'),
130 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_netatalk'))
132 bld
.SAMBA3_MODULE('vfs_default_quota',
134 source
=VFS_DEFAULT_QUOTA_SRC
,
137 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_default_quota'),
138 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_default_quota'))
140 bld
.SAMBA3_MODULE('vfs_readonly',
142 source
=VFS_READONLY_SRC
,
145 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_readonly'),
146 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_readonly'))
148 bld
.SAMBA3_MODULE('vfs_cap',
153 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_cap'),
154 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_cap'))
156 bld
.SAMBA3_MODULE('vfs_expand_msdfs',
158 source
=VFS_EXPAND_MSDFS_SRC
,
161 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_expand_msdfs'),
162 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_expand_msdfs'))
164 bld
.SAMBA3_MODULE('vfs_shadow_copy',
166 source
=VFS_SHADOW_COPY_SRC
,
169 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy'),
170 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy'))
172 bld
.SAMBA3_MODULE('vfs_shadow_copy2',
174 source
=VFS_SHADOW_COPY2_SRC
,
175 deps
='samba-util tdb',
177 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_shadow_copy2'),
178 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_shadow_copy2'))
180 bld
.SAMBA3_MODULE('vfs_afsacl',
182 source
=VFS_AFSACL_SRC
,
185 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_afsacl'),
186 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_afsacl'))
188 bld
.SAMBA3_MODULE('vfs_xattr_tdb',
190 source
=VFS_XATTR_TDB_SRC
,
191 deps
='dbwrap xattr_tdb',
193 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_xattr_tdb'),
194 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_xattr_tdb'))
196 bld
.SAMBA3_MODULE('vfs_posix_eadb',
198 source
='vfs_posix_eadb.c',
199 deps
='tdb-wrap posix_eadb',
201 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_posix_eadb') and bld
.AD_DC_BUILD_IS_ENABLED(),
202 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_posix_eadb') and bld
.AD_DC_BUILD_IS_ENABLED())
204 bld
.SAMBA3_MODULE('vfs_posixacl',
206 source
=VFS_POSIXACL_SRC
,
209 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_posixacl'),
210 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_posixacl'))
212 bld
.SAMBA3_MODULE('vfs_aixacl',
214 source
=VFS_AIXACL_SRC
,
215 deps
='VFS_AIXACL_UTIL',
217 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aixacl'),
218 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl'))
220 bld
.SAMBA3_MODULE('vfs_aixacl2',
222 source
=VFS_AIXACL2_SRC
,
223 deps
='NFS4_ACLS VFS_AIXACL_UTIL',
225 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aixacl2'),
226 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aixacl2'))
228 bld
.SAMBA3_MODULE('vfs_solarisacl',
230 source
=VFS_SOLARISACL_SRC
,
233 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_solarisacl'),
234 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_solarisacl'))
236 bld
.SAMBA3_MODULE('vfs_zfsacl',
238 source
=VFS_ZFSACL_SRC
,
239 deps
='NFS4_ACLS sunacl',
241 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
242 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
244 bld
.SAMBA3_MODULE('vfs_hpuxacl',
246 source
=VFS_HPUXACL_SRC
,
248 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_hpuxacl'),
249 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_hpuxacl'))
251 bld
.SAMBA3_MODULE('vfs_irixacl',
253 source
=VFS_IRIXACL_SRC
,
255 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_irixacl'),
256 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_irixacl'))
258 bld
.SAMBA3_MODULE('vfs_tru64acl',
260 source
=VFS_TRU64ACL_SRC
,
262 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_true64acl'),
263 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_true64acl'))
265 bld
.SAMBA3_MODULE('vfs_catia',
267 source
=VFS_CATIA_SRC
,
270 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_catia'),
271 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_catia'))
273 bld
.SAMBA3_MODULE('vfs_streams_xattr',
275 source
=VFS_STREAMS_XATTR_SRC
,
278 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_streams_xattr'),
279 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_streams_xattr'))
281 bld
.SAMBA3_MODULE('vfs_streams_depot',
283 source
=VFS_STREAMS_DEPOT_SRC
,
286 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_streams_depot'),
287 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_streams_depot'))
289 bld
.SAMBA3_MODULE('vfs_cacheprime',
291 source
=VFS_CACHEPRIME_SRC
,
294 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_cacheprime'),
295 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_cacheprime'))
297 bld
.SAMBA3_MODULE('vfs_prealloc',
299 source
=VFS_PREALLOC_SRC
,
302 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_prealloc'),
303 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_prealloc'))
305 bld
.SAMBA3_MODULE('vfs_commit',
307 source
=VFS_COMMIT_SRC
,
310 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_commit'),
311 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_commit'))
313 bld
.SAMBA3_MODULE('vfs_gpfs',
318 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_gpfs'),
319 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'))
321 vfs_notify_fam_deps
='samba-util '
322 if bld
.CONFIG_SET('SAMBA_FAM_LIBS'):
323 vfs_notify_fam_deps
+= bld
.CONFIG_GET('SAMBA_FAM_LIBS')
324 bld
.SAMBA3_MODULE('vfs_notify_fam',
326 source
=VFS_NOTIFY_FAM_SRC
,
327 deps
=vfs_notify_fam_deps
,
329 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_notify_fam'),
330 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_notify_fam'))
332 bld
.SAMBA3_MODULE('vfs_readahead',
334 source
=VFS_READAHEAD_SRC
,
337 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_readahead'),
338 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_readahead'))
340 bld
.SAMBA3_MODULE('vfs_tsmsm',
342 source
=VFS_TSMSM_SRC
,
345 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_tsmsm'),
346 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_tsmsm'))
348 bld
.SAMBA3_MODULE('vfs_fileid',
350 source
=VFS_FILEID_SRC
,
353 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_fileid'),
354 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_fileid'))
356 bld
.SAMBA3_MODULE('vfs_aio_fork',
358 source
=VFS_AIO_FORK_SRC
,
359 deps
='samba-util tevent',
361 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_fork'),
362 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_fork'),
363 allow_undefined_symbols
=True)
365 bld
.SAMBA3_MODULE('vfs_aio_pthread',
367 source
=VFS_AIO_PTHREAD_SRC
,
368 deps
='samba-util tevent',
370 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_pthread'),
371 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_pthread'),
372 allow_undefined_symbols
=True)
374 bld
.SAMBA3_MODULE('vfs_aio_posix',
376 source
=VFS_AIO_POSIX_SRC
,
377 deps
='samba-util tevent',
379 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_posix'),
380 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_posix'),
381 allow_undefined_symbols
=True)
383 bld
.SAMBA3_MODULE('vfs_aio_linux',
385 source
=VFS_AIO_LINUX_SRC
,
386 deps
='samba-util aio',
388 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_aio_linux'),
389 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_aio_linux'),
390 allow_undefined_symbols
=True)
392 bld
.SAMBA3_MODULE('vfs_preopen',
394 source
=VFS_PREOPEN_SRC
,
397 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_preopen'),
398 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_preopen'))
400 bld
.SAMBA3_MODULE('vfs_syncops',
402 source
=VFS_SYNCOPS_SRC
,
405 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_syncops'),
406 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_syncops'))
408 bld
.SAMBA3_MODULE('vfs_acl_xattr',
410 source
=VFS_ACL_XATTR_SRC
,
413 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_acl_xattr'),
414 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_acl_xattr'))
416 bld
.SAMBA3_MODULE('vfs_acl_tdb',
418 source
=VFS_ACL_TDB_SRC
,
419 deps
='NDR_XATTR tdb',
421 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_acl_tdb'),
422 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_acl_tdb'))
424 bld
.SAMBA3_MODULE('vfs_smb_traffic_analyzer',
426 source
=VFS_SMB_TRAFFIC_ANALYZER_SRC
,
429 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_smb_traffic_analyzer'),
430 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_smb_traffic_analyzer'))
432 bld
.SAMBA3_MODULE('vfs_dirsort',
434 source
=VFS_DIRSORT_SRC
,
437 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_dirsort'),
438 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_dirsort'))
440 bld
.SAMBA3_MODULE('vfs_scannedonly',
442 source
=VFS_SCANNEDONLY_SRC
,
445 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_scannedonly'),
446 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_scannedonly'))
448 bld
.SAMBA3_MODULE('vfs_crossrename',
450 source
=VFS_CROSSRENAME_SRC
,
453 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_crossrename'),
454 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_crossrename'))
456 bld
.SAMBA3_MODULE('vfs_linux_xfs_sgid',
458 source
=VFS_LINUX_XFS_SGID_SRC
,
461 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_linux_xfs_sgid'),
462 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_linux_xfs_sgid'))
464 bld
.SAMBA3_MODULE('vfs_time_audit',
466 source
=VFS_TIME_AUDIT_SRC
,
469 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_time_audit'),
470 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_time_audit'))
472 bld
.SAMBA3_MODULE('vfs_media_harmony',
474 source
=VFS_MEDIA_HARMONY_SRC
,
477 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_media_harmony'),
478 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_media_harmony'))
480 bld
.SAMBA3_MODULE('vfs_dfs_samba4',
482 source
='vfs_dfs_samba4.c',
483 deps
='samba-util dfs_server_ad samdb tevent',
485 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('vfs_dfs_samba4') and bld
.AD_DC_BUILD_IS_ENABLED(),
486 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('vfs_dfs_samba4') and bld
.AD_DC_BUILD_IS_ENABLED())
488 PERFCOUNT_TEST_SRC
= 'perfcount_test.c'
490 bld
.SAMBA3_SUBSYSTEM('perfcount',
494 bld
.SAMBA3_MODULE('perfcount_test',
495 subsystem
='perfcount',
496 source
=PERFCOUNT_TEST_SRC
,
498 internal_module
=bld
.SAMBA3_IS_STATIC_MODULE('perfcount_test'),
499 enabled
=bld
.SAMBA3_IS_ENABLED_MODULE('perfcount_test'))