1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

s3:modules: fix the build of vfs_notify_fam (bug #9545)

This adds the --with-fam option and configure checks.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
Stefan Metzmacher 2013-03-22 09:30:05 +01:00 committed by Volker Lendecke
parent 821171e422
commit 0d75c90225
2 changed files with 34 additions and 0 deletions

View File

@ -316,9 +316,13 @@ bld.SAMBA3_MODULE('vfs_gpfs',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_gpfs'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'))
vfs_notify_fam_deps='samba-util '
if bld.CONFIG_SET('SAMBA_FAM_LIBS'):
vfs_notify_fam_deps += bld.CONFIG_GET('SAMBA_FAM_LIBS')
bld.SAMBA3_MODULE('vfs_notify_fam',
subsystem='vfs',
source=VFS_NOTIFY_FAM_SRC,
deps=vfs_notify_fam_deps,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_notify_fam'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_notify_fam'))

View File

@ -42,6 +42,7 @@ def set_options(opt):
opt.SAMBA3_ADD_OPTION('automount')
opt.SAMBA3_ADD_OPTION('aio-support')
opt.SAMBA3_ADD_OPTION('dmapi', default=False, help="build with DMAPI support")
opt.SAMBA3_ADD_OPTION('fam', default=None) # None means autodetection
opt.SAMBA3_ADD_OPTION('profiling-data', default=False)
opt.SAMBA3_ADD_OPTION('cluster-support', default=None)
@ -163,6 +164,32 @@ main() {
}''', 'HAVE_KERNEL_SHARE_MODES', addmain=False, execute=True,
msg="Checking for kernel share modes")
# check for fam libs
samba_fam_libs=None
check_for_fam=False
if Options.options.with_fam is None:
check_for_fam=True
elif Options.options.with_fam == True:
check_for_fam=True
if check_for_fam and conf.CHECK_HEADERS('fam.h'):
if conf.CHECK_FUNCS_IN('FAMOpen2', 'fam'):
samba_fam_libs='fam'
elif conf.CHECK_FUNCS_IN('FAMOpen2', 'fam C'):
samba_fam_libs='fam C'
conf.CHECK_TYPE('enum FAMCodes', headers='fam.h',
define='HAVE_FAM_H_FAMCODES_TYPEDEF',
msg='Checking whether enum FAMCodes is available')
conf.CHECK_FUNCS_IN('FAMNoExists', 'fam')
if samba_fam_libs is not None:
conf.DEFINE('SAMBA_FAM_LIBS', samba_fam_libs)
else:
if Options.options.with_fam == True:
conf.fatal('FAM support requested, but no suitable FAM library found')
elif check_for_fam:
Logs.warn('no suitable FAM library found')
# check for DMAPI libs
Logs.info("Checking for DMAPI library existence")
conf.env['dmapi_lib'] = ''
@ -1736,6 +1763,9 @@ main() {
if conf.CONFIG_SET('HAVE_LINUX_IOCTL'):
default_shared_modules.extend(TO_LIST('vfs_btrfs'))
if conf.CONFIG_SET('SAMBA_FAM_LIBS'):
default_shared_modules.extend(TO_LIST('vfs_notify_fam'))
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')