///////////////////////////////////////////////////////////////////////////////
-// 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
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
#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>
// 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__