summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/DynamicLibrary.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/DynamicLibrary.cpp')
-rw-r--r--cpp/src/Ice/DynamicLibrary.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp
index b573a7f4388..7dd0ea2fcf3 100644
--- a/cpp/src/Ice/DynamicLibrary.cpp
+++ b/cpp/src/Ice/DynamicLibrary.cpp
@@ -170,8 +170,9 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc
#ifdef __APPLE__
//
- // On OS X fallback to .so and .bundle extensions if the default
- // .dylib fails.
+ // On OS X fallback to .so and .bundle extensions, we also fallback
+ // to use the library name without an extesion in case is an OS X
+ // Framework, if the default .dylib fails.
//
if(!load(lib + ".dylib"))
{
@@ -182,7 +183,12 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc
if(!load(lib + ".bundle"))
{
_err = errMsg + "; " + _err;
- return 0;
+
+ if(!load(libPath + libName))
+ {
+ _err = errMsg + "; " + _err;
+ return 0;
+ }
}
}
_err = "";