autoconf support extended for Solaris (which needs -lnsl and -socket)

TOS
Stephane Bortzmeyer 24 years ago
parent 2c3413ae11
commit ef763b13a4

@ -1,7 +1,8 @@
Check the TCP timeout with T/TCP. Difficult to test, few T/TCP
machines exist.
TCP timeout with long packets seem to confuse Cisco routers.
TCP timeout with long packets seem to confuse Cisco routers. Does
someone can reproduce it and perform tests? It seems to work now.

@ -88,3 +88,40 @@ do
done
])dnl
dnl Useful macros to check libraries which are not implicit
dnl in Solaris.
AC_DEFUN([CF_LIB_NSL],
[
AC_CHECK_LIB(nsl,gethostbyname,
[
AC_MSG_CHECKING(if libnsl is mandatory)
AC_TRY_LINK([#include <sys/types.h>
#include <netinet/in.h>
char *domain; ],
[gethostbyname(domain)], dnl
[AC_MSG_RESULT(no)], dnl
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lnsl"])
])
])
AC_DEFUN([CF_LIB_SOCKET],
[
AC_CHECK_LIB(socket,socket,
[
AC_MSG_CHECKING(if libsocket is mandatory)
AC_TRY_LINK([#include <sys/types.h>
#include <netinet/in.h>
union
{
HEADER hdr;
u_char buf[512];
}
response;
char *domain;
int requested_type; ],
[socket (AF_INET, SOCK_STREAM, 0) ], dnl
[AC_MSG_RESULT(no)], dnl
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lsocket"])
])
])

37
SRC/aclocal.m4 vendored

@ -100,6 +100,43 @@ do
done
])dnl
dnl Useful macros to check libraries which are not implicit
dnl in Solaris.
AC_DEFUN([CF_LIB_NSL],
[
AC_CHECK_LIB(nsl,gethostbyname,
[
AC_MSG_CHECKING(if libnsl is mandatory)
AC_TRY_LINK([#include <sys/types.h>
#include <netinet/in.h>
char *domain; ],
[gethostbyname(domain)], dnl
[AC_MSG_RESULT(no)], dnl
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lnsl"])
])
])
AC_DEFUN([CF_LIB_SOCKET],
[
AC_CHECK_LIB(socket,socket,
[
AC_MSG_CHECKING(if libsocket is mandatory)
AC_TRY_LINK([#include <sys/types.h>
#include <netinet/in.h>
union
{
HEADER hdr;
u_char buf[512];
}
response;
char *domain;
int requested_type; ],
[socket (AF_INET, SOCK_STREAM, 0) ], dnl
[AC_MSG_RESULT(no)], dnl
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lsocket"])
])
])
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.

@ -18,6 +18,9 @@
/* Define if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define if you have the gethostbyname function. */
#undef HAVE_GETHOSTBYNAME
/* Define if you have the gettimeofday function. */
#undef HAVE_GETTIMEOFDAY

170
SRC/configure vendored

@ -1460,13 +1460,150 @@ EOF
fi
echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
echo "configure:1466: checking for socket in -lsocket" >&5
ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1474 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char socket();
int main() {
socket()
; return 0; }
EOF
if { (eval echo configure:1485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking if libsocket is mandatory""... $ac_c" 1>&6
echo "configure:1502: checking if libsocket is mandatory" >&5
cat > conftest.$ac_ext <<EOF
#line 1504 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <netinet/in.h>
union
{
HEADER hdr;
u_char buf[512];
}
response;
char *domain;
int requested_type;
int main() {
socket (AF_INET, SOCK_STREAM, 0)
; return 0; }
EOF
if { (eval echo configure:1520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
echo "$ac_t""yes" 1>&6; LIBS="${LIBS} -lsocket"
fi
rm -f conftest*
else
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
echo "configure:1538: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1546 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char gethostbyname();
int main() {
gethostbyname()
; return 0; }
EOF
if { (eval echo configure:1557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking if libnsl is mandatory""... $ac_c" 1>&6
echo "configure:1574: checking if libnsl is mandatory" >&5
cat > conftest.$ac_ext <<EOF
#line 1576 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <netinet/in.h>
char *domain;
int main() {
gethostbyname(domain)
; return 0; }
EOF
if { (eval echo configure:1585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
echo "$ac_t""yes" 1>&6; LIBS="${LIBS} -lnsl"
fi
rm -f conftest*
else
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
echo "configure:1465: checking return type of signal handlers" >&5
echo "configure:1602: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1470 "configure"
#line 1607 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@ -1483,7 +1620,7 @@ int main() {
int i;
; return 0; }
EOF
if { (eval echo configure:1487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1624: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@ -1502,12 +1639,12 @@ EOF
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
echo "configure:1506: checking for vprintf" >&5
echo "configure:1643: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1511 "configure"
#line 1648 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
@ -1530,7 +1667,7 @@ vprintf();
; return 0; }
EOF
if { (eval echo configure:1534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:1671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
@ -1554,12 +1691,12 @@ fi
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
echo "configure:1558: checking for _doprnt" >&5
echo "configure:1695: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1563 "configure"
#line 1700 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
@ -1582,7 +1719,7 @@ _doprnt();
; return 0; }
EOF
if { (eval echo configure:1586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:1723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
@ -1606,15 +1743,15 @@ fi
fi
for ac_func in gettimeofday socket sigaction
for ac_func in gettimeofday socket gethostbyname sigaction
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:1613: checking for $ac_func" >&5
echo "configure:1750: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1618 "configure"
#line 1755 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -1637,7 +1774,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:1641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:1778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@ -1658,14 +1795,15 @@ EOF
else
echo "$ac_t""no" 1>&6
{ echo "configure: error: Missing mandatory function" 1>&2; exit 1; }
fi
done
echo $ac_n "checking T/TCP""... $ac_c" 1>&6
echo "configure:1667: checking T/TCP" >&5
echo "configure:1805: checking T/TCP" >&5
cat > conftest.$ac_ext <<EOF
#line 1669 "configure"
#line 1807 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
@ -1674,7 +1812,7 @@ int main() {
int foobar = MSG_EOF;
; return 0; }
EOF
if { (eval echo configure:1678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define TTCP 1

@ -39,9 +39,11 @@ AC_C_CONST
AC_HEADER_TIME
dnl Checks for library functions.
CF_LIB_SOCKET
CF_LIB_NSL
AC_TYPE_SIGNAL
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(gettimeofday socket sigaction)
AC_CHECK_FUNCS(gettimeofday socket gethostbyname sigaction, , AC_MSG_ERROR(Missing mandatory function))
dnl T/TCP
AC_MSG_CHECKING([T/TCP])

Loading…
Cancel
Save