diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-30 15:40:42 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-02-01 11:52:40 +0000 |
commit | 835f8a90387c8d62e7ab262d23e3ab103aa6d133 (patch) | |
tree | b697ebf83658dc8cb198526bc85d8ba38c83cf35 /tools/qmlcachegen/qmlcachegen.cpp | |
parent | 9d890a575ce32f97d0b4a9272198e35d047cd3f6 (diff) |
Allow selecting armv7 as target architecture in qmlcachegen
Change-Id: I36e8f95e83ea3de6553145efc762e3bc46f60071
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tools/qmlcachegen/qmlcachegen.cpp')
-rw-r--r-- | tools/qmlcachegen/qmlcachegen.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/qmlcachegen/qmlcachegen.cpp b/tools/qmlcachegen/qmlcachegen.cpp index 21ff882c2f..4b902eda0f 100644 --- a/tools/qmlcachegen/qmlcachegen.cpp +++ b/tools/qmlcachegen/qmlcachegen.cpp @@ -39,6 +39,11 @@ QT_BEGIN_NAMESPACE extern Q_CORE_EXPORT QBasicAtomicInt qt_qhash_seed; + +namespace QV4 { namespace JIT { +Q_QML_EXPORT QV4::EvalISelFactory *createISelForArchitecture(const QString &architecture); +} } + QT_END_NAMESPACE struct Error @@ -261,6 +266,9 @@ int main(int argc, char **argv) parser.addHelpOption(); parser.addVersionOption(); + QCommandLineOption targetArchitectureOption(QStringLiteral("target-architecture"), QCoreApplication::translate("main", "Target architecture"), QCoreApplication::translate("main", "architecture")); + parser.addOption(targetArchitectureOption); + parser.addPositionalArgument(QStringLiteral("[qml file]"), QStringLiteral("QML source file to generate cache for.")); @@ -273,17 +281,23 @@ int main(int argc, char **argv) } const QString inputFile = sources.first(); - QV4::Moth::ISelFactory interpreterISelFactory; + QScopedPointer<QV4::EvalISelFactory> isel; + const QString targetArchitecture = parser.value(targetArchitectureOption); + + isel.reset(QV4::JIT::createISelForArchitecture(targetArchitecture)); + + if (!isel) + isel.reset(new QV4::Moth::ISelFactory); Error error; if (inputFile.endsWith(QLatin1String(".qml"))) { - if (!compileQmlFile(inputFile, &interpreterISelFactory, &error)) { + if (!compileQmlFile(inputFile, isel.data(), &error)) { error.augment(QLatin1String("Error compiling qml file: ")).print(); return EXIT_FAILURE; } } else if (inputFile.endsWith(QLatin1String(".js"))) { - if (!compileJSFile(inputFile, &interpreterISelFactory, &error)) { + if (!compileJSFile(inputFile, isel.data(), &error)) { error.augment(QLatin1String("Error compiling qml file: ")).print(); return EXIT_FAILURE; } |