X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c1a88d8b8518eda184be388723f46cfd54c3ac6..4658c44ec233e09db6f108f1ce01f06708907dd7:/include/wx/dynlib.h diff --git a/include/wx/dynlib.h b/include/wx/dynlib.h index 2ba2c3f4b6..067dea6d3a 100644 --- a/include/wx/dynlib.h +++ b/include/wx/dynlib.h @@ -33,7 +33,13 @@ # 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 + typedef HMODULE wxDllType; +#elif defined(HAVE_DLOPEN) # include typedef void *wxDllType; #elif defined(HAVE_SHL_LOAD) @@ -42,10 +48,8 @@ #elif defined(__WINDOWS__) # include // needed to get HMODULE typedef HMODULE wxDllType; -#elif defined(__OS2__) -# define INCL_DOS -# include - typedef HMODULE wxDllType; +#elif defined(__APPLE__) && defined(__UNIX__) + typedef void *wxDllType; #elif defined(__WXMAC__) typedef CFragConnectionID wxDllType; #else @@ -68,7 +72,7 @@ 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 @@ -92,6 +96,9 @@ public: */ 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(); @@ -101,7 +108,7 @@ private: // wxLibrary // ---------------------------------------------------------------------------- -class wxLibrary : public wxObject +class WXDLLEXPORT wxLibrary : public wxObject { public: wxHashTable classTable; @@ -128,7 +135,7 @@ protected: // wxLibraries // ---------------------------------------------------------------------------- -class wxLibraries +class WXDLLEXPORT wxLibraries { public: wxLibraries();