# HG changeset patch # User David Demelier # Date 1541767500 -3600 # Node ID ca16ca53c347e91fb3e60fb1f047d0e901893b33 # Parent 17367b6a99b41c9019f4d5f5cb6c418aa5f7cc7c windows: many fixes under MinGW-w64 diff -r 17367b6a99b4 -r ca16ca53c347 cmake/IrccdSystem.cmake --- a/cmake/IrccdSystem.cmake Fri Nov 09 13:31:00 2018 +0100 +++ b/cmake/IrccdSystem.cmake Fri Nov 09 13:45:00 2018 +0100 @@ -56,7 +56,6 @@ # # The following variables are defined in irccd/sysconfig.h # -# IRCCD_HAVE_GETLOGIN True if getlogin(3) function (and unistd.h) # IRCCD_HAVE_POPEN True if has popen(3) function (in stdio.h) # IRCCD_HAVE_SETPROGNAME True if setprogname(3) is available from C library, # IRCCD_HAVE_STAT True if has stat(2) function (and sys/types.h and sys/stat.h), @@ -85,17 +84,6 @@ # #include check_function_exists(setprogname IRCCD_HAVE_SETPROGNAME) -# getlogin() function -# -# If IRCCD_HAVE_GETLOGIN is defined, include: -# -# #include -check_function_exists(getlogin IRCCD_HAVE_GETLOGIN) - -if (NOT IRCCD_HAVE_UNISTD_H) - set(IRCCD_HAVE_GETLOGIN FALSE) -endif () - # popen() function # # If IRCCD_HAVE_POPEN is defined, include; diff -r 17367b6a99b4 -r ca16ca53c347 cmake/internal/sysconfig.hpp.in --- a/cmake/internal/sysconfig.hpp.in Fri Nov 09 13:31:00 2018 +0100 +++ b/cmake/internal/sysconfig.hpp.in Fri Nov 09 13:45:00 2018 +0100 @@ -68,7 +68,6 @@ * ------------------------------------------------------------------ */ -#cmakedefine IRCCD_HAVE_GETLOGIN #cmakedefine IRCCD_HAVE_POPEN #cmakedefine IRCCD_HAVE_SETPROGNAME #cmakedefine IRCCD_HAVE_STAT diff -r 17367b6a99b4 -r ca16ca53c347 libirccd-core/irccd/system.cpp --- a/libirccd-core/irccd/system.cpp Fri Nov 09 13:31:00 2018 +0100 +++ b/libirccd-core/irccd/system.cpp Fri Nov 09 13:45:00 2018 +0100 @@ -50,10 +50,6 @@ # include #endif -#if defined(IRCCD_HAVE_GETLOGIN) -# include -#endif - #include "system.hpp" #include "string_util.hpp" #include "xdg.hpp" @@ -458,26 +454,6 @@ // }}} -// {{{ username - -/* - * Requires: - * - - */ -auto username() -> std::string -{ -#if defined(IRCCD_HAVE_GETLOGIN) - auto v = getlogin(); - - if (v) - return v; -#endif - - return ""; -} - -// }}} - // {{{ config_filenames auto config_filenames(std::string_view file) -> std::vector diff -r 17367b6a99b4 -r ca16ca53c347 libirccd-test/CMakeLists.txt --- a/libirccd-test/CMakeLists.txt Fri Nov 09 13:31:00 2018 +0100 +++ b/libirccd-test/CMakeLists.txt Fri Nov 09 13:45:00 2018 +0100 @@ -20,8 +20,6 @@ set( HEADERS - ${libirccd-test_SOURCE_DIR}/irccd/test/cli_fixture.hpp - ${libirccd-test_SOURCE_DIR}/irccd/test/command_fixture.hpp ${libirccd-test_SOURCE_DIR}/irccd/test/debug_server.hpp ${libirccd-test_SOURCE_DIR}/irccd/test/irccd_fixture.hpp ${libirccd-test_SOURCE_DIR}/irccd/test/mock.hpp @@ -31,8 +29,6 @@ set( SOURCES - ${libirccd-test_SOURCE_DIR}/irccd/test/cli_fixture.cpp - ${libirccd-test_SOURCE_DIR}/irccd/test/command_fixture.cpp ${libirccd-test_SOURCE_DIR}/irccd/test/debug_server.cpp ${libirccd-test_SOURCE_DIR}/irccd/test/irccd_fixture.cpp ${libirccd-test_SOURCE_DIR}/irccd/test/mock.cpp @@ -40,6 +36,23 @@ ${libirccd-test_SOURCE_DIR}/irccd/test/mock_server.cpp ) +# TODO: add a check with symbol macro. +if (NOT CMAKE_SYSTEM_NAME MATCHES Windows) + list( + APPEND + HEADERS + ${libirccd-test_SOURCE_DIR}/irccd/test/cli_fixture.hpp + ${libirccd-test_SOURCE_DIR}/irccd/test/command_fixture.hpp + ) + + list( + APPEND + SOURCES + ${libirccd-test_SOURCE_DIR}/irccd/test/cli_fixture.cpp + ${libirccd-test_SOURCE_DIR}/irccd/test/command_fixture.cpp + ) +endif () + if (${IRCCD_HAVE_JS}) list( APPEND diff -r 17367b6a99b4 -r ca16ca53c347 libirccd/irccd/daemon/dynlib_plugin.cpp --- a/libirccd/irccd/daemon/dynlib_plugin.cpp Fri Nov 09 13:31:00 2018 +0100 +++ b/libirccd/irccd/daemon/dynlib_plugin.cpp Fri Nov 09 13:45:00 2018 +0100 @@ -23,6 +23,7 @@ #include #include +#define BOOST_DLL_FORCE_ALIAS_INSTANTIATION #include "dynlib_plugin.hpp" #if BOOST_OS_WINDOWS @@ -74,6 +75,8 @@ const auto [ abisym, initsym ] = symbol(pathstr); + printf("abisym: %s\n", abisym.c_str()); + printf("initsym: %s\n", initsym.c_str()); using abisym_func_type = version (); using initsym_func_type = std::unique_ptr (std::string); diff -r 17367b6a99b4 -r ca16ca53c347 libirccd/irccd/daemon/dynlib_plugin.hpp --- a/libirccd/irccd/daemon/dynlib_plugin.hpp Fri Nov 09 13:31:00 2018 +0100 +++ b/libirccd/irccd/daemon/dynlib_plugin.hpp Fri Nov 09 13:45:00 2018 +0100 @@ -24,6 +24,9 @@ * \brief Native plugin implementation. */ +#define BOOST_DLL_FORCE_ALIAS_INSTANTIATION +#include + #include "plugin.hpp" namespace irccd { diff -r 17367b6a99b4 -r ca16ca53c347 libirccd/irccd/daemon/server.cpp --- a/libirccd/irccd/daemon/server.cpp Fri Nov 09 13:31:00 2018 +0100 +++ b/libirccd/irccd/daemon/server.cpp Fri Nov 09 13:45:00 2018 +0100 @@ -35,7 +35,6 @@ #include #include -#include #include "server.hpp" @@ -505,12 +504,6 @@ , timer_(service) { assert(!hostname_.empty()); - - // Initialize nickname and username. - auto user = sys::username(); - - nickname_ = user.empty() ? "irccd" : user; - username_ = user.empty() ? "irccd" : user; } server::~server() diff -r 17367b6a99b4 -r ca16ca53c347 libirccd/irccd/daemon/server.hpp --- a/libirccd/irccd/daemon/server.hpp Fri Nov 09 13:31:00 2018 +0100 +++ b/libirccd/irccd/daemon/server.hpp Fri Nov 09 13:45:00 2018 +0100 @@ -312,8 +312,8 @@ options options_; // Identity. - std::string nickname_; - std::string username_; + std::string nickname_{"irccd"}; + std::string username_{"irccd"}; std::string realname_{"IRC Client Daemon"}; std::string ctcpversion_{"IRC Client Daemon"}; diff -r 17367b6a99b4 -r ca16ca53c347 plugins/links/links.cpp --- a/plugins/links/links.cpp Fri Nov 09 13:31:00 2018 +0100 +++ b/plugins/links/links.cpp Fri Nov 09 13:45:00 2018 +0100 @@ -16,8 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include - #include #include diff -r 17367b6a99b4 -r ca16ca53c347 plugins/links/links.hpp --- a/plugins/links/links.hpp Fri Nov 09 13:31:00 2018 +0100 +++ b/plugins/links/links.hpp Fri Nov 09 13:45:00 2018 +0100 @@ -24,7 +24,7 @@ * \brief Links plugin. */ -#include +#include namespace irccd { diff -r 17367b6a99b4 -r ca16ca53c347 tests/CMakeLists.txt --- a/tests/CMakeLists.txt Fri Nov 09 13:31:00 2018 +0100 +++ b/tests/CMakeLists.txt Fri Nov 09 13:45:00 2018 +0100 @@ -26,7 +26,10 @@ add_subdirectory(src/libcommon) add_subdirectory(src/libirccd) -add_subdirectory(src/irccdctl) + +if (NOT CMAKE_SYSTEM_NAME MATCHES Windows) + add_subdirectory(src/irccdctl) +endif () if (IRCCD_HAVE_JS) add_subdirectory(src/plugins) diff -r 17367b6a99b4 -r ca16ca53c347 tests/src/libirccd/CMakeLists.txt --- a/tests/src/libirccd/CMakeLists.txt Fri Nov 09 13:31:00 2018 +0100 +++ b/tests/src/libirccd/CMakeLists.txt Fri Nov 09 13:45:00 2018 +0100 @@ -16,33 +16,35 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # -add_subdirectory(command-plugin-config) -add_subdirectory(command-plugin-info) -add_subdirectory(command-plugin-list) -add_subdirectory(command-plugin-load) -add_subdirectory(command-plugin-reload) -add_subdirectory(command-plugin-unload) -add_subdirectory(command-rule-add) -add_subdirectory(command-rule-edit) -add_subdirectory(command-rule-info) -add_subdirectory(command-rule-list) -add_subdirectory(command-rule-move) -add_subdirectory(command-rule-remove) -add_subdirectory(command-server-connect) -add_subdirectory(command-server-disconnect) -add_subdirectory(command-server-info) -add_subdirectory(command-server-invite) -add_subdirectory(command-server-join) -add_subdirectory(command-server-kick) -add_subdirectory(command-server-list) -add_subdirectory(command-server-me) -add_subdirectory(command-server-message) -add_subdirectory(command-server-mode) -add_subdirectory(command-server-nick) -add_subdirectory(command-server-notice) -add_subdirectory(command-server-part) -add_subdirectory(command-server-reconnect) -add_subdirectory(command-server-topic) +if (NOT CMAKE_SYSTEM_NAME MATCHES Windows) + add_subdirectory(command-plugin-config) + add_subdirectory(command-plugin-info) + add_subdirectory(command-plugin-list) + add_subdirectory(command-plugin-load) + add_subdirectory(command-plugin-reload) + add_subdirectory(command-plugin-unload) + add_subdirectory(command-rule-add) + add_subdirectory(command-rule-edit) + add_subdirectory(command-rule-info) + add_subdirectory(command-rule-list) + add_subdirectory(command-rule-move) + add_subdirectory(command-rule-remove) + add_subdirectory(command-server-connect) + add_subdirectory(command-server-disconnect) + add_subdirectory(command-server-info) + add_subdirectory(command-server-invite) + add_subdirectory(command-server-join) + add_subdirectory(command-server-kick) + add_subdirectory(command-server-list) + add_subdirectory(command-server-me) + add_subdirectory(command-server-message) + add_subdirectory(command-server-mode) + add_subdirectory(command-server-nick) + add_subdirectory(command-server-notice) + add_subdirectory(command-server-part) + add_subdirectory(command-server-reconnect) + add_subdirectory(command-server-topic) +endif () add_subdirectory(dynlib-plugin) add_subdirectory(irc) diff -r 17367b6a99b4 -r ca16ca53c347 tests/src/libirccd/dynlib-plugin/test_plugin.cpp --- a/tests/src/libirccd/dynlib-plugin/test_plugin.cpp Fri Nov 09 13:31:00 2018 +0100 +++ b/tests/src/libirccd/dynlib-plugin/test_plugin.cpp Fri Nov 09 13:45:00 2018 +0100 @@ -16,9 +16,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include - -#include +#include namespace irccd {