aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/dyn_load
Commit message (Collapse)AuthorAgeFilesLines
* Give everything setting a feature test macro in build.h a version codelloyd2013-11-281-1/+1
| | | | | | so application code can check for the specific API it expects without having to keep track of what versions APIs x,y,z changed. Arbitrarily set all current API versions to 20131128.
* Kill workaround for GCC 3.xlloyd2013-04-121-4/+0
|
* Replace 0 and NULL pointer constants with nullptr. Also fix an oldlloyd2012-05-181-2/+2
| | | | style cast in secmem.h
* Avoid a few maintainer mode flag warnings. Remove -Weffc++ from thelloyd2012-04-201-0/+3
| | | | | list of maintainer mode flags. It produces some very useful warnings, but also a lot of noisy junk that I really don't care about.
* Use LoadLibraryA instead of bare LoadLibrary so things work if used inlloyd2011-12-131-1/+1
| | | | an amalgamation and the app is compiled in Unicode mode.
* GCC doesn't like casting a function pointer to void* without anlloyd2011-12-021-1/+2
| | | | explicit cast.
* One minor fix for QNX 6.4.1 (Python identifies CPU as 'x86pc'), andlloyd2011-04-151-2/+3
| | | | | add support for features that it has that apparently the last version I tested did not, including dynamic loading.
* Doxygenlloyd2010-11-021-1/+4
|
* Dynamic loading confirmed to work on Windows (tested Windows 7 x64)lloyd2010-09-081-0/+1
|
* Under certain compilation modules, HMODULE isn't a void* but rather alloyd2010-09-081-2/+2
| | | | | | pointer to a nonce struct; presumably for slightly better typechecking. In case we're compiling under such a mode, case the first argument to FreeLibrary and GetProcAddress to a HMODULE.
* 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.