Check for -lsocket et al.
authorWerner Koch <wk@gnupg.org>
Thu, 10 May 2012 07:17:55 +0000 (09:17 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 10 May 2012 07:17:55 +0000 (09:17 +0200)
* m4/libsocket.m4: New.  Stripped down from gnulib's socketlib.m4.
* tests/Makefile.am (LDADD): Add LIBSOCKET.
* configure.ac (NETLIBS): Remove because it is not used.
(npth_LIBSOCKET): Call.

configure.ac
m4/libsocket.m4 [new file with mode: 0644]
tests/Makefile.am

index 3a87521..89f29f7 100644 (file)
@@ -242,19 +242,11 @@ if test "$have_w32_system" = no; then
   fi
 fi
 
-NETLIBS=
-if test "$have_w32_system" = yes; then
-   if test "$have_w32ce_system" = yes; then
-     NETLIBS="-lws2 $NETLIBS"
-   else
-     # FIXME: Check why we need to use ws2_32 and document that.
-     NETLIBS="-lws2_32 $NETLIBS"
-   fi
-fi
-AC_SUBST(NETLIBS)
-
 AC_CHECK_FUNCS([select pselect])
 
+npth_LIBSOCKET
+config_libs="$config_libs $LIBSOCKET"
+
 AC_SEARCH_LIBS([clock_gettime],[rt posix4])
 if test "x$ac_cv_search_clock_gettime" != no; then
     AC_DEFINE(HAVE_CLOCK_GETTIME,1,
diff --git a/m4/libsocket.m4 b/m4/libsocket.m4
new file mode 100644 (file)
index 0000000..4849e09
--- /dev/null
@@ -0,0 +1,61 @@
+# libsocket.m4 serial 1 - based on gnulib socketlib.m4
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl npth_SOCKETLIB
+dnl Determines the library to use for socket functions.
+dnl Sets and AC_SUBSTs LIBSOCKET.
+AC_DEFUN([npth_LIBSOCKET],
+[
+  LIBSOCKET=
+  dnl Unix API.
+  dnl Solaris has most socket functions in libsocket.
+  dnl Haiku has most socket functions in libnetwork.
+  dnl BeOS has most socket functions in libnet.
+  AC_CACHE_CHECK([for library containing setsockopt], [npth_cv_lib_socket], [
+      npth_cv_lib_socket=
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+        [],
+        [npth_save_LIBS="$LIBS"
+         LIBS="$npth_save_LIBS -lsocket"
+         AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+           [npth_cv_lib_socket="-lsocket"])
+         if test -z "$npth_cv_lib_socket"; then
+           LIBS="$npth_save_LIBS -lnetwork"
+           AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+             [npth_cv_lib_socket="-lnetwork"])
+           if test -z "$npth_cv_lib_socket"; then
+             LIBS="$npth_save_LIBS -lnet"
+             AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern
+#ifdef __cplusplus
+"C"
+#endif
+char setsockopt();]], [[setsockopt();]])],
+               [npth_cv_lib_socket="-lnet"])
+           fi
+         fi
+         LIBS="$npth_save_LIBS"
+        ])
+      if test -z "$npth_cv_lib_socket"; then
+        npth_cv_lib_socket="none needed"
+      fi
+  ])
+  if test "$npth_cv_lib_socket" != "none needed"; then
+    LIBSOCKET="$npth_cv_lib_socket"
+  fi
+  AC_SUBST([LIBSOCKET])
+])
index 0915123..bd85ba5 100644 (file)
@@ -39,7 +39,7 @@ LDADD = ../w32/libnpth.la
 else
 AM_CPPFLAGS = -I../src -D_POSIX_C_SOURCE=200112L
 AM_LDFLAGS =
-LDADD = ../src/libnpth.la
+LDADD = ../src/libnpth.la $(LIBSOCKET)
 endif
 
 noinst_HEADERS = t-support.h