diff options
Diffstat (limited to 'src/server/game/Scripting/ScriptReloadMgr.cpp')
-rw-r--r-- | src/server/game/Scripting/ScriptReloadMgr.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Scripting/ScriptReloadMgr.cpp b/src/server/game/Scripting/ScriptReloadMgr.cpp index b26ca8e0540..246d66698d2 100644 --- a/src/server/game/Scripting/ScriptReloadMgr.cpp +++ b/src/server/game/Scripting/ScriptReloadMgr.cpp @@ -66,6 +66,9 @@ namespace fs = boost::filesystem; #ifdef _WIN32 #include <windows.h> #define HOTSWAP_PLATFORM_REQUIRES_CACHING +#elif __APPLE__ + #include <dlfcn.h> + #define HOTSWAP_PLATFORM_REQUIRES_CACHING #else // Posix #include <dlfcn.h> // #define HOTSWAP_PLATFORM_REQUIRES_CACHING @@ -86,11 +89,13 @@ static char const* GetSharedLibraryPrefix() #endif } -// Returns "dll" on Windows and "so" on posix. +// Returns "dll" on Windows, "dylib" on OS X, and "so" on posix. static char const* GetSharedLibraryExtension() { #ifdef _WIN32 return "dll"; +#elif __APPLE__ + return "dylib"; #else // Posix return "so"; #endif @@ -111,7 +116,7 @@ static fs::path GetDirectoryOfExecutable() if (path.is_absolute()) return path.parent_path(); else - return fs::absolute(path).parent_path(); + return fs::canonical(fs::absolute(path)).parent_path(); } class SharedLibraryUnloader |