From d9a52277df06d656564b28e456adabbee52e8c10 Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Tue, 31 Jul 2018 00:49:27 +0100 Subject: Remove support for static modules. This has been frequently broken in the past and as far as I know is used by literally nobody. Also, even if all modules are compiled into the core any libraries linked against are and have always been linked dynamically making this unusable on platforms without dynamic libraries. --- include/modules.h | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'include/modules.h') diff --git a/include/modules.h b/include/modules.h index 0cdb73873..44cda7d19 100644 --- a/include/modules.h +++ b/include/modules.h @@ -1198,27 +1198,6 @@ class CoreExport ModuleManager : public fakederef #define MODULE_INIT_SYM_FN_2(x,y) MODULE_INIT_SYM_FN_1(x,y) #define MODULE_INIT_SYM_FN_1(x,y) inspircd_module_ ## x ## _ ## y -#ifdef INSPIRCD_STATIC - -struct AllCommandList { - typedef Command* (*fn)(Module*); - AllCommandList(fn cmd); -}; -#define COMMAND_INIT(x) static Command* MK_ ## x(Module* m) { return new x(m); } \ - static const AllCommandList PREP_ ## x(&MK_ ## x); - -struct AllModuleList { - typedef Module* (*fn)(); - fn init; - std::string name; - AllModuleList(fn mod, const std::string& Name); -}; - -#define MODULE_INIT(x) static Module* MK_ ## x() { return new x; } \ - static const AllModuleList PREP_ ## x(&MK_ ## x, MODNAME ".so"); - -#else - /** This definition is used as shorthand for the various classes * and functions needed to make a module loadable by the OS. * It defines the class factory and external init_module function. @@ -1231,5 +1210,3 @@ struct AllModuleList { extern "C" DllExport const char inspircd_src_version[] = INSPIRCD_VERSION; #define COMMAND_INIT(c) MODULE_INIT(CommandModule) - -#endif -- cgit v1.2.3