summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qglobal.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Clean up some Apple-related includes and declarations.Jake Petroules2015-09-221-23/+0
| | | | | Change-Id: I92db9691c2243ae72ecd4e11dd4640afaf4bf822 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Fix QSysInfo::windowsVersion() for good.Jake Petroules2015-09-061-83/+56
| | | | | | | | | Task-number: QTBUG-38439 Task-number: QTBUG-43444 Change-Id: I9870200806f2ca378b0977dee0674d89e2c6836c Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge the multiple implementations of getting the local hostnameThiago Macieira2015-08-131-0/+124
| | | | | | | | | | | | | | | | This commit moves the functionality from QtNetwork's QHostInfo to QtCore. Note that due to Windows ws2_32.dll's quirky behavior of requiring WSAStartup before calling gethostname, this change required moving the initialization to QtCore too. On Linux systems, gethostname() gets the name from uname(), so we bypass the middle man and save one memcpy. Change-Id: I27eaacb532114dd188c4ffff13d32655a6301346 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-061-4/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| * do not warn about "untested" Windows versionsJoerg Bornemann2015-08-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the qWarning that was printed when running a Qt application on desktop Windows versions that Qt doesn't know about. This warning isn't helpful, it's only visible for command line applications and it can only be turned off by rebuilding the application with a newer Qt version. Removing the warning is also consistent with all other platforms - even non-Desktop Windows. Change-Id: If1cac92ce99974335319d0b9a74f1006069abd7a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
| * Doc: update the Q_OS_MAC documentation to be less misleadingThiago Macieira2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | The "open source" version it's talking about is that of Darwin, not of Qt. Change-Id: Ib306f8f647014b399b87ffff13f27bc651d78707 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Dirk Hohndel <dirk@hohndel.org>
| * qglobal: Clarify that Q_OS_WINRT also implies Q_OS_WINSebastian Schuberth2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | This makes the docs match the code from qsystemdetection.h. Change-Id: Iec75e24d13e21f1800777bac5fa98b47b47e6001 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-07-171-1/+2
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
| * Fix change-of-sign warning with ICCThiago Macieira2015-07-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | strlen returns size_t, but -1 is obviously negative. qglobal.cpp(2261): warning #68: integer conversion resulted in a change of sign Change-Id: I255870833a024a36adf6ffff13eb05ce5b2b2595 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-011-28/+32
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * Replace MAC OS X with OS XNico Vertriest2015-06-301-2/+2
| | | | | | | | | | | | Task-number: QTBUG-46374 Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-271-0/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.h Manually fixed src/testlib/qtestcase.cpp to return the right type. Change-Id: Id1634dbe3d73fefe9431b9f5378846cb187624e4
| | * Update for the newest Darwin-family operating systems.Jake Petroules2015-06-101-0/+10
| | | | | | | | | | | | | | | | | | | | | Change-Id: I5ea44a720e01e388a8d219a89c5b0ccd8fd23146 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
| * | Refactor handling of environment variable QT_WINVER_OVERRIDE.Friedemann Kleint2015-06-101-28/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rename variable named "override" and check using qEnvironmentVariableIsSet() to avoid constructing a QByteArray in the default case. Remove DOS-based OS. Change-Id: Ibf348cd74ada5be99b9d2ed7637184a786df8244 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * | Added support for Windows 10 in QSysInfo::productVersion()Marcel Krems2015-06-091-0/+4
| |/ | | | | | | | | Change-Id: I9e21ae62eea6c694e0b3b68dfd14264c3ce76246 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-031-10/+76
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| * QSysInfo: Expand Linux distribution detectionCaroline Chao2015-05-131-10/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expand Linux distribution detection to /etc/redhat-release and /etc/debian_version to follow what /usr/bin/lsb_release script does. If /usr/bin/lsb_release fails to extract the distribution information from /etc/lsb-release, it then checks /etc/redhat-release and, as a last fallback, /etc/debian_version. Some Red Hat distributions have a /etc/lsb-release file that does not provide the values we are looking for (DISTRIB_ID, DISTRIB_RELEASE and DISTRIB_DESCRIPTION). If both productType or productVersion are empty after reading /etc/lsb-release, readEtcLsbRelease() will return false, allowing further parsing of /etc/redhat-release. This scenario mimics what the /usr/bin/lsb_release script does if /etc/lsb-release does not contains enough information. The productType and productVersion returned by QSysInfo after reading /etc/redhat-release match the distributor id and release information returned by the /usr/bin/lsb_release script. For Debian Linux distributions where /etc/os-release, /etc/lsb-release and /etc/redhat-release are not available nor usable, the /usr/bin/lsb_release script also checks for the /etc/debian_version file. In this case, we also enable parsing of /etc/debian_version to retrieve a fallback productVersion, the productType being set to Debian. Change-Id: Ia20d513d78be8a8ee8c0410d0aaa052fde81a41d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Fix QIODevice::errorString() and other places where we expose errnoSimon Hausmann2015-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | Commit e486d69133178ccce7c75cf48201ab28efb20e44 changed the behavior of QString::fromLocal8Bit(const QByteArray &) to preserve embedded null characters. The embedded null character from qt_error_string()'s buffer is not something we want to preserve, it is merely a safe guard. Therefore let's strip it away. Change-Id: Iceac91551f51a1036a942ff30d246baea7a6fd7c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Update for the newest Darwin-family operating systems.Jake Petroules2015-05-031-0/+3
| | | | | | | | | | Change-Id: I72ba0554eb9e1201ce3844d6420f253c51750de3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Fix crashes when accessing environment variables concurrentlySimon Hausmann2015-04-301-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We've seen crashes with QThreadPrivate::start using qgetenv during the creation of the event dispatcher, while another thread (for example the gui thread) called qputenv. This is inherently thread-unsafe and there are many places where we make the assumption that using the environment is safe. However access to the environment is inherently unsafe in the C runtime and the best that we can do is add a mutex around the Qt environment access functions, to at least protect ourselves and our users. Change-Id: Ie9a718d9f7ce63c423c645f0be3e3f4933e1cb08 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-061-2/+2
|\| | | | | | | Change-Id: If9fd98525b6b4ca07e5e006fc98bf372a73b8a21
| * Windows: Use FORMAT_MESSAGE_IGNORE_INSERTS for qt_error_string().Friedemann Kleint2015-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | This will cause FormatMessage() to return messages with placeholders as well even though we do not pass the message parameters (for example: "The operating system cannot run %1." for ERROR_INVALID_ORDINAL). Task-number: QTBUG-43164 Change-Id: Ib95c1c0fabb543bbe4e8ab2bd8f244f73dff5fa4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Update a few doc regarding Q_FLAGOlivier Goffart2015-04-011-1/+1
| | | | | | | | | | Change-Id: Ic26b3d64c9a5d5109bd8a0b359f063529d0181fc Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-011-1/+4
|\| | | | | | | | | | | | | | | Conflicts: src/testlib/qtestblacklist.cpp src/widgets/accessible/qaccessiblewidgets.cpp Change-Id: If032adb9296428f62384ed835dbf41ee7a0b886c
| * Update strtoll and strtoull from upstream FreeBSDThiago Macieira2015-03-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There appears to be at least one fix, related to sign- or zero-extension in the call to isspace(). So it's a good idea to update again. This also brings the behavior to match strtoll and strtoull on Linux, including the fact that strtoull will parse negative numbers. For that reason, qstrtoll and qstrtoull are now wrappers that try and keep the behavior that we used to have. This update also changes the code from a 4-clause BSD license (bad) to a 3-clause BSD license (good). Change-Id: I73b01b02ebd1551bf924599d52284ad25cc1def0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Doc: Change Q_CHECK_PTR documentation to match implementationRainer Keller2015-03-121-4/+7
|/ | | | | | Task-number: QTBUG-9134 Change-Id: I417be34f5682fa23b7b76131f5713b0917dfae6d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSysInfo: expand Linux distribution detection to /etc/lsb-releaseThiago Macieira2015-02-251-31/+58
| | | | | | | | | | | | | | | | Some older (or weird) Linux distributions don't have /etc/os-release, so let's try to read /etc/lsb-release instead. If we find a file called /etc/<distronamelowercase>-release and it's bigger than the pretty name we read from /etc/lsb-release, use that. Because the order of the keys changes between the two *-release files, we can't do a sorted search anymore. Change-Id: I1a800c709d3543699131ffff13c48532d5074f3c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Dirk Hohndel <dirk@hohndel.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Haiku: Use 'unknown' as QSysInfo::productType()Tobias Koenig2015-02-201-3/+0
| | | | | | | | | | | There are no actual products of Haiku, so using 'unknown' (the default) is fine, otherwise the file platform selector would be '+unix/+haiku/+haiku' instead of '+unix/+haiku'. Change-Id: Id7653098e20374885a50c09e2aaac9e6fcfc6efb Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Haiku: Use setenv and unsetenv POSIX functionsTobias Koenig2015-02-121-3/+3
| | | | | | | | | | The _POSIX_VERSION declared in Haiku is 199009L, so we have to enable support for setenv/unsetenv explicitly until Haiku POSIX version is updated. Change-Id: Ic22374253b0512a6a816257db83b0c649be0585d Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-211-10/+68
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/global.pri src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.h src/corelib/tools/qdatetime.cpp src/plugins/platforms/xcb/qxcbscreen.h src/plugins/platforms/xcb/qxcbwindow.h src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qcolordialog_p.h tools/configure/configureapp.cpp Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
| * Windows: Fix OS version determination for Windows >= 8Friedemann Kleint2015-01-071-10/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | First, try to determine the version of kernel32.dll by using the version API. If that fails, loop using the version macros, taking the major version into account. Hangs in the minor version loop have been observed, potentially related to the major version. Task-number: QTBUG-43413 Change-Id: I982e78873510e7598c7cf839177e59812acd86f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Haiku: Make corelib compile on HaikuTobias Koenig2015-01-101-0/+5
| | | | | | | | | | Change-Id: I66bc492390eedd723ab7866d3c7a38539d708727 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Add QtInfoMsgKai Koehne2015-01-091-13/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an 'info' message type that can be used for messages that are neither warnings (QtWarningMsg), nor for debugging only (QtDebugMsg). This is useful mainly for applications that do not have to adhere to the 'do not print anything by default' paradigm that we have for the Qt libraries itself. [ChangeLog][QtCore][Logging] QtInfoMsg got added as a new QtMsgType. Use the new qInfo(), qCInfo() macros to log to it. Change-Id: I810995d63de46c41a9a99a34d37c0d417fa87a05 Reviewed-by: Jason McDonald <macadder1@gmail.com>
* | Introduce Windows version 10.Friedemann Kleint2015-01-081-0/+4
| | | | | | | | | | | | | | | | Detect OS kernel version 10.0 as Windows 10. Task-number: QTBUG-43413 Change-Id: I39307cf8cc2e7cc209d6a88b8576db87086fa20e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make QSysInfo enum types available cross-platformhjk2014-11-191-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the WinVersion and MacVersion enums accessible in platform indepedent code to avoid the need to use #ifdef Q_OS_* chains in user code, leading to fewer platform-dependent code paths and better maintainability. To indicate "this is not a Windows based OS" a enum value QSysInfo::WV_None (with value 0x0000) in QSysInfo::WinVersion is introduced. This keeps the WV_*_based masks usable. To indicate "this is not a Darwin based OS" a enum values QSysInfo::MV_None (with value 0xffff) in QSysInfo::MacVersion is introduced. 0x0000 might have been preferable for (not so important "consitency" with QSysInfo::WV_None), but is already taken by QSysInfo::MV_Unknown with a different meaning. Change-Id: Ib395e0efba58558f31f4e0806f7333165aa90aa5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add Q_DECL_RELAXED_CONSTEXPR macroOlivier Goffart2014-10-241-0/+15
| | | | | | | | | | | | | | | | | | Expands to constexpr if C++14 relaxed constepxr are supported by the compiler [ChangeLog][QtCore] Added Q_DECL_RELAXED_CONSTEXPR for the corresponding C++14 feature Change-Id: Id6b56b3a17da2ff838c80795e528e1247dc13f63 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-201-1/+3
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * Android: Support QSysInfo::productVersion()Eskil Abrahamsen Blomfeldt2014-10-101-1/+3
| | | | | | | | | | | | | | | | | | | | Gets the user-readable string for the current running Android version. Task-number: QTBUG-41764 Change-Id: Iefea4a4f5291bfddc99bbf901676ccd33fbc23d6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-291-20/+12
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/image/qimage.cpp src/gui/image/qppmhandler.cpp src/gui/kernel/qguiapplication.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
| * Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * Fix doc typo with Q_FORWARD_DECLARE_MUTABLE_CF_TYPE.Jake Petroules2014-09-241-1/+1
| | | | | | | | | | Change-Id: I2e6b00513be87640dc20831aab4e972716445e63 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Use new, supported APIs in OS X 10.10 and iOS 8.0 to get the OS version.Jake Petroules2014-09-121-26/+8
| | | | | | | | | | | | | | | | | | Gestalt is deprecated so we can't use it long term. At the same time, the new API is cross platform, so we'll no longer have to parse strings in -[UIDevice systemVersion] either. Change-Id: Ic81797174c1a3d50b47b9b209205a6a506cc75ef Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Add qEnvironmentVariableIntValue()Marc Mutz2014-09-121-0/+48
|/ | | | | | | | | | | | | | A lot of code in Qt uses VAR=1 for enabling or disabling some feature or other, ignoring qEnvironmentVariableIsSet(), which was added for that purpose. Other code actually reads numerical values from environment variables. For both use-cases, provide a non-throwing, non-memory-allocating way to get the numerical (int) value of an environment variable, complementing qEnvironmentVariableIs{Set,Empty}(). [ChangeLog][QtCore] Added qEnvironmentVariableIntValue(). Change-Id: I81c85287ea10d355c1bbf8d7807ec9a0e477bce0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: update the list of typical values for xxxCpuArchitectureThiago Macieira2014-07-311-2/+12
| | | | | | | | | | | | | | | | | If we wanted to make the list exhaustive for buildCpuArchitecture, we'd add alpha, avr32, bfin, s390(x), and sh. I don't want to make it exhaustive because that's cluttering the documentation and we'd have to keep in sync with archdetect.cpp. And we can't make currentCpuArchitecture exhaustive, since it depends on the output from uname(2). You can argue that neither IA-64, POWER, nor SPARC architectures are typical these days... Change-Id: I0a5310770947263e1bafd9443ea59420813c51a8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Attempt to add support for Solaris sysinfo callThiago Macieira2014-07-311-3/+24
| | | | | | | | | Totally untested. Change-Id: I2c2347a66cb3fcb71d97782090ac628bef0b247f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't parse /etc/os-release every time we need to do uname(2)Thiago Macieira2014-07-301-39/+16
| | | | | | | | | | | | This is just an optimization of the code: instead of opening and parsing /etc/os-release every time QSysInfo::kernelType() is called on Linux, do that only in QSysInfo::productType() and productVersion(). Change-Id: I201504934ecf7a51854cb49c790bd9d30eba644b Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Rework of QSysInfo OS and kernel version functionsThiago Macieira2014-07-301-100/+142
| | | | | | | | | | | | | | | | | | | | | | | | This patch splits the OS product from the kernel name and versions. Previously, it was a little confusing. Thus, osType is split in two: kernelType() always returns the kernel type, which includes "linux" for Android, "darwin" for iOS and OS X, "qnx" for BlackBerry, and "windows" for all the Windows OSes. The Linux distribution name and the visible product names are found in productType(), with the respective versions in productVersion(). For an update system, applications probably want to send all four tokens: - for Android, BlackBerry, iOS, OS X and Windows, the relevant information is productType and productVersion - for Linux distributions, in addition to productType and productVersion, the kernelType ("linux") is useful as a fallback and it's important for Debian/kFreeBSD and Debian/GNU - for other Unix systems, the relevant information is kernelType and kernelVersion Change-Id: I66c36d5a4ddfad47babfc6744d752273705e7076 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add QSysInfo::currentCpuArchitecture()Thiago Macieira2014-07-301-2/+90
| | | | | | | | | | buildCpuArchitecture() returns the CPU Qt was built for, while this function returns the CPU that Qt is running on -- if the OS was kind enough to tell us. Change-Id: Ib27937e3ff028cb500d263c4921ef00d3a567715 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename QSysInfo::cpuArchitecture and fullCpuArchitectureThiago Macieira2014-07-071-33/+33
| | | | | | | | To buildCpuArchitecture and buildAbi, respectively. Change-Id: If84852eb4ef48a6e1fb4351f7a1a4434b4dc3f72 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>