Don't store the absolute pathname of plugins in the configuration file,

just the basename like libPlugin_foo.dylib. Dolphin then loads the
plugins relative to the compiled-in plugins directory.

This means that you won't have to reselect the plugins when running 
different builds (in different directories) and is most obviously
beneficial on OS X where application bundles are not (should not) be
expected to stay in the place where they are first installed.

This is tested on OS X and Linux with local/global build options, but
not Windows. I don't anticipate any problems on Windows, but that OS
does have slightly different semantics with regard to path component
separators and file suffixes, so it's something to watch out for.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5621 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang
2010-06-05 18:52:56 +00:00
parent 53f9858b94
commit 7d0f03cb61
4 changed files with 25 additions and 34 deletions

View File

@ -581,13 +581,9 @@ std::string GetPluginsDirectory()
pluginsDir = GetBundleDirectory();
pluginsDir += DIR_SEP;
pluginsDir += PLUGINS_DIR;
#elif defined __linux__
pluginsDir = PLUGINS_DIR;
// FIXME global install
#else
pluginsDir = PLUGINS_DIR;
pluginsDir = PLUGINS_DIR;
#endif
pluginsDir += DIR_SEP;
INFO_LOG(COMMON, "GetPluginsDirectory: Setting to %s:", pluginsDir.c_str());
@ -602,14 +598,11 @@ std::string GetSysDirectory()
sysDir = GetBundleDirectory();
sysDir += DIR_SEP;
sysDir += SYSDATA_DIR;
#elif defined __linux__
sysDir = SYSDATA_DIR;
// FIXME global install
#else
sysDir = SYSDATA_DIR;
sysDir = SYSDATA_DIR;
#endif
sysDir += DIR_SEP;
INFO_LOG(COMMON, "GetSysDirectory: Setting to %s:", sysDir.c_str());
return sysDir;
}