summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/make/cctk_Config.h.in15
-rw-r--r--lib/make/configure.in34
2 files changed, 46 insertions, 3 deletions
diff --git a/lib/make/cctk_Config.h.in b/lib/make/cctk_Config.h.in
index 6e2383c0..a0c2bd9d 100644
--- a/lib/make/cctk_Config.h.in
+++ b/lib/make/cctk_Config.h.in
@@ -82,15 +82,22 @@
#undef HAVE_MODE_T
+/* Do we have socklen_t ? */
+
+#undef HAVE_SOCKLEN_T
+
/* Some include things */
#undef HAVE_TIME_H
#undef HAVE_SYS_TIME_H
#undef HAVE_UNISTD_H
-#undef HAVE_ASSERT_H
#undef HAVE_STRING_H
+#undef HAVE_ASSERT_H
#undef HAVE_SYS_STAT_H
#undef HAVE_GETOPT_H
#undef HAVE_REGEX_H
+#undef HAVE_SYS_TYPES_H
+#undef HAVE_SYS_SOCKET_H
+#undef HAVE_WINSOCK2_H
#undef TIME_WITH_SYS_TIME
@@ -117,7 +124,11 @@
/* The TYPE of socklen_t if it does not exist */
-#undef CCTK_SOCKLEN_T
+#ifdef HAVE_SOCKLEN_T
+#define CCTK_SOCKLEN_T socklen_t
+#else
+#define CCTK_SOCKLEN_T int
+#endif
/******************************************************************************/
diff --git a/lib/make/configure.in b/lib/make/configure.in
index b4677d0f..cc4e299d 100644
--- a/lib/make/configure.in
+++ b/lib/make/configure.in
@@ -382,11 +382,43 @@ CCTK_CHECK_HEADERS(assert.h)
CCTK_CHECK_HEADERS(sys/stat.h)
CCTK_CHECK_HEADERS(getopt.h)
CCTK_HEADER_REGEX
+CCTK_CHECK_HEADERS(sys/types.h)
+CCTK_CHECK_HEADERS(sys/socket.h)
+CCTK_CHECK_HEADERS(winsock2.h)
AC_HEADER_TIME
#Check type of socklen
-CCTK_CHECK_SOCK_LENGTH_TYPE
+
+# Check if we have socklen_t available
+AC_MSG_CHECKING([if socklen_t is defined])
+AC_CACHE_VAL(cctk_cv_have_socklen_t,
+[AC_TRY_COMPILE([#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif],
+[socklen_t foo; return 0], eval "cctk_cv_have_socklen_t=yes",
+eval "cctk_cv_have_socklen_t=no")
+])
+if test "$cctk_cv_have_socklen_t" = "yes"; then
+ AC_DEFINE(HAVE_SOCKLEN_T)
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+dnl Let's see if the above does it for us.
+dnl CCTK_CHECK_SOCK_LENGTH_TYPE
# C++ STL stuff