Detect MSG_NOSIGNAL and SCM_RIGHTS on OpenBSD
authorBrad Smith <brad comstyle com>
Mon, 3 Sep 2012 09:12:02 +0000 (10:12 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 3 Sep 2012 09:12:02 +0000 (10:12 +0100)
On OpenBSD, sys/socket.h requires sys/types.h to be included first.

Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54418

configure.ac

index e8fc1ae..2e34f56 100644 (file)
@@ -766,7 +766,8 @@ dnl needed on darwin for NAME_MAX
 AC_CHECK_HEADERS(sys/syslimits.h)
 
 dnl Make it easy to check if we have MSG_NOSIGNAL without actually having to include sys/socket.h
-AC_CHECK_DECLS([MSG_NOSIGNAL], [], [], [[ #include <sys/socket.h> ]])
+AC_CHECK_DECLS([MSG_NOSIGNAL], [], [], [[ #include <sys/types.h>
+#include <sys/socket.h> ]])
 
 dnl check for flavours of varargs macros (test from GLib)
 AC_MSG_CHECKING(for ISO C99 varargs macros in C)
@@ -1220,6 +1221,7 @@ AC_SUBST([ADT_LIBS])
 # Check for SCM_RIGHTS
 AC_MSG_CHECKING([for SCM_RIGHTS])
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/un.h>
 static int x = SCM_RIGHTS;