5081fd6887
Justification: intuition indicates that Q_OS_MAC refers to OS X. Reality indicates it refers to OS X, iOS, watchOS, and tvOS. Technical correctness requires that it match reality. Backwards compatibility dictates it can't be changed anyways. Conclusion: an extremely confusing macro that no one knows how to use properly. When Q_OS_MACX was repurposed for OS X (and later, Q_OS_OSX introduced), Q_OS_MAC was kept around to allow differentation between Q_OS_DARWIN (the grandfather OS of everything - OS X, iOS, watchOS, tvOS, and theoretically "open source Darwin derivative"). However, given that every attempt at a non-Apple Darwin based operating system has failed and sees virtually no interest at scale, this distinction is not useful in Qt for the confusion it causes in return, especially considering that there are several cases in Qt where Q_OS_MAC should be Q_OS_DARWIN or vice versa, and sometimes the correct macro is not even entirely clear. Therefore, Q_OS_MAC can be deprecated. In the extremely unlikely case that differentiation between Darwin core, and commercial Darwin-based operating systems from Apple is required, I suggest introducing Q_OS_APPLE (a superset of Q_OS_DARWIN, and subset of Q_OS_OSX, Q_OS_IOS, Q_OS_WATCHOS, and Q_OS_TVOS). Until it is needed, Darwin, OS X, iOS, watchOS, and tvOS defines should be perfectly sufficient for every real-world use case. Change-Id: Id6df8c1102010b61cfe001ed41a76809bc166863 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> |
||
---|---|---|
bin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
tools | ||
util | ||
.gitattributes | ||
.gitignore | ||
.qmake.conf | ||
.tag | ||
configure | ||
configure.bat | ||
header.BSD | ||
header.FDL | ||
header.LGPL3 | ||
header.LGPL3-COMM | ||
header.LGPL21 | ||
header.LGPL-ONLY | ||
INSTALL | ||
LGPL_EXCEPTION.txt | ||
LICENSE.FDL | ||
LICENSE.GPLv3 | ||
LICENSE.LGPLv3 | ||
LICENSE.LGPLv21 | ||
LICENSE.PREVIEW.COMMERCIAL | ||
qtbase.pro | ||
sync.profile |