# HG changeset patch # User Bruno Haible # Date 1222680871 -7200 # Node ID 50a53b0848719db75e27a8c07903a22ea5e8dfec # Parent b636c4338efcdef93fa2648142112fa18a4825d8 Set LIBSOCKET instead of augmenting LIBS. Also handle Solaris -lsocket. diff -r b636c4338efc -r 50a53b084871 ChangeLog --- a/ChangeLog Mon Sep 29 11:16:25 2008 +0200 +++ b/ChangeLog Mon Sep 29 11:34:31 2008 +0200 @@ -1,3 +1,13 @@ +2008-09-29 Bruno Haible + + * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket. + Set LIBSOCKET instead of augmenting LIBS. + * modules/sockets (Link): New section. + * modules/sockets-tests (test_sockets_LDADD): New variable. + * modules/sys_select-tests (test_sys_select_LDADD): New variable. + * modules/poll-tests (test_poll_LDADD): New variable. + * NEWS: Document the change. + 2008-09-29 Bruno Haible * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro. diff -r b636c4338efc -r 50a53b084871 m4/sockets.m4 --- a/m4/sockets.m4 Mon Sep 29 11:16:25 2008 +0200 +++ b/m4/sockets.m4 Mon Sep 29 11:34:31 2008 +0200 @@ -1,4 +1,4 @@ -# sockets.m4 serial 1 +# sockets.m4 serial 2 dnl Copyright (C) 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,26 +6,56 @@ AC_DEFUN([gl_SOCKETS], [ - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H - - AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], - [gl_cv_func_wsastartup], [ - am_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - AC_TRY_LINK([ + gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H + LIBSOCKET= + if test $HAVE_WINSOCK2_H = 1; then + dnl Native Windows API (not Cygwin). + AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], + [gl_cv_func_wsastartup], [ + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + AC_TRY_LINK([ #ifdef HAVE_WINSOCK2_H # include #endif], [ - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup ();], - gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) - LIBS="$am_save_LIBS"]) - if test "$gl_cv_func_wsastartup" = "yes"; then - AC_DEFINE([WINDOWS_SOCKETS], 1, [Define if WSAStartup is needed.]) - LIBS="$LIBS -lws2_32" + WORD wVersionRequested = MAKEWORD(1, 1); + WSADATA wsaData; + int err = WSAStartup(wVersionRequested, &wsaData); + WSACleanup ();], + gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) + LIBS="$gl_save_LIBS" + ]) + if test "$gl_cv_func_wsastartup" = "yes"; then + AC_DEFINE([WINDOWS_SOCKETS], 1, [Define if WSAStartup is needed.]) + LIBSOCKET='-lws2_32' + fi + else + dnl Unix API. + dnl Solaris has most socket functions in libsocket. + AC_CACHE_CHECK([whether setsockopt requires -lsocket], [gl_cv_lib_socket], [ + gl_cv_lib_socket=no + AC_TRY_LINK([extern +#ifdef __cplusplus +"C" +#endif +char setsockopt();], [setsockopt();], + [], + [gl_save_LIBS="$LIBS" + LIBS="$LIBS -lsocket" + AC_TRY_LINK([extern +#ifdef __cplusplus +"C" +#endif +char setsockopt();], [setsockopt();], + [gl_cv_lib_socket=yes]) + LIBS="$gl_save_LIBS" + ]) + ]) + if test $gl_cv_lib_socket = yes; then + LIBSOCKET='-lsocket' + fi fi + AC_SUBST([LIBSOCKET]) gl_PREREQ_SOCKETS ]) diff -r b636c4338efc -r 50a53b084871 modules/poll-tests --- a/modules/poll-tests Mon Sep 29 11:16:25 2008 +0200 +++ b/modules/poll-tests Mon Sep 29 11:34:31 2008 +0200 @@ -18,3 +18,4 @@ Makefile.am: TESTS += test-poll check_PROGRAMS += test-poll +test_poll_LDADD = $(LDADD) @LIBSOCKET@ diff -r b636c4338efc -r 50a53b084871 modules/sockets --- a/modules/sockets Mon Sep 29 11:16:25 2008 +0200 +++ b/modules/sockets Mon Sep 29 11:34:31 2008 +0200 @@ -1,5 +1,5 @@ Description: -Wrappers for Windows socket functions +General facilities for using sockets Files: lib/sockets.c @@ -18,6 +18,9 @@ Include: "sockets.h" +Link: +$(LIBSOCKET) + License: LGPL diff -r b636c4338efc -r 50a53b084871 modules/sockets-tests --- a/modules/sockets-tests Mon Sep 29 11:16:25 2008 +0200 +++ b/modules/sockets-tests Mon Sep 29 11:34:31 2008 +0200 @@ -8,3 +8,4 @@ Makefile.am: TESTS += test-sockets check_PROGRAMS += test-sockets +test_sockets_LDADD = $(LDADD) @LIBSOCKET@ diff -r b636c4338efc -r 50a53b084871 modules/sys_select-tests --- a/modules/sys_select-tests Mon Sep 29 11:16:25 2008 +0200 +++ b/modules/sys_select-tests Mon Sep 29 11:34:31 2008 +0200 @@ -16,6 +16,7 @@ Makefile.am: TESTS += test-sys_select check_PROGRAMS += test-sys_select +test_sys_select_LDADD = $(LDADD) @LIBSOCKET@ License: LGPL