aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/dyn_load
Commit message (Collapse)AuthorAgeFilesLines
* Add support for Windows-style dynamic loading with LoadLibrary. Notlloyd2010-08-252-8/+31
| | | | yet tested.
* Workaround problem with GCC 3 - it doesn't like you casting pointerslloyd2010-08-101-0/+4
| | | | | | to pointers-to-functions (which, admittedly, is undefined in ISO C++, but doing this is required to use dlopen). Using the dumb hammer of a C-style cast works, though.
* If dynamic loading fails, include result of dlerror() in the exception msglloyd2010-07-301-1/+8
|
* Restrict dyn_load to platforms where it might theoretically work:lloyd2010-07-281-0/+9
| | | | | | | | Linux, Solaris, and the BSDs. Solaris and BSD are untested, but it seems like they should work. Using libdl on Solaris is seemingly only required in Solaris 9 and earlier, but 10 has a stub library so it should work there as well.
* Add a new utility class Dynamically_Loaded_Library which wraps aroundlloyd2010-07-273-0/+122
the system dynamic linker (if any). Currently it only supports dlopen, and is only enabled on Linux. It will almost certainly work on BSDs and Solaris as well, though, and should be easy to extend to support Win32-style dynamic loading. Also add a new engine, Dynamically_Loaded_Engine, which loads up a new Engine object from a shared library/DLL.