-#if defined(__WXPM__) || defined(__EMX__)
-# define INCL_DOS
-# include <os2.h>
-# define wxDllOpen(error, lib, handle) DosLoadModule(error, sizeof(error), lib, &handle)
-# define wxDllGetSymbol(handle, modaddr) DosQueryProcAddr(handle, 1L, NULL, (PFN*)modaddr)
-# define wxDllClose(handle) DosFreeModule(handle)
-#elif defined(HAVE_DLOPEN)
- // note about dlopen() flags: we use RTLD_NOW to have more Windows-like
- // behaviour (Win won't let you load a library with missing symbols) and
- // RTLD_GLOBAL because it is needed sometimes and probably doesn't hurt
- // otherwise. On True64-Unix RTLD_GLOBAL is not allowed and on VMS the
- // second argument on dlopen is ignored.
-#ifdef __VMS
-# define wxDllOpen(lib) dlopen(lib.fn_str(), 0 )
-#elif defined( __osf__ )
-# define wxDllOpen(lib) dlopen(lib.fn_str(), RTLD_LAZY )
-#else
-# define wxDllOpen(lib) dlopen(lib.fn_str(), RTLD_LAZY | RTLD_GLOBAL)
-#endif
-#define wxDllGetSymbol(handle, name) dlsym(handle, name)
-# define wxDllClose dlclose
-#elif defined(HAVE_SHL_LOAD)
-# define wxDllOpen(lib) shl_load(lib.fn_str(), BIND_DEFERRED, 0)
-# define wxDllClose shl_unload
-
- static inline void *wxDllGetSymbol(shl_t handle, const wxString& name)
- {
- void *sym;
- if ( shl_findsym(&handle, name.mb_str(), TYPE_UNDEFINED, &sym) == 0 )
- return sym;
- else
- return (void *)0;
- }
-#elif defined(__APPLE__) && defined(__UNIX__)
-char *dlopen(char *path, int mode /* mode is ignored */);
-void *dlsym(void *handle, char *symbol);
-int dlclose(void *handle);
-char *dlerror();
-
-# define wxDllOpen(lib) dlopen(lib.fn_str(), 0)
-# define wxDllGetSymbol(handle, name) dlsym(handle, name)
-# define wxDllClose dlclose
-#elif defined(__WINDOWS__)
- // using LoadLibraryEx under Win32 to avoid name clash with LoadLibrary
-# ifdef __WIN32__
-#ifdef _UNICODE
-# define wxDllOpen(lib) ::LoadLibraryExW(lib, 0, 0)
-#else
-# define wxDllOpen(lib) ::LoadLibraryExA(lib, 0, 0)
-#endif
-# else // Win16
-# define wxDllOpen(lib) ::LoadLibrary(lib)
-# endif // Win32/16
-# define wxDllGetSymbol(handle, name) ::GetProcAddress(handle, name)
-# define wxDllClose ::FreeLibrary
-#else
-# error "Don't know how to load shared libraries on this platform."
-#endif // OS