X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2478fde622a16d25c66690af353dfdc37e7b582..38a5c64e29ab1d081af309a73c7af94069cf799f:/src/unix/baseunix.cpp?ds=sidebyside

diff --git a/src/unix/baseunix.cpp b/src/unix/baseunix.cpp
index e6250a0c13..de2ee2f156 100644
--- a/src/unix/baseunix.cpp
+++ b/src/unix/baseunix.cpp
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        unix/baseunix.cpp
+// Name:        src/unix/baseunix.cpp
 // Purpose:     misc stuff only used in console applications under Unix
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     23.06.2003
 // RCS-ID:      $Id$
 // Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License:     wxWindows license
+// License:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -25,9 +25,13 @@
 #endif
 
 #ifndef WX_PRECOMP
+    #include "wx/log.h"
+    #include "wx/intl.h"
+    #include "wx/utils.h"
 #endif //WX_PRECOMP
 
 #include "wx/apptrait.h"
+#include "wx/unix/execute.h"
 
 // for waitpid()
 #include <sys/types.h>
@@ -81,28 +85,41 @@ wxConsoleAppTraits::WaitForChild(wxExecuteData& execData)
 // misc other stuff
 // ----------------------------------------------------------------------------
 
-// WXWIN_OS_DESCRIPTION is normally defined by configure
-#if defined( __MWERKS__ ) && defined(__MACH__)
-    #define WXWIN_OS_DESCRIPTION "MacOS X"
-#endif
+// this is in mac/utils.cpp under Mac
+#if !defined(__WXMAC__)
 
-int wxConsoleAppTraits::GetOSVersion(int *verMaj, int *verMin)
+wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
 {
+    static wxToolkitInfo info;
     int major, minor;
-    char name[256];
 
-    if ( sscanf(WXWIN_OS_DESCRIPTION, "%s %d.%d", name, &major, &minor) != 3 )
+    FILE *f = popen("uname -r", "r");
+    if (f)
+    {
+        char buf[32];
+        size_t c = fread(buf, 1, sizeof(buf) - 1, f);
+        pclose(f);
+        buf[c] = '\0';
+        if ( sscanf(buf, "%d.%d", &major, &minor) != 2 )
+        {
+            // unrecognized uname string format
+            major =
+            minor = -1;
+        }
+    }
+    else
     {
-        // unreckognized uname string format
+        // failed to run uname
         major =
         minor = -1;
     }
 
-    if ( majorVsn )
-        *majorVsn = major;
-    if ( minorVsn )
-        *minorVsn = minor;
+    info.versionMajor = major;
+    info.versionMinor = minor;
+    info.name = _T("wxBase");
+    info.os = wxUNIX;
 
-    return wxUNIX;
+    return info;
 }
 
+#endif // __WXMAC__