X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=source3%2Fmodules%2Fwscript_build;h=201610e8a2931e854e931ed09a7b478e6e928bc6;hb=HEAD;hp=e6576ac2462e7b6731737e220ea577ec1a72af8c;hpb=72e0885413d1de4206ceec2046b5e7a610116faf;p=samba.git diff --git a/source3/modules/wscript_build b/source3/modules/wscript_build index e6576ac2462..1f0aa44ff1b 100644 --- a/source3/modules/wscript_build +++ b/source3/modules/wscript_build @@ -4,10 +4,28 @@ bld.SAMBA3_SUBSYSTEM('NFS4_ACLS', source='nfs4_acls.c', deps='samba-util tdb') -bld.SAMBA3_LIBRARY('non_posix_acls', +bld.SAMBA3_BINARY('test_nfs4_acls', + source='test_nfs4_acls.c', + deps='smbd_base cmocka', + for_selftest=True) + +bld.SAMBA3_SUBSYSTEM('vfs_acl_common', + source='vfs_acl_common.c', + deps='gnutls') + +bld.SAMBA3_SUBSYSTEM('POSIXACL_XATTR', + source='posixacl_xattr.c', + enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph') or bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs')), + deps='acl attr') + +bld.SAMBA3_SUBSYSTEM('non_posix_acls', source='non_posix_acls.c', - deps='samba-util vfs', - private_library=True) + deps='samba-util vfs') + +bld.SAMBA3_SUBSYSTEM('VFS_VIRUSFILTER_UTILS', + source='vfs_virusfilter_utils.c', + deps='strv', + enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_virusfilter'))) bld.SAMBA3_SUBSYSTEM('VFS_AIXACL_UTIL', source='vfs_aixacl_util.c', @@ -17,14 +35,42 @@ bld.SAMBA3_SUBSYSTEM('vfs', source='', deps='smbd_base') +bld.SAMBA3_SUBSYSTEM('OFFLOAD_TOKEN', + source='offload_token.c', + deps='samba-util') + +bld.SAMBA3_SUBSYSTEM('UTIL_REPARSE', + source='util_reparse.c', + deps='samba-util') + +bld.SAMBA3_SUBSYSTEM('HASH_INODE', + source='hash_inode.c', + deps='gnutls') + +# +# This is always be static, see +# source3/wscript: required_static_modules +# bld.SAMBA3_MODULE('vfs_default', subsystem='vfs', source='vfs_default.c', - deps='samba-util NDR_DFSBLOBS', + deps='samba-util NDR_DFSBLOBS OFFLOAD_TOKEN UTIL_REPARSE', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default')) +# +# This is always be static, see +# source3/wscript: required_static_modules +# +bld.SAMBA3_MODULE('vfs_not_implemented', + subsystem='vfs', + source='vfs_not_implemented.c', + deps='samba-util', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_not_implemented'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_not_implemented')) + bld.SAMBA3_MODULE('vfs_audit', subsystem='vfs', source='vfs_audit.c', @@ -49,6 +95,11 @@ bld.SAMBA3_MODULE('vfs_full_audit', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_full_audit'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_full_audit')) +bld.SAMBA3_BINARY('test_vfs_full_audit', + source='test_vfs_full_audit.c', + deps='smbd_base cmocka', + for_selftest=True) + bld.SAMBA3_MODULE('vfs_fake_perms', subsystem='vfs', source='vfs_fake_perms.c', @@ -63,7 +114,8 @@ bld.SAMBA3_MODULE('vfs_fake_acls', deps='samba-util', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls')) + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'), + install=False) bld.SAMBA3_MODULE('vfs_recycle', subsystem='vfs', @@ -73,18 +125,10 @@ bld.SAMBA3_MODULE('vfs_recycle', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_recycle'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_recycle')) -bld.SAMBA3_MODULE('vfs_netatalk', - subsystem='vfs', - source='vfs_netatalk.c', - deps='samba-util', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_netatalk'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_netatalk')) - bld.SAMBA3_MODULE('vfs_fruit', subsystem='vfs', source='vfs_fruit.c', - deps='samba-util', + deps='samba-util OFFLOAD_TOKEN STRING_REPLACE HASH_INODE ADOUBLE', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fruit'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fruit')) @@ -97,10 +141,18 @@ bld.SAMBA3_MODULE('vfs_default_quota', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default_quota'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default_quota')) +module_cflags='' +if bld.CONFIG_SET('HAVE_WNO_STRICT_OVERFLOW'): + module_cflags += ' -Wno-strict-overflow' + +if bld.CONFIG_SET('HAVE_WNO_UNUSED_BUT_SET_VARIABLE'): + module_cflags += ' -Wno-unused-but-set-variable' + bld.SAMBA3_MODULE('vfs_readonly', subsystem='vfs', source='vfs_readonly.c getdate.c', deps='samba-util', + cflags_end=module_cflags, init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_readonly'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_readonly')) @@ -170,6 +222,11 @@ bld.SAMBA3_MODULE('vfs_posixacl', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posixacl'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posixacl')) +bld.SAMBA3_BINARY('test_vfs_posixacl', + source='test_vfs_posixacl.c', + deps='smbd_base cmocka', + for_selftest=True) + bld.SAMBA3_MODULE('vfs_aixacl', subsystem='vfs', source='vfs_aixacl.c', @@ -202,13 +259,48 @@ bld.SAMBA3_MODULE('vfs_zfsacl', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl')) -bld.SAMBA3_MODULE('vfs_nfs4acl_xattr', - subsystem='vfs', - source='vfs_nfs4acl_xattr.c', - deps='NFS4_ACLS sunacl NDR_NFS4ACL', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_nfs4acl_xattr'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_nfs4acl_xattr')) +if bld.SAMBA3_IS_ENABLED_MODULE('vfs_nfs4acl_xattr'): + bld.SAMBA_GENERATOR('nfs41acl-h', + source='nfs41acl.x', + target='nfs41acl.h', + rule='rpcgen -h ${SRC} > ${TGT}') + + if bld.CONFIG_SET("HAVE_RPC_XDR_H"): + xdr_buf_hack = r'sed -e "s@^\([ \t]*register int32_t \*buf\);@\\1 = buf;@"' + + # By default rpcgen assumes that the input file, generated header and + # source file are located in the same directory, which is extracted from + # the provided path to the input file. + # However if the build directory is not under the source tree, ${SRC} will + # be a long relative path through a common parent directory, resulting + # in an invalid path used in #include for the header. + # In order to fix that, the input file is first copied to the output build + # directory and then rpcgen is called with the proper path. + bld.SAMBA_GENERATOR('nfs41acl-xdr-c', + source='nfs41acl.x', + target='nfs41acl_xdr.c', + rule='cp -f ${SRC} ${TGT[0].parent} && rpcgen -c ' \ + '${TGT[0].path_from(tsk.get_cwd())[:-len(tsk.outputs[0].name)] + tsk.inputs[0].name} | ' + \ + xdr_buf_hack + ' > ${TGT}') + + bld.SAMBA_SUBSYSTEM('VFS_NFS4_XDR', + source='nfs41acl_xdr.c', + deps='NFS4_ACLS NDR_NFS4ACL tirpc') + else: + bld.SET_TARGET_TYPE('VFS_NFS4_XDR', 'EMPTY') + + bld.SAMBA3_MODULE('vfs_nfs4acl_xattr', + subsystem='vfs', + source = ''' + vfs_nfs4acl_xattr.c + nfs4acl_xattr_ndr.c + nfs4acl_xattr_xdr.c + nfs4acl_xattr_nfs.c + nfs4acl_xattr_util.c + ''', + deps='NFS4_ACLS sunacl NDR_NFS4ACL VFS_NFS4_XDR', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_nfs4acl_xattr')) bld.SAMBA3_MODULE('vfs_hpuxacl', subsystem='vfs', @@ -217,17 +309,10 @@ bld.SAMBA3_MODULE('vfs_hpuxacl', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_hpuxacl'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_hpuxacl')) -bld.SAMBA3_MODULE('vfs_tru64acl', - subsystem='vfs', - source='vfs_tru64acl.c', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_true64acl'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_true64acl')) - bld.SAMBA3_MODULE('vfs_catia', subsystem='vfs', source='vfs_catia.c', - deps='samba-util', + deps='samba-util STRING_REPLACE', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_catia'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_catia')) @@ -235,7 +320,7 @@ bld.SAMBA3_MODULE('vfs_catia', bld.SAMBA3_MODULE('vfs_streams_xattr', subsystem='vfs', source='vfs_streams_xattr.c', - deps='samba-util', + deps='samba-util HASH_INODE', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_streams_xattr'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_streams_xattr')) @@ -281,6 +366,13 @@ bld.SAMBA3_MODULE('vfs_gpfs', enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'), includes=bld.CONFIG_GET('CPPPATH_GPFS')) +bld.SAMBA3_BINARY('test_vfs_gpfs', + source='test_vfs_gpfs.c', + deps='NFS4_ACLS non_posix_acls gpfswrap cmocka', + for_selftest=True, + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'), + includes=bld.CONFIG_GET('CPPPATH_GPFS')) + bld.SAMBA3_MODULE('vfs_readahead', subsystem='vfs', source='vfs_readahead.c', @@ -321,21 +413,13 @@ bld.SAMBA3_MODULE('vfs_aio_pthread', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_pthread'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_pthread')) -bld.SAMBA3_MODULE('vfs_aio_posix', - subsystem='vfs', - source='vfs_aio_posix.c', - deps='samba-util tevent', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_posix'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_posix')) - -bld.SAMBA3_MODULE('vfs_aio_linux', +bld.SAMBA3_MODULE('vfs_io_uring', subsystem='vfs', - source='vfs_aio_linux.c', - deps='samba-util aio', + source='vfs_io_uring.c', + deps='samba-util tevent uring', init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_linux'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_linux')) + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_io_uring'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_io_uring')) bld.SAMBA3_MODULE('vfs_preopen', subsystem='vfs', @@ -356,7 +440,7 @@ bld.SAMBA3_MODULE('vfs_syncops', bld.SAMBA3_MODULE('vfs_acl_xattr', subsystem='vfs', source='vfs_acl_xattr.c', - deps='samba-util', + deps='samba-util vfs_acl_common', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_xattr'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_xattr')) @@ -364,19 +448,11 @@ bld.SAMBA3_MODULE('vfs_acl_xattr', bld.SAMBA3_MODULE('vfs_acl_tdb', subsystem='vfs', source='vfs_acl_tdb.c', - deps='NDR_XATTR tdb', + deps='samba-util vfs_acl_common', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_tdb'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_tdb')) -bld.SAMBA3_MODULE('vfs_smb_traffic_analyzer', - subsystem='vfs', - source='vfs_smb_traffic_analyzer.c', - deps='samba-util', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_smb_traffic_analyzer'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_smb_traffic_analyzer')) - bld.SAMBA3_MODULE('vfs_dirsort', subsystem='vfs', source='vfs_dirsort.c', @@ -385,14 +461,6 @@ bld.SAMBA3_MODULE('vfs_dirsort', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dirsort'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dirsort')) -bld.SAMBA3_MODULE('vfs_scannedonly', - subsystem='vfs', - source='vfs_scannedonly.c', - deps='samba-util', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_scannedonly'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_scannedonly')) - bld.SAMBA3_MODULE('vfs_crossrename', subsystem='vfs', source='vfs_crossrename.c', @@ -444,7 +512,7 @@ bld.SAMBA3_MODULE('vfs_dfs_samba4', bld.SAMBA3_MODULE('vfs_btrfs', subsystem='vfs', source='vfs_btrfs.c', - deps='samba-util', + deps='samba-util OFFLOAD_TOKEN', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_btrfs'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_btrfs')) @@ -461,30 +529,40 @@ bld.SAMBA3_SUBSYSTEM('perfcount', source='', deps='smbd_base') -bld.SAMBA3_MODULE('perfcount_test', - subsystem='perfcount', - source='perfcount_test.c', - init_function='', - internal_module=bld.SAMBA3_IS_STATIC_MODULE('perfcount_test'), - enabled=bld.SAMBA3_IS_ENABLED_MODULE('perfcount_test')) - bld.SAMBA3_MODULE('vfs_ceph', subsystem='vfs', source='vfs_ceph.c', - deps='samba-util cephfs', + deps='POSIXACL_XATTR samba-util cephfs', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph'), - cflags=bld.CONFIG_GET('CCFLAGS_CEPHFS')) + cflags=bld.CONFIG_GET('CFLAGS_CEPHFS'), + includes=bld.CONFIG_GET('CPPPATH_CEPHFS')) + +bld.SAMBA3_MODULE('vfs_ceph_snapshots', + subsystem='vfs', + source='vfs_ceph_snapshots.c', + deps='samba-util', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph_snapshots'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph_snapshots')) bld.SAMBA3_MODULE('vfs_glusterfs', subsystem='vfs', source='vfs_glusterfs.c', - deps='samba-util gfapi', + deps='POSIXACL_XATTR samba-util gfapi', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs')) +bld.SAMBA3_MODULE('vfs_glusterfs_fuse', + subsystem='vfs', + source='vfs_glusterfs_fuse.c', + deps='', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs_fuse'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs_fuse')) + bld.SAMBA3_MODULE('vfs_worm', subsystem='vfs', source='vfs_worm.c', @@ -501,9 +579,61 @@ bld.SAMBA3_MODULE('vfs_snapper', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_snapper'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_snapper')) +bld.SAMBA3_MODULE('vfs_virusfilter', + subsystem='vfs', + source=''' + vfs_virusfilter.c + vfs_virusfilter_sophos.c + vfs_virusfilter_fsav.c + vfs_virusfilter_clamav.c + vfs_virusfilter_dummy.c + ''', + deps='samba-util VFS_VIRUSFILTER_UTILS', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_virusfilter'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_virusfilter')) + bld.SAMBA3_MODULE('vfs_vxfs', subsystem='vfs', - source='vfs_vxfs.c', + source='lib_vxfs.c vfs_vxfs.c', init_function='', internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_vxfs'), enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_vxfs')) + +bld.SAMBA3_MODULE('vfs_offline', + subsystem='vfs', + source='vfs_offline.c', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_offline'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_offline')) + +bld.SAMBA3_MODULE('vfs_fake_dfq', + subsystem='vfs', + source='vfs_fake_dfq.c', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_dfq'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_dfq'), + install=False) + +bld.SAMBA3_MODULE('vfs_error_inject', + subsystem='vfs', + source='vfs_error_inject.c', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_error_inject'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_error_inject'), + install=False) + +bld.SAMBA3_MODULE('vfs_delay_inject', + subsystem='vfs', + source='vfs_delay_inject.c', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_delay_inject'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'), + install=False) + +bld.SAMBA3_MODULE('vfs_widelinks', + subsystem='vfs', + source='vfs_widelinks.c', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_widelinks'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_widelinks'))