X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2478fde622a16d25c66690af353dfdc37e7b582..9cb6c9a0246ccc3bbf4779171fbc3570dcf3fc1d:/src/unix/baseunix.cpp diff --git a/src/unix/baseunix.cpp b/src/unix/baseunix.cpp index e6250a0c13..d7e34da3c5 100644 --- a/src/unix/baseunix.cpp +++ b/src/unix/baseunix.cpp @@ -6,7 +6,7 @@ // Created: 23.06.2003 // RCS-ID: $Id$ // Copyright: (c) 2003 Vadim Zeitlin -// License: wxWindows license +// License: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -25,9 +25,13 @@ #endif #ifndef WX_PRECOMP + #include "wx/log.h" + #include "wx/intl.h" #endif //WX_PRECOMP #include "wx/apptrait.h" +#include "wx/utils.h" +#include "wx/unix/execute.h" // for waitpid() #include @@ -81,28 +85,42 @@ 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__ +