# endif // Unix flavour
#endif // !Unix or already have some HAVE_xxx defined
-#if defined(HAVE_DLOPEN)
+// Note: WXPM/EMX has to be tested first, since we want to use
+// native version, even if configure detected presence of DLOPEN.
+#if defined(__WXPM__) || defined(__EMX__)
+# define INCL_DOS
+# include <os2.h>
+ typedef HMODULE wxDllType;
+#elif defined(HAVE_DLOPEN)
# include <dlfcn.h>
typedef void *wxDllType;
#elif defined(HAVE_SHL_LOAD)
#elif defined(__WINDOWS__)
# include <windows.h> // needed to get HMODULE
typedef HMODULE wxDllType;
-#elif defined(__OS2__)
-# define INCL_DOS
-# include <os2.h>
- typedef HMODULE wxDllType;
+#elif defined(__APPLE__) && defined(__UNIX__)
+ typedef void *wxDllType;
#elif defined(__WXMAC__)
typedef CFragConnectionID wxDllType;
#else
There are no instances of this class, it simply serves as a
namespace for its static member functions.
*/
-class wxDllLoader
+class WXDLLEXPORT wxDllLoader
{
public:
/** This function loads a shared library into memory, with libname
*/
static void * GetSymbol(wxDllType dllHandle, const wxString &name);
+ // return the standard DLL extension (with leading dot) for this platform
+ static wxString GetDllExt();
+
private:
/// forbid construction of objects
wxDllLoader();
// wxLibrary
// ----------------------------------------------------------------------------
-class wxLibrary : public wxObject
+class WXDLLEXPORT wxLibrary : public wxObject
{
public:
wxHashTable classTable;
// wxLibraries
// ----------------------------------------------------------------------------
-class wxLibraries
+class WXDLLEXPORT wxLibraries
{
public:
wxLibraries();