Remove static linking support craq that hasn't been working/used since 1.0 cygwin builds.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7015 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
w00t 2007-05-13 18:00:11 +00:00
parent 916b3e4005
commit e2de2008a2

View File

@ -13,13 +13,7 @@
#include "configreader.h"
#include "dynamic.h"
#ifndef STATIC_LINK
#include <dlfcn.h>
#else
#include "modlist.h"
#endif
#include "inspircd.h"
DLLManager::DLLManager(InspIRCd* ServerInstance, const char *fname)
@ -31,58 +25,24 @@ DLLManager::DLLManager(InspIRCd* ServerInstance, const char *fname)
err = "This doesn't look like a module file to me...";
return;
}
#ifdef STATIC_LINK
this->staticname[0] = '\0';
for (int j = 0; modsyms[j].name; j++)
{
if (!strcmp(modsyms[j].name,fname))
{
strlcpy(this->staticname,fname,1020);
err = 0;
return;
}
}
err = "Module is not statically compiled into the ircd";
#else
h = dlopen(fname, RTLD_NOW|RTLD_LOCAL);
if (!h)
{
err = (char*)dlerror();
return;
}
#endif
}
DLLManager::~DLLManager()
{
#ifndef STATIC_LINK
// close the library if it isn't null
if (h)
dlclose(h);
#endif
}
#ifdef STATIC_LINK
bool DLLManager::GetSymbol(initfunc* &v, const char *sym_name)
{
for (int j = 0; modsyms[j].name; j++)
{
if (!strcmp(this->staticname,modsyms[j].name))
{
v = modsyms[j].value;
err = 0;
return true;
}
}
err = "Module symbol missing from the core";
return false;
}
#else
bool DLLManager::GetSymbol(void** v, const char* sym_name)
{
// try extract a symbol from the library
@ -107,8 +67,6 @@ bool DLLManager::GetSymbol(void** v, const char* sym_name)
}
}
#endif
DLLFactoryBase::DLLFactoryBase(InspIRCd* Instance, const char* fname, const char* symbol) : DLLManager(Instance, fname)
{
// try get the factory function if there is no error yet
@ -116,11 +74,7 @@ DLLFactoryBase::DLLFactoryBase(InspIRCd* Instance, const char* fname, const char
if (!LastError())
{
#ifdef STATIC_LINK
if (!GetSymbol( factory_func, symbol ? symbol : "init_module"))
#else
if (!GetSymbol( (void **)&factory_func, symbol ? symbol : "init_module"))
#endif
{
throw ModuleException("Missing init_module() entrypoint!");
}