]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dynlib.cpp
fixed warning in non-DLL build
[wxWidgets.git] / src / common / dynlib.cpp
index 2d3ce5dfec9be581b4f52957679f6e20f2e358dd..989138706eb08b7d0f17fcd2257da6e51b403a8e 100644 (file)
@@ -39,6 +39,8 @@
 #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"
@@ -389,17 +391,39 @@ void *wxDynamicLibrary::GetSymbol(const wxString &name, bool *success) const
     
 
 /*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*/
@@ -409,29 +433,11 @@ wxString wxDynamicLibrary::CanonicalizePluginName(const wxString& name,
     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');
@@ -456,6 +462,7 @@ wxString wxDynamicLibrary::CanonicalizePluginName(const wxString& name,
         #define wxDLLVER(x,y,z) #x #y #z
     #endif
 #endif
+
     suffix << wxString::FromAscii(wxDLLVER(wxMAJOR_VERSION, wxMINOR_VERSION,
                                            wxRELEASE_NUMBER));
 #undef wxDLLVER