changeset 381:60545793499e

Irccd: fix various problems on Windows
author David Demelier <markand@malikania.fr>
date Wed, 21 Dec 2016 10:41:07 +0100
parents edd873d583eb
children e8a87ff66f74
files CMakeLists.txt irccd/main.cpp libcommon/CMakeLists.txt libirccd-js/irccd/mod-irccd.cpp
diffstat 4 files changed, 26 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Sun Dec 18 16:26:36 2016 +0100
+++ b/CMakeLists.txt	Wed Dec 21 10:41:07 2016 +0100
@@ -97,7 +97,7 @@
 
 # Platform specific.
 if (WIN32)
-    # add_subdirectory(win32)
+    add_subdirectory(win32)
 endif ()
 
 # Tests.
--- a/irccd/main.cpp	Sun Dec 18 16:26:36 2016 +0100
+++ b/irccd/main.cpp	Wed Dec 21 10:41:07 2016 +0100
@@ -118,7 +118,10 @@
     // Register some signals.
     signal(SIGINT, stop);
     signal(SIGTERM, stop);
+
+#if defined(SIGPIPE)
     signal(SIGPIPE, SIG_IGN);
+#endif
 
 #if defined(SIGQUIT)
     signal(SIGQUIT, stop);
--- a/libcommon/CMakeLists.txt	Sun Dec 18 16:26:36 2016 +0100
+++ b/libcommon/CMakeLists.txt	Wed Dec 21 10:41:07 2016 +0100
@@ -54,6 +54,8 @@
     LIBRARIES
         extern-fmt
         extern-json
+        $<$<BOOL:${WIN32}>:shlwapi>
+        $<$<BOOL:${WIN32}>:ws2_32>
         $<$<BOOL:${WITH_SSL}>:OpenSSL::SSL>
         $<$<BOOL:${WITH_SSL}>:OpenSSL::Crypto>
     PUBLIC_INCLUDES
--- a/libirccd-js/irccd/mod-irccd.cpp	Sun Dec 18 16:26:36 2016 +0100
+++ b/libirccd-js/irccd/mod-irccd.cpp	Wed Dec 21 10:41:07 2016 +0100
@@ -37,7 +37,9 @@
     { "EAGAIN",             EAGAIN          },
     { "EALREADY",           EALREADY        },
     { "EBADF",              EBADF           },
+#if defined(EBADMSG)
     { "EBADMSG",            EBADMSG         },
+#endif
     { "EBUSY",              EBUSY           },
     { "ECANCELED",          ECANCELED       },
     { "ECHILD",             ECHILD          },
@@ -51,7 +53,9 @@
     { "EFAULT",             EFAULT          },
     { "EFBIG",              EFBIG           },
     { "EHOSTUNREACH",       EHOSTUNREACH    },
+#if defined(EIDRM)
     { "EIDRM",              EIDRM           },
+#endif
     { "EILSEQ",             EILSEQ          },
     { "EINPROGRESS",        EINPROGRESS     },
     { "EINTR",              EINTR           },
@@ -69,23 +73,35 @@
     { "ENETUNREACH",        ENETUNREACH     },
     { "ENFILE",             ENFILE          },
     { "ENOBUFS",            ENOBUFS         },
+#if defined(ENODATA)
     { "ENODATA",            ENODATA         },
+#endif
     { "ENODEV",             ENODEV          },
     { "ENOENT",             ENOENT          },
     { "ENOEXEC",            ENOEXEC         },
     { "ENOLCK",             ENOLCK          },
+#if defined(ENOLINK)
     { "ENOLINK",            ENOLINK         },
+#endif
     { "ENOMEM",             ENOMEM          },
+#if defined(ENOMSG)
     { "ENOMSG",             ENOMSG          },
+#endif
     { "ENOPROTOOPT",        ENOPROTOOPT     },
     { "ENOSPC",             ENOSPC          },
+#if defined(ENOSR)
     { "ENOSR",              ENOSR           },
+#endif
+#if defined(ENOSTR)
     { "ENOSTR",             ENOSTR          },
+#endif
     { "ENOSYS",             ENOSYS          },
     { "ENOTCONN",           ENOTCONN        },
     { "ENOTDIR",            ENOTDIR         },
     { "ENOTEMPTY",          ENOTEMPTY       },
+#if defined(ENOTRECOVERABLE)
     { "ENOTRECOVERABLE",    ENOTRECOVERABLE },
+#endif
     { "ENOTSOCK",           ENOTSOCK        },
     { "ENOTSUP",            ENOTSUP         },
     { "ENOTTY",             ENOTTY          },
@@ -102,9 +118,13 @@
     { "EROFS",              EROFS           },
     { "ESPIPE",             ESPIPE          },
     { "ESRCH",              ESRCH           },
+#if defined(ETIME)
     { "ETIME",              ETIME           },
+#endif
     { "ETIMEDOUT",          ETIMEDOUT       },
+#if defined(ETXTBSY)
     { "ETXTBSY",            ETXTBSY         },
+#endif
     { "EWOULDBLOCK",        EWOULDBLOCK     },
     { "EXDEV",              EXDEV           }
 };