1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
dnl
dnl Autoconf macros from the GNU autoconf macro archive
dnl
dnl http://www.gnu.org/software/ac-archive/
dnl
dnl @synopsis ETR_SOCKET_NSL
dnl
dnl This macro figures out what libraries are required on this platform
dnl to link sockets programs. It's usually -lsocket and/or -lnsl or
dnl neither. We test for all three combinations.
dnl
dnl @version $Id: etr_socket_nsl.m4,v 1.1 2001/06/07 08:31:03 simons Exp $
dnl @author Warren Young <warren@etr-usa.com>
dnl
AC_DEFUN([ETR_SOCKET_NSL],
[
AC_CACHE_CHECK(for libraries containing socket functions,
ac_cv_socket_libs, [
oCFLAGS=$CFLAGS
AC_TRY_LINK([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
],
[
struct in_addr add;
int sd = socket(AF_INET, SOCK_STREAM, 0);
inet_ntoa(add);
],
ac_cv_socket_libs=-lc, ac_cv_socket_libs=no)
if test x"$ac_cv_socket_libs" = "xno"
then
CFLAGS="$oCFLAGS -lsocket"
AC_TRY_LINK([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
],
[
struct in_addr add;
int sd = socket(AF_INET, SOCK_STREAM, 0);
inet_ntoa(add);
],
ac_cv_socket_libs=-lsocket, ac_cv_socket_libs=no)
fi
if test x"$ac_cv_socket_libs" = "xno"
then
CFLAGS="$oCFLAGS -lsocket -lnsl"
AC_TRY_LINK([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
],
[
struct in_addr add;
int sd = socket(AF_INET, SOCK_STREAM, 0);
inet_ntoa(add);
],
ac_cv_socket_libs="-lsocket -lnsl", ac_cv_socket_libs=no)
fi
CFLAGS=$oCFLAGS
])
if test x"$ac_cv_socket_libs" = "xno"
then
AC_MSG_ERROR([Cannot find socket libraries])
elif test x"$ac_cv_socket_libs" = "x-lc"
then
ETR_SOCKET_LIBS=""
else
ETR_SOCKET_LIBS="$ac_cv_socket_libs"
fi
AC_SUBST(ETR_SOCKET_LIBS)
]) dnl ETR_SOCKET_NSL
|