diff options
Diffstat (limited to 'source3')
-rwxr-xr-x | source3/configure | 66 | ||||
-rw-r--r-- | source3/configure.in | 2 | ||||
-rw-r--r-- | source3/include/config.h.in | 3 |
3 files changed, 69 insertions, 2 deletions
diff --git a/source3/configure b/source3/configure index b27ff21040..ba0df7ea28 100755 --- a/source3/configure +++ b/source3/configure @@ -24035,7 +24035,71 @@ echo "${ECHO_T}no" >&6; ;; *solaris*) - LIBS="$LIBS -lsendfile" + +echo "$as_me:$LINENO: checking for sendfilev in -lsendfile" >&5 +echo $ECHO_N "checking for sendfilev in -lsendfile... $ECHO_C" >&6 +if test "${ac_cv_lib_sendfile_sendfilev+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsendfile $LIBS" +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char sendfilev (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +sendfilev (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_sendfile_sendfilev=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_sendfile_sendfilev=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_sendfile_sendfilev" >&5 +echo "${ECHO_T}$ac_cv_lib_sendfile_sendfilev" >&6 +if test $ac_cv_lib_sendfile_sendfilev = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBSENDFILE 1 +_ACEOF + + LIBS="-lsendfile $LIBS" + +fi + echo "$as_me:$LINENO: checking for solaris sendfilev64 support" >&5 echo $ECHO_N "checking for solaris sendfilev64 support... $ECHO_C" >&6 if test "${samba_cv_HAVE_SENDFILEV64+set}" = set; then diff --git a/source3/configure.in b/source3/configure.in index 477ed850cf..f8386e2275 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -2916,7 +2916,7 @@ samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)]) ;; *solaris*) - LIBS="$LIBS -lsendfile" + AC_CHECK_LIB(sendfile,sendfilev) AC_CACHE_CHECK([for solaris sendfilev64 support],samba_cv_HAVE_SENDFILEV64,[ AC_TRY_LINK([\ #include <sys/sendfile.h>], diff --git a/source3/include/config.h.in b/source3/include/config.h.in index ebcbc6504e..0f9b585058 100644 --- a/source3/include/config.h.in +++ b/source3/include/config.h.in @@ -361,6 +361,9 @@ /* Define to 1 if you have the `security' library (-lsecurity). */ #undef HAVE_LIBSECURITY +/* Define to 1 if you have the `sendfile' library (-lsendfile). */ +#undef HAVE_LIBSENDFILE + /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET |