- 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(__DARWIN__)
-/* Porting notes:
- * The dlopen port is a port from dl_next.xs by Anno Siegel.
- * dl_next.xs is itself a port from dl_dlopen.xs by Paul Marquess.
- * The method used here is just to supply the sun style dlopen etc.
- * functions in terms of Darwin NS*.
- */
-void *dlopen(const char *path, int mode /* mode is ignored */);
-void *dlsym(void *handle, const char *symbol);
-int dlclose(void *handle);
-const char *dlerror(void);
-
-# 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
-#elif defined(__WXMAC__)
-# define wxDllClose(handle) CloseConnection(&handle)
-#else
-# error "Don't know how to load shared libraries on this platform."
-#endif // OS