mirror of
https://github.com/jwinterm/xmr-stak.git
synced 2026-10-17 05:41:41 +02:00
search for linux backend plugins
- search for plugin in - working directory - binary directory - let linux search the plugins (libraries)
This commit is contained in:
@@ -43,7 +43,14 @@ struct plugin
|
||||
// `.dylib` Mac OS X file extention for dynamic libraries
|
||||
fileExtension = ".dylib";
|
||||
# endif
|
||||
libBackend = dlopen((params::inst().executablePrefix + "/lib" + libName + fileExtension).c_str(), RTLD_LAZY);
|
||||
// search library in working directory
|
||||
libBackend = dlopen(("./lib" + libName + fileExtension).c_str(), RTLD_LAZY);
|
||||
// fallback to binary directory
|
||||
if(!libBackend)
|
||||
libBackend = dlopen((params::inst().executablePrefix + "lib" + libName + fileExtension).c_str(), RTLD_LAZY);
|
||||
// try use LD_LIBRARY_PATH
|
||||
if(!libBackend)
|
||||
libBackend = dlopen(("lib" + libName + fileExtension).c_str(), RTLD_LAZY);
|
||||
if(!libBackend)
|
||||
{
|
||||
std::cerr << "WARNING: "<< m_backendName <<" cannot load backend library: " << dlerror() << std::endl;
|
||||
|
||||
@@ -106,15 +106,21 @@ int main(int argc, char *argv[])
|
||||
using namespace xmrstak;
|
||||
|
||||
std::string pathWithName(argv[0]);
|
||||
auto pos = pathWithName.rfind("/");
|
||||
std::string seperator("/");
|
||||
auto pos = pathWithName.rfind(seperator);
|
||||
|
||||
if(pos == std::string::npos)
|
||||
{
|
||||
// try windows "\"
|
||||
pos = pathWithName.rfind("\\");
|
||||
seperator = "\\";
|
||||
pos = pathWithName.rfind(seperator);
|
||||
}
|
||||
params::inst().binaryName = std::string(pathWithName, pos + 1, std::string::npos);
|
||||
if(params::inst().binaryName.compare(pathWithName) != 0)
|
||||
{
|
||||
params::inst().executablePrefix = std::string(pathWithName, 0, pos);
|
||||
params::inst().executablePrefix += seperator;
|
||||
}
|
||||
|
||||
bool userSetPasswd = false;
|
||||
for(int i = 1; i < argc; ++i)
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ struct params
|
||||
|
||||
params() :
|
||||
binaryName("xmr-stak"),
|
||||
executablePrefix("./"),
|
||||
executablePrefix(""),
|
||||
useAMD(true),
|
||||
useNVIDIA(true),
|
||||
useCPU(true),
|
||||
|
||||
Reference in New Issue
Block a user