summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/platforms.pro
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@intopalo.com>2016-12-01 08:44:36 +0200
committerMorten Johan Sørvig <morten.sorvig@qt.io>2017-10-27 11:52:36 +0000
commit8307b29a6ed27d3fb2d647b0bc11c0d8d07cfd80 (patch)
treeca4e31d9c11ad3a7c9caad3e09c1d1df32943064 /src/plugins/platforms/platforms.pro
parentcba24d65c4346d40b9c923308a9f2fd7ecf13863 (diff)
Introduce mkspec for web assembly
The mkspec and corresponding configuration adjustments make it possible to build/link the modules in qtbase and run simple applications using the stock emscripten compiler. Tested cross-compiled (-xplatform emscripten), but theoretically possible as a native build as well (requiring some binfmt_misc settings on Linux to run the resulting JS versions of host tools with node) *NOTE*: this currently requires passing -no-headersclean, as headersclean crashes the compiler. This was done outside of the wip/nacl branch because 1) we can use the new configure system and 2) most of the nacl patches don't apply to emscripten builds anyway. As emscripten can be used to build for raw JavaScript engines (e.g. nodejs) as well as web browsers, some differentiation between the compiler and the GUI platform (HTML5) has been added. Furthermore, a hypothetical "html5" QPA plugin has been referenced. TODO: - fix headersclean option - decide if we should disable pthreads support, as it requires Firefox and an experimental flag (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) ... leading to either QT_NO_THREAD or an alternate implementation - break up the unrelated changes better (e.g. separate double-conversion patch) - provide better application/lib support for building dynamic libraries (currently, building an app links in the actual bitcode instead, and the ports libs are linked into the app instead of the correct Qt lib) - possibly improve the configure tests rather than selectively disabling configuration options unsupported by emscripten but for which the config.tests pass - check all examples, testcases, modules in other repositories... - benchmark performance Change-Id: I80cfa53605896ec8430df0b34bc1bce2c775d97f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/platforms.pro')
-rw-r--r--src/plugins/platforms/platforms.pro6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/platforms/platforms.pro b/src/plugins/platforms/platforms.pro
index 9ccc2b54b9..618ca500ba 100644
--- a/src/plugins/platforms/platforms.pro
+++ b/src/plugins/platforms/platforms.pro
@@ -26,7 +26,7 @@ qnx {
}
qtConfig(eglfs) {
- SUBDIRS += eglfs
+ qtConfig(thread): SUBDIRS += eglfs
SUBDIRS += minimalegl
}
@@ -34,7 +34,7 @@ qtConfig(directfb) {
SUBDIRS += directfb
}
-qtConfig(linuxfb): SUBDIRS += linuxfb
+qtConfig(thread): qtConfig(linuxfb): SUBDIRS += linuxfb
qtConfig(vnc): SUBDIRS += vnc
@@ -46,6 +46,8 @@ haiku {
SUBDIRS += haiku
}
+emscripten: SUBDIRS = html5
+
qtConfig(mirclient): SUBDIRS += mirclient
qtConfig(integrityfb): SUBDIRS += integrity