summaryrefslogtreecommitdiff
path: root/Source/cmDynamicLoader.h
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2006-03-16 11:01:05 -0500
committerAndy Cedilnik <andy.cedilnik@kitware.com>2006-03-16 11:01:05 -0500
commitf483e48d2a2f3361dcf3c60096bbfe9975f90ddf (patch)
tree2909a53a3efb79bf633ba0be2fa93d7c7b68181f /Source/cmDynamicLoader.h
parent4102949bf95eee1ce88544fafdf80439aece85b2 (diff)
downloadcmake-f483e48d2a2f3361dcf3c60096bbfe9975f90ddf.tar.gz
ENH: Cleanup DynamicLoader so that the symbols have more consistent names, start using dynamic loader from kwsys in CMake
Diffstat (limited to 'Source/cmDynamicLoader.h')
-rw-r--r--Source/cmDynamicLoader.h53
1 files changed, 9 insertions, 44 deletions
diff --git a/Source/cmDynamicLoader.h b/Source/cmDynamicLoader.h
index 3c7d3b459d..29b6669a02 100644
--- a/Source/cmDynamicLoader.h
+++ b/Source/cmDynamicLoader.h
@@ -9,15 +9,15 @@
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
// .NAME cmDynamicLoader - class interface to system dynamic libraries
// .SECTION Description
-// cmDynamicLoader provides a portable interface to loading dynamic
-// libraries into a process.
+// cmDynamicLoader provides a portable interface to loading dynamic
+// libraries into a process.
#ifndef __cmDynamicLoader_h
@@ -25,46 +25,16 @@
#include "cmStandardIncludes.h"
-// Ugly stuff for library handles
-// They are different on several different OS's
-#if defined(__hpux)
- #include <dl.h>
- typedef shl_t cmLibHandle;
-#elif defined(_WIN32)
- #include <windows.h>
- typedef HMODULE cmLibHandle;
-#elif defined(__APPLE__)
- #include <AvailabilityMacros.h>
- #if MAC_OS_X_VERSION_MIN_REQUIRED < 1030
- #include <mach-o/dyld.h>
- typedef NSModule cmLibHandle;
- #else
- typedef void* cmLibHandle;
- #endif
-#else
- typedef void* cmLibHandle;
-#endif
-
-// Return type from cmDynamicLoader::GetSymbolAddress.
-typedef void (*cmDynamicLoaderFunction)();
+#include <cmsys/DynamicLoader.hxx>
class cmDynamicLoader
{
public:
// Description:
// Load a dynamic library into the current process.
- // The returned cmLibHandle can be used to access the symbols in the
- // library.
- static cmLibHandle OpenLibrary(const char*);
-
- // Description:
- // Attempt to detach a dynamic library from the
- // process. A value of true is returned if it is successful.
- static int CloseLibrary(cmLibHandle);
-
- // Description:
- // Find the address of the symbol in the given library
- static cmDynamicLoaderFunction GetSymbolAddress(cmLibHandle, const char*);
+ // The returned cmsys::DynamicLoader::LibraryHandle can be used to access
+ // the symbols in the library.
+ static cmsys::DynamicLoader::LibraryHandle OpenLibrary(const char*);
// Description:
// Return the library prefix for the given architecture
@@ -75,18 +45,13 @@ public:
static const char* LibExtension();
// Description:
- // Return the last error produced from a calls made on this class.
- static const char* LastError();
-
- // Description:
// Flush the cache of dynamic loader.
static void FlushCache();
-
+
protected:
cmDynamicLoader() {};
~cmDynamicLoader() {};
-
private:
cmDynamicLoader(const cmDynamicLoader&); // Not implemented.
void operator=(const cmDynamicLoader&); // Not implemented.