From 977103f9d065e1551a24759fb3db070dbf076c7d Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 11 Dec 2015 20:19:10 +0100 Subject: [PATCH] Fixed: OS X uses .dylib extension instead of .so --HG-- branch : develop --- code/nel/include/nel/misc/dynloadlib.h | 3 ++- code/nel/include/nel/net/module_manager.h | 2 +- code/nel/src/misc/dynloadlib.cpp | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/nel/include/nel/misc/dynloadlib.h b/code/nel/include/nel/misc/dynloadlib.h index a42dbf067..63719f423 100644 --- a/code/nel/include/nel/misc/dynloadlib.h +++ b/code/nel/include/nel/misc/dynloadlib.h @@ -174,7 +174,8 @@ public: /** Build a NeL standard library name according to platform and compilation mode setting. * aka : adding decoration one base lib name. - * e.g : 'mylib' become 'mylib_rd.dll' on Windows ReleaseDebug mode or + * e.g : 'mylib' become 'mylib_rd.dll' on Windows ReleaseDebug mode, + * 'libmylib.dylib' under OS X or * 'libmylib.so' on unix system. */ static std::string makeLibName(const std::string &baseName); diff --git a/code/nel/include/nel/net/module_manager.h b/code/nel/include/nel/net/module_manager.h index e4c23f8b6..92f947f74 100644 --- a/code/nel/include/nel/net/module_manager.h +++ b/code/nel/include/nel/net/module_manager.h @@ -70,7 +70,7 @@ namespace NLNET * * The library name is the base name that will be 'decorated' * with the nel naming standard according to compilation mode - * and platform specific file extension (.dll or .so). + * and platform specific file extension (.dll, .dylib or .so). * * A module library can only be loaded once. If the library * is already loaded, the call is ingored. diff --git a/code/nel/src/misc/dynloadlib.cpp b/code/nel/src/misc/dynloadlib.cpp index 25f28286e..0b456f166 100644 --- a/code/nel/src/misc/dynloadlib.cpp +++ b/code/nel/src/misc/dynloadlib.cpp @@ -71,6 +71,9 @@ void *nlGetSymbolAddress(NL_LIB_HANDLE libHandle, const std::string &procName) #ifdef NL_OS_WINDOWS const string nlLibPrefix; // empty const string nlLibExt(".dll"); +#elif defined(NL_OS_MAC) + const string nlLibPrefix("lib"); + const string nlLibExt(".dylib"); #elif defined(NL_OS_UNIX) const string nlLibPrefix("lib"); const string nlLibExt(".so");