bitwiseworks / qt5-os2

Port of Qt software development framework version 5 to OS/2
Other
18 stars 2 forks source link

Port Qt Declarative module #7

Closed dmik closed 4 years ago

dmik commented 4 years ago

This one is needed for other modules including Qt WebEngine (and also Qt Quick). So we need it soon.

dmik commented 4 years ago

It's good to have for #6 (and also for Qt WebEngine). It contains some platform specific code so we need to fork it too.

dmik commented 4 years ago

First significant problem:

In file included from D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4object_p.h:57:0,
                 from D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4mathobject_p.h:53,
                 from D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4mathobject.cpp:40:
D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4mathobject.cpp: In static member function 'static QV4::ReturnedValue QV4::MathObject::method_acosh(const QV4::FunctionObject*, const QV4::Value*, const QV4::Value*, int)':
D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4mathobject.cpp:152:26: error: 'acosh' is not a member of 'std'
     RETURN_RESULT(Encode(std::acosh(v)));
                          ^
D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4scopedvalue_p.h:82:24: note: in definition of macro 'RETURN_RESULT'
     return QV4::Encode(r)
                        ^
D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4mathobject.cpp:152:26: note: suggested alternative:
     RETURN_RESULT(Encode(std::acosh(v)));
                          ^
D:/Coding/qt5/qt5/qtdeclarative/src/qml/jsruntime/qv4scopedvalue_p.h:82:24: note: in definition of macro 'RETURN_RESULT'
     return QV4::Encode(r)

It's a bug of our GCC, I created https://github.com/psmedley/gcc/issues/34 for that. Will work around for now.

dmik commented 4 years ago

This and many small issues solved, now we need to sort out masm (macro assembler) bits. I believe I can grab some things from Qt 4 (it lives in src/3rdparty/webkit/JavaScriptCore/assembler there).

dmik commented 4 years ago

Among other things there is also WTF. I'm also taking some bits from Qt 4 but there is a completely different (newer) version in Qt 5, so I'm basically porting it from scratch.

dmik commented 4 years ago

All ported and built, both release and debug. It takes a huge amount of time to build though because there are LOTS of small test cases and it takes even longer than for Qt Base.

It's time to give it some testing but given the number of tests, I will create a dedicated ticket for that.