--with-sendfile-support should be used automatically if it's found.
Configure now also fails reliably for all platforms when sendfile was
explicitly requested but failed to be detected.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=9707
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jan 8 07:03:49 CET 2019 on sn-devel-144
opt.SAMBA3_ADD_OPTION('iprint', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('pam')
opt.SAMBA3_ADD_OPTION('quotas')
opt.SAMBA3_ADD_OPTION('iprint', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('pam')
opt.SAMBA3_ADD_OPTION('quotas')
- opt.SAMBA3_ADD_OPTION('sendfile-support')
+ opt.SAMBA3_ADD_OPTION('sendfile-support', default=None)
opt.SAMBA3_ADD_OPTION('utmp')
opt.SAMBA3_ADD_OPTION('avahi', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('iconv')
opt.SAMBA3_ADD_OPTION('utmp')
opt.SAMBA3_ADD_OPTION('avahi', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('iconv')
addmain=False,
execute=True)
addmain=False,
execute=True)
- if Options.options.with_sendfile_support:
+ if not Options.options.with_sendfile_support == False:
if (host_os.rfind('linux') > -1) or (host_os.rfind('gnu') > -1) or (host_os.rfind('k*bsd*-gnu') > -1) or (host_os.rfind('kopensolaris*-gnu') > -1):
conf.CHECK_CODE('''
int tofd, fromfd;
if (host_os.rfind('linux') > -1) or (host_os.rfind('gnu') > -1) or (host_os.rfind('k*bsd*-gnu') > -1) or (host_os.rfind('kopensolaris*-gnu') > -1):
conf.CHECK_CODE('''
int tofd, fromfd;
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('LINUX_SENDFILE_API', '1')
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('LINUX_SENDFILE_API', '1')
- conf.DEFINE('WITH_SENDFILE', '1')
elif (host_os.rfind('freebsd') > -1) or (host_os.rfind('dragonfly') > -1):
conf.CHECK_CODE('''
#include <sys/types.h>
elif (host_os.rfind('freebsd') > -1) or (host_os.rfind('dragonfly') > -1):
conf.CHECK_CODE('''
#include <sys/types.h>
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('FREEBSD_SENDFILE_API', '1')
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('FREEBSD_SENDFILE_API', '1')
- conf.DEFINE('WITH_SENDFILE', '1')
elif (host_os.rfind('darwin') > -1):
conf.CHECK_CODE('''
#include <sys/types.h>
elif (host_os.rfind('darwin') > -1):
conf.CHECK_CODE('''
#include <sys/types.h>
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('DARWIN_SENDFILE_API', '1')
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('DARWIN_SENDFILE_API', '1')
- conf.DEFINE('WITH_SENDFILE', '1')
elif (host_os.rfind('hpux') > -1) or (host_os.rfind('osf') > -1):
conf.CHECK_CODE('''
#include <sys/socket.h>
elif (host_os.rfind('hpux') > -1) or (host_os.rfind('osf') > -1):
conf.CHECK_CODE('''
#include <sys/socket.h>
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('HPUX_SENDFILE_API', '1')
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('HPUX_SENDFILE_API', '1')
- conf.DEFINE('WITH_SENDFILE', '1')
elif (host_os.rfind('sunos') > -1):
conf.CHECK_FUNCS_IN('sendfilev', 'sendfile')
conf.CHECK_CODE('''
elif (host_os.rfind('sunos') > -1):
conf.CHECK_FUNCS_IN('sendfilev', 'sendfile')
conf.CHECK_CODE('''
if conf.CONFIG_SET('_HAVE_SENDFILEV'):
conf.DEFINE('HAVE_SENDFILEV', '1')
conf.DEFINE('SOLARIS_SENDFILE_API', '1')
if conf.CONFIG_SET('_HAVE_SENDFILEV'):
conf.DEFINE('HAVE_SENDFILEV', '1')
conf.DEFINE('SOLARIS_SENDFILE_API', '1')
- conf.DEFINE('WITH_SENDFILE', '1')
elif (host_os.rfind('aix') > -1):
conf.CHECK_CODE('''
#include <sys/socket.h>
elif (host_os.rfind('aix') > -1):
conf.CHECK_CODE('''
#include <sys/socket.h>
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('AIX_SENDFILE_API', '1')
if conf.CONFIG_SET('_HAVE_SENDFILE'):
conf.DEFINE('HAVE_SENDFILE', '1')
conf.DEFINE('AIX_SENDFILE_API', '1')
- conf.DEFINE('WITH_SENDFILE', '1')
+ if Options.options.with_sendfile_support == True and not conf.CONFIG_SET('HAVE_SENDFILE'):
+ conf.fatal('sendfile support not found but it was requested !')
# Check for getcwd allowing a NULL arg.
conf.CHECK_CODE('''
#include <unistd.h>
# Check for getcwd allowing a NULL arg.
conf.CHECK_CODE('''
#include <unistd.h>