mirror of https://github.com/qt/qtbase.git
Update for the newest Darwin-family operating systems.
- Adapt to the OS X => macOS rename in Q_OS_ macros/docs, qmake scopes, file selectors, etc. - Add new QSysInfo values and MAC_OS_X / __MAC_ / __IPHONE_ values for macOS 10.12 and iOS 9.1 through 10.0. - Update prettyProductName with new macOS "Sierra" codename. Change-Id: Id976530beeafa01b648ebaa16f4a8f0613fcaf75 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
712e437849
commit
3e2bde3578
|
@ -2,7 +2,7 @@
|
||||||
# qmake configuration for common OS X
|
# qmake configuration for common OS X
|
||||||
#
|
#
|
||||||
|
|
||||||
QMAKE_PLATFORM += osx macx
|
QMAKE_PLATFORM += macos osx macx
|
||||||
QMAKE_MAC_SDK = macosx
|
QMAKE_MAC_SDK = macosx
|
||||||
|
|
||||||
include(mac.conf)
|
include(mac.conf)
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
MAKEFILE_GENERATOR = UNIX
|
MAKEFILE_GENERATOR = UNIX
|
||||||
QMAKE_PLATFORM = osx macx mac darwin
|
QMAKE_PLATFORM = macos osx macx mac darwin
|
||||||
CONFIG += native_precompiled_headers
|
CONFIG += native_precompiled_headers
|
||||||
DEFINES += __USE_WS_X11__
|
DEFINES += __USE_WS_X11__
|
||||||
|
|
||||||
|
|
|
@ -26,16 +26,16 @@ isEmpty(QMAKE_PLATFORM) {
|
||||||
equals(TARGET_PLATFORM, unix): \
|
equals(TARGET_PLATFORM, unix): \
|
||||||
QMAKE_PLATFORM = unix
|
QMAKE_PLATFORM = unix
|
||||||
else:equals(TARGET_PLATFORM, macx): \
|
else:equals(TARGET_PLATFORM, macx): \
|
||||||
QMAKE_PLATFORM = osx macx mac darwin unix
|
QMAKE_PLATFORM = macos osx macx mac darwin unix
|
||||||
else:equals(TARGET_PLATFORM, win32): \
|
else:equals(TARGET_PLATFORM, win32): \
|
||||||
QMAKE_PLATFORM = win32
|
QMAKE_PLATFORM = win32
|
||||||
else: \
|
else: \
|
||||||
error("Qmake spec sets an invalid TARGET_PLATFORM.")
|
error("Qmake spec sets an invalid TARGET_PLATFORM.")
|
||||||
}
|
}
|
||||||
|
|
||||||
contains(QMAKE_PLATFORM, macx):!contains(QMAKE_PLATFORM, osx) {
|
if(contains(QMAKE_PLATFORM, macx)|contains(QMAKE_PLATFORM, osx)):!contains(QMAKE_PLATFORM, macos) {
|
||||||
warning("qmake spec specifies platform macx, but not osx.")
|
warning("qmake spec specifies platform macx or osx, but not macos.")
|
||||||
QMAKE_PLATFORM = osx $$QMAKE_PLATFORM
|
QMAKE_PLATFORM = macos $$QMAKE_PLATFORM
|
||||||
}
|
}
|
||||||
|
|
||||||
CONFIG += $$QMAKE_PLATFORM
|
CONFIG += $$QMAKE_PLATFORM
|
||||||
|
|
|
@ -1134,6 +1134,7 @@ bool qSharedBuild() Q_DECL_NOTHROW
|
||||||
\value MV_10_9 OS X 10.9
|
\value MV_10_9 OS X 10.9
|
||||||
\value MV_10_10 OS X 10.10
|
\value MV_10_10 OS X 10.10
|
||||||
\value MV_10_11 OS X 10.11
|
\value MV_10_11 OS X 10.11
|
||||||
|
\value MV_10_12 macOS 10.12
|
||||||
\value MV_Unknown An unknown and currently unsupported platform
|
\value MV_Unknown An unknown and currently unsupported platform
|
||||||
|
|
||||||
\value MV_CHEETAH Apple codename for MV_10_0
|
\value MV_CHEETAH Apple codename for MV_10_0
|
||||||
|
@ -1148,6 +1149,7 @@ bool qSharedBuild() Q_DECL_NOTHROW
|
||||||
\value MV_MAVERICKS Apple codename for MV_10_9
|
\value MV_MAVERICKS Apple codename for MV_10_9
|
||||||
\value MV_YOSEMITE Apple codename for MV_10_10
|
\value MV_YOSEMITE Apple codename for MV_10_10
|
||||||
\value MV_ELCAPITAN Apple codename for MV_10_11
|
\value MV_ELCAPITAN Apple codename for MV_10_11
|
||||||
|
\value MV_SIERRA Apple codename for MV_10_12
|
||||||
|
|
||||||
\value MV_IOS iOS (any)
|
\value MV_IOS iOS (any)
|
||||||
\value MV_IOS_4_3 iOS 4.3
|
\value MV_IOS_4_3 iOS 4.3
|
||||||
|
@ -1163,6 +1165,10 @@ bool qSharedBuild() Q_DECL_NOTHROW
|
||||||
\value MV_IOS_8_3 iOS 8.3
|
\value MV_IOS_8_3 iOS 8.3
|
||||||
\value MV_IOS_8_4 iOS 8.4
|
\value MV_IOS_8_4 iOS 8.4
|
||||||
\value MV_IOS_9_0 iOS 9.0
|
\value MV_IOS_9_0 iOS 9.0
|
||||||
|
\value MV_IOS_9_1 iOS 9.1
|
||||||
|
\value MV_IOS_9_2 iOS 9.2
|
||||||
|
\value MV_IOS_9_3 iOS 9.3
|
||||||
|
\value MV_IOS_10_0 iOS 10.0
|
||||||
|
|
||||||
\value MV_None Not a Darwin operating system
|
\value MV_None Not a Darwin operating system
|
||||||
|
|
||||||
|
@ -1173,23 +1179,28 @@ bool qSharedBuild() Q_DECL_NOTHROW
|
||||||
\macro Q_OS_DARWIN
|
\macro Q_OS_DARWIN
|
||||||
\relates <QtGlobal>
|
\relates <QtGlobal>
|
||||||
|
|
||||||
Defined on Darwin-based operating systems such as OS X and iOS,
|
Defined on Darwin-based operating systems such as OS X and iOS.
|
||||||
including any open source version(s) of Darwin.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\macro Q_OS_MAC
|
\macro Q_OS_MAC
|
||||||
\relates <QtGlobal>
|
\relates <QtGlobal>
|
||||||
|
|
||||||
Defined on Darwin-based operating systems distributed by Apple, which
|
Deprecated synonym for \c Q_OS_DARWIN. Do not use.
|
||||||
currently includes OS X and iOS, but not the open source versions of Darwin.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\macro Q_OS_OSX
|
\macro Q_OS_OSX
|
||||||
\relates <QtGlobal>
|
\relates <QtGlobal>
|
||||||
|
|
||||||
Defined on OS X.
|
Deprecated synonym for \c Q_OS_MACOS. Do not use.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\macro Q_OS_MACOS
|
||||||
|
\relates <QtGlobal>
|
||||||
|
|
||||||
|
Defined on macOS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -2573,10 +2584,12 @@ QString QSysInfo::kernelVersion()
|
||||||
running the BlackBerry userspace, but "qnx" for all other QNX-based
|
running the BlackBerry userspace, but "qnx" for all other QNX-based
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
\b{Darwin, OS X and iOS note}: this function returns "osx" for OS X
|
\b{Darwin, OS X and iOS note}: this function returns "macos" for macOS
|
||||||
systems, "ios" for iOS systems and "darwin" in case the system could not be
|
systems, "ios" for iOS systems and "darwin" in case the system could not be
|
||||||
determined.
|
determined.
|
||||||
|
|
||||||
|
\b{OS X note}: this function returns "osx" for versions of macOS prior to 10.12.
|
||||||
|
|
||||||
\b{FreeBSD note}: this function returns "debian" for Debian/kFreeBSD and
|
\b{FreeBSD note}: this function returns "debian" for Debian/kFreeBSD and
|
||||||
"unknown" otherwise.
|
"unknown" otherwise.
|
||||||
|
|
||||||
|
@ -2610,8 +2623,11 @@ QString QSysInfo::productType()
|
||||||
|
|
||||||
#elif defined(Q_OS_IOS)
|
#elif defined(Q_OS_IOS)
|
||||||
return QStringLiteral("ios");
|
return QStringLiteral("ios");
|
||||||
#elif defined(Q_OS_OSX)
|
#elif defined(Q_OS_MACOS)
|
||||||
|
const QAppleOperatingSystemVersion version = qt_apple_os_version();
|
||||||
|
if (version.major == 10 && version.minor < 12)
|
||||||
return QStringLiteral("osx");
|
return QStringLiteral("osx");
|
||||||
|
return QStringLiteral("macos");
|
||||||
#elif defined(Q_OS_DARWIN)
|
#elif defined(Q_OS_DARWIN)
|
||||||
return QStringLiteral("darwin");
|
return QStringLiteral("darwin");
|
||||||
|
|
||||||
|
@ -2700,7 +2716,7 @@ QString QSysInfo::prettyProductName()
|
||||||
{
|
{
|
||||||
#if defined(Q_OS_IOS)
|
#if defined(Q_OS_IOS)
|
||||||
return QLatin1String("iOS ") + productVersion();
|
return QLatin1String("iOS ") + productVersion();
|
||||||
#elif defined(Q_OS_OSX)
|
#elif defined(Q_OS_MACOS)
|
||||||
// get the known codenames
|
// get the known codenames
|
||||||
const char *basename = 0;
|
const char *basename = 0;
|
||||||
switch (int(MacintoshVersion)) {
|
switch (int(MacintoshVersion)) {
|
||||||
|
@ -2734,12 +2750,15 @@ QString QSysInfo::prettyProductName()
|
||||||
case MV_ELCAPITAN:
|
case MV_ELCAPITAN:
|
||||||
basename = "OS X El Capitan (";
|
basename = "OS X El Capitan (";
|
||||||
break;
|
break;
|
||||||
|
case MV_SIERRA:
|
||||||
|
basename = "macOS Sierra (";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (basename)
|
if (basename)
|
||||||
return QLatin1String(basename) + productVersion() + QLatin1Char(')');
|
return QLatin1String(basename) + productVersion() + QLatin1Char(')');
|
||||||
|
|
||||||
// a future version of OS X
|
// a future version of macOS
|
||||||
return QLatin1String("OS X ") + productVersion();
|
return QLatin1String("macOS ") + productVersion();
|
||||||
#elif defined(Q_OS_WINPHONE)
|
#elif defined(Q_OS_WINPHONE)
|
||||||
return QLatin1String("Windows Phone ") + QLatin1String(winVer_helper());
|
return QLatin1String("Windows Phone ") + QLatin1String(winVer_helper());
|
||||||
#elif defined(Q_OS_WIN)
|
#elif defined(Q_OS_WIN)
|
||||||
|
|
|
@ -138,6 +138,7 @@ public:
|
||||||
MV_10_9 = Q_MV_OSX(10, 9),
|
MV_10_9 = Q_MV_OSX(10, 9),
|
||||||
MV_10_10 = Q_MV_OSX(10, 10),
|
MV_10_10 = Q_MV_OSX(10, 10),
|
||||||
MV_10_11 = Q_MV_OSX(10, 11),
|
MV_10_11 = Q_MV_OSX(10, 11),
|
||||||
|
MV_10_12 = Q_MV_OSX(10, 12),
|
||||||
|
|
||||||
/* codenames */
|
/* codenames */
|
||||||
MV_CHEETAH = MV_10_0,
|
MV_CHEETAH = MV_10_0,
|
||||||
|
@ -152,6 +153,7 @@ public:
|
||||||
MV_MAVERICKS = MV_10_9,
|
MV_MAVERICKS = MV_10_9,
|
||||||
MV_YOSEMITE = MV_10_10,
|
MV_YOSEMITE = MV_10_10,
|
||||||
MV_ELCAPITAN = MV_10_11,
|
MV_ELCAPITAN = MV_10_11,
|
||||||
|
MV_SIERRA = MV_10_12,
|
||||||
|
|
||||||
/* iOS */
|
/* iOS */
|
||||||
MV_IOS = 1 << 8,
|
MV_IOS = 1 << 8,
|
||||||
|
@ -167,7 +169,11 @@ public:
|
||||||
MV_IOS_8_2 = Q_MV_IOS(8, 2),
|
MV_IOS_8_2 = Q_MV_IOS(8, 2),
|
||||||
MV_IOS_8_3 = Q_MV_IOS(8, 3),
|
MV_IOS_8_3 = Q_MV_IOS(8, 3),
|
||||||
MV_IOS_8_4 = Q_MV_IOS(8, 4),
|
MV_IOS_8_4 = Q_MV_IOS(8, 4),
|
||||||
MV_IOS_9_0 = Q_MV_IOS(9, 0)
|
MV_IOS_9_0 = Q_MV_IOS(9, 0),
|
||||||
|
MV_IOS_9_1 = Q_MV_IOS(9, 1),
|
||||||
|
MV_IOS_9_2 = Q_MV_IOS(9, 2),
|
||||||
|
MV_IOS_9_3 = Q_MV_IOS(9, 3),
|
||||||
|
MV_IOS_10_0 = Q_MV_IOS(10, 0)
|
||||||
};
|
};
|
||||||
#if defined(Q_OS_MAC)
|
#if defined(Q_OS_MAC)
|
||||||
static const MacVersion MacintoshVersion;
|
static const MacVersion MacintoshVersion;
|
||||||
|
|
|
@ -42,8 +42,7 @@
|
||||||
The operating system, must be one of: (Q_OS_x)
|
The operating system, must be one of: (Q_OS_x)
|
||||||
|
|
||||||
DARWIN - Any Darwin system
|
DARWIN - Any Darwin system
|
||||||
MAC - OS X and iOS
|
MACOS - macOS
|
||||||
OSX - OS X
|
|
||||||
IOS - iOS
|
IOS - iOS
|
||||||
MSDOS - MS-DOS and Windows
|
MSDOS - MS-DOS and Windows
|
||||||
OS2 - OS/2
|
OS2 - OS/2
|
||||||
|
@ -199,7 +198,8 @@
|
||||||
# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
|
# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
|
||||||
# define Q_OS_IOS
|
# define Q_OS_IOS
|
||||||
# elif defined(TARGET_OS_MAC) && TARGET_OS_MAC
|
# elif defined(TARGET_OS_MAC) && TARGET_OS_MAC
|
||||||
# define Q_OS_OSX
|
# define Q_OS_MACOS
|
||||||
|
# define Q_OS_OSX // compatibility synonym
|
||||||
# define Q_OS_MACX // compatibility synonym
|
# define Q_OS_MACX // compatibility synonym
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
# include <Availability.h>
|
# include <Availability.h>
|
||||||
# include <AvailabilityMacros.h>
|
# include <AvailabilityMacros.h>
|
||||||
#
|
#
|
||||||
# ifdef Q_OS_OSX
|
# ifdef Q_OS_MACOS
|
||||||
# if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6
|
# if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6
|
||||||
# undef __MAC_OS_X_VERSION_MIN_REQUIRED
|
# undef __MAC_OS_X_VERSION_MIN_REQUIRED
|
||||||
# define __MAC_OS_X_VERSION_MIN_REQUIRED __MAC_10_6
|
# define __MAC_OS_X_VERSION_MIN_REQUIRED __MAC_10_6
|
||||||
|
@ -243,6 +243,9 @@
|
||||||
# if !defined(__MAC_10_11)
|
# if !defined(__MAC_10_11)
|
||||||
# define __MAC_10_11 101100
|
# define __MAC_10_11 101100
|
||||||
# endif
|
# endif
|
||||||
|
# if !defined(__MAC_10_12)
|
||||||
|
# define __MAC_10_12 101200
|
||||||
|
# endif
|
||||||
# if !defined(MAC_OS_X_VERSION_10_7)
|
# if !defined(MAC_OS_X_VERSION_10_7)
|
||||||
# define MAC_OS_X_VERSION_10_7 1070
|
# define MAC_OS_X_VERSION_10_7 1070
|
||||||
# endif
|
# endif
|
||||||
|
@ -258,6 +261,9 @@
|
||||||
# if !defined(MAC_OS_X_VERSION_10_11)
|
# if !defined(MAC_OS_X_VERSION_10_11)
|
||||||
# define MAC_OS_X_VERSION_10_11 101100
|
# define MAC_OS_X_VERSION_10_11 101100
|
||||||
# endif
|
# endif
|
||||||
|
# if !defined(MAC_OS_X_VERSION_10_12)
|
||||||
|
# define MAC_OS_X_VERSION_10_12 101200
|
||||||
|
# endif
|
||||||
#
|
#
|
||||||
# if !defined(__IPHONE_4_3)
|
# if !defined(__IPHONE_4_3)
|
||||||
# define __IPHONE_4_3 40300
|
# define __IPHONE_4_3 40300
|
||||||
|
@ -298,6 +304,18 @@
|
||||||
# if !defined(__IPHONE_9_0)
|
# if !defined(__IPHONE_9_0)
|
||||||
# define __IPHONE_9_0 90000
|
# define __IPHONE_9_0 90000
|
||||||
# endif
|
# endif
|
||||||
|
# if !defined(__IPHONE_9_1)
|
||||||
|
# define __IPHONE_9_1 90100
|
||||||
|
# endif
|
||||||
|
# if !defined(__IPHONE_9_2)
|
||||||
|
# define __IPHONE_9_2 90200
|
||||||
|
# endif
|
||||||
|
# if !defined(__IPHONE_9_3)
|
||||||
|
# define __IPHONE_9_3 90300
|
||||||
|
# endif
|
||||||
|
# if !defined(__IPHONE_10_0)
|
||||||
|
# define __IPHONE_10_0 100000
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __LSB_VERSION__
|
#ifdef __LSB_VERSION__
|
||||||
|
|
|
@ -383,8 +383,12 @@ QStringList QFileSelectorPrivate::platformSelectors()
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
QString productName = QSysInfo::productType();
|
QString productName = QSysInfo::productType();
|
||||||
|
# ifdef Q_OS_MACOS
|
||||||
|
if (productName != QStringLiteral("osx"))
|
||||||
|
ret << QStringLiteral("osx"); // compatibility
|
||||||
|
# endif
|
||||||
if (productName != QLatin1String("unknown"))
|
if (productName != QLatin1String("unknown"))
|
||||||
ret << productName; // "opensuse", "fedora", "osx", "ios", "blackberry", "android"
|
ret << productName; // "opensuse", "fedora", "macos", "ios", "blackberry", "android"
|
||||||
#endif
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue