diff options
author | Mike Krus <mike.krus@kdab.com> | 2016-02-16 14:29:59 +0000 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2016-05-17 16:11:23 +0000 |
commit | 03e9c6f4a62582837fc9f5961ecbccd0a3d1b5d6 (patch) | |
tree | c52961c92f5968a7355941fa224dfc74268ce150 /src/corelib/io | |
parent | 26d44fce3dfb9dbd3b5be2a031fff8c1bb903960 (diff) |
Add support for Apple tvOS
Pass -xplatform macx-tvos-clang to configure to build.
Builds device and simulator by default.
Added ‘uikit’ platform with the common setup.
Also added QT_PLATFORM_UIKIT define (undocumented).
qmake config defines tvos (but not ios).
tvOS is 64bits only (QT_ARCH is arm64) and requires bitcode to be
embedded in the binary. A new ‘bitcode’ configuration was added.
For ReleaseDevice builds (which get archived and push to the store),
bitcode is actually embedded (-fembed-bitcode passed to clang). For all
other configurations, only using bitcode markers to keep file size
down (-fembed-bitcode-marker).
Build disables Widgets in qtbase, and qtscript (unsupported,
would require fixes to JavaScriptCore source code).
Qpa same as on iOS but disables device orientation, status bar, clipboard,
menus, dialogs which are not supported on tvOS.
Change-Id: I645804fd933be0befddeeb43095a74d2c178b2ba
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/io.pri | 4 | ||||
-rw-r--r-- | src/corelib/io/qfilesystemengine_unix.cpp | 2 | ||||
-rw-r--r-- | src/corelib/io/qfilesystemwatcher.cpp | 4 | ||||
-rw-r--r-- | src/corelib/io/qlockfile_unix.cpp | 4 | ||||
-rw-r--r-- | src/corelib/io/qprocess.cpp | 2 | ||||
-rw-r--r-- | src/corelib/io/qprocess_unix.cpp | 2 | ||||
-rw-r--r-- | src/corelib/io/qsettings.cpp | 2 | ||||
-rw-r--r-- | src/corelib/io/qstandardpaths_mac.mm | 4 |
8 files changed, 12 insertions, 12 deletions
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri index 052dc8408b..0b3a28944c 100644 --- a/src/corelib/io/io.pri +++ b/src/corelib/io/io.pri @@ -135,7 +135,7 @@ win32 { io/qprocess_unix.cpp \ io/qfilesystemiterator_unix.cpp - !integrity { + !integrity:!tvos { SOURCES += io/forkfd_qt.cpp HEADERS += \ ../3rdparty/forkfd/forkfd.h @@ -153,7 +153,7 @@ win32 { OBJECTIVE_SOURCES += io/qfilesystemwatcher_fsevents.mm HEADERS += io/qfilesystemwatcher_fsevents_p.h LIBS += -framework DiskArbitration -framework IOKit - } else:ios { + } else { LIBS += -framework MobileCoreServices } } else:android { diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index 75797e58da..eebe5f1f94 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -61,7 +61,7 @@ #include <CoreServices/CoreServices.h> #endif -#ifdef Q_OS_IOS +#if defined(QT_PLATFORM_UIKIT) #include <MobileCoreServices/MobileCoreServices.h> #endif diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp index 8b11830fbe..1e22252217 100644 --- a/src/corelib/io/qfilesystemwatcher.cpp +++ b/src/corelib/io/qfilesystemwatcher.cpp @@ -58,7 +58,7 @@ # include "qfilesystemwatcher_win_p.h" #elif defined(USE_INOTIFY) # include "qfilesystemwatcher_inotify_p.h" -#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) || defined(Q_OS_IOS) +#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) || defined(QT_PLATFORM_UIKIT) # include "qfilesystemwatcher_kqueue_p.h" #elif defined(Q_OS_OSX) # include "qfilesystemwatcher_fsevents_p.h" @@ -74,7 +74,7 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine(QObject // there is a chance that inotify may fail on Linux pre-2.6.13 (August // 2005), so we can't just new inotify directly. return QInotifyFileSystemWatcherEngine::create(parent); -#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) || defined(Q_OS_IOS) +#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) || defined(QT_PLATFORM_UIKIT) return QKqueueFileSystemWatcherEngine::create(parent); #elif defined(Q_OS_OSX) return QFseventsFileSystemWatcherEngine::create(parent); diff --git a/src/corelib/io/qlockfile_unix.cpp b/src/corelib/io/qlockfile_unix.cpp index 03dc5fc660..ba59ea8341 100644 --- a/src/corelib/io/qlockfile_unix.cpp +++ b/src/corelib/io/qlockfile_unix.cpp @@ -70,7 +70,7 @@ # include <cstdio> #elif defined(Q_OS_HAIKU) # include <kernel/OS.h> -#elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS) +#elif defined(Q_OS_BSD4) && !defined(QT_PLATFORM_UIKIT) # include <sys/user.h> # if defined(__GLIBC__) && defined(__FreeBSD_kernel__) # include <sys/cdefs.h> @@ -285,7 +285,7 @@ QString QLockFilePrivate::processNameByPid(qint64 pid) if (get_thread_info(pid, &info) != B_OK) return QString(); return QFile::decodeName(info.name); -#elif defined(Q_OS_BSD4) && !defined(Q_OS_IOS) +#elif defined(Q_OS_BSD4) && !defined(QT_PLATFORM_UIKIT) # if defined(__GLIBC__) && defined(__FreeBSD_kernel__) int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid }; size_t len = 0; diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index fea5a4c967..227241b208 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -2531,7 +2531,7 @@ QT_BEGIN_INCLUDE_NAMESPACE #if defined(Q_OS_MACX) # include <crt_externs.h> # define environ (*_NSGetEnviron()) -#elif defined(Q_OS_IOS) +#elif defined(QT_PLATFORM_UIKIT) static char *qt_empty_environ[] = { 0 }; #define environ qt_empty_environ #elif !defined(Q_OS_WIN) diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 8c5589538d..1d425653a3 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -322,7 +322,7 @@ QT_END_INCLUDE_NAMESPACE QProcessEnvironment QProcessEnvironment::systemEnvironment() { QProcessEnvironment env; -#if !defined(Q_OS_IOS) +#if !defined(QT_PLATFORM_UIKIT) const char *entry; for (int count = 0; (entry = environ[count]); ++count) { const char *equal = strchr(entry, '='); diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 831658befc..ed3273eb2e 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -109,7 +109,7 @@ using namespace ABI::Windows::Storage; #define Q_XDG_PLATFORM #endif -#if !defined(QT_NO_STANDARDPATHS) && (defined(Q_XDG_PLATFORM) || defined(Q_OS_IOS)) +#if !defined(QT_NO_STANDARDPATHS) && (defined(Q_XDG_PLATFORM) || defined(QT_PLATFORM_UIKIT)) #define QSETTINGS_USE_QSTANDARDPATHS #endif diff --git a/src/corelib/io/qstandardpaths_mac.mm b/src/corelib/io/qstandardpaths_mac.mm index f08a6dac53..dc3d7737b6 100644 --- a/src/corelib/io/qstandardpaths_mac.mm +++ b/src/corelib/io/qstandardpaths_mac.mm @@ -117,7 +117,7 @@ static QString baseWritableLocation(QStandardPaths::StandardLocation type, case QStandardPaths::TempLocation: path = QDir::tempPath(); break; -#ifdef Q_OS_IOS +#if defined(QT_PLATFORM_UIKIT) // These locations point to non-existing write-protected paths. Use sensible fallbacks. case QStandardPaths::MusicLocation: path = pathForDirectory(NSDocumentDirectory, mask) + QLatin1String("/Music"); @@ -204,7 +204,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type) { QStringList dirs; -#ifdef Q_OS_IOS +#if defined(QT_PLATFORM_UIKIT) if (type == PicturesLocation) dirs << writableLocation(PicturesLocation) << QLatin1String("assets-library://"); #endif |