6a4d465c26
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
76 lines
2.1 KiB
Plaintext
76 lines
2.1 KiB
Plaintext
dnl @synopsis AC_raf_FUNC_WHICH_GETSERVBYNAME_R
|
|
dnl
|
|
dnl Provides a test to determine the correct way to call
|
|
dnl getservbyname_r:
|
|
dnl
|
|
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_6 if it needs 6 arguments (e.g linux)
|
|
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_5 if it needs 5 arguments (e.g. solaris)
|
|
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_4 if it needs 4 arguments (e.g. osf/1)
|
|
dnl
|
|
dnl An example use can be found at
|
|
dnl http://raf.org/autoconf/net_getservbyname.c
|
|
dnl
|
|
dnl Based on Caolan McNamara's gethostbyname_r macro. Based on David
|
|
dnl Arnold's autoconf suggestion in the threads faq.
|
|
dnl
|
|
dnl @category Misc
|
|
dnl @author raf <raf@raf.org>
|
|
dnl @version 2001-08-20
|
|
dnl @license GPLWithACException
|
|
|
|
AC_DEFUN([AC_raf_FUNC_WHICH_GETSERVBYNAME_R],
|
|
[AC_CACHE_CHECK(for getservbyname_r, ac_cv_func_which_getservbyname_r, [
|
|
AC_CHECK_FUNC(getservbyname_r, [
|
|
AC_TRY_COMPILE([
|
|
# include <netdb.h>
|
|
], [
|
|
|
|
char *name;
|
|
char *proto;
|
|
struct servent *se;
|
|
struct servent_data data;
|
|
(void) getservbyname_r(name, proto, se, &data);
|
|
|
|
],ac_cv_func_which_getservbyname_r=four,
|
|
[
|
|
AC_TRY_COMPILE([
|
|
# include <netdb.h>
|
|
], [
|
|
char *name;
|
|
char *proto;
|
|
struct servent *se, *res;
|
|
char buffer[2048];
|
|
int buflen = 2048;
|
|
(void) getservbyname_r(name, proto, se, buffer, buflen, &res)
|
|
],ac_cv_func_which_getservbyname_r=six,
|
|
|
|
[
|
|
AC_TRY_COMPILE([
|
|
# include <netdb.h>
|
|
], [
|
|
char *name;
|
|
char *proto;
|
|
struct servent *se;
|
|
char buffer[2048];
|
|
int buflen = 2048;
|
|
(void) getservbyname_r(name, proto, se, buffer, buflen)
|
|
],ac_cv_func_which_getservbyname_r=five,ac_cv_func_which_getservbyname_r=no)
|
|
|
|
]
|
|
|
|
)
|
|
]
|
|
)]
|
|
,ac_cv_func_which_getservbyname_r=no)])
|
|
|
|
if test $ac_cv_func_which_getservbyname_r = six; then
|
|
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_6)
|
|
elif test $ac_cv_func_which_getservbyname_r = five; then
|
|
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_5)
|
|
elif test $ac_cv_func_which_getservbyname_r = four; then
|
|
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_4)
|
|
|
|
fi
|
|
|
|
])
|