#include "wx/log.h"
#include "wx/utils.h"
#include "wx/filename.h" // for SplitPath()
+#include "wx/app.h"
+#include "wx/apptrait.h"
#if defined(__WXMAC__)
#include "wx/mac/private.h"
/*static*/
-wxString wxDynamicLibrary::CanonicalizeName(const wxString& name,
- wxDynamicLibraryCategory cat)
+wxString
+wxDynamicLibrary::CanonicalizeName(const wxString& name,
+ wxDynamicLibraryCategory
+#ifdef __UNIX__
+ cat
+#else // !__UNIX__
+ WXUNUSED(cat)
+#endif // __UNIX__/!__UNIX__
+ )
{
+ wxString nameCanonic;
+
+ // under Unix the library names usualyl start with "lib" prefix, add it
#ifdef __UNIX__
- if ( cat == wxDL_MODULE )
- return name + GetDllExt();
- else
- return wxString(_T("lib")) + name + GetDllExt();
-#else
- return name + GetDllExt();
-#endif
+ switch ( cat )
+ {
+ default:
+ wxFAIL_MSG( _T("unknown wxDynamicLibraryCategory value") );
+ // fall through
+
+ case wxDL_MODULE:
+ // don't do anything for modules, their names are arbitrary
+ break;
+
+ case wxDL_LIBRARY:
+ // library names should start with "lib" under Unix
+ nameCanonic = _T("lib");
+ break;
+ }
+#endif // __UNIX__
+
+ nameCanonic << name << GetDllExt();
+ return nameCanonic;
}
/*static*/
wxString suffix;
if ( cat == wxDL_PLUGIN_GUI )
{
- suffix = wxString::FromAscii(
-#if defined(__WXMSW__)
- "msw"
-#elif defined(__WXGTK__)
- "gtk"
-#elif defined(__WXMGL__)
- "mgl"
-#elif defined(__WXMOTIF__)
- "motif"
-#elif defined(__WXOS2__)
- "pm"
-#elif defined(__WXX11__)
- "x11"
-#elif defined(__WXMAC__)
- "mac"
-#elif defined(__WXCOCOA__)
- "cocoa"
-#endif
- );
-
-#ifdef __WXUNIVERSAL__
- suffix << _T("univ");
-#endif
+ wxAppTraits *traits = wxAppConsole::GetInstance() ?
+ wxAppConsole::GetInstance()->GetTraits() : NULL;
+ wxASSERT_MSG( traits,
+ _("can't query for GUI plugins name in console applications") );
+ suffix = traits->GetToolkitInfo().shortName;
}
#if wxUSE_UNICODE
suffix << _T('u');
#define wxDLLVER(x,y,z) #x #y #z
#endif
#endif
+
suffix << wxString::FromAscii(wxDLLVER(wxMAJOR_VERSION, wxMINOR_VERSION,
wxRELEASE_NUMBER));
#undef wxDLLVER