diff options
author | Günther Deschner <gd@samba.org> | 2011-02-22 21:33:06 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2011-02-22 21:52:19 +0100 |
commit | 2b53e7eec75b3ea210eceeec4361d14fc4576f27 (patch) | |
tree | f76b9b247d76a844b7ccacff1073620a7cbf0b3f | |
parent | 6c32fe5207c4baab12212e9d53b80b41986ed1d7 (diff) | |
download | samba-2b53e7eec75b3ea210eceeec4361d14fc4576f27.tar.gz samba-2b53e7eec75b3ea210eceeec4361d14fc4576f27.tar.bz2 samba-2b53e7eec75b3ea210eceeec4361d14fc4576f27.zip |
s3-waf: add check for sendfile on solaris.
Guenther
-rw-r--r-- | source3/wscript | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/source3/wscript b/source3/wscript index 8892c461c0..d3b7916fe4 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1403,6 +1403,56 @@ main() { conf.DEFINE('HAVE_SENDFILE', '1') conf.DEFINE('HPUX_SENDFILE_API', '1') conf.DEFINE('WITH_SENDFILE', '1') + elif (host_os.rfind('solaris') > -1): + conf.CHECK_FUNCS_IN('sendfile', 'sendfilev') + conf.CHECK_CODE(''' + #include <sys/sendfile.h> + int sfvcnt; + size_t xferred; + struct sendfilevec vec[2]; + ssize_t nwritten; + int tofd; + sfvcnt = 2; + vec[0].sfv_fd = SFV_FD_SELF; + vec[0].sfv_flag = 0; + vec[0].sfv_off = 0; + vec[0].sfv_len = 0; + vec[1].sfv_fd = 0; + vec[1].sfv_flag = 0; + vec[1].sfv_off = 0; + vec[1].sfv_len = 0; + nwritten = sendfilev64(tofd, vec, sfvcnt, &xferred); + ''', + '_HAVE_SENDFILEV64', + msg='Checking for solaris sendfilev64 support') + conf.CHECK_CODE(''' + #include <sys/sendfile.h>, + int sfvcnt; + size_t xferred; + struct sendfilevec vec[2]; + ssize_t nwritten; + int tofd; + sfvcnt = 2; + vec[0].sfv_fd = SFV_FD_SELF; + vec[0].sfv_flag = 0; + vec[0].sfv_off = 0; + vec[0].sfv_len = 0; + vec[1].sfv_fd = 0; + vec[1].sfv_flag = 0; + vec[1].sfv_off = 0; + vec[1].sfv_len = 0; + nwritten = sendfilev(tofd, vec, sfvcnt, &xferred); + ''', + '_HAVE_SENDFILEV', + msg='Checking for solaris sendfilev support') + if conf.CONFIG_SET('_HAVE_SENDFILEV64'): + conf.DEFINE('HAVE_SENDFILEV64', '1') + conf.DEFINE('SOLARIS_SENDFILE_API', '1') + conf.DEFINE('WITH_SENDFILE', '1') + elif conf.CONFIG_SET('_HAVE_SENDFILEV'): + conf.DEFINE('HAVE_SENDFILEV', '1') + conf.DEFINE('SOLARIS_SENDFILE_API', '1') + conf.DEFINE('WITH_SENDFILE', '1') default_static_modules=TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam auth_sam auth_unix auth_winbind auth_wbc auth_server |