aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlcachegen
Commit message (Collapse)AuthorAgeFilesLines
* Fix .import within .js files with CONFIG+=qtquickcompilerSimon Hausmann2018-05-111-1/+1
| | | | | | | | | | | | | | | | | When loading a .js file without QQC, we scan the sources and use the ScriptDirectivesCollector to extract things like .pragma library or .import ahead of time. That information is passed on to the compilation unit generator for serialization. When compiling .js files ahead of time, we also used the same collector, but we forgot to save the data into the right location before serialization, so we essentially lost the imports. This patch fixes that by centralizing this code into the ScriptDirectivesCollector itself. [ChangeLog][QtQml] Fix regression with .import in .js files not working when using CONFIG+=qtquickcompiler. Change-Id: I5413c14b1b8bd3114a997011534fe55cdb7634aa Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix debug-and-release builds with CONFIG += qtquickcompilerSimon Hausmann2018-03-311-1/+1
| | | | | | | | | Allow for QMLCACHE_DIR to be pre-defined when modified with debug or release suffix via exclusive_builds_post.prf. Task-number: QTBUG-66675 Change-Id: I007fd8359a860e4c7c2b3efdd90a678ddaad72c3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix CONFIG+=qtquickcompiler with paths that contain spacesSimon Hausmann2018-03-271-0/+1
| | | | | | | | Map spaces to underscores as well. Task-number: QTBUG-54683 Change-Id: Id73c086a2845111623df631c06733ba2b42249e0 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* qtquick_compiler_add_resources() with spaces in pathsSimon Hausmann2018-03-271-1/+1
| | | | | | | | Ensure a quoted path when constructing the command line for rcc -list. Change-Id: I43e31015e3de58f65f46d2e594cb362d71b123ed Task-number: QTBUG-57758 Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* Fix CONFIG+=qtquickcompiler with Q_CLEANUP_RESOURCESimon Hausmann2018-03-191-3/+11
| | | | | | | | | As we provide the init resources wrapper, we must also provide the cleanup wrapper. Change-Id: I7e45ae48ba955e70ffd8e253d4d2c15d0a50dabe Task-number: QTBUG-67087 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix use of CONFIG+=qtquickcompiler with spaces in pathsSimon Hausmann2018-03-141-6/+6
| | | | | | | | | | | Add strategic calls to system_quote and shell_quote and correct the output list iteration to not use $$list, as that will end up splitting on spaces in the path. Task-number: QTBUG-67011 Change-Id: I31dbee537e2052ac7b802ee3509a74c9db3b8beb Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* init variables where they are declared when possible (clang-tidy)Shawn Rutledge2018-02-261-4/+2
| | | | | | | | clang-tidy -p compile_commands.json $file -checks='-*,modernize-use-default-member-init,readability-redundant-member-init' -config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' -header-filter='qtdeclarative' -fix Change-Id: I705f3235ff129ba68b0d8dad54a083e29fcead5f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-262-3/+3
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmlcachegen: fix error messages for js filesMitch Curtis2018-02-201-1/+1
| | | | | Change-Id: I3c9e33f882358fd4cb8b1b8764bf083ddbd792b1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add support for qtquick_compiler_add_resources with cmake buildsSimon Hausmann2018-02-152-0/+78
| | | | | Change-Id: I2addc2442c51bde6a854e5e9bbb79032e1c9f9bf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix CONFIG+=qtquickcompiler with multiple resource filesSimon Hausmann2018-02-083-21/+28
| | | | | | | | | | Fix command line option handling to allow for processing of multiple .qrc files as input files when generating the loader.cpp file. Task-number: QTBUG-66161 Change-Id: I1ecd40bf863c6570ccf42846106791b7f53fe432 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Use qmlcachegen path from qtPrepareToolSamuli Piippo2018-02-081-4/+2
| | | | | | | Full path is already resolved by qtPrepareTool. Change-Id: If4232d247f64ffde85ce5ebe7bea8ab77d5bf32e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-02-021-4/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp src/qml/compiler/qqmlirbuilder.cpp src/qml/compiler/qqmlirbuilder_p.h src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4codegen_p.h src/qml/compiler/qv4compileddata_p.h src/qml/compiler/qv4compiler.cpp src/qml/compiler/qv4compilercontext_p.h src/qml/compiler/qv4isel_moth.cpp src/qml/compiler/qv4jsir.cpp src/qml/compiler/qv4jsir_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4functionobject.cpp src/qml/jsruntime/qv4runtimecodegen.cpp src/qml/jsruntime/qv4script.cpp src/qml/jsruntime/qv4script_p.h src/qml/qml/qqmltypeloader.cpp src/quick/items/qquickanimatedimage.cpp src/quick/items/qquickanimatedimage_p_p.h src/quick/scenegraph/compressedtexture/qsgpkmhandler.cpp tests/auto/qml/qmlplugindump/qmlplugindump.pro tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp tools/qmlcachegen/qmlcachegen.cpp tools/qmljs/qmljs.cpp Done-with: Shawn Rutledge <shawn.rutledge@qt.io> Done-with: Lars Knoll <lars.knoll@qt.io> Done-with: Ulf Hermann <ulf.hermann@qt.io> Change-Id: I010e6525440a85f3b9a10bb9083f8e4352751b1d
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-241-4/+29
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata_p.h src/qml/debugger/qqmlprofiler_p.h src/qml/jsruntime/qv4engine.cpp src/qml/memory/qv4mm.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlobjectcreator_p.h src/qml/types/qqmldelegatemodel.cpp src/quick/items/qquickitem_p.h src/quick/items/qquickwindow.cpp tests/auto/quick/touchmouse/BLACKLIST tests/benchmarks/qml/holistic/tst_holistic.cpp Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
| | * Fix illegal name setup in qmlcachegenSimon Hausmann2018-01-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | After commit c2b4c6393fee37e0c6c4a8c5d40d13120cc8a94e we must also initialize the set in order to benefit from the improved lookup on the cache side. Change-Id: I0f66f118b912ed66a281d16caea67500f9c14046 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Use a more optimized lookup for global propertiesLars Knoll2018-01-171-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Force the use of a global lookup if we know that the property can and will be found in the global object. This is possible, as the global object is frozen in QML mode and can't be overwritten. Shaves of .5% on the delegates_item_states benchmark, and will significantly speed up all accesses to e.g. the Math object. Change-Id: Ia1e248781a13ebaeb8bc43652e53a6fdde336d0d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Use potentially intercepted URL as ID for compilation unitsUlf Hermann2017-12-211-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We generally have to pass a URL and a file name everywhere because the logical URL might be something else than the actual file being loaded. For example a QQmlFileSelector might modify the URL to be loaded for a specific file. This resulting URL, however, should not be used to resolve further URLs defined in the file loaded that way. As we need to access QQmlTypeLoader::m_url as string more often now, cache it and avoid frequent translations between QUrl and QString. Furthermore, QQmlDataBlob's URLs are changed to follow the same semantics. The finalUrl is the one that should be used to resolve further URLs, the url is the one used to load the content, and subject to any redirects or interceptions. This changes the semantics of URL redirects. Previously a redirected URL was used as the base URL for furher URL resolution. This doesn't work because redirection occurs after interception and interception should not influence the resolution of further URLs. We now use the original URL as base URL for resolution of further URLs and rely on the server to redirect those, too. Task-number: QTBUG-61209 Change-Id: I93822f820bed2515995de3cb118099218b510ca4 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | | Remove private API dependency of qmlcachegen generated codeSimon Hausmann2018-01-282-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since the compilation unit does not have a backend anymore, we can create it in QtQml itself instead of in generated stub code. That removes the last dependency to private headers in the generated code. Change-Id: I186fc5bd679476b1a4714e4e3ba0ac00b55676cf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Add support for compiling QML/JS files ahead of time in resourcesSimon Hausmann2018-01-287-10/+1074
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is bringing over the loading infrastructure from the Qt Quick Compiler that allows embedding qml/js files in resources and compiling them ahead of time. At the moment, the approach of generating one cpp file per qml/js file and the loader stub is needed because the build system does not support dynamic resource generation. In addition, as per QTBUG-60961, we must ensure that the generated data structures are aligned. To retain compatibility this is enabled via CONFIG += qtquickcompiler, but we may need to find a new name (but should keep the old one in any case). Task-number: QTBUG-60961 Change-Id: Ia9839bf98d3af4c50636b6e06815364a9fc7ee57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Minor data structure cleanupSimon Hausmann2018-01-222-39/+5
| | | | | | | | | | | | | | | | | | | | | | | | The cache files are architecture and ABI independent, so we can remove any associated field/code as well as the workaround for Android. Change-Id: Ia52a5be886fc22a2105460e003e7a76af7dc1818 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Fix build for QML modules with qmlcache config enabledJ-P Nurmi2017-12-082-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're now storing bytecode in the cache, the --check-if-supported option doesn't make sense anymore. Return EXIT_SUCCESS for backwards compatibility. qmlcache.prf no longer needs the system call either. Change-Id: Ic3e6de4e404a3d255b57d4bc14e1206c528925a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into HEADLars Knoll2017-10-221-0/+36
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/compiler/qv4isel_moth_p.h src/qml/compiler/qv4ssa.cpp src/qml/jit/qv4assembler_p.h src/qml/jit/qv4isel_masm_p.h src/qml/jit/qv4regalloc.cpp src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexp.cpp src/qml/jsruntime/qv4regexp_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4runtime.cpp src/qml/jsruntime/qv4vme_moth.cpp src/qml/qml/v8/qqmlbuiltinfunctions.cpp tests/auto/qml/qml.pro tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp tools/qmlcachegen/qmlcachegen.cpp Change-Id: I1577e195c736f3414089036b957a01cb91a3ca23
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-09-201-0/+36
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4regexpobject_p.h src/qml/types/qqmllistmodel.cpp src/quick/items/qquickanimatedimage_p.h src/quick/scenegraph/qsgrenderloop.cpp tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp Change-Id: If20ef62b2c98bdf656cb2f5d27b1897b754d3dc0
| | * Error out when compiling signal handlers with arguments in qml filesSimon Hausmann2017-09-121-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ahead of time we cannot tell whether the use of "arguments" in a signal hander refers to the JS arguments object or a potential arguments signal parameter. Resolving that requires access to information we currently don't have. The QML engine has it at run-time (in SignalHandlerConverter) and that's why it works there accordingly. However when generating caches ahead of time, let's rather produce an error message with a hint how to work around it instead of producing differing behavior at run-time. Task-number: QTBUG-60011 Change-Id: I9e460bd467dbb5998f12a44c439223ea44e7bbad Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into wip/new-backendLars Knoll2017-08-221-0/+2
|\| | | | | | | | | | | Change-Id: Iff06429f948ac6cdec77a9e5bb8c5375c56fe705
| * | Adjust QMAKE_TARGET_PRODUCT, QMAKE_TARGET_DESCRIPTIONKai Koehne2017-07-281-0/+2
| |/ | | | | | | | | | | | | | | | | | | The product should be Qt5 (the default). The QMAKE_TARGET_DESCRIPTION is actually less than a description but a beautified name, that is shown e.g. in the task manager, crash reporting tool etc. Make it title case, like most Windows applications do. Change-Id: I570aee2c2016e78fdb7a93c2d7a66b70fdcb0cff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix disabling fast lookups for QMLErik Verbruggen2017-07-071-10/+2
| | | | | | | | | | | | | | | | | | This was accidentally enabled because we previously generated the lookups in the isel (so second part of code generation), where we now do it in codegen itself (so early on). Change-Id: I591fbb7a26d94b985c934c5ffca0068b80fac58a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Split up qv4codegen into several filesLars Knoll2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | And changed the namespace of those classes to QV4::Compiler. ScanFunctions should over time also move into its own file. Change-Id: If084acea4a9a20b9c79ad47dac19e02dc720e098 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove now unused filesLars Knoll2017-06-301-43/+22
| | | | | | | | | | | | | | | | | | Remove all files from the old compiler pipeline that are now unused. This includes the whole IR, JIT code generation, and the old Moth Isel. Change-Id: I50d06abfbcf0e9755a54ed94638f8bb74f9512b1 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | Pass the JSUnitGenerator into the codegenLars Knoll2017-06-191-2/+8
|/ | | | | | | | Allow registering all the required data to generate the proper compilationunit already in the codegenerator. Change-Id: I36345cc01927b3f8dc3ba6d91da175bd6abe124a Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Disable ahead-of-time cache generation on AndroidSimon Hausmann2017-06-061-0/+5
| | | | | | | | | It appears that not all phones are happy with the code that we generate. Until we can find a fix for that, let's disable the feature. Change-Id: If4aa5cc14edcb69843fb9ef32691657c8c507b83 Task-number: QTBUG-60918 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix support for jsTr() and QT_TR_NOOP in list elements when cachingSimon Hausmann2017-04-061-3/+5
| | | | | | | | | Similar to the Qt Quick Compiler we need to do the expression simplification pass at cache generation time to extract translation calls in list elements. Change-Id: I267fc9647ab82bc83d6b087c06c0036df38238ff Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix loading of ahead-of-time generated cache files when cross-compilingSimon Hausmann2017-04-062-5/+15
| | | | | | | | | The target ABI is something that we must include correctly at cache generation time. The corresponding qmake variable is available in qtbase now, so we can use that and embed it in the generated data. Change-Id: Icd6e44824f5151535ce9ddac27687b7877288725 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Simon Hausmann2017-03-251-6/+2
|\
| * Merge remote-tracking branch 'origin/5.8' into 5.9Simon Hausmann2017-03-151-6/+2
| | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qqmltypecompiler_p.h src/qml/qml/qqmltypeloader.cpp src/qml/qml/qqmltypeloader_p.h Change-Id: I4894555ab7a0879b56bbda7a46d16d1c40c19e7c
* | QHash: use the public functions to set the global hash seedThiago Macieira2017-03-161-2/+2
|/ | | | | | Task-number: QTBUG-47566 Change-Id: I4a7dc1fe14154695b968fffd14abd2e3189c6ad2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix support for enums and translations in list elementsSimon Hausmann2017-03-101-0/+35
| | | | | | | | | | | | | | | QQC uses valid constructs like ListElement { dayOfWeek: Locale.Sunday }, where the enums are resolved at type compilation time. Syntactically Locale.Sunday is a JS expression, but as scripts are not permitted for list elements, we must retain the values in string form when generating the binary (cache) qml representation. This is a forward port of commit 736f4f9c847d1102f6ac77674c831f0555ff445e from the qml compiler, and also matches QTRD-3226. Change-Id: I3e615f224d4ab222a50f3271735cb8f7a24f5f11 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Fix relocation related errors when loading AOT cachesSimon Hausmann2017-03-091-2/+2
| | | | | | | | | | | | | | | | The original directory of the source file the cache was created from - when generating ahead of time - is unlikely going to be identical to the final location for example on a deployed device. Therefore when generating caches ahead of time, don't store the source path, don't attempt to verify it when loading and don't try to save the cache file at run-time again. We still need set the sourceFileIndex at load-time though, in order to make relative path url resolution work (for example source: "my.png" in an Image element). Change-Id: I3d6952f5d0a165cfa2cb400191a9f6ffe6be69f4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix time stamp related errors when loading AOT cachesSimon Hausmann2017-03-091-2/+0
| | | | | | | | | | | | | | Cache files created ahead of time do not require a timestamp match towards the source file. This is because we cannot guarantee that all transport mechanism from source to deployment preserve the timestamp at the required resolution (if at all) and the source may also not be present at all (obfuscated deployment chosen). For cache files created at run-time however we'll continue to require time stamp verification. Change-Id: Ia7cdf3d063edd5bb1e6985089f1a666c970a0bd0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Simplify build system integrationSimon Hausmann2017-03-091-14/+4
| | | | | | | | Make the prf file available via COPIES for non-prefix builds and otherwise install it. Change-Id: Ie11b6653d250a4491c4f5897bc61a1efdd546d27 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix cache file generation for prefix and shadow buildsSimon Hausmann2017-03-091-8/+22
| | | | | | | | | | | | | For prefix builds generate the cache files in $$MODULE_BASE_OUTDIR/qml/ and install them from there. The use of relative paths for the qml cache extra compiler output is required because target_predeps in the extra compiler configuration will generate relative paths as dependency for the target. Task-number: QTBUG-58570 Change-Id: I6eedfd2aca1b0bdc7a230ce7521e499c6ab70ee0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix skipping of qml cache generation on unsupported architecturesSimon Hausmann2017-03-072-7/+35
| | | | | | | | Detect support for the target architecture at qmake time and gently skip the process. Change-Id: I7cc22a0cfb9a8b503c182062a56e506035f84fa2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix qmlcachegen command line parametersSimon Hausmann2017-03-071-7/+15
| | | | | | | Add support for specifying the output file name Change-Id: I3ec3cecae2334a7640baa928c0739c5521496d2d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix qml cache generation for non-prefix buildsSimon Hausmann2017-03-061-4/+18
| | | | | | | | | Generate cache files right in the target locatioa, similar to how qml_module.prf uses COPIES to copy .qml source files to the target location in non-prefix builds. Change-Id: I06f6112c29ffd212e29a84e29418d042255b5861 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Do not crash when qmlcachegen is called without argumentsRobert Loehning2017-02-231-1/+3
| | | | | Change-Id: Ib91271e0ac365f69e43dfc0981c74dcfd69d6ab3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix crash when generating cache filesSimon Hausmann2017-02-081-1/+2
| | | | | | | | | Make sure that the allocator in bootstrap builds really just allocates memory for the generated code and otherwise doesn't try to allocate executable memory. Change-Id: Ic40724903706ae98ef272a028e7d8299400e232b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Allow selecting armv7 as target architecture in qmlcachegenSimon Hausmann2017-02-013-5/+22
| | | | | Change-Id: I36e8f95e83ea3de6553145efc762e3bc46f60071 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Re-do QML type compilation of ahead-of-time generated QML cache filesSimon Hausmann2017-01-311-0/+1
| | | | | | | | | | As we currently lack the ability to do type resolution at AOT cache generation time, we need to re-do the work after loading the cache file, making us essentially only re-use the code and avoiding the step of parsing. Change-Id: I12844692d4766345d8a313b59d21abf1f868e2d1 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Added tool to generate QML cache filesSimon Hausmann2017-01-313-0/+327
This is an initial preview that will allow generating cache files ahead of time, with some limitations: * There's no support for import dependency resolution * Only ARMv7 is supported as cross-compile target Change-Id: I894237f55ba0c0a71f0ed5dda2ff6f7e5bd6603e Reviewed-by: Lars Knoll <lars.knoll@qt.io>