#include <boost/shared_ptr.hpp>
#include <boost/signal.hpp>
#include <boost/signals/trackable.hpp>
-#include <boost/test/detail/nullstream.hpp>
+#include <boost/version.hpp>
+
+#if BOOST_VERSION < 103300
+# include <boost/test/detail/nullstream.hpp>
+#else
+# include <boost/test/utils/nullstream.hpp>
+#endif
+
#include <boost/tokenizer.hpp>
#include <boost/utility.hpp>
#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
#include <time.h>
-#ifndef _WIN32
+#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
+#endif
+#ifndef _WIN32
# include <sys/un.h>
# include <sys/wait.h>
-# include <unistd.h>
+# ifdef HAVE_UNISTD_H
+# include <unistd.h>
+# endif
#endif
#include <algorithm>