diff --git a/Source/kwsys/DynamicLoader.cxx b/Source/kwsys/DynamicLoader.cxx index bd6291abd..9bbf07efb 100644 --- a/Source/kwsys/DynamicLoader.cxx +++ b/Source/kwsys/DynamicLoader.cxx @@ -25,9 +25,9 @@ // This file is actually 3 different implementations. // 1. HP machines which uses shl_load -// 2. Power PC MAC which uses GetSharedLibrary +// 2. Mac OS X 10.2.x and earlier which uses NSLinkModule // 3. Windows which uses LoadLibrary -// 4. Most unix systems which use dlopen (default ) +// 4. Most unix systems (including Mac OS X 10.3 and later) which use dlopen (default) // Each part of the ifdef contains a complete implementation for // the static methods of DynamicLoader. @@ -132,7 +132,7 @@ LibHandle DynamicLoader::OpenLibrary(const char* libname ) { NSObjectFileImageReturnCode rc; NSObjectFileImage image = 0; - + rc = NSCreateObjectFileImageFromFile(libname, &image); if(!image) { @@ -150,7 +150,7 @@ int DynamicLoader::CloseLibrary( LibHandle lib) //---------------------------------------------------------------------------- DynamicLoaderFunction DynamicLoader::GetSymbolAddress(LibHandle /* lib */, const char* sym) -{ +{ void *result=0; if(NSIsSymbolNameDefined(sym)) { diff --git a/Source/kwsys/DynamicLoader.hxx.in b/Source/kwsys/DynamicLoader.hxx.in index dc5a1d3c3..3430eb699 100644 --- a/Source/kwsys/DynamicLoader.hxx.in +++ b/Source/kwsys/DynamicLoader.hxx.in @@ -16,28 +16,40 @@ #include <@KWSYS_NAMESPACE@/Configure.h> -namespace @KWSYS_NAMESPACE@ -{ // Ugly stuff for library handles // They are different on several different OS's #if defined(__hpux) #include +namespace @KWSYS_NAMESPACE@ +{ typedef shl_t LibHandle; +} // namespace @KWSYS_NAMESPACE@ #elif defined(_WIN32) #include +namespace @KWSYS_NAMESPACE@ +{ typedef HMODULE LibHandle; +} // namespace @KWSYS_NAMESPACE@ #elif defined(__APPLE__) #include #if MAC_OS_X_VERSION_MIN_REQUIRED < 1030 #include +namespace @KWSYS_NAMESPACE@ +{ typedef NSModule LibHandle; +} // namespace @KWSYS_NAMESPACE@ #else +namespace @KWSYS_NAMESPACE@ +{ typedef void* LibHandle; +} // namespace @KWSYS_NAMESPACE@ #endif #else +namespace @KWSYS_NAMESPACE@ +{ typedef void* LibHandle; -#endif } // namespace @KWSYS_NAMESPACE@ +#endif namespace @KWSYS_NAMESPACE@ {